skill-builder
Original:🇺🇸 English
Not Translated
11 scripts
Interactive wizard for creating Claude Code skills. Use when scaffolding new skills, validating skill structure, managing dependencies, or editing skill configuration files.
1installs
Added on
NPX Install
npx skill4agent add jaganpro/claude-code-sfskills skill-builderSKILL.md Content
Skill-Builder: Claude Code Skill Creation Wizard
Expert skill architect for Claude Code. Help users create well-structured, validated skills through an interactive wizard process.
Core Responsibilities
- Interactive Skill Creation: Step-by-step wizard to create new skills
- Template Application: Apply minimal-starter template with custom metadata
- Deep Validation: Validate YAML frontmatter, tool permissions, structure
- Bulk Validation: Validate all installed skills with comprehensive reporting
- Interactive Editor (v2.0): Terminal-based editor for refining skills
- Dependency Management (v2.0): Check, validate, visualize skill dependencies
- Testing Support: Verify skills work after creation
- Best Practices: Educate on skill design patterns
Skill Creation Workflow
Phase 1: Information Gathering
Use AskUserQuestion to collect (in sequence):
| # | Question | Format | Validation |
|---|---|---|---|
| 1 | Skill name | Text | kebab-case required |
| 2 | Description | Text | One clear sentence |
| 3 | Author | Text | Optional |
| 4 | Tools needed | Multi-select | From valid tools list |
| 5 | Optional components | Multi-select | README, examples/, templates/, scripts/, docs/ |
| 6 | Tags | Text | Comma-separated |
| 7 | Location | Choice | Global (~/.claude/skills/) or Project (.claude/skills/) |
Valid tools: Bash, Read, Write, Edit, Glob, Grep, WebFetch, AskUserQuestion, TodoWrite, SlashCommand, Skill, BashOutput, KillShell
Phase 2: Scaffolding
- Determine path: Global → | Project →
~/.claude/skills/{name}/.claude/skills/{name}/ - Check existing: If exists, ask to overwrite
- Create structure:
bash
mkdir -p {base_path} # Create optional dirs based on selection: examples/, templates/, scripts/, docs/ - Load template:
- Marketplace:
Read: ~/.claude/plugins/marketplaces/sf-skills/skill-builder/templates/minimal-starter.md - Project:
Read: [project-root]/skill-builder/templates/minimal-starter.md
- Marketplace:
- Replace placeholders: {{SKILL_NAME}}, {{SKILL_DESCRIPTION}}, {{VERSION}}, {{AUTHOR}}, {{TAGS}}, {{ALLOWED_TOOLS}}
- Write files: SKILL.md + optional README.md, examples/example-usage.md
Phase 3: Deep Validation
bash
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/validate_yaml.py {base_path}/SKILL.mdValidation checks:
- YAML syntax valid
- Required fields: name, description, version
- Name is kebab-case
- Version is semver (X.Y.Z)
- All tools in allowed-tools are valid (case-sensitive)
- SKILL.md has content after frontmatter
If validation fails: Report errors with line numbers and fixes. See (in skill-builder folder) for detailed examples.
docs/validation-errors.mdPhase 4: Testing (Optional)
Ask: "Test this skill now?" → Explain restart required, provide invocation example.
Phase 5: Completion Summary
✓ Skill '{name}' created successfully!
📍 Location: {full_path}
📄 Files: SKILL.md [+ README.md, examples/, ...]
Next Steps:
1. Customize SKILL.md with your logic
2. Restart Claude Code to load skill
3. Test: "Use the {name} skill to [task]"
Resources: `docs/skill-structure.md`, `docs/frontmatter-reference.md`, `docs/best-practices.md` (in skill-builder folder)Validation Errors
| Error | Fix |
|---|---|
| YAML syntax | Quote strings with |
| Missing field | Add required field to frontmatter |
| Invalid tool | Use exact case: |
| Bad version | Use X.Y.Z format |
| Bad name | Use kebab-case |
See (in skill-builder folder) for details.
docs/validation-errors.mdBulk Validation (v2.0)
When user asks to validate all skills:
bash
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/bulk_validate.py [--errors-only] [--format json]Interpret results: Total skills, valid count, warnings, errors.
Guide fixes: Use interactive editor or manual edits.
See (in skill-builder folder) for output examples.
docs/workflow-examples.mdInteractive Editor (v2.0)
For editing existing skills:
bash
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/interactive_editor.py /path/to/skill/Features: Real-time validation, field editing, tool management, preview changes, auto-backup.
Commands: Edit field | Manage tools | Validate | Save | Reload | Quit
[e][t][v][s][r][q]See docs/workflow-examples.md for UI example.
Dependency Management (v2.0)
Dependency syntax in SKILL.md:
yaml
dependencies:
- name: other-skill
version: ">=1.2.0" # or ^1.2.0, ~1.2.0, *, exact
required: trueVersion constraints: (compatible) | (approximate) | | exact | (any)
^~>=*Commands:
bash
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/dependency_manager.py check my-skill # Check deps
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/dependency_manager.py tree my-skill # Visualize tree
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/dependency_manager.py circular my-skill # Detect cycles
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/dependency_manager.py validate --all # Validate allSee (in skill-builder folder) for output examples.
docs/workflow-examples.mdPatterns & Best Practices
Skill types: Code analysis (Glob→Read→Grep→Report) | Documentation (Read→Write) | Interactive (AskUserQuestion→Validate→Execute) | Testing (Bash→Analyze→Report)
Best practices: Single responsibility | Clear kebab-case names | Minimal tools | Include examples | Proper semver
Troubleshooting
| Issue | Check |
|---|---|
| Creation fails | Permissions on ~/.claude/skills/, Python 3, disk space |
| Validation fails | YAML syntax, tool case-sensitivity ( |
| Skill doesn't load | Restart Claude Code, verify path, check frontmatter |
Notes
- Restart Claude Code after creating skills
- Test with real scenarios
- This meta-skill can create other meta-skills!
License
MIT License. See LICENSE file.
Copyright (c) 2024-2025 Jag Valaiyapathy