Skip to content

Skill Development

Introduction

Skill Development is the definitive framework for extending the capabilities of Claude Code, the agentic coding tool that lives in your terminal. This skill transforms Claude from a general-purpose assistant into a specialized domain expert by providing a structured methodology for building modular, self-contained packages.

By following this development standard, developers can equip Claude with procedural knowledge, company-specific logic, and automated workflows that exceed the limitations of standard model context.

Key Features:

  • Progressive Disclosure: Implements a three-level loading system (Metadata → SKILL.md → Bundled Resources) to maximize context window efficiency.
  • Bundled Resources: Guidance on managing scripts/ for deterministic tasks, references/ for deep documentation, and assets/ for output templates.
  • Specialized Workflows: Step-by-step procedures for creating multi-step domain-specific logic.
  • Standardized Anatomy: A strict directory structure that ensures auto-discovery within the Claude Code plugin ecosystem.

Installation

Skills are developed as part of the Claude Code Plugin ecosystem. To begin developing a skill, you must first establish the correct directory structure within your plugin repository.

  1. Create the Skill Directory: Navigate to your plugin’s root and create the standard skill path: mkdir -p your-plugin/skills/your-skill-name/{references,examples,scripts}

  2. Initialize the Core File: Every skill requires a SKILL.md file at its root: touch your-plugin/skills/your-skill-name/SKILL.md

  3. Local Testing: To test your skill during development, run Claude Code pointing to your local plugin directory: cc --plugin-dir /path/to/your-plugin

Usage

The Skill Development framework relies on specific writing styles and structural rules to ensure Claude can interpret and execute instructions effectively.

1. Writing the SKILL.md

When writing instructions, always use the imperative/infinitive form (verb-first). Avoid second-person language like “You should.”

Correct Example:

“Extract the API key from the environment variables. Validate the schema before sending the request.”

2. Defining Metadata

The YAML frontmatter is critical for Skill Discovery. Claude uses the description to decide when to trigger the skill.

---
name: Database Migrator
description: This skill should be used when the user wants to "create a migration", "rollback a database", or "check schema versions".
version: 0.1.0
---

3. Implementing Progressive Disclosure

To keep the context window lean, move detailed information out of the main SKILL.md and into the references/ folder.

  • SKILL.md: Keep this under 2,000 words. Focus on core logic and “how-to” pointers.
  • references/: Place large schemas, API docs, and edge-case troubleshooting here.
  • scripts/: Place Python or Bash scripts here for repetitive or high-precision tasks.

4. Common Developer Prompts

You can interact with the Skill Development guidance by asking Claude:

  • “How should I structure a new skill for handling PDF processing?”
  • “Review my SKILL.md for imperative writing style and trigger phrases.”
  • “Help me plan the bundled resources for a Kubernetes deployment skill.”

Tip: Use the built-in skill-reviewer agent by asking: “Review my skill and check if it follows best practices for progressive disclosure.”