write-a-skilllisted
Install: claude install-skill magnusrodseth/dotfiles
# Writing Skills
A skill exists to make a stochastic agent **predictable**: the same *process* every run, not the same output. Every lever below serves that.
## Process
1. **Gather requirements** - ask the user:
- What task/domain does the skill cover?
- What use cases (branches) should it handle?
- Does it need executable scripts, or just instructions?
- Any reference material to bundle?
2. **Decide invocation** (section 1) before drafting.
3. **Draft** - SKILL.md plus any bundled reference files or scripts.
4. **Review with user** - present the draft and ask: Does this cover your use cases? Anything missing or unclear? Should any section be more/less detailed?
## 1. Trigger: who invokes it
Any skill can be invoked by name. The real choice is whether the *agent* can also fire it on its own.
- **Model-invoked** (the default): keep the `description`; it sits in the agent's context every turn, so the agent can trigger it autonomously and other skills can reach it. Cost: **context load** (tokens and attention on every request) plus unpredictability (the agent may simply not call it).
- **User-invoked**: set `disable-model-invocation: true`; the description becomes human-facing and the agent cannot see or fire it. Zero context load, but it spends **cognitive load**: you become the index that has to remember it exists.
Rule: pick model-invocation only when the agent must reach the skill itself (or another skill must). If it only ever fires by hand, make it user-