agentleFS
WomenDefiningAIWomenDefiningAI/claude-code-skills/skills/skill-builder/SKILL.md

skill-builder

Skill10 starsChanged 13 months agoMITView on GitHub

Guide users through creating new Claude Code Skills with proper structure, validation, and best practices

74 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use contract-test, literature-research and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • squall-chuaSkill

    contract-test

    Test a running API against its own contract — OpenAPI, GraphQL, protobuf, or AsyncAPI — from the outside, and report every drift between what the contract promises and what the API does.

    Also in 3 projects that use this

  • nickjwellsSkill

    literature-research

    Search academic literature and perform deep research reviews. Use when user asks to search PubMed, find academic papers, or do literature reviews.

    Also in 3 projects that use this

  • nopandererSkill

    commit-and-push

    Automatically analyze git changes, generate Conventional Commits compliant commit messages, commit changes, and push to remote in a single automated workflow. Use when the user invokes /commit-and-push or explicitly requests to automatically commit and push changes following Conventional Commits format (feat:, fix:, docs:, etc.). This skill provides a fully automated git workflow without manual intervention.

    Also in 3 projects that use this

  • MicrosoftSkill

    skill-reviewer

    Review skill PRs with structured severity-rated feedback covering token budgets, routing conflicts, and repo conventions. WHEN: \"review skill\", \"review skill PR\", \"review skill changes\", \"check skill quality\", \"skill PR feedback\".

    Also in 3 projects that use this

  • SkillPilotCHSkill

    level-up

    Eine Automatisierung pro Woche finden, scopen, shippen. Output landet als proposed-Eintrag in cadence.md mit konkreten Implementations-Schritten.

    Also in 3 projects that use this

  • MicrosoftSkill

    excalidraw-diagram

    Create Excalidraw diagram JSON files that make visual arguments. Use when the user wants to visualize workflows, architectures, or concepts.

    Also in 4 projects that use this

The file

Show its rules and text

We split this skill into the rules it gives an agent

21 rules. 0 are common, 20 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 65 edited versions we read keep these.

  • 20

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Ask how to build or structure a skill

    line 14
  2. Distinctive:

    Ask the user these questions (use AskUserQuestion tool when appropriate):

    line 22
  3. Distinctive:

    Write like an "onboarding guide for a new team member"

    line 85
  4. Distinctive:

    Use clear, step-by-step procedures

    line 86
  5. Distinctive:

    Keep instructions under 5k tokens for efficient loading

    line 89
  6. Distinctive:

    Use progressive disclosure: reference detailed info in REFERENCE.md

    line 90
  7. Distinctive:

    Verify the skill is discoverable (Claude should see it in metadata)

    line 150
  8. Distinctive:

    Test with a sample task that should trigger it

    line 151
  9. Distinctive:

    Ensure resources load correctly when referenced

    line 152
  10. Distinctive:

    Check that instructions are clear and complete

    line 153
  11. Distinctive:

    Loaded As Needed (Resources): No token cost

    line 165
  12. Distinctive:

    When helping users build a skill:

    line 198
  13. Distinctive:

    Gather Information: Use AskUserQuestion to understand requirements

    line 200
  14. Very specific:

    Write SKILL.md: Create with proper frontmatter and instructions

    line 203
  15. Distinctive:

    Add Supporting Files: Create REFERENCE.md, FORMS.md, scripts as needed

    line 204
  16. Distinctive:

    Validate: Check all requirements are met

    line 205
  17. Distinctive:

    Step-by-Step: Write procedures as numbered steps

    line 225
  18. Distinctive:

    Minimize Context: Use progressive disclosure extensively

    line 227
  19. Distinctive:

    Self-Contained: Don't assume external resources are available

    line 228
  20. Distinctive:

    Tested Procedures: Ensure instructions actually work

    line 229
  21. Distinctive:

    Helpful Metadata: Write descriptions that help with discovery

    line 230

“Common” is measured: kept by at least 6 in 10 of the 65 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Skill Builder

This skill helps you create well-structured Claude Code Skills. Use it when the user wants to build a new skill for Claude Code.

When to Use This Skill

Invoke this skill when users:

  • Want to create a new Claude Code Skill
  • Ask how to build or structure a skill
  • Need help with skill frontmatter or organization
  • Want to validate an existing skill structure

Skill Creation Workflow

Step 1: Understand the Requirements

Ask the user these questions (use AskUserQuestion tool when appropriate):

  1. What will the skill do? - Get a clear description of the skill's purpose
  2. When should it trigger? - Understand what user requests should activate it
  3. What's the scope? - Is it project-specific or personal/general-purpose?
  4. What resources are needed? - Templates, scripts, reference data, etc.

Step 2: Determine Skill Location

Based on scope, choose the directory:

  • Project-specific: .claude/skills/[skill-name]/ (within project root)
  • Personal/general: ~/.claude/skills/[skill-name]/ (available everywhere)

Step 3: Create Directory Structure

Use this pattern:

skill-name/
├── SKILL.md           (required: main instructions)
├── REFERENCE.md       (optional: detailed reference info)
├── FORMS.md           (optional: templates and forms)
├── scripts/           (optional: executable code)
│   ├── script1.py
│   └── script2.sh
└── resources/         (optional: templates, data files)
    └── template.txt

Step 4: Write SKILL.md

The SKILL.md must follow this structure:

---
name: skill-name
description: Clear description of what this skill does and when to use it
---

# Skill Name

Main instructions for Claude go here.

## When to Use

Describe scenarios where this skill should be invoked.

## How It Works

Step-by-step instructions for Claude to follow.

## Examples

Provide examples of usage.

Frontmatter Requirements:

  • name: Max 64 chars, lowercase letters/numbers/hyphens only (e.g., "excel-automation")
  • description: Non-empty, max 1024 chars, should clearly indicate when to use the skill
    • IMPORTANT: Include BOTH natural language AND technical keywords
    • Natural language: How non-technical users would describe it ("fix broken code", "save data", "put online")
    • Technical terms: Jargon that developers use ("debug", "database schema", "deploy")
    • Example: "Auto-invoked when user wants to fix broken code, not working, or crashed. Also triggers on debug, stack trace, error analysis."

Best Practices for Instructions:

  • Write like an "onboarding guide for a new team member"
  • Use clear, step-by-step procedures
  • Include contextual examples
  • Reference supporting files instead of embedding everything
  • Keep instructions under 5k tokens for efficient loading
  • Use progressive disclosure: reference detailed info in REFERENCE.md

Step 5: Add Supporting Files (Optional)

REFERENCE.md: Detailed technical information that Claude can read when needed

  • API documentation
  • Detailed specifications
  • Comprehensive examples
  • Technical constraints

FORMS.md: Templates and structured formats

  • Form templates
  • Output format examples
  • Structured data patterns

scripts/: Executable code for complex operations

  • Python scripts for data processing
  • Shell scripts for automation
  • Utilities that Claude can invoke via bash

resources/: Static files and templates

  • Document templates
  • Sample data
  • Reference materials

Step 6: Validate the Skill

Check these requirements:

  • SKILL.md exists with valid YAML frontmatter
  • name is lowercase, alphanumeric with hyphens, max 64 chars
  • description is clear, non-empty, max 1024 chars
  • Description includes natural language keywords (not just technical jargon)
  • Instructions are clear and actionable
  • File references are correct
  • No internet/API dependencies (Claude Code constraint)
  • Only uses pre-installed packages

Run automated validation:

python .validation/validate-skills.py

Validation Scoring (29 points total):

  • SKILL.md exists: 1 point
  • Valid frontmatter: 3 points
  • Name validation: 2 points
  • Description validation: 3 points
  • Content structure: 5 points
  • Token count <5000: 2 points
  • Supporting files: 3 points
  • Scripts directory: 2 points
  • Industry standards: 3 points
  • Examples: 2 points
  • Natural language keywords: 3 points (NEW)

Passing threshold: 80% (24/29 points)

Step 7: Test the Skill

After creation:

  1. Verify the skill is discoverable (Claude should see it in metadata)
  2. Test with a sample task that should trigger it
  3. Ensure resources load correctly when referenced
  4. Check that instructions are clear and complete

Progressive Disclosure Strategy

Design skills to minimize token usage:

  1. Always Loaded (Metadata): ~100 tokens
    • Just the YAML frontmatter
  2. Loaded When Triggered (Instructions): <5k tokens
    • Core procedures from SKILL.md body
  3. Loaded As Needed (Resources): No token cost
    • Files Claude reads via bash commands
    • Scripts Claude executes when required
    • Templates Claude accesses on demand

Common Skill Patterns

Document Generation Skill

doc-generator/
├── SKILL.md          (generation instructions)
├── templates/        (document templates)
└── scripts/          (formatting scripts)

Code Analysis Skill

code-analyzer/
├── SKILL.md          (analysis procedures)
├── REFERENCE.md      (pattern definitions)
└── scripts/          (analysis tools)

Automation Skill

automation-helper/
├── SKILL.md          (automation workflows)
├── FORMS.md          (configuration templates)
└── scripts/          (automation scripts)

Implementation Steps

When helping users build a skill:

  1. Gather Information: Use AskUserQuestion to understand requirements
  2. Plan Structure: Determine files needed based on complexity
  3. Create Directory: Make the skill directory in appropriate location
  4. Write SKILL.md: Create with proper frontmatter and instructions
  5. Add Supporting Files: Create REFERENCE.md, FORMS.md, scripts as needed
  6. Validate: Check all requirements are met
  7. Document: Explain to user how to test and use the skill
  8. Show Location: Provide the full path to the created skill

Validation Checklist

Before completing, verify:

  • Directory created in correct location
  • SKILL.md has valid frontmatter
  • Name follows naming rules
  • Description is clear and helpful
  • Instructions are actionable
  • Examples are provided
  • Supporting files are organized logically
  • No external dependencies
  • File paths in instructions are correct

Tips for Great Skills

  1. Clear Descriptions: Make it obvious when Claude should use the skill
  2. Step-by-Step: Write procedures as numbered steps
  3. Examples First: Show examples before explaining
  4. Minimize Context: Use progressive disclosure extensively
  5. Self-Contained: Don't assume external resources are available
  6. Tested Procedures: Ensure instructions actually work
  7. Helpful Metadata: Write descriptions that help with discovery

Common Mistakes to Avoid

  • Using uppercase or special characters in skill name
  • Making descriptions too vague or too long
  • Embedding all content in SKILL.md instead of using supporting files
  • Referencing non-existent files
  • Assuming internet access or external APIs
  • Creating overly complex skills that should be split
  • Forgetting to include "when to use" guidance

Reference Files

See the templates directory for:

  • Basic skill template
  • Advanced skill template with supporting files
  • Example skills for common use cases

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.