Skip to main content
Skills are predefined workflows that combine tools and prompts.

Skill Structure

.claude/skills/my-skill/
├── instructions.md    # Skill instructions
└── config.yaml        # Optional configuration

Basic Example

Create a skill by adding a markdown file with instructions:
# My Skill

## Trigger

Use this skill when the user asks to [describe trigger].

## Instructions

1. First, [step 1]
2. Then, [step 2]
3. Finally, [step 3]

## Available Tools

- `read_file`: Read file contents
- `write_file`: Write file contents
- `bash`: Run shell commands

Skill Configuration

Add a config.yaml for more control:
# config.yaml
name: my-skill
description: Does something useful
trigger:
  keywords: [keyword1, keyword2]
  patterns:
    - regex: "pattern.*"
tools:
  allow: [read_file, write_file]
  deny: [bash]

Invoking Skills

Users can invoke skills with a slash command:
/my-skill
Or the agent may invoke them automatically based on context.

Best Practices

Clear triggers

Define when to use the skill

Step-by-step

Break down complex workflows

Error handling

Handle failures gracefully

Examples

Show expected inputs/outputs
Skills are a powerful way to create repeatable workflows. They combine the flexibility of natural language instructions with the precision of defined tool sets.