skill-writing
Skill0 starsChanged 11 days agoMITView on GitHub
Creates, improves, and validates agent skills (SKILL.md and supporting files). Use when the user asks to author a new skill, improve an existing skill, or check a skill against the Agent Skills standard format.
7 other projects use a version of this.
Adopted by
Most recently taken up by
- patrykmurzyn/skillstheir own version, first seen Nov 8, 2026
- peterbamuhigire/proposal-skillstheir own version, first seen Oct 17, 2026
- rust-works/succinctlytheir own version, first seen Oct 9, 2026
- millionco/expecttheir own version, first seen Oct 8, 2026
- brianshepardpss/plugin-creator-plugintheir own version, first seen Oct 2, 2026
- jjanczur/tyrantheir own version, first seen Jul 27, 2026
Other versions7 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 7
- millionco/expect★ 3.6ksame name
- jjanczur/tyran★ 81same name
- rust-works/succinctly★ 52same name
- WalletConnect/skills★ 14same name
- peterbamuhigire/proposal-skills★ 8same name
- brianshepardpss/plugin-creator-plugin★ 0same name
- patrykmurzyn/skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository9 other files it gives its agents.
- AGENTS.mdAGENTS.md
- epanet-validationSkill
- eval-writingSkill
- pywr-engineeringSkill
- scientific-writingSkill
- skill-browserSkill
- skill-evaluationSkill
- skill-prSkill
- wntr-engineeringSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
13 rules. 0 are common, 11 are distinctive, and 2 are very specific to this project.
0
Common
Most of the 7 edited versions we read keep these.
11
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 50
Check for an existing skill: Search the target skills directory for a skill that already covers the task.
- Distinctive: line 56
Validate: Run the validation command below and fix any reported errors.
- Distinctive: line 57
Self-review: Check the skill against the checklist below.
- Distinctive: line 61
Before considering a skill complete, confirm:
- Distinctive: line 66
No generic information that the agent already possesses.
- Distinctive: line 115
Modularity: : Keep instructions, executable code, reference materials, evaluation resources and integration-specific configurations …
- Distinctive: line 116
Portability: : Keep the core skill independent of any particular agent host or orchestration framework wherever possible.
- Distinctive: line 118
Discoverability: : Use descriptive filenames and document the purpose of non-obvious files and directories.
- Very specific: line 128
Keep your main SKILL.md under 500 lines.
- Distinctive: line 132
When referencing other files in your skill, use relative paths from the skill root:
- Distinctive: line 141
When only a particular section of a reference is relevant, reference the section heading or anchor only.
- Distinctive: line 148
Prefer linking to specific sections when only part of a reference document is relevant.
- Very specific: line 150
Keep file references one level deep from SKILL.md.
“Common” is measured: kept by at least 6 in 10 of the 7 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
What is a skill?
Skills are reusable capabilities that give AI agents the procedural knowledge needed to perform specific tasks, including code generation, domain-specific work, and tool integration.
Directory structure
A skill is a directory containing, at minimum, a SKILL.md file with metadata (at minimum, a name and description) and instructions for performing the task. It can also include scripts, reference materials, templates, and other resources.
skill-name/
├── SKILL.md # Required: metadata + instructions
├── scripts/ # Optional: executable code
├── references/ # Optional: documentation, specifications and supplementary knowledge
├── assets/ # Optional: templates, datasets, images and other supporting resources
├── evals/ # Required for behavior-shaping changes: eval specifications and supporting resources
├── examples/ # Optional: illustrative inputs, outputs and usage scenarios
├── models/ # Optional: native engineering model files, configurations and fixtures (not ML weights)
├── adapters/ # Optional: host-specific instructions, tool integrations and agent delegation configurations
└── other files # Keep the documented top-level folder set; request review before adding a new folder typeFrontmatter at a glance
The SKILL.md file must contain YAML frontmatter followed by Markdown content. The required fields are name and description.
| Field | Required | Constraints |
name | Yes | Max 64 characters. Lowercase letters, numbers, and hyphens only. Must not start or end with a hyphen. Must match the parent directory name. |
description | Yes | Max 1024 characters. Non-empty. Describes what the skill does and when to use it. |
license | No | License name or reference to a bundled license file. |
compatibility | No | Max 500 characters. Indicates environment requirements. |
metadata | No | Arbitrary key-value mapping for additional metadata. |
allowed-tools | No | Space-separated string of pre-approved tools. (Experimental) |
See the skill format reference for field-by-field constraints, examples, and valid/invalid cases.
The Agent Skills format permits a license field, but this repository uses its root MIT license and omits per-skill license metadata.
Writing a skill
- Scope the skill. Decide the single task the skill enables, its trigger, tools, and limits. A skill should be a focused capability, not a general topic.
- Check for an existing skill. Search the target skills directory for a skill that already covers the task. Extend it rather than creating a duplicate.
- Choose a name. Lowercase letters, numbers, and hyphens only; no leading or trailing hyphen; no consecutive hyphens; must match the parent directory name.
- Write the description. State what the skill does and when to use it. Include specific keywords that help agents identify relevant tasks. Keep it under 1024 characters.
- Write the body. Prefer a concise procedure the agent can follow. Include step-by-step instructions, examples of inputs and outputs, and common edge cases. Omit generic knowledge the agent already has. For skills that need to execute significant amount of code, try simplifying code examples by implementing writing tools in
scripts/. - Add resources only when needed. Use
references/for supporting documents,scripts/for deterministic tools,assets/for input templates,evals/for task/evidence resources,examples/for illustration,models/for native engineering model files/configurations/fixtures (not ML weights), andadapters/for host-specific integration. Create optional directories only when used. Link to references fromSKILL.mdand keep the main file under 500 lines. - Add evaluation evidence. For behavior-shaping instructions, define a discriminating eval specification and identify what an actual captured run would need to show. A valid specification is not a behavioral result; report missing captures as unvalidated.
- Validate. Run the validation command below and fix any reported errors.
- Self-review. Check the skill against the checklist below.
Checklist
Before considering a skill complete, confirm:
namematches the parent directory name and follows the naming rules.descriptionstates what the skill does, when to use it, and includes routing keywords.- The body is a procedure, not a restatement of the Agent Skills spec.
- No generic information that the agent already possesses.
- Detailed reference material is in
references/, not duplicated inSKILL.md. SKILL.mdis under 500 lines.- File references are relative and one level deep.
- Task-specific claims and domain limits are supported by cited sources or supplied evidence.
- Behavior-shaping changes have a relevant eval specification; do not claim behavioral validation without captured runs.
- The skill validates with
agentskills validate.
Worked examples
Minimal skill
---
name: pdf-processing
description: Extract PDF text, fill forms, and merge files. Use when handling PDFs.
---
# PDF processing
1. Inspect the input PDF.
2. Extract text and tables.
3. Fill or merge as requested.
4. Report the output path.Skill with references
---
name: model-review
description: Inspect a supplied model, compare its structure with stated requirements, and report gaps. Use when reviewing a model file.
---
# Model review
Consult [GLOSSARY.md](GLOSSARY.md) for terminology and conventions.
## Workflow
1. Inspect the network model and its input data.
2. Validate the hydraulic model and boundary conditions.
3. Run the requested simulations.
4. Check results against physical constraints and expected behaviour.Design principles
- Minimalism : Include only the directories and resources necessary for the skill to function effectively.
- Modularity : Keep instructions, executable code, reference materials, evaluation resources and integration-specific configurations separate.
- Portability : Keep the core skill independent of any particular agent host or orchestration framework wherever possible.
- Reproducibility : Provide sufficient evaluation resources and reference fixtures to allow others to test and verify skill behaviour.
- Discoverability : Use descriptive filenames and document the purpose of non-obvious files and directories.
Progressive disclosure
Agents load skills progressively, pulling in more detail only as a task calls for it:
- Metadata (~100 tokens):
nameanddescriptionare loaded at startup for all skills. - Instructions (< 5000 tokens recommended): the full
SKILL.mdbody is loaded when the skill is activated. - Resources (as needed): files in
scripts/,references/, orassets/are loaded only when required.
Keep your main SKILL.md under 500 lines. Move detailed reference material to separate files.
File references
When referencing other files in your skill, use relative paths from the skill root:
See [the skill format reference](references/skill-format.md) for details.
Run the extraction script:
scripts/extract.pyWhen only a particular section of a reference is relevant, reference the section heading or anchor only.
See [evaluation criteria](references/evaluation-guide.md#evaluation-criteria)
for the scoring methodology.Prefer linking to specific sections when only part of a reference document is relevant. Use descriptive link text that communicates what information the referenced section contains.
Keep file references one level deep from SKILL.md. Avoid deeply nested reference chains.
Validation
Validate the skill directory after writing:
agentskills validate ./my-skillThe agentskills command is provided by the skills-ref package. If it is not
available, report the missing validator and ask before installing dependencies.
This checks that the SKILL.md frontmatter is valid and follows naming
conventions; it does not evaluate the skill's behavior or domain correctness.
Evaluation status
The four-case eval specification is checked for structure, but no captured runs are present here. This skill's behavior has not been evaluated in this checkout.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

