@runecraft/grimoire 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +21 -0
  3. package/catalog.json +9 -0
  4. package/dist/grimoire.js +1758 -0
  5. package/package.json +54 -0
  6. package/references/definition-of-done.md +67 -0
  7. package/references/testing-patterns.md +260 -0
  8. package/skills/code-review-and-quality/README.md +13 -0
  9. package/skills/code-review-and-quality/SKILL.md +389 -0
  10. package/skills/code-simplification/README.md +13 -0
  11. package/skills/code-simplification/SKILL.md +338 -0
  12. package/skills/debugging-and-error-recovery/README.md +13 -0
  13. package/skills/debugging-and-error-recovery/SKILL.md +343 -0
  14. package/skills/debugging-and-error-recovery/scripts/__pycache__/triage_state.cpython-314.pyc +0 -0
  15. package/skills/debugging-and-error-recovery/scripts/triage_state.py +206 -0
  16. package/skills/deprecation-and-migration/README.md +13 -0
  17. package/skills/deprecation-and-migration/SKILL.md +248 -0
  18. package/skills/deprecation-and-migration/scripts/__pycache__/migration_tracker.cpython-314.pyc +0 -0
  19. package/skills/deprecation-and-migration/scripts/migration_tracker.py +237 -0
  20. package/skills/doubt-driven-development/README.md +13 -0
  21. package/skills/doubt-driven-development/SKILL.md +251 -0
  22. package/skills/git-commit-learning/.skill-meta.json +14 -0
  23. package/skills/git-commit-learning/README.md +205 -0
  24. package/skills/git-commit-learning/SKILL.md +435 -0
  25. package/skills/git-commit-learning/references/commit-patterns.md +595 -0
  26. package/skills/git-worktree/README.md +13 -0
  27. package/skills/git-worktree/SKILL.md +220 -0
  28. package/skills/idea-refine/README.md +13 -0
  29. package/skills/idea-refine/SKILL.md +186 -0
  30. package/skills/interview-me/README.md +13 -0
  31. package/skills/interview-me/SKILL.md +233 -0
  32. package/skills/linkedin-audit/SKILL.md +98 -0
  33. package/skills/linkedin-audit/references/dashboard-spec.md +43 -0
  34. package/skills/memory-management/README.md +13 -0
  35. package/skills/memory-management/SKILL.md +198 -0
  36. package/skills/security-and-hardening/README.md +13 -0
  37. package/skills/security-and-hardening/SKILL.md +472 -0
  38. package/skills/shipping-and-launch/README.md +13 -0
  39. package/skills/shipping-and-launch/SKILL.md +317 -0
  40. package/skills/skill-forge/README.md +153 -0
  41. package/skills/skill-forge/SKILL.md +291 -0
  42. package/skills/skill-forge/assets/SKILL.template.md +73 -0
  43. package/skills/skill-forge/references/authoring-patterns.md +249 -0
  44. package/skills/skill-forge/references/description-optimization.md +171 -0
  45. package/skills/skill-forge/references/output-evaluation.md +276 -0
  46. package/skills/skill-forge/references/scripts-guide.md +232 -0
  47. package/skills/skill-forge/references/spec.md +175 -0
  48. package/skills/skill-forge/scripts/validate.py +536 -0
  49. package/skills/spec-driven/.skill-meta.json +14 -0
  50. package/skills/spec-driven/README.md +335 -0
  51. package/skills/spec-driven/SKILL.md +174 -0
  52. package/skills/spec-driven/references/code-analysis.md +98 -0
  53. package/skills/spec-driven/references/coding-principles.md +56 -0
  54. package/skills/spec-driven/references/context-limits.md +31 -0
  55. package/skills/spec-driven/references/design.md +199 -0
  56. package/skills/spec-driven/references/discuss.md +136 -0
  57. package/skills/spec-driven/references/implement.md +425 -0
  58. package/skills/spec-driven/references/lessons.md +113 -0
  59. package/skills/spec-driven/references/memory.md +126 -0
  60. package/skills/spec-driven/references/specify.md +210 -0
  61. package/skills/spec-driven/references/sub-agents.md +96 -0
  62. package/skills/spec-driven/references/tasks.md +484 -0
  63. package/skills/spec-driven/references/validate.md +350 -0
  64. package/skills/spec-driven/scripts/__pycache__/lessons.cpython-314.pyc +0 -0
  65. package/skills/spec-driven/scripts/lessons.py +370 -0
  66. package/skills/spec-loop/README.md +36 -0
  67. package/skills/spec-loop/SKILL.md +61 -0
  68. package/skills/test-driven-development/README.md +13 -0
  69. package/skills/test-driven-development/SKILL.md +388 -0
  70. package/skills/typescript-patterns/README.md +13 -0
  71. package/skills/typescript-patterns/SKILL.md +346 -0
  72. package/skills/using-agent-skills/README.md +13 -0
  73. package/skills/using-agent-skills/SKILL.md +187 -0
@@ -0,0 +1,175 @@
1
+ # SKILL.md Format Specification (Reference)
2
+
3
+ > Authoritative rules for the open SKILL.md format. Read this when you need precise rules for `name`, `description`, frontmatter fields, or folder layout. When this reference and the bundled validator disagree, the validator wins.
4
+
5
+ ## Directory structure
6
+
7
+ A skill is a directory containing, at minimum, a `SKILL.md` file:
8
+
9
+ ```
10
+ skill-name/
11
+ ├── SKILL.md # Required: metadata + instructions
12
+ ├── scripts/ # Optional: executable code
13
+ ├── references/ # Optional: documentation
14
+ ├── assets/ # Optional: templates, resources
15
+ └── ... # Any additional files or directories
16
+ ```
17
+
18
+ A skill may also include `evals/evals.json` for output-quality evaluation (see [output-evaluation.md](output-evaluation.md)).
19
+
20
+ ## `SKILL.md` format
21
+
22
+ `SKILL.md` is YAML frontmatter followed by Markdown body.
23
+
24
+ ### Frontmatter fields
25
+
26
+ | Field | Required | Constraints |
27
+ |---|---|---|
28
+ | `name` | Yes | 1-64 chars; lowercase letters, numbers, hyphens; no leading/trailing or consecutive hyphens; must match parent directory name. |
29
+ | `description` | Yes | 1-1024 chars; non-empty; describes what the skill does and when to use it. |
30
+ | `license` | No | License name or reference to bundled license file. |
31
+ | `compatibility` | No | 1-500 chars; intended product, system packages, network access, etc. |
32
+ | `metadata` | No | Arbitrary key→string mapping. Use unique key names to avoid conflicts. |
33
+ | `allowed-tools` | No | Space-separated string of pre-approved tools. Experimental. |
34
+
35
+ ### `name` rules
36
+
37
+ - 1-64 characters.
38
+ - Lowercase letters (`a-z`), numbers (`0-9`), and hyphens (`-`) only.
39
+ - Must not start or end with a hyphen.
40
+ - Must not contain consecutive hyphens (`--`).
41
+ - Must match the parent directory name.
42
+
43
+ | Valid | Invalid | Reason |
44
+ |---|---|---|
45
+ | `pdf-processing` | `PDF-Processing` | Uppercase not allowed |
46
+ | `data-analysis` | `-pdf` | Cannot start with hyphen |
47
+ | `code-review` | `pdf--processing` | Consecutive hyphens |
48
+
49
+ ### `description` rules
50
+
51
+ - 1-1024 characters.
52
+ - Should describe what the skill does **and** when to use it.
53
+ - Include specific keywords that help agents identify relevant tasks.
54
+ - No XML angle brackets (`<`, `>`) — they break the YAML.
55
+
56
+ Good example:
57
+
58
+ ```yaml
59
+ description: Extracts text and tables from PDF files, fills PDF forms, and merges multiple PDFs. Use when working with PDF documents or when the user mentions PDFs, forms, or document extraction.
60
+ ```
61
+
62
+ Poor example: `Helps with PDFs.`
63
+
64
+ ### `license` (optional)
65
+
66
+ Keep it short. A common choice for distributable skills is `CC-BY-4.0`.
67
+
68
+ ### `compatibility` (optional)
69
+
70
+ Use only if the skill has environment requirements. Examples:
71
+
72
+ ```yaml
73
+ compatibility: Designed for Claude Code (or similar products)
74
+ compatibility: Requires git, docker, jq, and access to the internet
75
+ compatibility: Requires Python 3.11+ and uv
76
+ ```
77
+
78
+ Most skills do not need this field.
79
+
80
+ ### `metadata` (optional)
81
+
82
+ A map from string keys to string values. Common keys for distributable skills:
83
+
84
+ ```yaml
85
+ metadata:
86
+ author: your-name-or-org
87
+ version: 1.0.0
88
+ ```
89
+
90
+ ### `allowed-tools` (optional, experimental)
91
+
92
+ ```yaml
93
+ allowed-tools: Bash(git:*) Bash(jq:*) Read
94
+ ```
95
+
96
+ Support varies across agents.
97
+
98
+ ## Body content
99
+
100
+ The Markdown body has no format restrictions. Recommended sections:
101
+
102
+ - Step-by-step instructions
103
+ - Examples of inputs and outputs
104
+ - Common edge cases
105
+ - Anti-patterns to avoid
106
+
107
+ The full body is loaded once the skill is activated. Keep it focused. Move deep content to `references/`.
108
+
109
+ ## Optional directories
110
+
111
+ ### `scripts/`
112
+
113
+ Executable code the agent can run. Guidance: see [scripts-guide.md](scripts-guide.md).
114
+
115
+ - Be self-contained or document dependencies.
116
+ - Include helpful error messages.
117
+ - Handle edge cases gracefully.
118
+ - Support `--help` for agentic discovery.
119
+
120
+ Common languages: Python, Bash, JavaScript. Inline dependency declarations exist for Python (PEP 723), Deno, Bun, and Ruby.
121
+
122
+ ### `references/`
123
+
124
+ Additional documentation the agent reads on demand. Convention: focused files, one topic each. Examples:
125
+
126
+ - `REFERENCE.md` — detailed technical reference
127
+ - `FORMS.md` — form templates or structured data formats
128
+ - Domain files (`finance.md`, `legal.md`, etc.)
129
+
130
+ Smaller files = less context. The agent only loads what it needs.
131
+
132
+ ### `assets/`
133
+
134
+ Static resources the agent uses in output:
135
+
136
+ - Document templates
137
+ - Configuration templates
138
+ - Images (diagrams, examples)
139
+ - Data files (lookup tables, schemas)
140
+
141
+ Reference them from SKILL.md with a clear "when to use" clause.
142
+
143
+ ## Progressive disclosure
144
+
145
+ Agents load skills progressively, in three stages:
146
+
147
+ 1. **Discovery** — only `name` and `description` of each available skill.
148
+ 2. **Activation** — full `SKILL.md` body when the task matches.
149
+ 3. **Execution** — referenced files (scripts, references, assets) loaded only as needed.
150
+
151
+ Implications for skill design:
152
+
153
+ - Keep `name` and `description` rich enough to trigger correctly.
154
+ - Keep `SKILL.md` under **500 lines** and **5000 tokens** of body.
155
+ - Reference linked files with explicit load conditions.
156
+
157
+ ## File references
158
+
159
+ When referencing other files, use **relative paths from the skill root**:
160
+
161
+ ```markdown
162
+ See [the reference guide](references/spec.md) for details.
163
+
164
+ Run the validator:
165
+
166
+ ```bash
167
+ python3 scripts/validate.py ./my-skill
168
+ ```
169
+ ```
170
+
171
+ Keep references one level deep from `SKILL.md`. Avoid deeply nested chains.
172
+
173
+ ## Validation
174
+
175
+ This skill ships its own bundled validator at `../scripts/validate.py` (stdlib-only, no external deps, JSON output for agentic consumption). Use it as the single source of truth for what the format requires.