senior-skill-authoring
Skill2 starsChanged 15 days agoApache-2.0View on GitHub
Use when creating a new agent skill, or changing an existing skill's trigger, process, boundaries or evals.
In this repository7 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- senior-code-reviewSkill
- senior-debuggingSkill
- senior-engineeringSkill
- senior-finishSkill
- senior-project-intelligenceSkill
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 1 is distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
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
- Very specific: line 23
Keep the name prefixed (senior-…) and specific enough not to collide with host or third-party skills.
- Very specific: line 42
Keep interpretation, prioritization, trade-offs and explanations in the skill.
- Distinctive: line 50
Every skill needs an exit condition.
≈ “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
Skill Authoring
Core rule: a skill earns its place only when agents demonstrably behave worse without it.
1. Prove a skill is the right abstraction
Answer before writing:
- What recognizable situation should trigger it?
- What goes wrong today without it? Write down one concrete failure you observed or can reproduce.
- Could an existing skill own this behavior?
- Is this a reusable workflow (skill), a project-only rule (repository instructions), reference material, or a deterministic mechanic (script/CLI)?
2. Write the trigger first
The description says when to use the skill and, where useful, when not to. Start with "Use when…". Do not summarize the procedure there: an agent that reads a summary may follow the summary instead of the skill.
Keep the name prefixed (senior-…) and specific enough not to collide with host or third-party skills.
3. Keep the hot path small
SKILL.md holds the minimum procedure needed every time the skill triggers. Put material needed only sometimes in one-level-deep files the skill points to at the step that needs them:
senior-example/
├── SKILL.md
├── references/
│ └── topic.md
└── scripts/
└── deterministic-check.mjsnpm run validate:skills rejects a SKILL.md over 500 lines of body or 20,000 bytes: hosts may truncate longer skills after context compaction.
4. Separate judgment from mechanics
Keep interpretation, prioritization, trade-offs and explanations in the skill. Move behavior to scripts or the senior CLI when it is repeated, deterministic, fragile to reconstruct by hand, or easier to test as code.
5. Write for current models
Current models follow instructions literally. Use normal volume and explicit conditions ("at medium risk and above…") instead of capital letters and absolute threats, which make them apply heavy process to trivial work. Put one short core rule at the top, and a table of the excuses the agent is likely to make, each paired with what to do instead.
6. Define the exit and the boundaries
Every skill needs an exit condition. Destructive or external actions need an explicit approval boundary. Do not impose heavyweight process on low-risk work.
7. Write evals before declaring success
At least three cases per skill:
- a request that should trigger it;
- a nearby request that should not trigger it, or should take the light path;
- an edge or pressure case that tests its most important boundary.
Each case lists observable required and forbidden behaviors. Then run npm run validate:skills and npm run validate:evals. Structural validation is not evidence that the skill improves behavior: when a runner is available, compare runs with and without the skill and judge the outcome, not only whether the steps were followed.
| If you notice yourself thinking… | Do this instead |
| "This is useful advice, it deserves a skill" | Show the failure it prevents first |
| "I'll make it MANDATORY so it always fires" | State when it applies; loud rules over-trigger |
| "The validator passes, so the skill works" | Validation checks shape, not behavior |
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.

