skill-writinglisted
Install: claude install-skill jjanczur/tyran
# Writing a skill for this plugin
> The retrospective may commit a new skill without asking — it is AUTO class.
> That is only safe if there is a standard for what a skill is. This is the
> standard, and the first rule is the one that keeps the library small.
**Every description is loaded into EVERY session, whether the skill fires or
not.** That is the price, it is paid by every user on every turn, and it is the
one cost a skill cannot avoid by being well written. `scripts/desc-budget.mjs`
enforces the ceiling in CI. Read that number before you write anything.
## The admission test — all three, or it is not a skill
1. **Is there a dangling reference?** Does the conductor, an agent or another
skill already *demand* this protocol without carrying it? A skill nothing
points at is a library entry, and nobody reads a library.
2. **Was it paid for?** If a competent engineer would find it in five minutes
of searching, it is documentation. Skills encode what a failure taught:
decisions, constraints, the trap that is not obvious until it costs a day.
3. **Is it portable and does it belong to us?** No foreign runtime, no path
from another tool, no agent this repo does not ship, and **no model name** —
routing has exactly one source, and a test fails the build on a model name
anywhere in `skills/` or `agents/`.
Failing any one of them is not a reason to write it shorter. It is a reason to
put the content where it belongs: a rule in the caller, a fact in
`.tyra