Skill Development

anthropic-essentials

A curated marketplace directory of high-quality plugins for Claude Code. It contains internal plugins maintained by Anthropic and third-party plugins from partners and the community.

  • 37.6k GitHub stars
anthropic-essentials — illustration

What it is

The Claude Code Plugins Directory is a curated marketplace of plugins for Claude Code, hosted at anthropics/claude-plugins-official. It is split into two areas. /plugins holds internal plugins developed and maintained by Anthropic. /external_plugins holds third-party plugins from partners and the community. You install plugins directly from this marketplace through Claude Code's plugin system. The README warns that you should trust a plugin before installing, updating, or using it. Anthropic does not control what MCP servers, files, or other software are included in plugins and cannot verify that they will work as intended or won't change. Each plugin follows a standard structure: - A required .claude-plugin/plugin.json metadata file. - An optional .mcp.json for MCP server configuration. - Optional commands/ (slash commands), agents/ (agent definitions) and skills/ (skill definitions) directories. - A README.md for documentation. Internal plugins are built by Anthropic team members, and /plugins/example-plugin serves as a reference implementation. External partners can submit plugins through a plugin directory submission form, and those plugins must meet quality and security standards for approval. The directory also documents marketplace conventions. Plugin name fields are immutable slugs: renaming a published plugin breaks existing installs with a plugin-not-found error. To change how a plugin is labeled in the UI, use displayName instead. If a rename is unavoidable, add a renames map in .claude-plugin/marketplace.json. The Claude Code plugin loader reads this map and rewrites the old slug to the new one on the user's next sync. The directory also supports skill-bundle plugins. These are source repositories that ship SKILL.md files without a plugin.json manifest. Their marketplace entries declare the skills directly using strict: false and an explicit skills array. Each path in that array is relative to source.path. Each skill is registered as <plugin-name>:<skill-name> in Claude Code.

Who it's for

  • Claude Code users looking for curated plugins to install
  • Anthropic team members developing internal plugins
  • Third-party partners and community members who want to submit plugins
  • Plugin maintainers managing marketplace entries, renames, or skill bundles

Requirements

Requirements

  • Claude Code with its plugin system
  • Trust in the plugin you install (Anthropic cannot verify third-party plugin contents)
  • For submissions: external plugins must meet quality and security standards for approval

Setup

  1. Install a plugin from the marketplace

    Run the plugin install command, replacing {plugin-name} with the plugin you want.

    text
    /plugin install {plugin-name}@claude-plugins-official
  2. Or browse for plugins

    Alternatively, browse for the plugin in the Discover view of the plugin menu.

    text
    /plugin > Discover

هاد دليل منظّم لإضافات Claude Code، فيه إضافات داخلية من Anthropic وإضافات من شركاء والمجتمع. فيك تنزّل أي إضافة منه مباشرة من خلال نظام الإضافات بـ Claude Code.

Examples

Standard plugin structure

text
text
plugin-name/
├── .claude-plugin/
│   └── plugin.json      # Plugin metadata (required)
├── .mcp.json            # MCP server configuration (optional)
├── commands/            # Slash commands (optional)
├── agents/              # Agent definitions (optional)
├── skills/              # Skill definitions (optional)
└── README.md            # Documentation

What it does: The layout every plugin in the directory follows. Only plugin.json is required.

Renames map for auto-migrating installs

json
json
"renames": {
  "old-name": "new-name"
}

What it does: Add this to the top-level of .claude-plugin/marketplace.json when a rename is unavoidable. Existing installs then auto-migrate to the new slug on the next sync.

Skill-bundle marketplace entry

json
json
{
  "name": "example-bundle",
  "description": "Brief description of the bundled skills.",
  "author": { "name": "Author Name" },
  "category": "development",
  "source": {
    "source": "git-subdir",
    "url": "https://github.com/example-org/sdk.git",
    "path": "packages/agent-skills",
    "ref": "main",
    "sha": "<commit sha>"
  },
  "strict": false,
  "skills": [
    "./skill-a",
    "./skill-b",
    "./skill-c"
  ],
  "homepage": "https://github.com/example-org/sdk"
}

What it does: Declares skills from a repository that has SKILL.md files but no plugin.json manifest, using strict: false and an explicit skills array.