/skillbuilder
Build Claude Code skills that are genuinely intelligent — not just format-valid, but skills that exploit something specific about how Claude works.
Reference standard: the skills in this repo. Study them before drafting.
| Skill |
What it exploits |
/stochastic |
LLM variance — poll N runs, aggregate consensus/divergences/outliers |
/model-chat |
Disagreement — multi-agent debate surfaces assumptions a single pass misses |
/fanout |
Parallelism — independent researchers cover more ground, Opus synthesizes |
/autoresearch |
Measurement loops — read code, mutate, measure, keep-or-revert, repeat |
Every good skill exploits something. The question isn't "which of 8 buckets" — it's "what does this skill do that a raw prompt can't?"
Quality bar
A skill is worth building if:
- Reusable — works across many tasks, not a one-shot
- Exploits something — LLM variance, parallelism, measurement, memory, gates, whatever
- Beats a prompt — materially changes Claude's execution, not just vocabulary
- Passes the removal test — delete the skill, output measurably degrades
If the answer to "what does this exploit" is "nothing, it's just instructions" — that's a prompt, not a skill.
Anti-patterns
- Task helper. "Skill that writes commit messages." That's a prompt. "Skill that spawns 3 agents to review, vote, kill weak verbs" — that's a skill.
- Best-practice list. Documentation isn't a skill. A checklist that gates SHIP/NOT SHIP is.
- Prompt-equivalent. If a one-shot prompt produces the same output, don't build a skill.
- Single-use. "Skill to set up my repo." That's a script.
- Decoration. Skill exists to feel useful but doesn't change execution.
- Token bloat. SKILL.md > 250 lines of best-practice advice Claude would do anyway.
- Generic naming.
/helper, /assistant, /improve-X. Names should name what it does or what it exploits.
Operations
craft — build a new skill
Input: domain or problem. Output: working skills/{name}/SKILL.md.
Flow:
- Study references. Read existing skills in this repo. What patterns apply?
- Identify the exploit. What will this skill do that a raw prompt can't? If nothing — stop, recommend a prompt instead.
- Draft the skill following the template below.
- Write to disk.
skills/{name}/SKILL.md
- Report. Path, what it exploits, restart required.
audit — check an existing skill
Input: skill name or path. Output: lands · needs work · kill it.
Flow:
- Read the SKILL.md.
- Identify what it exploits. Implicit or missing → needs work.
- Run anti-patterns 1-7. Any hit → needs work or kill.
- Removal test: would Claude's output degrade without this skill?
- Verdict + one move.
kill — diagnose a failing skill
Input: skill name + symptom. Output: fix or kill.
Flow:
- What was it supposed to exploit? Has it drifted?
- Anti-pattern check.
- One move: sharpen, narrow, or kill.
Skill template
---
name: {kebab-case}
description: "TRIGGER when {specific signal}. {What it does in one phrase}. SKIP for {anti-domain}."
user-invocable: true
allowed-tools:
- {minimum needed}
effort: {default | high}
---
# /{name}
{What this skill does. What it exploits — why it beats a raw prompt.}
## Reference
{If applicable: similar skills, shipped products, or patterns this builds on.}
## How it works
{The mechanism. What Claude does differently when this skill is loaded.}
## Anti-patterns
{Domain-specific failure modes to avoid.}
## Output
{What the skill produces. Format, structure, deliverable.}
Frontmatter spec
| Field |
Required |
Notes |
name |
yes |
kebab-case, matches folder name |
description |
yes |
TRIGGER when... SKIP for... — this is how Claude decides to load it |
user-invocable |
yes |
true if user can call it directly |
allowed-tools |
yes |
minimum needed — don't over-grant |
effort |
yes |
default (single-pass) or high (spawns agents, long-running) |
Allowed-tools — minimum needed
Read — almost always
Agent — if it spawns sub-agents
Bash Glob Grep — for codebase work
Write — only if it persists state
WebSearch WebFetch — only if it does live research
Don't grant tools the skill doesn't use.
Naming
- Mechanism-named —
/stochastic, /fanout (names the how)
- Domain-named —
/autoresearch, /skillbuilder (names the what)
- Avoid —
/helper, /assistant, /better-X, /improve-Y
After writing
- Tell user to restart Claude Code
- Test: invoke in fresh conversation, verify trigger matches
- Check: does output beat a raw prompt?
Voice
- Lead with what it exploits
- Every claim cites a reference (existing skill or shipped product)
- If it's a prompt in disguise, say so
- Short sentences, specific mechanisms
- One skill per run
1---2name: skillbuilder3description: Build flawless Claude Code skills. Studies existing skills as reference, ensures correct format, and pushes for genuine intelligence — skills that exploit something specific about how Claude works. SKIP for one-off scripts, prompts, or task helpers.4---56# /skillbuilder78Build Claude Code skills that are genuinely intelligent — not just format-valid, but skills that exploit something specific about how Claude works.910Reference standard: the skills in this repo. Study them before drafting.1112| Skill | What it exploits |13|-------|------------------|14| `/stochastic` | LLM variance — poll N runs, aggregate consensus/divergences/outliers |15| `/model-chat` | Disagreement — multi-agent debate surfaces assumptions a single pass misses |16| `/fanout` | Parallelism — independent researchers cover more ground, Opus synthesizes |17| `/autoresearch` | Measurement loops — read code, mutate, measure, keep-or-revert, repeat |1819Every good skill exploits something. The question isn't "which of 8 buckets" — it's "what does this skill do that a raw prompt can't?"2021## Quality bar2223A skill is worth building if:241. **Reusable** — works across many tasks, not a one-shot252. **Exploits something** — LLM variance, parallelism, measurement, memory, gates, whatever263. **Beats a prompt** — materially changes Claude's execution, not just vocabulary274. **Passes the removal test** — delete the skill, output measurably degrades2829If the answer to "what does this exploit" is "nothing, it's just instructions" — that's a prompt, not a skill.3031## Anti-patterns32331. **Task helper.** "Skill that writes commit messages." That's a prompt. "Skill that spawns 3 agents to review, vote, kill weak verbs" — that's a skill.342. **Best-practice list.** Documentation isn't a skill. A checklist that gates SHIP/NOT SHIP is.353. **Prompt-equivalent.** If a one-shot prompt produces the same output, don't build a skill.364. **Single-use.** "Skill to set up my repo." That's a script.375. **Decoration.** Skill exists to feel useful but doesn't change execution.386. **Token bloat.** SKILL.md > 250 lines of best-practice advice Claude would do anyway.397. **Generic naming.** `/helper`, `/assistant`, `/improve-X`. Names should name what it does or what it exploits.4041## Operations4243### `craft` — build a new skill4445Input: domain or problem. Output: working `skills/{name}/SKILL.md`.4647**Flow:**481. **Study references.** Read existing skills in this repo. What patterns apply?492. **Identify the exploit.** What will this skill do that a raw prompt can't? If nothing — stop, recommend a prompt instead.503. **Draft the skill** following the template below.514. **Write to disk.** `skills/{name}/SKILL.md`525. **Report.** Path, what it exploits, restart required.5354### `audit` — check an existing skill5556Input: skill name or path. Output: **lands** · **needs work** · **kill it**.5758**Flow:**591. Read the SKILL.md.602. Identify what it exploits. Implicit or missing → needs work.613. Run anti-patterns 1-7. Any hit → needs work or kill.624. Removal test: would Claude's output degrade without this skill?635. Verdict + one move.6465### `kill` — diagnose a failing skill6667Input: skill name + symptom. Output: fix or kill.6869**Flow:**701. What was it supposed to exploit? Has it drifted?712. Anti-pattern check.723. One move: sharpen, narrow, or kill.7374## Skill template7576```yaml77---78name: {kebab-case}79description: "TRIGGER when {specific signal}. {What it does in one phrase}. SKIP for {anti-domain}."80user-invocable: true81allowed-tools:82 - {minimum needed}83effort: {default | high}84---8586# /{name}8788{What this skill does. What it exploits — why it beats a raw prompt.}8990## Reference9192{If applicable: similar skills, shipped products, or patterns this builds on.}9394## How it works9596{The mechanism. What Claude does differently when this skill is loaded.}9798## Anti-patterns99100{Domain-specific failure modes to avoid.}101102## Output103104{What the skill produces. Format, structure, deliverable.}105```106107## Frontmatter spec108109| Field | Required | Notes |110|-------|----------|-------|111| `name` | yes | kebab-case, matches folder name |112| `description` | yes | TRIGGER when... SKIP for... — this is how Claude decides to load it |113| `user-invocable` | yes | `true` if user can call it directly |114| `allowed-tools` | yes | minimum needed — don't over-grant |115| `effort` | yes | `default` (single-pass) or `high` (spawns agents, long-running) |116117## Allowed-tools — minimum needed118119- `Read` — almost always120- `Agent` — if it spawns sub-agents121- `Bash` `Glob` `Grep` — for codebase work122- `Write` — only if it persists state123- `WebSearch` `WebFetch` — only if it does live research124125Don't grant tools the skill doesn't use.126127## Naming128129- **Mechanism-named** — `/stochastic`, `/fanout` (names the how)130- **Domain-named** — `/autoresearch`, `/skillbuilder` (names the what)131- **Avoid** — `/helper`, `/assistant`, `/better-X`, `/improve-Y`132133## After writing1341351. Tell user to restart Claude Code1362. Test: invoke in fresh conversation, verify trigger matches1373. Check: does output beat a raw prompt?138139## Voice140141- Lead with what it exploits142- Every claim cites a reference (existing skill or shipped product)143- If it's a prompt in disguise, say so144- Short sentences, specific mechanisms145- One skill per run