edit-skills
Skill1 starsChanged 54 days agoMITView on GitHub
Use when the user asks to create, edit or size a skill, agent, hook or skill script. Not for a rule or CLAUDE.md; read references/instruction-style.md.
In this repository10 other files it gives its agents.
- .claude/CLAUDE.mdCLAUDE.md
- buildSkill
- configureSkill
- find-causeSkill
- gateSkill
- save-sessionSkill
- shipSkill
- specSkill
- watchSkill
- write-docsSkill
The file
We split this skill into the rules it gives an agent
8 rules. About 0 are common, 3 are distinctive, and 5 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 15
Use it when creating, changing or sizing a skill, agent, hook or skill script.
- Distinctive: line 16
When a stage borrows it, hand control back once the edit is done.
- Very specific: line 21
Catch the mistake: Write one prompt per references/pressure-scenarios.md whose answer shows the mistake as one observable symptom.
- Very specific: line 23
Choose the home: Place the fix per references/where-a-fix-lives.md.
- Very specific: line 27
Judge blind: When step 4's read was a close call, judge the stored pre-edit and edited with answers blind per references/blind-eval.md, and …
- Very specific: line 28
Name the evidence: Commit a skill or agent wording change with an Evidence: benchmarks/results/<file> or Evidence: none (<reason>) trailer, …
- Very specific: line 47
Put text handed to a delegate beside SKILL.md as <role>-prompt.md, with a References row naming the dispatching step.
- Distinctive: line 82
When a skill runs long, drop its weakest rule and keep every rule's reason clause.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Skills tool
A skill earns its place only by stopping a mistake the model makes without it, in the fewest words that takes. Produce a skill whose every line changes what the model does, with each rule carrying its boundary reason. Avoid restating default behavior, hiding the one rule that changes anything, and an order stripped of its boundary reason.
When to use
- Use it when creating, changing or sizing a skill, agent, hook or skill script.
- When a stage borrows it, hand control back once the edit is done. Otherwise it owns the turn.
- Skip it for a one-time fix, one project's habit, or a limit a regex can check. A commit,
CLAUDE.mdor the verifier holds those, and a skill is for a call that needs judgment.
The loop
- Catch the mistake. Write one prompt per
references/pressure-scenarios.mdwhose answer shows the mistake as one observable symptom. - Watch it happen. Read
benchmarks/results/and any earlierpressure.mjsanswers directory for the case first, because a stored result that covers the edited file and was made after its last edit stands in for the run. When the user asks for a run, or none covers the file, runscripts/pressure.mjs --prompt <file> --cells <cells> --plugin-dir <clone>on the cells--cells-for <edited file>prints, else the session's own, and read only thewithoutanswers now. - Choose the home. Place the fix per
references/where-a-fix-lives.md. Write prose in the shape below, with style perreferences/instruction-style.mdand register perreferences/wording.md. - Watch it stop. Rerun
pressure.mjson the same cells only under step 2's condition (the user asks, or no stored result covers the file), and read thewithanswers. Rerun with--fullon the verdictINCONCLUSIVEfrom--grade, and with--contrast-envwhen one setting alone is in question; when thewithoutrun also passed, the case shows nothing, so harden it until that run fails. - Close each new excuse. Apply
references/plugging-holes.mdto each justification thewithrun still produced, then rerun all cases. You are done when a full rerun adds nothing to its tables. - Verify. Run the check the caller's rules assign to this edit, and only the proof it names when the caller reserves the full check to its lead. On a red check, fix the structure and add no exemption, lock or allowlist entry, which only hides the failure.
- Judge blind. When step 4's read was a close call, judge the stored pre-edit and edited
withanswers blind perreferences/blind-eval.md, and run its clones only when the user asks. - Name the evidence. Commit a skill or agent wording change with an
Evidence: benchmarks/results/<file>orEvidence: none (<reason>)trailer, becausenpm run checkfails the branch without one.
The shape
| Part | Contract |
description | Trigger only: moments it fires, then what it leaves alone. No workflow: the model acts on that summary instead of the body. |
| Opening | One paragraph: principle, a "Produce ..." sentence, an "Avoid ..." sentence with a concrete list. An overcorrection sentence only as an optional limit once a recorded run shows over-application. An existing enemy/overcorrection opening migrates when that skill is next edited. |
## When to use | Bullets that name the symptoms first, then each "not for" case. |
| Process | Steps where order matters: numbered, aim at most eight, in order until one matches; a judgment skill with no fixed order: bullets. Each step a rule, with its reason in one clause. |
## Red flags | Only in a skill the model is tempted to skip: table from tempting thought to what is true. |
## References | Table of each file and when to read it; nothing loads before the step that needs it. |
## Judgment | Ladder: which rule wins when two conflict. |
Form
- Move bulk material (a template, a worked example, a checklist over 20 lines) to
references/, and let the body name when to open it. - Aim the body at 2,000 tokens (bytes after the frontmatter / 4) and the description at 200 characters; the verifier fails 2,500 tokens and 250 characters.
- A reference holds one topic and links to no other reference; over 100 lines it opens with a contents list linking each section.
- Put text handed to a delegate beside
SKILL.mdas<role>-prompt.md, with a References row naming the dispatching step. A delegate is a separate agent the skill starts;references/holds only what the skill reads itself.
Red flags
| The excuse | What holds |
| "The body has room to explain itself." | A reason gets one clause, and a paragraph-long one moves to a reference. |
| "An edit this small needs no test run." | Without the without run, the edit is a guess about what the model does. |
| "Any model already knows this." | Then cut the line, because only what the without run got wrong earns a place. |
| "I will test them together once all the skills are written." | Each skill clears every case before the next begins, because skills written in a batch hide each other's gaps. |
References
| File | Read it when |
scripts/rename-skill.mjs | Renaming a skill: node scripts/rename-skill.mjs --from <old> --to <new> moves its folder, docs page and pressure folder and rewrites every mention in one pass. |
references/pressure-scenarios.md | Step 1. |
references/where-a-fix-lives.md | Step 3, before the first rule is written. |
references/instruction-style.md | Step 3, before writing or editing any instruction file such as CLAUDE.md, a rule or an output style. |
references/wording.md | Step 3, when two phrasings compete or a rule's tone is unclear. |
references/description.md | Step 3 for the frontmatter; step 5 when a symptom joins the description. |
references/prompt-rules.md | Step 3, when writing a skill or agent body, a delegate prompt or a brief. |
references/skill-shape.md | Step 3 for a skill started from nothing, and not for a change to an existing skill. |
references/agent-shape.md | Step 3 for an agent started from nothing. |
references/hook-shape.md | Step 3 for a hook started from nothing. |
references/script-shape.md | Step 3 for a skill script started from nothing. |
../../docs/principles/README.md | Step 3, when the edit designs a prompt, context, agent, tool, harness or eval. |
references/plugging-holes.md | Step 5, once a run with the skill loaded still produced a justification. |
references/blind-eval.md | Step 7, when step 4's with/without read is a close call. |
../../lib/references/closing.md | Before the final message. |
Judgment
- A rule the
withoutrun broke outranks a rule that only reads well. - Revert an edit that has neither a run nor a stored result made after its last edit and covering its file, and do not keep it as a draft.
- When a skill runs long, drop its weakest rule and keep every rule's reason clause.
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.

