.claude/skills/smith/SKILL.md
Scaffold a new Quickstop plugin with correct structure and conventions
npx skillsauth add acostanzo/quickstop smithInstall 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 Smith orchestrator. When the user runs /smith <plugin-name>, scaffold a new Quickstop plugin with correct structure, frontmatter, and marketplace registration. Follow each phase in order.
Extract the plugin name from $ARGUMENTS. If empty or missing, use AskUserQuestion to ask:
my-plugin)"^[a-z][a-z0-9]*(-[a-z0-9]+)*$. If not, reject and ask for a valid name.plugins/$ARGUMENTS/ — if it exists, tell the user and abort.git rev-parse --show-toplevel via Bash to get the repo root.Tell the user:
Scaffolding plugin: <name>
Phase 1: Building expert context from official plugin documentation...
Invoke /claudit:knowledge ecosystem to retrieve ecosystem knowledge.
If the skill runs successfully (outputs === CLAUDIT KNOWLEDGE: ecosystem === block):
.claude/skills/smith/references/plugin-spec.md for plugin-authoring-specific detail (plugin.json schema, directory conventions) that the ecosystem cache may not cover at full depthIf the skill is not available (claudit not installed — the invocation produces an error, is not recognized as a command, or produces no knowledge output):
Dispatch 2 research subagents in parallel using the Task tool. Both must be foreground.
In a single message, dispatch both Task tool calls:
Research Plugin Spec:
description: "Research plugin spec docs"subagent_type: "research-plugin-spec"prompt: "Build expert knowledge on Claude Code plugin, skill, and sub-agent authoring. Read the baseline from .claude/skills/smith/references/plugin-spec.md first, then fetch official Anthropic documentation. Return structured expert knowledge."Research Hooks & MCP:
description: "Research hooks/MCP docs"subagent_type: "research-hooks-mcp"prompt: "Build expert knowledge on Claude Code hooks and MCP server configuration. Fetch official Anthropic documentation. Return structured expert knowledge."Once both return, combine their results:
=== EXPERT CONTEXT ===
## Plugin System Knowledge
[Results from research-plugin-spec]
## Hooks & MCP Knowledge
[Results from research-hooks-mcp]
=== END EXPERT CONTEXT ===
Tell the user:
Expert context assembled. Gathering requirements...
Use AskUserQuestion for each question. Skip questions that don't apply based on previous answers.
"What does this plugin do? (1-2 sentence description)"
Use AskUserQuestion with options to ask: "What components does this plugin need?" Options (allow multiple selections):
"List the skills this plugin needs. For each, provide a name and brief description. Format: name: description (one per line)"
"List the agents this plugin needs. For each, provide a name and brief description. Format: name: description (one per line)"
Use AskUserQuestion with options: "What model should agents default to?"
haiku — fast and cheap, good for research/fetch tasksinherit — use parent's model, good for analysis taskssonnet — balanced, good for complex analysisUse AskUserQuestion with options (allow multiple): "What hook events does this plugin need?"
"What keywords describe this plugin? (comma-separated, for marketplace discovery)"
Using Expert Context and the user's answers, create all files. Use the official spec from Expert Context to ensure correct frontmatter and structure.
Create plugins/<name>/.claude-plugin/plugin.json:
{
"name": "<name>",
"version": "0.1.0",
"description": "<user's description>",
"author": {
"name": "Anthony Costanzo",
"url": "https://github.com/acostanzo"
}
}
For each skill the user listed, create plugins/<name>/skills/<skill-name>/SKILL.md:
---
name: <skill-name>
description: <user's description for this skill>
disable-model-invocation: true
allowed-tools: Task, Read, Glob, Grep, Bash, Write, Edit
---
Body should include:
# <Skill Name>: <description>For each agent the user listed, create plugins/<name>/agents/<agent-name>.md:
---
name: <agent-name>
description: "<user's description for this agent>"
tools:
- Read
- Glob
- Grep
model: <user's chosen model>
---
Body should include:
# Agent: <name>If hooks were selected, create plugins/<name>/hooks/hooks.json:
{
"hooks": {
"<EventType>": [
{
"matcher": "",
"command": "echo 'TODO: implement hook'",
"timeout": 30000
}
]
}
}
Include each event type the user selected. Omit matcher for events that don't use it (SessionStart, Stop, SubagentStop, Notification).
If MCP was selected, create plugins/<name>/.mcp.json:
{
"mcpServers": {
"server-name": {
"command": "TODO",
"args": [],
"env": {}
}
}
}
Create plugins/<name>/README.md:
# <Name>
<description>
## Commands
[List each skill with description]
## Installation
### From Marketplace
\`\`\`bash
/plugin install <name>@quickstop
\`\`\`
### From Source
\`\`\`bash
claude --plugin-dir /path/to/quickstop/plugins/<name>
\`\`\`
## Architecture
[Brief overview of components: N skills, N agents, hooks, etc.]
Read .claude-plugin/marketplace.json, add a new entry to the plugins array:
{
"name": "<name>",
"version": "0.1.0",
"description": "<description>",
"source": "./plugins/<name>",
"keywords": [<user's keywords>]
}
Use Edit to add the entry — do not overwrite the entire file.
Read README.md and add a new plugin section following the existing format (look at Bifrost and Claudit entries for the pattern). Add it after the last plugin entry with version v0.1.0.
Present the created files:
=== SMITH COMPLETE ===
Plugin: <name> v0.1.0
Created:
plugins/<name>/.claude-plugin/plugin.json
plugins/<name>/skills/<skill>/SKILL.md (per skill)
plugins/<name>/agents/<agent>.md (per agent)
plugins/<name>/hooks/hooks.json (if applicable)
plugins/<name>/.mcp.json (if applicable)
plugins/<name>/README.md
Registered:
.claude-plugin/marketplace.json ✓
README.md ✓
Next steps:
1. Fill in skill instructions (the TODO sections)
2. Fill in agent instructions
3. Test: claude --plugin-dir plugins/<name>
4. Run ./scripts/check-plugin-versions.sh to verify versions
5. Run /hone <name> to check quality
6. Bump to v1.0.0 when ready for release
=== END ===
plugin-spec.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.