4.3 KiB
Workflow: Audit Skill
Model tier: Haiku (research), Sonnet (analysis), Opus (synthesis), Haiku (cleanup)
When to use
- Evaluating skill from marketplace
- Checking skill-architect standards compliance
- Discovering novel patterns
Inputs required
- skill_path - Path to skill directory
Output
.claude/plugin-data/skill-architect/audits/<skill-name>-audit.md(gitignored)- Summary with verdict (Ready / Not Ready)
- Delete report after user acts on findings
Phase 1: Research
Subagent: haiku.
Read: ${CLAUDE_PLUGIN_ROOT}/references/layout/skill-structure.md
Checklist: ${CLAUDE_PLUGIN_ROOT}/templates/audit-checklist-template.md (Skill-Specific Attributes section)
Setup:
- Verify
skill_pathexists, containsSKILL.md - Create scratch workspace
- Extract skill name
Context loading:
- Check for
invariants.mdin skill root - Check for
.decisions/directory - Check for
examples/golden/orgolden-examples/ - Record: invariants list, prior decisions count/topics, golden examples list (or "none" for each)
Structure audit:
- SKILL.md at root
- Required dirs:
workflows/,references/ - Optional dirs follow conventions:
templates/,scripts/,state/ - Valid YAML frontmatter:
name,description - Name: kebab-case, <=64 chars
Read all skill files:
- SKILL.md
- All workflow files
- All reference files
- Templates, scripts if present
File size checks:
- SKILL.md <=50 lines
- reference.md files <=50 lines
- Knowledge docs <=150 lines (flag >200)
- Directory depth <=3 levels
Write: scratch/research-findings.md
Phase 2: Analysis
Subagent: sonnet.
Read: scratch/research-findings.md, ${CLAUDE_PLUGIN_ROOT}/references/layout/skill-structure.md, references/layout/descriptions.md, references/progressive-disclosure/reference-md-pattern.md, references/progressive-disclosure/splitting-knowledge.md, references/subagent-pattern.md, workflows/create-skill.md
Content compliance evaluation:
- SKILL.md routing-only vs inlined content
- reference.md files route properly
- Progressive disclosure structure appropriate
Quality assessment:
- Description follows "When/Why, Not How"
- Trigger unambiguous (no "if needed")
- Workflows have clear steps, subagent hints
Skippability assessment (SINGLE primary workflow, referenced not inlined):
- SKILL.md protective measures? (blocking instruction, summary of key steps)
- Workflow has non-obvious steps? (domain-specific logic vs general practice)
Flag skip risk if:
- Single workflow reference-only AND no blocking/summary AND non-obvious steps
Don't flag:
- Multiple workflows, matches general practice, inlined, or has blocking+summary
Write: scratch/analysis-findings.md
Phase 3: Synthesis
Subagent: opus.
Read: scratch/analysis-findings.md, ${CLAUDE_PLUGIN_ROOT}/references/tool-patterns/severity-guide.md, references/tool-patterns/catalog.md
Pattern detection:
- Note genuinely different approaches (not style)
- Evaluate trade-offs
- Flag substantive patterns to the user as candidates for the tool patterns
catalog (
references/tool-patterns/catalog.md) - Pattern capability assessment: Verification? Brainstorming? Audit? Role-Workflow?
- See
references/tool-patterns/catalog.mdfor criteria
Classify findings:
- Classify by severity (significant/minor/polish)
- Verdict: Ready (0 significant) or Not Ready (1+ significant)
Impact analysis per recommendation:
- What could degrade?
- Invariant conflict?
- Golden example impact?
If contradicts invariant or affects golden example: note and require user approval.
Write: .claude/plugin-data/skill-architect/audits/<skill-name>-audit.md
Present report to user:
- Walk through significant findings first
- Offer to fix or let user handle
- Patterns worth adding: confirm before adding to
references/tool-patterns/catalog.md - After user confirms: invoke cleanup
Cleanup (haiku):
- Delete scratch workspace
- Delete audit report
- Record decisions if needed:
- Template:
references/tool-patterns/templates/decision-record-template.md - Write:
<skill_path>/.decisions/YYYY-MM-DD-<topic>.md - When: invariant changes, golden example updates, pattern adoptions, exceptions, trade-offs
- Prompt: "Were any significant decisions made? (invariants, golden examples, patterns, exceptions)"
- Template: