mcpbeat Sign in

Creating Skill for Claude

Creates Skills for Claude. Use when users request creating/updating skills, need skill structure guidance, or mention extending Claude's capabilities through custom skills.

12k tokens
context cost
the whole folder, loaded on every use
6
files
instructions only
0
copies elsewhere
how many repositories repackaged it
137
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/oaustegard/claude-skills --skill creating-skill

The instruction itself

23 sections, as written by the author

Creating Skills

Create portable, reusable expertise that extends Claude's capabilities across contexts.

When to Create Skills

Skills are appropriate when:

  • Capability needed across multiple projects/conversations
  • Procedural knowledge that applies broadly (not project-specific)
  • Instructions should activate automatically on trigger patterns
  • Want portable expertise that loads progressively on-demand

Not appropriate when:

  • Context is project-specific (use Project instructions instead)
  • One-off task (use standalone prompt instead)
  • See crafting-instructions skill for detailed decision framework

Skill Structure

Every skill is a directory containing:

  • SKILL.md (required): Frontmatter + imperative instructions
  • scripts/ (optional): Executable code for deterministic operations
  • references/ (optional): Detailed docs loaded on-demand
  • assets/ (optional): Templates/files used in output

Create this structure directly:

mkdir -p skill-name/{scripts,references,assets}

Delete unused directories before packaging.

Naming Convention

Use gerund form (verb + -ing):

  • processing-pdfs, analyzing-data, creating-reports
  • pdf-helper, data-tool, report-maker

Requirements:

  • Lowercase letters, numbers, hyphens only
  • Max 64 characters
  • No reserved words (anthropic, claude)

Frontmatter Requirements

---
name: skill-name
description: What it does. Use when [trigger patterns].
---

name: Follow naming convention above

description: (max 1024 chars)

  • Third person voice: "Processes files" not "I process files"
  • WHAT it does + WHEN to use it (trigger patterns)
  • Specify: file types, keywords, task types that should activate this skill
  • No XML tags

Good examples:

  • "Creates PowerPoint presentations. Use when users mention slides, .pptx files, or presentations."
  • "Analyzes SQL queries for performance. Use when debugging slow queries, optimization requests, or EXPLAIN output."

Ineffective examples:

  • "I can help create presentations" (first person, no triggers)
  • "Presentation creator" (no triggers, vague what)
  • "Advanced presentation creation with animations" (over-detailed implementation)

The description is critical—it determines when Claude activates this skill.

Writing Effective SKILL.md

Apply crafting-instructions principles:

Imperative Construction

Frame as direct commands:

  • ✅ "Extract text with pdfplumber" / "Validate output with script"
  • ❌ "Consider extracting..." / "You might want to validate..."

Strategic Over Procedural

Specify goals and decision frameworks, not step-by-step procedures:

  • ✅ "Create skill directory structure. Delete unused resource directories."
  • ❌ "Step 1: mkdir skill-name. Step 2: mkdir scripts. Step 3: mkdir references..."

Provide steps only when order is non-obvious or fragile.

Trust Base Behavior

Claude already knows:

  • Basic programming patterns, common tools, file operations
  • How to structure clear output, format markdown
  • General best practices for code quality

Only specify skill-specific deviations or domain expertise Claude lacks.

Positive Directive Framing

State what TO do, not what to avoid:

  • ✅ "Write in imperative voice with direct instructions"
  • ❌ "Don't use suggestive language or tentative phrasing"

Frame requirements positively because it's clearer and more actionable.

Provide Context

Explain WHY for non-obvious requirements:

  • ✅ "Keep SKILL.md under 500 lines to enable progressive loading—move detailed content to references/"
  • ❌ "Keep SKILL.md under 500 lines"

Context helps Claude make good autonomous decisions in edge cases.

Example Quality

Examples teach ALL patterns, including unintended ones. Ensure every aspect demonstrates desired behavior. Better to omit examples than include mixed signals.

For comprehensive prompting guidance, invoke crafting-instructions skill.

Bundled Resources Patterns

scripts/

Add when Claude would repeatedly write similar code:

  • Validation logic (schema checking, format verification)
  • Complex transformations (data normalization, format conversion)
  • Deterministic operations requiring exact consistency

Scripts should have explicit error handling and clear variable names.

references/

Add when:

  • SKILL.md approaching 500 lines
  • Detailed domain knowledge (API docs, schemas, specifications)
  • Content applies to specific use cases only, not core workflow

Keep references one level deep (avoid file1 → file2 → file3 chains).

assets/

Add for:

  • Templates users will receive in output
  • Files copied/referenced but not loaded into context
  • Images, fonts, static resources

Assets save tokens—they're used but not read into context.

Decision framework: Will Claude repeatedly generate similar code? → scripts/. Is there extensive domain knowledge? → references/. Are there output templates? → assets/. Otherwise SKILL.md only.

Progressive Disclosure

Skills load in three tiers:

  • Metadata (name + description): Always loaded for all skills
  • SKILL.md body: Loaded when skill activates
  • Bundled resources: Loaded as Claude reads them

Keep SKILL.md focused on core workflows (~500 lines max). Move detailed content to references/ for on-demand loading. This enables context-efficient skill ecosystems.

Token Efficiency

Challenge each line: Does Claude really need this explanation? Can I assume Claude knows this? Does this justify its token cost?

Prefer concise patterns:

  • Code examples over verbose explanations
  • Decision frameworks over exhaustive lists
  • Strategic goals over procedural steps

Packaging & Delivery

Create ZIP archive:

cd /home/claude
zip -r /mnt/user-data/outputs/skill-name.zip skill-name/

Verify contents:

unzip -l /mnt/user-data/outputs/skill-name.zip

Show user the packaged structure:

tree skill-name/
# or
ls -lhR skill-name/

Provide download link:

[Download skill-name.zip](computer:///mnt/user-data/outputs/skill-name.zip)

Version Control (Optional)

For skills under active development, track changes:

cd /home/claude/skill-name
git init && git add . && git commit -m "Initial: skill structure"

After modifications:

git add . && git commit -m "Update: description of change"

See versioning-skills for advanced patterns (rollback, branching, comparison).

Best Practices

Structure:

  • Lead with clear overview of what skill enables
  • Group related instructions together
  • Use headings that describe goals, not procedures
  • Reference other skills/resources when appropriate

Instructions:

  • Write TO Claude (imperative commands) not ABOUT Claude (documentation)
  • Assume Claude's intelligence—avoid over-explaining basics
  • Show code examples for complex patterns
  • Specify success criteria, let Claude determine approach

Content:

  • Keep frequently-used guidance in SKILL.md
  • Move detailed/specialized content to references/
  • Include WHY context for non-obvious requirements
  • Use consistent terminology throughout

Resources:

  • Only add bundled resources that solve real problems
  • Scripts should have error handling and clear outputs
  • References should be focused and topic-specific
  • Delete unused directories before packaging

Testing:

  • Test with 3+ real scenarios (simple, complex, edge case)
  • Verify skill activates on expected trigger patterns
  • Confirm bundled resources are accessible and functional
  • Iterate based on actual usage, not assumptions

Quality Checklist

Before providing skill to user:

Metadata:

  • [ ] Name: lowercase, hyphens, gerund form, max 64 chars
  • [ ] Description: third person, includes WHAT + WHEN triggers, max 1024 chars, no XML

Structure:

  • [ ] SKILL.md under 500 lines (move extras to references/)
  • [ ] Unused directories deleted
  • [ ] References one level deep (no long chains)

Content:

  • [ ] Imperative voice throughout
  • [ ] Positive directives (not negative restrictions)
  • [ ] Strategic goals over procedural steps where possible
  • [ ] Context provided for non-obvious requirements
  • [ ] Examples perfectly demonstrate desired patterns
  • [ ] Consistent terminology

Resources:

  • [ ] Scripts solve actual problems (not punting to Claude)
  • [ ] Scripts have error handling and clear outputs
  • [ ] References are focused and topic-specific
  • [ ] Assets are templates/files for output

Testing:

  • [ ] Tested on 3+ real scenarios
  • [ ] Activates on expected triggers
  • [ ] Bundled resources accessible
  • [ ] Package structure verified

Advanced Topics

For complex skill patterns, see:

  • crafting-instructions skill - Comprehensive prompting principles
  • versioning-skills skill - Git-based development workflow
  • references/advanced-patterns.md - Validation workflows, multi-stage patterns
  • references/optimization-techniques.md - Token budget management
  • references/bundled-resources.md - Detailed resource patterns and examples
  • references/environment-reference.md - Environment-specific patterns

Other skills for the same job

different authors, same section of the catalogue
Skill Creator
by anthropics
vendor ×10

Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.

56k tokens scripts
Skill Creator
by vercel-labs
vendor ×10

Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.

12k tokens scripts
Skill Creator
by JayZeeDesign
×9

Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.

10k tokens scripts
Template Skill
by JayZeeDesign
×7

Replace with description of the skill and when Claude should use it.

35 tokens
Dispatching Parallel Agents
by ZhanlinCui
×5

Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies

2k tokens
Skill Development
by anthropics
vendor ×4

This skill should be used when the user wants to "create a skill", "add a skill to plugin", "write a new skill", "improve skill description", "organize skill content", or needs guidance on skill structure, progressive disclosure, or skill development best practices for Claude Code plugins.

9k tokens
Find Skills
by sanity-io
vendor ×4

Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.

1k tokens
Writing Skills
by ZhanlinCui
×4

Use when creating new skills, editing existing skills, or verifying skills work before deployment

26k tokens scripts

How to use it

Copy the folder

Take oaustegard/creating-skill from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.