example-skill
The example-skill provides a reference template demonstrating the structure, file organization, and development patterns required to create Claude Code plugin skills. Use this skill when users request guidance on skill creation, need a template to follow, want to understand skill architecture including required frontmatter fields and optional supporting directories, or seek best practices for writing effective skill descriptions and content.
git clone --depth 1 https://github.com/anthropics/claude-plugins-official /tmp/example-skill && cp -r /tmp/example-skill/plugins/example-plugin/skills/example-skill ~/.claude/skills/example-skillSKILL.md
# Example Skill
This skill demonstrates the structure and format for Claude Code plugin skills.
## Overview
Skills are model-invoked capabilities that Claude autonomously uses based on task context. Unlike commands (user-invoked) or agents (spawned by Claude), skills provide contextual guidance that Claude incorporates into its responses.
## When This Skill Applies
This skill activates when the user's request involves:
- Creating or understanding plugin skills
- Skill template or reference needs
- Skill development patterns
## Skill Structure
### Required Files
```
skills/
└── skill-name/
└── SKILL.md # Main skill definition (required)
```
### Optional Supporting Files
```
skills/
└── skill-name/
├── SKILL.md # Main skill definition
├── README.md # Additional documentation
├── references/ # Reference materials
│ └── patterns.md
├── examples/ # Example files
│ └── sample.md
└── scripts/ # Helper scripts
└── helper.sh
```
## Frontmatter Options
Skills support these frontmatter fields:
- **name** (required): Skill identifier
- **description** (required): Trigger conditions - describe when Claude should use this skill
- **version** (optional): Semantic version number
- **license** (optional): License information or reference
## Writing Effective Descriptions
The description field is crucial - it tells Claude when to invoke the skill.
**Good description patterns:**
```yaml
description: This skill should be used when the user asks to "specific phrase", "another phrase", mentions "keyword", or discusses topic-area.
```
**Include:**
- Specific trigger phrases users might say
- Keywords that indicate relevance
- Topic areas the skill covers
## Skill Content Guidelines
1. **Clear purpose**: State what the skill helps with
2. **When to use**: Define activation conditions
3. **Structured guidance**: Organize information logically
4. **Actionable instructions**: Provide concrete steps
5. **Examples**: Include practical examples when helpful
## Best Practices
- Keep skills focused on a single domain
- Write descriptions that clearly indicate when to activate
- Include reference materials in subdirectories for complex skills
- Test that the skill activates for expected queries
- Avoid overlap with other skills' trigger conditionsManage Telegram channel access — approve pairings, edit allowlists, set DM/group policy. Use when the user asks to pair, approve someone, check who's allowed, or change policy for the Telegram channel.
Set up the Telegram channel — save the bot token and review access policy. Use when the user pastes a Telegram bot token, asks to configure Telegram, asks "how do I set this up" or "who can reach me," or wants to check channel status.
Analyze a codebase and recommend Claude Code automations (hooks, subagents, skills, plugins, MCP servers). Use when user asks for automation recommendations, wants to optimize their Claude Code setup, mentions improving Claude Code workflows, asks how to first set up Claude Code for a project, or wants to know what Claude Code features they should use.
Audit and improve CLAUDE.md files in repositories. Use when user asks to check, audit, update, improve, or fix CLAUDE.md files. Scans for all CLAUDE.md files, evaluates quality against templates, outputs quality report, then makes targeted updates. Also use when the user mentions "CLAUDE.md maintenance" or "project memory optimization".
Iterate on the Cardputer-Adv MicroPython app bundle (Claude Buddy, Snake, Hello) after the device is already provisioned via m5-onboard. Use when the user wants to add a new app, push a single changed .py without re-flashing, watch device serial logs, or run a one-shot REPL command. Trigger on "add an app", "push to the cardputer", "tail the device", "run on the device", or follow-up work after /maker-setup.
End-to-end onboarding for a freshly-plugged-in M5Stack ESP32 device (Cardputer, Cardputer-Adv, Core, CoreS3, Stick) — detect on USB, flash UIFlow 2.0 firmware, and install the Claude Buddy MicroPython app bundle. Use whenever the user plugs in or wants to flash/provision/reset an M5Stack or ESP32 board, or says "m5-onboard go".
An example user-invoked skill that demonstrates frontmatter options and the skills/<name>/SKILL.md layout
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.