Files
claude-plugins-official/plugins/example-plugin/README.md
Henry Shi 58ad5cbb02 docs(plugin-dev): deprecate commands/ in favor of skills/<name>/SKILL.md
P0 follow-up for EA-471. Updates plugin-dev teaching materials to stop
recommending the commands/ directory layout for new plugins:

- command-development/SKILL.md: add legacy banner at top pointing to
  skills/ format
- create-plugin.md: update scaffolding to create skills/<name>/SKILL.md
  instead of commands/; mark commands/ as acceptable legacy alternative;
  update all examples, tables, and testing instructions
- example-plugin: migrate example-command to skills/example-command/SKILL.md;
  keep commands/example-command.md with a legacy-format note; update README
  to reflect new preferred structure

Both formats remain loaded identically — this is a documentation change only.

Refs: anthropics/apps#26827
2026-03-08 15:56:20 -07:00

1.8 KiB

Example Plugin

A comprehensive example plugin demonstrating Claude Code extension options.

Structure

example-plugin/
├── .claude-plugin/
│   └── plugin.json            # Plugin metadata
├── .mcp.json                  # MCP server configuration
├── skills/
│   ├── example-skill/
│   │   └── SKILL.md           # Model-invoked skill (contextual guidance)
│   └── example-command/
│       └── SKILL.md           # User-invoked skill (slash command)
└── commands/
    └── example-command.md     # Legacy slash command format (see note below)

Extension Options

Skills (skills/)

Skills are the preferred format for both model-invoked capabilities and user-invoked slash commands. Create a SKILL.md in a subdirectory:

Model-invoked skill (activated by task context):

---
name: skill-name
description: Trigger conditions for this skill
version: 1.0.0
---

User-invoked skill (slash command — /skill-name):

---
name: skill-name
description: Short description for /help
argument-hint: <arg1> [optional-arg]
allowed-tools: [Read, Glob, Grep]
---

Commands (commands/) — legacy

Note: The commands/*.md layout is a legacy format. It is loaded identically to skills/<name>/SKILL.md — the only difference is file layout. For new plugins, prefer the skills/ directory format. This plugin keeps commands/example-command.md as a reference for the legacy layout.

MCP Servers (.mcp.json)

Configure external tool integration via Model Context Protocol:

{
  "server-name": {
    "type": "http",
    "url": "https://mcp.example.com/api"
  }
}

Usage

  • /example-command [args] - Run the example slash command
  • The example skill activates based on task context
  • The example MCP activates based on task context