author
Every skill, every agent instruction file is an interface — not to a human reader skimming, but to an agent that will obey it literally in a session that starts cold. This skill attaches itself whenever such a document is being written or edited, and stays for the whole edit.
When it loads
Model-invoked, on its own, whenever the work writes or edits: anything under skills/, AGENTS.md or CLAUDE.md at a repo root, or the repo config documents under docs/agentic-skills/. The user never has to ask.
The rules
- Frontmatter is the trigger surface. A skill's
name is its invocation; its description is when it fires. Write the description as the situation it serves — the triggers in the user's own words — not as a feature list; an agent scanning a fresh session matches situations, not adjectives.
- One job per file. A skill does one thing, stated in its first paragraph; a file that does two things is two files. Corollary: sections are load-bearing — headings are how other skills navigate this one; keep them exact and stable when other documents cite them.
- Imperative voice, second person. "Read the config before writing" — not "the config should be read" and not "we will read". The reader is the agent about to act; address it as the actor.
- No stale paths, no borrowed specifics. File paths and command shapes go stale; pin them only when the path is the rule, and read the living truth from the repo (repo config, glossary, ADRs) instead of restating it. Cite a recorded decision by pointer rather than paraphrasing it into drift.
- Refusals are content. What a skill must not do — never overwrite, never publish, never guess — is written as plainly as what it must; an unrefused edge becomes a silent permission.
- Shorter survives context. Every sentence earns its place; a rule the agent cannot act on is noise that crowds the rules it can. Cut until it hurts, then stop.
Precedence