skill-builder

Original🇺🇸 English
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/sf-skills skill-builder

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

  1. Interactive Skill Creation: Step-by-step wizard to create new skills
  2. Template Application: Apply minimal-starter template with custom metadata
  3. Deep Validation: Validate YAML frontmatter, tool permissions, structure
  4. Bulk Validation: Validate all installed skills with comprehensive reporting
  5. Interactive Editor (v2.0): Terminal-based editor for refining skills
  6. Dependency Management (v2.0): Check, validate, visualize skill dependencies
  7. Testing Support: Verify skills work after creation
  8. Best Practices: Educate on skill design patterns

Skill Creation Workflow

Phase 1: Information Gathering

Use AskUserQuestion to collect (in sequence):
#QuestionFormatValidation
1Skill nameTextkebab-case required
2DescriptionTextOne clear sentence
3AuthorTextOptional
4Tools neededMulti-selectFrom valid tools list
5Optional componentsMulti-selectREADME, examples/, templates/, scripts/, docs/
6TagsTextComma-separated
7LocationChoiceGlobal (~/.claude/skills/) or Project (.claude/skills/)
Valid tools: Bash, Read, Write, Edit, Glob, Grep, WebFetch, AskUserQuestion, TodoWrite, SlashCommand, Skill, BashOutput, KillShell

Phase 2: Scaffolding

  1. Determine path: Global →
    ~/.claude/skills/{name}/
    | Project →
    .claude/skills/{name}/
  2. Check existing: If exists, ask to overwrite
  3. Create structure:
    bash
    mkdir -p {base_path}
    # Create optional dirs based on selection: examples/, templates/, scripts/, docs/
  4. 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
  5. Replace placeholders: {{SKILL_NAME}}, {{SKILL_DESCRIPTION}}, {{VERSION}}, {{AUTHOR}}, {{TAGS}}, {{ALLOWED_TOOLS}}
  6. 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.md
Validation 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
docs/validation-errors.md
(in skill-builder folder) for detailed examples.

Phase 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

ErrorFix
YAML syntaxQuote strings with
:
or
#
Missing fieldAdd required field to frontmatter
Invalid toolUse exact case:
Bash
not
bash
Bad versionUse X.Y.Z format
Bad nameUse kebab-case
See
docs/validation-errors.md
(in skill-builder folder) for details.

Bulk 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
docs/workflow-examples.md
(in skill-builder folder) for output examples.

Interactive 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:
[e]
Edit field |
[t]
Manage tools |
[v]
Validate |
[s]
Save |
[r]
Reload |
[q]
Quit
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: true
Version 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 all
See
docs/workflow-examples.md
(in skill-builder folder) for output examples.

Patterns & 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

IssueCheck
Creation failsPermissions on ~/.claude/skills/, Python 3, disk space
Validation failsYAML syntax, tool case-sensitivity (
Bash
not
bash
)
Skill doesn't loadRestart 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