From skill-master
Use when the user says 'master', 'build a plugin', 'create a skill', 'create an agent', 'review plugin', 'audit plugin', 'iterate skill', 'improve trigger', 'package plugin', or wants to create, review, iterate, or package Claude Code plugins and components. Single entry with 4 routes: - create: brainstorm → design → scaffold (plugin-dev) → eval baseline (skill-creator) → review → iterate - review: 9-dimension audit from AI executor perspective + cross-plugin trigger conflict detection - iterate: fix → re-eval (skill-creator) → compare baseline → verify - package: full plugin or single component into target project
npx claudepluginhub n0rvyn/indie-toolkit --plugin skill-masterThis skill uses the workspace's default tool permissions.
统一入口,编排 Claude Code 插件和组件的完整生命周期:创建、评估、审查、迭代、打包。
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Analyzes BMad project state from catalog CSV, configs, artifacts, and query to recommend next skills or answer questions. Useful for help requests, 'what next', or starting BMad.
统一入口,编排 Claude Code 插件和组件的完整生命周期:创建、评估、审查、迭代、打包。
委托 plugin-dev 处理组件创建,skill-creator 处理 eval 循环,自建 9 维审查框架和跨插件冲突检测。
从用户消息判断路由:
| Route | Signal keywords |
|---|---|
| create | "build", "create", "new plugin", "new skill", "new agent", "new hook", "brainstorm", "I want to make" |
| review | "review", "audit", "check quality", "review plugin", "review skill", "plugin review" |
| iterate | "improve", "fix trigger", "iterate", "refine", "trigger is too broad", "trigger is too narrow", "quality" |
| package | "package", "export", "inject", "distribute", "marketplace-ready", "deploy to project" |
Routing logic:
skill-master:intent-distiller agent with user's message → use its recommendation field to determine routeGoal: produce a high-quality plugin component with eval baseline and review gate.
If intent-distiller was already dispatched in Step 1 (ambiguous routing path), reuse its output here and skip the dispatch.
Otherwise, dispatch skill-master:intent-distiller agent:
Extract structured plugin/skill development intent from the following user request.
User description: {user's message}
The agent returns a structured YAML block with: capability, component_type, target_audience, success_criteria, delegation_targets, existing_overlap, recommendation.
Present the intent summary to the user:
If recommendation is "extend existing" or "skip", explain why and ask user how to proceed.
If recommendation is "create new" or user overrides, continue.
Before delegating, detect which optional dependencies are installed:
~/.claude/plugins/**/plugin-dev/**/.claude-plugin/plugin.json. Found → plugin_dev_available = true.~/.claude/plugins/**/skill-creator/**/skills/skill-creator/SKILL.md. Found → skill_creator_available = true. Also store its scripts directory path as $SC_SCRIPTS.Route by component_type:
Full plugin:
plugin_dev_available: invoke Skill("plugin-dev:create-plugin") (8-phase guided workflow).claude-plugin/plugin.json, skills/, agents/ directories, README.md) and write components directlyAfter creation completes → continue to 2a.5.
Single skill:
plugin_dev_available: invoke Skill("plugin-dev:skill-development") for structure guidance and SKILL.md drafting. If not: write SKILL.md directly following plugin-dev conventions (name/description frontmatter, Process section, Completion Criteria)skill_creator_available: invoke Skill("skill-creator:skill-creator") for eval loop (eval creation, parallel runs, grading, viewer, iteration). If not: write eval.md manually with trigger tests and negative testsAgent:
plugin_dev_available: invoke Skill("plugin-dev:agent-development") for guidance, then dispatch plugin-dev:agent-creator via the Agent tool for generation. If not: write agent .md directly (name/description/model/tools frontmatter, system prompt, constraint section)Hook:
plugin_dev_available: invoke Skill("plugin-dev:hook-development"). If not: write hooks.json and hook script directlyCommand:
plugin_dev_available: invoke Skill("plugin-dev:command-development"). If not: write command .md directlyCollect the file paths of newly created artifacts (from the delegated skill's output, or Glob the target directory for recently created/modified .md files).
Execute the review route (Step 2b) on these artifacts, using Scope A (specific files).
If review finds Bug-severity issues:
If review finds only Logic/Minor issues or no issues:
Goal: 9-dimension plugin quality audit from the AI executor perspective, plus cross-plugin trigger conflict detection.
This route is migrated from skill-audit:plugin-review with one addition (trigger-arbiter).
From user message, determine what to review:
Scope A — Specific files: User gives file paths directly.
Scope B — Plugin: User names a plugin or directory. Collect:
{plugin}/skills/*/SKILL.md → all skills{plugin}/agents/*.md → all agentsScope C — Recent changes: User says "review my changes" or no explicit target.
git diff --name-only HEAD for uncommitted changesgit log --name-only -1 --pretty=format:"" for last commitScope D — All: User says "review all" or "audit everything".
Present the file list to user for confirmation before proceeding.
For each plugin in scope, collect:
.claude-plugin/plugin.jsonskills/*/SKILL.mdagents/*.mdmarketplace.jsonskills/{name}/eval.md for each skillCheck whether plugin-dev is installed:
~/.claude/plugins/*/plugin-dev/.claude-plugin/plugin.json or ~/.claude/plugins/cache/*/plugin-dev/*/.claude-plugin/plugin.jsonStrategy A — plugin-dev available (3 parallel dispatches in a single turn):
plugin-dev:plugin-validator agent:
Validate this Claude Code plugin's structure.
Plugin manifest: {path}
Skills: {comma-separated paths}
Agents: {comma-separated paths}
plugin-dev:skill-reviewer agent:
Review these skill descriptions for trigger quality and routing clarity.
Skills: {comma-separated paths}
skill-master:plugin-reviewer agent with model: "opus":
Review these Claude Code plugin artifacts from the AI executor perspective.
Scope: {A/B/C/D}
Files to review:
- Skills: {comma-separated paths}
- Agents: {comma-separated paths}
- Plugin manifest: {path}
Also read these for cross-reference checking:
- Other skills in same plugin(s): {paths}
- Other agents in same plugin(s): {paths}
- Eval files: {comma-separated paths or "none"}
Supporting files to load: none
Plugin agents dir: {skill-master agents directory path}
(D1/D2 structural checks and baseline trigger/description checks are handled by plugin-dev agents.)
Focus on: workflow logic, execution feasibility, edge cases, dispatch loops, spec compliance, metadata & docs, eval.md consumption, deep trigger conflict detection, and Trigger Health Score.
Strategy B — plugin-dev not available (1 dispatch):
skill-master:plugin-reviewer agent with model: "opus":
Review these Claude Code plugin artifacts from the AI executor perspective.
Scope: {A/B/C/D}
Files to review:
- Skills: {comma-separated paths}
- Agents: {comma-separated paths}
- Plugin manifest: {path}
Also read these for cross-reference checking:
- Other skills in same plugin(s): {paths}
- Other agents in same plugin(s): {paths}
- Eval files: {comma-separated paths or "none"}
Supporting files to load: structural-validation.md, trigger-baseline.md
Plugin agents dir: {skill-master agents directory path}
Focus on: logic bugs, trigger mechanism issues, execution feasibility, and edge cases.
After main review agents complete, if scope includes skills:
Dispatch skill-master:trigger-arbiter agent:
Scan for cross-plugin trigger conflicts.
Target skill path(s): {comma-separated paths of reviewed skills}
Scope: all
Strategy A — merge results:
Both strategies — unified output:
Goal: improve an existing skill or agent and verify the improvement.
Determine the target artifact:
| Issue Type | Detection | Action |
|---|---|---|
| Trigger quality | "trigger too broad/narrow", description quality warnings | Description optimization via skill-creator |
| Logic bug | Bug-severity review findings in workflow steps | Edit SKILL.md, re-validate |
| Missing eval | No eval.md, or eval coverage gaps | Draft eval cases, run eval loop |
| Agent issue | Agent frontmatter errors, tool mismatch | Edit agent, re-validate |
If not already detected (e.g., when iterate is called standalone, not from create route):
~/.claude/plugins/**/skill-creator/**/skills/skill-creator/SKILL.md. Found → skill_creator_available = true. Also locate its scripts directory: Glob ~/.claude/plugins/**/skill-creator/**/skills/skill-creator/scripts/ → store as $SC_SCRIPTS.Trigger quality issues (description optimization):
This is the most common iterate case.
If skill_creator_available: use automated optimization. If not: apply manual description changes based on review findings, then skip to 2c.5.
If the skill has eval.md, convert trigger/negative trigger tests to skill-creator eval-set format:
[
{"prompt": "<trigger test>", "should_trigger": true},
{"prompt": "<negative test>", "should_trigger": false}
]
Write to a temporary evals.json beside the skill.
Run description optimization:
python -m scripts.run_loop \
--eval-set <evals.json path> \
--skill-path <SKILL.md path> \
--max-iterations 5
(Run from $SC_SCRIPTS parent directory)
Present results: best_description, best_train_score, best_test_score
AskUserQuestion: "Apply this improved description?" → if yes, update the SKILL.md description frontmatter
Logic bug / Agent issue:
python -m scripts.quick_validate <skill directory>
(From skill-creator scripts directory)Missing eval coverage:
Skill("skill-creator:skill-creator") for the full eval loopAfter fix is applied:
If eval baseline exists from a previous iteration:
--previous-workspace to compareRe-run review route (Step 2b) with Scope C (recent changes only)
Present before/after comparison summary
Goal: prepare output for distribution or injection.
AskUserQuestion if not clear from context:
Run these checks in sequence:
.claude-plugin/plugin.json exists with required fields:
name (string, non-empty)version (semver string)description (string, non-empty)author.name (string, non-empty)README.md exists and documents all components:
agents/ is listedskills/ is listedhooks/hooks.json (if exists) are listedEvery skill directory has eval.md
All agent references in skills resolve to actual files:
Dispatch plugin-dev:plugin-validator for structural validation
For each skill, run quick_validate:
python -m scripts.quick_validate <skill directory>
(From skill-creator scripts directory)
Present readiness checklist:
## Marketplace Readiness
| Check | Status | Details |
|-------|--------|---------|
| plugin.json | pass/fail | {missing fields if fail} |
| README.md | pass/fail | {missing entries if fail} |
| eval.md coverage | pass/fail | {skills without eval if fail} |
| Reference integrity | pass/fail | {broken refs if fail} |
| Structural validation | pass/fail | {issues if fail} |
| Skill validation | pass/fail | {issues per skill if fail} |
{target}/.claude-plugin/plugin.jsonSkill("plugin-dev:create-plugin") in targetskills/{name}/ directory.md file to agents/hooks/hooks.json.skill archive:
python -m scripts.package_skill <skill directory> <output directory>
(From skill-creator scripts directory)This skill requires these optional plugins for full functionality:
plugin-dev — for component creation and structural validation (Strategy A review)skill-creator — for eval loop, description optimization, and packaging scriptsWithout these plugins: