Skill Builder
Build new Claude Code skills that capture procedural knowledge.
Autonomy Model
Create then inform: When recognizing skill-worthy knowledge, create the skill proactively, then inform the user what was created and why. Don't ask permission first.
When to Invoke (Proactively)
-
Successful novel solution - Just solved something in a way worth repeating
-
Repeated pattern - Noticed doing the same thing multiple times
-
Institutional knowledge - Learning domain-specific rules that should persist
-
User workflow - User demonstrates a process they want automated
-
Research findings - Discovered best practices worth preserving
Quality Gates (Pre-Extraction)
Before creating a skill, verify ALL gates pass:
Gate Question Fail Criteria
REUSABLE Applies beyond this instance? One-off solution
NON-TRIVIAL Required discovery, not docs lookup? Just followed documentation
SPECIFIC Clear trigger conditions defined? Vague "sometimes useful"
VERIFIED Solution confirmed working? Theoretical, untested
If ANY gate fails → Stop. Not skill-worthy.
Skill Creation Workflow
- Research Best Practices
Before extracting, search for current patterns:
Use Gemini CLI for web-grounded research
gemini "[technology] [feature] best practices 2026" gemini "[technology] [problem type] official recommendations"
Why: Don't just codify what you did. Incorporate current best practices. Skip if: Pattern is project-specific internal convention.
0.5. Classify Skill Type
Before creating, determine if foundational or workflow:
Type Characteristics Frontmatter Action
Foundational Universal patterns, applies broadly, no explicit trigger needed user-invocable: false
Add compressed summary to CLAUDE.md
Workflow Explicit trigger, action-oriented, user/model invokes (default) Skill only
If Foundational:
-
Write skill as normal with user-invocable: false
-
Create 20-30 line compressed summary extracting core principles
-
Add summary to CLAUDE.md "Passive Knowledge Index" section
-
Add skill to Skills Index (pipe-delimited format)
-
Inform user: "Added to passive context — no invocation needed"
If Workflow:
-
Write skill as normal (default is invocable)
-
No CLAUDE.md changes needed
-
Inform user of trigger terms
Foundational indicators:
-
Would benefit all code, not specific triggers
-
Patterns that should "always be on"
-
Language-agnostic principles
-
Universal conventions (naming, testing, docs)
Workflow indicators:
-
Explicit action verb (audit, configure, check, fix)
-
Specific domain (stripe, posthog, lightning)
-
User would say "/skill-name" to invoke
- Identify the Knowledge
-
What problem does this solve?
-
What trigger terms would activate it?
-
Is it cross-project or project-specific?
- Draft Structure
Reference references/structure-guide.md for ideal anatomy.
- Write Description
Reference references/description-patterns.md for trigger-rich descriptions (~100 words, explicit trigger terms).
- Validate
Run scripts/validate_skill.py <skill-path> to check structure and frontmatter.
- Inform User
After creating, tell user:
-
What skill was created and why
-
What triggers will activate it
-
How to test it works
Progressive Disclosure
Keep SKILL.md lean (<100 lines). Put detailed specs in references/ :
-
Detailed examples → references/examples.md
-
Edge cases → references/edge-cases.md
-
Anti-patterns → references/anti-patterns.md
Code Opportunities
If skill involves deterministic operations (validation, parsing, extraction), create scripts/ with executable code rather than prose instructions. Scripts:
-
Run without loading into context
-
Must be executable (chmod +x )
-
Should handle errors gracefully
Skill Locations
-
Personal: ~/.claude/skills/
-
Available across all projects
-
Project: .claude/skills/
-
Shared with team via git
Template
Use templates/SKILL-TEMPLATE.md as starting point for new skills.