plugins/skillet/skills/build/SKILL.md
Build a new Claude Code skill from scratch with research-first architecture and opinionated structure
npx skillsauth add acostanzo/quickstop buildInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are the Skillet build orchestrator. When the user runs /skillet:build, execute this 5-phase workflow to scaffold a new Claude Code skill. Follow each phase in order. Do not skip phases.
Parse $ARGUMENTS for the skill name and optional description.
$ARGUMENTS is empty, use AskUserQuestion to ask: "What should the skill be named? (kebab-case, e.g., deploy-check)"Use AskUserQuestion to ask:
Where should this skill be created?
1. Project skill (`.claude/skills/<name>/`) — for project-specific workflows
2. Plugin skill (`plugins/<plugin>/skills/<name>/`) — for a distributable plugin
If plugin: which plugin directory?
Tell the user:
Phase 1: Building expert context from official Anthropic documentation...
Check if claudit's cached ecosystem research is available and fresh (see plugins/claudit/references/cache-check-protocol.md for the full contract):
claude --version 2>/dev/null → store as CURRENT_VERSIONcat ~/.cache/claudit/manifest.json 2>/dev/nullclaude_code_version must match CURRENT_VERSION
b. Per-domain time check: check domains.ecosystem.cached_at age — must be < max_ttl_days (7 days)
c. File check: ~/.cache/claudit/ecosystem.md must existIf FRESH:
~/.cache/claudit/ecosystem.md${CLAUDE_PLUGIN_ROOT}/references/skill-spec-baseline.md for skill-authoring-specific detail (frontmatter field semantics, variable substitution rules) that the ecosystem cache may not cover at full depthExpert context loaded from claudit cache (fetched {date}). Gathering requirements...If STALE or MISSING:
Use the Task tool:
description: "Research skill spec docs"subagent_type: "skillet:research-skill-spec"prompt: "Build expert knowledge on Claude Code skill, agent, and hook authoring. Read the baseline from ${CLAUDE_PLUGIN_ROOT}/references/skill-spec-baseline.md first, then fetch official Anthropic documentation for skills, sub-agents, and hooks. Return structured expert knowledge."Save the research agent's output as the Expert Context for use in subsequent phases.
Tell the user:
Expert context assembled. Gathering requirements...
Gather requirements from the user via AskUserQuestion. Skip questions where the answer is already known from the description or arguments.
Does this skill need sub-agents?
If yes, list each agent (one per line):
name: brief purpose
Example:
analyze-code: reads and evaluates code quality
fetch-docs: retrieves external documentation
Does this skill need hooks? (Select event types that apply)
- SessionStart — run at session initialization
- PreToolUse — intercept before a tool is called
- PostToolUse — react after a tool returns
- Stop — run when the agent stops
- None — no hooks needed
Does this skill need reference files? (Heavy content loaded on demand)
Examples: scoring rubrics, spec baselines, templates, schemas
If yes, briefly describe each reference file.
If no, just say "none".
Should this skill auto-invoke (triggered by context) or require explicit /command?
- Explicit (default) — user must type /skill-name to run it
- Auto-invoke — Claude triggers it when the context matches the description
Based on the skill's complexity and sub-agents, suggest an appropriate tool list:
What tools does this skill need?
Suggested based on your requirements:
[Generated tool list based on complexity]
Common tool sets:
- Read-only analysis: Read, Glob, Grep
- File creation: Read, Glob, Grep, Write, Edit
- Full orchestration: Task, Read, Glob, Grep, Bash, Write, Edit, AskUserQuestion
Adjust as needed.
Using the Expert Context and requirements, build a complete skill blueprint:
${CLAUDE_PLUGIN_ROOT}/references/directory-template.mdRead the directory template:
${CLAUDE_PLUGIN_ROOT}/references/directory-template.mdValidate the blueprint against the directory template:
agents/ at the parent levelhooks/hooks.jsonPresent the full blueprint to the user using AskUserQuestion:
Here's the skill blueprint:
=== DIRECTORY STRUCTURE ===
[tree view of all files to create]
=== SKILL.md OUTLINE ===
[frontmatter + phase descriptions]
=== AGENT OUTLINES ===
[for each agent: frontmatter + purpose]
=== HOOKS ===
[hooks.json structure or "none"]
=== REFERENCES ===
[reference file descriptions or "none"]
Approve this blueprint? (yes / modify / cancel)
If the user wants modifications, adjust and re-present.
Create all files following the approved blueprint.
Write the SKILL.md with:
For each agent, write to agents/<name>.md at the parent level:
If hooks are needed, write hooks/hooks.json:
For each reference file, write to the appropriate references/ directory:
Present the created files and next steps:
=== SKILL CREATED ===
Files created:
[list each file with path and line count]
Next steps:
1. Fill in TODO sections with domain-specific logic
2. Test with: claude --plugin-dir /path/to/plugin (or reload session for .claude/ skills)
3. Audit with: /skillet:audit <path>
${CLAUDE_PLUGIN_ROOT}/references/skill-spec-baseline.mddocumentation
Surface (and optionally fix) doc-tree drift — duplicates, dead links, stale docs, template non-compliance, missing `## Related` blocks. Read-only by default; `--apply` does mechanical fixes; `--apply-semantic` emits diffs for human review.
documentation
Full-text search over the repo's `docs/` tree (FTS5-backed). Returns ranked hits with file paths, tags, and matching snippets.
testing
Retrieval-augmented Q&A over the repo's `docs/` tree. Returns a one-paragraph synthesis plus citations (doc path + heading anchor) and per-citation corroboration verdicts. Field shape and ordering are locked at M3; M5 populates the verdicts.
documentation
Scaffold a new doc under `docs/` from a Diátaxis template, or update an existing one and bump its `updated:` date. Suggests `## Related` candidates and refreshes the FTS5 index on write.