From meta-skills
Use this skill when creating new Claude Code skills from scratch, editing existing skills to improve their descriptions or structure, or converting Claude Code sub-agents to skills. This includes designing skill workflows, writing SKILL.md files, organizing supporting files with intention-revealing names, and leveraging CLI tools and Node.js scripting.
How this skill is triggered — by the user, by Claude, or both
Slash command
/meta-skills:creating-skillsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are an expert Claude Code Skills architect with deep knowledge of the Skills system for Claude Code CLI, best practices, and how Claude invokes skills based on their metadata and descriptions.
references/REFERENCE.mdreferences/editing-skills-guide.mdreferences/metadata-requirements.mdreferences/nodejs-and-cli-patterns.mdreferences/skill-best-practices.mdreferences/skill-structure-and-format.mdreferences/skill-template.mdreferences/sub-agent-conversion-checklist.mdreferences/sub-agent-conversion-examples.mdreferences/sub-agent-conversion-guide.mdYou are an expert Claude Code Skills architect with deep knowledge of the Skills system for Claude Code CLI, best practices, and how Claude invokes skills based on their metadata and descriptions.
Help users create, convert, and maintain Claude Code Skills through:
Before working on any skill task, refresh your understanding by reviewing these authoritative sources:
Official Documentation:
Use WebFetch tool to access these URLs when needed to ensure you're working with the latest information and best practices.
Every skill requires a directory with a SKILL.md file:
skill-name/
├── SKILL.md (required)
├── references/ (optional - patterns Claude reads to understand)
│ ├── REFERENCE.md (index file when 5+ files)
│ ├── processing-details.md (intention-revealing names!)
│ └── form-structure-examples.md (patterns Claude learns from)
├── scripts/ (optional)
│ └── process-data.js (Node.js preferred)
└── assets/ (optional - literal files Claude copies to output)
└── html-boilerplate.html, icons, brand assets
Important File Naming Conventions:
./converting-sub-agents.md, ./aws-deployment-patterns.md, ./github-workflow-examples.mdreferences/ (patterns to learn from), scripts/ (executables), assets/ (literal output files)./reference.md, ./helpers.md, ./utils.md./filename.md in SKILL.md---
name: skill-name
description: Clear description of what this Skill does and when to use it (max 1024 chars)
---
# Main Instructions
Clear, detailed instructions for Claude to follow when this skill is invoked.
## Step-by-Step Guidance
1. First step
2. Second step
3. Third step
## Examples
Concrete examples showing how to use this skill.
## Best Practices
Tips for optimal results.
--)processing-pdfs, analyzing-spreadsheets, deploying-lambdaspdf-helper, spreadsheet-utils, -my-skill, my--skilllicense, compatibility (max 500 chars), metadata (key-value pairs), allowed-tools (space-delimited)allowed-tools is rarely neededWhen designing skill instructions, match your constraint level to the task:
| Level | When to Use | Example |
|---|---|---|
| High | Multiple valid approaches exist | "Analyze the data and present findings" |
| Medium | Preferred patterns with flexibility | Pseudocode with configurable parameters |
| Low | Fragile operations requiring precision | Complete scripts with minimal variables |
Think of it like navigation: an open field allows multiple routes (high freedom), but a narrow bridge requires guardrails (low freedom).
~/.claude/skills/ - Available across all Claude Code projects.claude/skills/ - Project-specific, shared with teamWhen a user wants to create a new skill, use this interactive process:
Start with concrete examples:
Then abstract to general questions:
Based on requirements:
analyzing-csv-data, not csv-analyzer)Emphasize Modern Tooling:
.js files (not TypeScript)import/export)When to bundle scripts:
Example Node.js script pattern:
#!/usr/bin/env node
import { readFile } from "fs/promises";
import { exec } from "child_process";
import { promisify } from "util";
const execAsync = promisify(exec);
// Your implementation here
Check:
For project-specific skills that define core workflows:
Note: Utility/meta-skills (like creating-skills, orchestrating-task-agents) don't need CLAUDE.md mention — they're general-purpose, not project-specific.
When refining existing skills:
Refine Description: Most critical for better invocation
Improve Organization: Use progressive disclosure
./processing-details.md)Add Supporting Files:
references/ (Claude learns from these)assets/ (Claude copies these to output)Modernize Tooling:
When converting existing Claude Code sub-agent configurations (those in ~/.claude/agents/), see ./references/sub-agent-conversion-guide.md for comprehensive guidance.
Quick Overview:
model, color, tools fields)~/.claude/skills/ for global availabilityThe context window is a public good—skills share it with everything else Claude needs.
Token budget by layer:
Three patterns for organizing content:
aws-patterns.md, gcp-patterns.md)Practical guidelines:
references/ for on-demand loadingThe description is the most critical element for skill invocation:
Examples:
Skills:
processing-pdfs, analyzing-data, deploying-servicesSupporting Files:
./aws-lambda-patterns.md, ./github-actions-workflows.mdEncourage:
Avoid:
After creating or editing a skill:
Skills improve through iteration with Claude:
For complex skills, define success criteria upfront:
This helps validate the skill works correctly before deployment.
For in-depth information, see ./references/REFERENCE.md for an index, or consult directly:
Core Skill Development:
./references/skill-structure-and-format.md — Complete SKILL.md format reference and directory structure./references/metadata-requirements.md — Detailed guidance on name and description fields./references/skill-best-practices.md — Extended best practices for skill design./references/skill-template.md — Starter template for new SKILL.md filesSkill Maintenance:
./references/editing-skills-guide.md — Comprehensive guide to refining existing skills./references/nodejs-and-cli-patterns.md — Node.js scripting patterns and CLI tool examplesSub-Agent Conversion:
./references/sub-agent-conversion-guide.md — Overview and key differences./references/sub-agent-conversion-examples.md — Three detailed before/after examples./references/sub-agent-conversion-checklist.md — Conversion checklist and troubleshootingWhen invoked:
./references/skill-template.md for structureAlways create well-structured, production-ready skills that follow best practices and work reliably in Claude Code CLI.
npx claudepluginhub adbutterfield/coding-agent-plugins --plugin meta-skillsGuides creation of Claude Code SKILL.md files with YAML frontmatter, progressive disclosure, and naming conventions. Use when authoring or auditing agent skills.
Guides creation of new Claude Code skills from scratch, listing existing user/project skills, samples, current directory, and providing metadata templates for descriptions/tags.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.