Skip to content
Maestro Skill Builder logo

Maestro Skill Builder

Creates and updates high-quality Claude Code skills through a guided, best-practice-driven workflow.

rp1-run/rp13installs38stars

SKILL.md

Full skill instructions

name description

maestro

Creates and updates Claude Code skills following best practices. Guides through requirements gathering, design, content generation, and validation. Handles both new skill creation and refactoring existing skills. Use when user mentions 'create skill', 'build skill', 'new skill', 'update skill', 'improve skill', 'refactor skill', or asks to build capabilities for Claude Code.

Maestro: Skill Builder for Claude Code

Maestro helps you create high-quality Claude Code skills through a guided, stage-based workflow. It handles both new skill creation and improvements to existing skills.

What Maestro Does

Creates new skills from scratch with proper structure and best practices

Updates existing skills by analyzing and refactoring them

Ensures YAML syntax validity and structural correctness

Enforces best practices (concise content, trigger-rich descriptions, progressive disclosure)

Generates supporting files only when justified (templates, examples, scripts)

Provides validation and quality assurance

Outputs skills to user-specified locations

When to Use Maestro

Use maestro when:

User wants to create a new skill for Claude Code

User wants to improve/​refactor/​update an existing skill

User mentions skill-related terms: "build a skill", "create skill", "skill for X"

User wants to package functionality into a reusable capability

Workflow Overview

Maestro uses a 5-stage workflow that adapts based on whether you're creating or updating:

Stage 0: Mode Detection

Determine if this is Creation Mode or Update Mode :

Creation : User wants a new skill from scratch

Update : User provides existing skill path or asks to improve/​refactor

Stage 1: Requirements & Discovery

Creation Mode : Ask interactive questions to gather requirements:

Core capability : What task/​capability should this skill handle?

Trigger phrases : What user phrases should activate it? (for description)

Tool requirements : What tools are needed?

Read-only operations?

File editing?

Web access?

Bash execution?

Complexity level :

Simple utility (single file, <300 lines)?

Moderate workflow (main file + 1-2 support files)?

Complex multi-step (multiple files + scripts)?

Supporting resources : Does it need:

Templates for output formats?

Examples showing desired behavior?

Reference documentation?

Utility scripts (only if deterministic operations needed)?

Output location : Where to create skill?

Default: ./​skill-name/ in current directory

Custom: User-specified path

Document all requirements clearly before proceeding.

Update Mode :

Ask for existing skill path (SKILL.md location)

Read all skill files (SKILL.md + supporting files)

Analyze current structure:

YAML frontmatter compliance

Content length and organization

File structure and references

Best practice adherence

Identify issues:

YAML syntax problems

Vague or missing trigger terms in description

Anti-patterns (Windows paths, magic numbers, etc.)

Length violations (>500 lines)

Missing opportunities (could use scripts, needs examples, etc.)

Unclear workflows

Present improvement proposal with specific changes

Get user confirmation on what to fix

Stage 2: Design & Architecture

Name Design :

Creation: Propose skill names following conventions

Update: Validate existing name or propose rename if needed

Naming rules:

Lowercase letters, numbers, hyphens only

Max 64 characters

Use gerund form (verb + -ing): processing-pdfs , analyzing-data

Avoid vague names: helper , utils , tool

Description Design : Craft trigger-rich descriptions (max 1024 chars) that specify:

What the skill does (capabilities)

When to use it (trigger scenarios)

Key terms users might mention

Example: "Extract text and tables from PDF files, fill forms, merge documents. Use when working with PDF files or when user mentions PDFs, documents, forms."

Information Architecture : Determine file structure based on complexity:

Simple (single SKILL.md, <300 lines):

No supporting files

All content in SKILL.md

No scripts

Moderate (SKILL.md + 1-2 support files):

SKILL.md as overview (~300 lines)

TEMPLATES.md for output formats

EXAMPLES.md for input/​output pairs

No scripts or very simple script

Complex (multiple files + scripts):

SKILL.md as navigation hub (~400 lines)

Multiple support files (TEMPLATES.md, EXAMPLES.md, REFERENCE.md, WORKFLOWS.md)

Utility scripts (only if needed for deterministic operations)

Keep scripts simple (<150 lines each)

Script Planning : Only include scripts when:

Deterministic operations needed (validation, parsing, formatting)

Script saves significant tokens vs. generating code inline

Operation is fragile and needs exact sequence

Script requirements:

Keep simple (<150 lines)

Document all parameters with comments

Explicit error handling (solve, don't punt)

No external dependencies if possible

Add basic tests if >50 lines or complex logic

Tool Restrictions : Determine if allowed-tools frontmatter is needed:

Use for read-only skills that shouldn't modify files

Use for security-sensitive workflows

Omit if skill needs full tool access

Stage 3: Content Generation

Generate all skill files following best practices.

SKILL.md Structure :


name : skill-name description : What it does and when to use it with trigger terms allowed-tools : [optional, only if restrictions needed]

Skill Title

Brief overview paragraph.

# What This Skill Does

  • Capability 1
  • Capability 2
  • Capability 3

# When to Use

Use this skill when...

# How It Works

[For simple skills : direct instructions] [For complex skills : stage-based workflow or decision tree]

# References

[If applicable, one-level-deep references to supporting files]

  • See TEMPLATES.md for output format examples
  • See EXAMPLES.md for input/​output pairs
  • Run validate.py for validation

SKILL.md Best Practices :

Keep under 500 lines (ideally 300-400)

Use progressive disclosure (overview → details in support files)

Write concisely (assume Claude is smart, only add what's not known)

Include clear workflows for multi-step tasks

Provide checklists for complex sequences

Use consistent terminology throughout

No time-sensitive information (dates, versions)

Unix-style paths only (forward slashes)

Reference support files one level deep only

Supporting Files (generate only when justified):

TEMPLATES.md : Output format examples

Include when skill produces structured output

Show exact format expected

Provide variations for different contexts

EXAMPLES.md : Input/​output pairs

Include when behavior needs demonstration

Show 3-5 realistic examples

Cover edge cases and variations

Annotate to explain choices

REFERENCE.md : Detailed documentation

Include when SKILL.md would exceed 500 lines

Technical details too lengthy for main file

API documentation, schema definitions

WORKFLOWS.md : Decision trees and conditional logic

Include when skill has multiple paths

Provide clear decision points

Show "if X then Y" logic

Utility Scripts : Deterministic operations

Only when truly needed

Keep simple and well-documented

Explicit error handling

Comment parameter choices

For Updates :

Regenerate problematic sections while preserving good content

Fix structural issues (YAML, paths, naming)

Enhance descriptions with trigger terms

Split oversized SKILL.md into main + support files

Add missing support files if beneficial

Simplify or document existing scripts

Stage 4: Validation & Quality Assurance

Run automated validation using validate_skill.py:

Structural Checks :

YAML syntax valid

Frontmatter complete (name, description present)

Name constraints (≤64 chars, lowercase, hyphens only)

Description constraints (≤1024 chars, non-empty)

File paths valid and use Unix-style separators

All referenced files exist

Best Practice Checks :

SKILL.md ≤500 lines

Description includes trigger terms

File references one level deep only

Consistent terminology used

No time-sensitive information

No Windows-style paths

Anti-Pattern Detection :

Windows paths (backslashes)

Vague descriptions ("helper", "utility")

Magic numbers in scripts (undocumented constants)

Missing error handling in scripts

Deeply nested file references

Excessive options without defaults

Auto-Fix Minor Issues :

Convert Windows paths to Unix paths

Fix whitespace in YAML

Normalize line endings

Report Major Issues :

Present validation report with quality score

List all issues found by category

Offer to regenerate/​fix problematic sections

Highlight critical vs. optional improvements

Stage 5: Testing & Iteration Support

Help user test and refine the skill.

Generate Test Prompts : Create 3-5 example user messages that should trigger the skill:

Vary phrasing to test trigger term matching

Cover different use cases

Include edge cases

Installation Instructions :

Personal skill

cp -r ./​skill-name ~ /​.claude/​skills/

Project skill

cp -r ./​skill-name ./​.claude/​skills/

Testing Guidance :

Install the skill in desired location

Start new Claude Code conversation

Test with generated prompts

Verify skill activates appropriately

Check output quality and behavior

Iteration Support :

Common refinements based on testing

How to adjust trigger terms if not activating

When to simplify vs. add detail

Cross-model considerations (Haiku vs. Sonnet vs. Opus)

Next Steps :

If skill works well: done!

If needs refinement: offer to update (return to Stage 1B)

If not activating: improve description trigger terms

If behavior issues: refine instructions or add examples

Reference Materials

For detailed information, reference these supporting files:

TEMPLATES.md : Ready-to-use skill templates for different complexity levels

CHECKLIST.md : Quality checklist and best practices summary

EXAMPLES.md : Annotated real skill examples with design explanations

PATTERNS.md : Common skill patterns and progressive disclosure strategies

For validation:

Run python ~/​.claude/​skills/​maestro/​validate_skill.py <path-to-SKILL.md>

Quick Start Examples

Example 1: Create Simple Skill

User: "Create a skill that helps me write commit messages" Maestro: [Asks questions about requirements] Maestro: [Designs simple single-file skill] Maestro: [Generates SKILL.md in ./​commit-helper/] Maestro: [Validates and provides installation instructions]

Example 2: Update Existing Skill

User: "Improve my PDF skill at ~/​.claude/​skills/​pdf-processor/​SKILL.md" Maestro: [Analyzes existing skill] Maestro: [Identifies issues: description too vague, SKILL.md too long] Maestro: [Proposes improvements: enhance description, split into SKILL.md + REFERENCE.md] Maestro: [Regenerates improved skill] Maestro: [Validates and provides testing guidance]

Important Principles

Simplicity First : Start with minimal structure. Only add complexity when justified.

Scripts as Last Resort : Only include scripts for deterministic operations that save tokens or ensure consistency. Keep them simple.

Progressive Disclosure : Don't load everything upfront. SKILL.md is navigation hub, details in support files.

Teach While Building : Explain why design choices matter, not just what to do.

User Ownership : Output to user-specified location. User handles installation, git, and distribution.

Quality Over Speed : Take time to get structure right. Validate before delivering.

Output Strategy

Default : Create ./​skill-name/ in current working directory

Custom : Ask user for preferred path if they specify

Post-Generation Message :

✓ Skill created at ./​skill-name/

To install: Personal: cp -r ./​skill-name ~/​.claude/​skills/ Project: cp -r ./​skill-name ./​.claude/​skills/

Test with prompts like:

  • [generated example 1]
  • [generated example 2]
  • [generated example 3]

Common Pitfalls to Avoid

Vague descriptions : Always include specific trigger terms

Oversized SKILL.md : Keep under 500 lines, use support files

Unnecessary complexity : Don't add scripts/​files unless justified

Windows paths : Always use forward slashes

Missing validation : Always run validate_skill.py before delivering

Assumed knowledge : Document script parameters and design choices

Time-sensitive content : No dates, version cutoffs, or temporal references

Success Criteria

A well-built skill should:

✓ Have valid YAML frontmatter

✓ Have trigger-rich description (≤1024 chars)

✓ Have concise SKILL.md (≤500 lines)

✓ Follow progressive disclosure pattern

✓ Include only justified supporting files

✓ Pass all validation checks

✓ Activate appropriately when tested

✓ Follow consistent terminology

✓ Include clear workflows for complex tasks

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View