@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.
- package/LICENSE +21 -0
- package/README.md +21 -0
- package/catalog.json +9 -0
- package/dist/grimoire.js +1758 -0
- package/package.json +54 -0
- package/references/definition-of-done.md +67 -0
- package/references/testing-patterns.md +260 -0
- package/skills/code-review-and-quality/README.md +13 -0
- package/skills/code-review-and-quality/SKILL.md +389 -0
- package/skills/code-simplification/README.md +13 -0
- package/skills/code-simplification/SKILL.md +338 -0
- package/skills/debugging-and-error-recovery/README.md +13 -0
- package/skills/debugging-and-error-recovery/SKILL.md +343 -0
- package/skills/debugging-and-error-recovery/scripts/__pycache__/triage_state.cpython-314.pyc +0 -0
- package/skills/debugging-and-error-recovery/scripts/triage_state.py +206 -0
- package/skills/deprecation-and-migration/README.md +13 -0
- package/skills/deprecation-and-migration/SKILL.md +248 -0
- package/skills/deprecation-and-migration/scripts/__pycache__/migration_tracker.cpython-314.pyc +0 -0
- package/skills/deprecation-and-migration/scripts/migration_tracker.py +237 -0
- package/skills/doubt-driven-development/README.md +13 -0
- package/skills/doubt-driven-development/SKILL.md +251 -0
- package/skills/git-commit-learning/.skill-meta.json +14 -0
- package/skills/git-commit-learning/README.md +205 -0
- package/skills/git-commit-learning/SKILL.md +435 -0
- package/skills/git-commit-learning/references/commit-patterns.md +595 -0
- package/skills/git-worktree/README.md +13 -0
- package/skills/git-worktree/SKILL.md +220 -0
- package/skills/idea-refine/README.md +13 -0
- package/skills/idea-refine/SKILL.md +186 -0
- package/skills/interview-me/README.md +13 -0
- package/skills/interview-me/SKILL.md +233 -0
- package/skills/linkedin-audit/SKILL.md +98 -0
- package/skills/linkedin-audit/references/dashboard-spec.md +43 -0
- package/skills/memory-management/README.md +13 -0
- package/skills/memory-management/SKILL.md +198 -0
- package/skills/security-and-hardening/README.md +13 -0
- package/skills/security-and-hardening/SKILL.md +472 -0
- package/skills/shipping-and-launch/README.md +13 -0
- package/skills/shipping-and-launch/SKILL.md +317 -0
- package/skills/skill-forge/README.md +153 -0
- package/skills/skill-forge/SKILL.md +291 -0
- package/skills/skill-forge/assets/SKILL.template.md +73 -0
- package/skills/skill-forge/references/authoring-patterns.md +249 -0
- package/skills/skill-forge/references/description-optimization.md +171 -0
- package/skills/skill-forge/references/output-evaluation.md +276 -0
- package/skills/skill-forge/references/scripts-guide.md +232 -0
- package/skills/skill-forge/references/spec.md +175 -0
- package/skills/skill-forge/scripts/validate.py +536 -0
- package/skills/spec-driven/.skill-meta.json +14 -0
- package/skills/spec-driven/README.md +335 -0
- package/skills/spec-driven/SKILL.md +174 -0
- package/skills/spec-driven/references/code-analysis.md +98 -0
- package/skills/spec-driven/references/coding-principles.md +56 -0
- package/skills/spec-driven/references/context-limits.md +31 -0
- package/skills/spec-driven/references/design.md +199 -0
- package/skills/spec-driven/references/discuss.md +136 -0
- package/skills/spec-driven/references/implement.md +425 -0
- package/skills/spec-driven/references/lessons.md +113 -0
- package/skills/spec-driven/references/memory.md +126 -0
- package/skills/spec-driven/references/specify.md +210 -0
- package/skills/spec-driven/references/sub-agents.md +96 -0
- package/skills/spec-driven/references/tasks.md +484 -0
- package/skills/spec-driven/references/validate.md +350 -0
- package/skills/spec-driven/scripts/__pycache__/lessons.cpython-314.pyc +0 -0
- package/skills/spec-driven/scripts/lessons.py +370 -0
- package/skills/spec-loop/README.md +36 -0
- package/skills/spec-loop/SKILL.md +61 -0
- package/skills/test-driven-development/README.md +13 -0
- package/skills/test-driven-development/SKILL.md +388 -0
- package/skills/typescript-patterns/README.md +13 -0
- package/skills/typescript-patterns/SKILL.md +346 -0
- package/skills/using-agent-skills/README.md +13 -0
- 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.
|