Agent skill · Design & Presentation

skill-builder

Builds a new Claude Code skill from scratch through a relentless, evidence-based interview that walks the skill's design tree decision-by-decision — entity fit, use cases, name, description, workflow steps, tools, and progressive-disclosure layout — then reviews the finished skill against the plugin-building guidance and applies every fix it finds. Use when creating, authoring, scaffolding, designing, or drafting a new skill or slash command. Does not build an agent or subagent — use agent-builder. Does not serve, vendor, or refresh the authoring guidance itself — use guidance.

testdoublegithub.com/testdoubleGitHub ↗
claude-codecan modify filesMIT
Install
npx skills add testdouble/han --skill skill-builder --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 1
SKILL.md size: 16 KB
Bundled scripts: none
Allowed tools: ReadWriteEditGlobGrepBash(find*)Bash(mkdir*)
Path: han-plugin-builder/skills/skill-builder/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 154
Language: Shell

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

## Project Context - personal config directory: !`echo "${CLAUDE_CONFIG_DIR:-$HOME/.claude}"` - project .han/config.md: !`cat .han/config.md 2>/dev/null || echo ""` As your first action, use the Read tool on `.han/config.md` inside the `personal config directory` path above. A read that returns no file is no personal configuration: continue silently. When that file or the `project .han/config.md` probe supplies content, apply it per [config-rule.md](../../references/config-rule.md), which governs precedence between the two files, relative-path resolution, and what to do with a file that reads but cannot be used. ## Guidance Location The authoritative skill-authoring guidance ships in this plugin. Read the specific document a decision needs, when that decision is on the table — never read them all up front, because that defeats progressive disclosure and burns context on guidance the current skill does not touch. - Plugin-building guidance root: `${CLAUDE_PLUGIN_ROOT}/skills/guidance/references/` - Skill-specific guidance: `${CLAUDE_PLUGIN_ROOT}/skills/guidance/references/skill-building-guidance/` Map from decision to governing document (read just-in-time): | Decision on the table |

What's inside
Steps it walks through
  1. Project Context
  2. Guidance Location
  3. Operating Principles
  4. Step 1: Capture the Request and Confirm It Is a Skill
  5. Step 2: Discover Before Asking
  6. Step 3: Build the Design Tree
  7. Step 4: Interview Loop — One Branch at a Time
  8. Step 5: Write the Skill
  9. Step 6: Full Guidance-Conformance Review
  10. Step 7: Present and Hand Off
More from han
All skills →
About this skill
What does the skill-builder skill do?

Builds a new Claude Code skill from scratch through a relentless, evidence-based interview that walks the skill's design tree decision-by-decision — entity fit, use cases, name, description, workflow steps, tools, and progressive-disclosure layout — then reviews the finished skill against the plugin-building guidance and applies every fix it finds. Use when creating, authoring, scaffolding, designing, or drafting a new skill or slash command. Does not build an agent or subagent — use agent-builder. Does not serve, vendor, or refresh the authoring guidance itself — use guidance.

How do I install it?

Run `npx skills add testdouble/han --skill skill-builder --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From testdouble/han, a repository with 154 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going