reflect-skills-from-me…
This skill should be used when the user asks to "reflect on skills from memory", "audit marketplace skills against memory",…
Reference for writing and editing skills well — the vocabulary and principles that make a skill predictable. Use when the user asks \"how should I write a skill\" or wants skill-writing best practices.
$ npx -y skills add FradSer/dotclaude --skill writing-great-skills --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/writing-great-skillsContext preview
The summary Claude sees to decide when to auto-load this skill.
Reference for writing and editing skills well — the vocabulary and principles that make a skill predictable. Use when the user asks \"how should I write a skill\" or wants skill-writing best practices.
name: writing-great-skills description: "Reference for writing and editing skills well — the vocabulary and principles that make a skill predictable. Use when the user asks \"how should I write a skill\" or wants skill-writing best practices." disable-model-invocation: true
A skill exists to wrangle determinism out of a stochastic system. **Predictability** — the agent taking the same _process_ every run, not producing the same output — is the root virtue; every lever below serves it.
**Bold terms** are defined in [`GLOSSARY.md`](GLOSSARY.md); look them up there for the full meaning.
Two choices, trading different costs:
Pick model-invocation only when the agent must reach the skill on its own, or another skill must. If it only ever fires by hand, make it user-invoked and pay no context load.
When user-invoked skills multiply past what you can remember, that piled-up cognitive load is cured by a **router skill**: one user-invoked skill that names the others and when to reach for each.
A model-invoked **description** does two jobs — state what the skill is, and list the **branches** that should trigger it. Every word increases **context load**, so a description earns even harder pruning than the body:
A skill is built from two content types — **steps** and **reference** — that mix freely: a skill can be all steps, all reference, or both. The core decision is which to use and where each sits on the **information hierarchy**, a ladder ranked by how immediately the agent needs the material:
1. **In-skill step** — an ordered action in `SKILL.md`, the primary tier: what the agent does, in order. Each step ends on a **completion criterion**, the condition that tells the agent the work is done. Make it _checkable_ (can the agent tell done from not-done?) and, where it matters, _exhaustive_ ("every modified model accounted for", not "produce a change list") — a vague criterion invites **premature completion**. 2. **In-skill reference** — a definition, rule, or fact in `SKILL.md`, consulted on demand. Often a legitimately flat peer-set (every rule of a review on one rung) — a fine arrangement, not a smell. _This skill is all reference._ 3. **External reference** — reference pushed out of `SKILL.md` into a separate file, reached by a **context pointer**, loaded only when the pointer fires. (Spans _disclosed_ reference — a sibling file like `GLOSSARY.md`, still part of the skill — through fully **external reference** that lives outside the skill system and any skill can point at.)
A demanding completion criterion drives thorough **legwork** — the digging the agent does within the work — whether the skill has steps or not, since "every rule applied" binds flat reference just as "every step done" binds a sequence.
Push too little down and the top bloats; push too much and you hide material the agent actually needs. That tension is the whole decision.
**Progressive disclosure** is the move down the ladder — out of `SKILL.md` into a linked file — so the top stays legible. Mechanics: a linked `.md` file in the skill folder, named for what it holds (this skill discloses its full definitions to `GLOSSARY.md`). Some skills are used in more than one way, and each distinct way is a **branch** — different runs taking different paths through the skill. Branching is the cleanest disclosure test: inline what every branch needs, and push behind a pointer what only some branches reach. A **context pointer**'s _wording_, not its target, decides when and how reliably the agent reaches the material.
Where the ladder decides _how far down_ a piece sits, **co-location** decides _what sits beside it_ once there: keep a concept's definition, rules, and caveats under one heading rather than scattered, so reading one part brings its neighbours with it.
**Granularity** is how finely you divide skills, and each cut spends one of the two loads, so split only when the cut earns it. Two cuts:
Keep each meaning in a **single source of truth**: one authoritative place, so changing the behaviour is a one-place edit.
Check every line for **relevance**: does
A curated collection of 22 plugins for Claude Code, providing specialized agents, skills, and automation tools for development and productivity workflows.
This skill should be used when the user asks to "reflect on skills from memory", "audit marketplace skills against memory",…
Use acpx as a headless ACP CLI for agent-to-agent communication, always inside an isolated SubAgent. Use when running coding…
Delegates a self-contained task to a Google Gemini Managed Agent (Antigravity) running in a remote sandbox with code execution,…
Runs a deep-research query on Google Gemini's deep-research managed agent and returns a cited report. This skill should be used…
This skill should be used when the user asks to "understand a codebase", "get code context", "research a library", "explore a…
Execute this when the user requests code context for a repository, library, or any natural-language code/technology question…