claude-plugins-official
Awesome Listanthropics/claude-plugins-official
Official Anthropic-managed directory of high quality Claude Code plugins.
Overview
A curated marketplace of high-quality plugins for Claude Code, including internal and third-party plugins. Each plugin can add MCP servers, commands, agents, or skills to extend Claude Code's capabilities. Plugins are installed via the Claude Code plugin system.
README Preview
# Claude Code Plugins Directory\n\nA curated directory of high-quality plugins for Claude Code.\n\n> **⚠️ Important:** Make sure you 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 that they won't change. See each plugin's homepage for more information.\n\n## Structure\n\n- **`/plugins`** - Internal plugins developed and maintained by Anthropic\n- **`/external_plugins`** - Third-party plugins from partners and the community\n\n## Installation\n\nPlugins can be installed directly from this marketplace via Claude Code's plugin system.\n\nTo install, run `/plugin install {plugin-name}@claude-plugins-official`\n\nor browse for the plugin in `/plugin > Discover`\n\n## Contributing\n\n### Internal Plugins\n\nInternal plugins are developed by Anthropic team members. See `/plugins/example-plugin` for a reference implementation.\n\n### External Plugins\n\nThird-party partners can submit plugins for inclusion in the marketplace. External plugins must meet quality and security standards for approval. To submit a new plugin, use the [plugin directory submission form](https://clau.de/plugin-directory-submission).\n\n## Plugin Structure\n\nEach plugin follows a standard structure:\n\n```\nplugin-name/\n├── .claude-plugin/\n│ └── plugin.json # Plugin metadata (required)\n├── .mcp.json # MCP server configuration (optional)\n├── commands/ # Slash commands (optional)\n├── agents/ # Agent definitions (optional)\n├── skills/ # Skill definitions (optional)\n└── README.md # Documentation\n```\n\n## Skill-bundle plugins\n\nWhen a plugin's source repository ships skills (`SKILL.md` files) without a `.claude-plugin/plugin.json` manifest, the marketplace entry can declare the skills directly using `strict: false` and an explicit `skills` array.\n\n```json\n{\n "name": "exaFAQ (5)
TroubleshootingHow to stop the security-guidance plugin's python_subprocess_shell rule from flagging code in Markdown documentation?
This is a known false positive in security-guidance v2.0.0. The rule currently lacks a path filter to exclude documentation files. As a temporary workaround, you can either ignore these warnings in .md/.mdx/.rst files or manually edit hooks/patterns.py to add path_filter: lambda p: not p.endswith(_DOC_EXTS) to the rule. A proper fix is expected in a future update; track issue #2045 for status.
TroubleshootingHow to fix 'output_format deprecated' HTTP 400 error in the security-guidance plugin?
Update plugins/security-guidance/hooks/llm.py to nest the schema under output_config.format instead of the deprecated top-level output_format. Specifically, replace "output_format": {"type": "json_schema", "schema": output_schema} with "output_config": {"format": {"type": "json_schema", "schema": output_schema}}. If you're on the adaptive-thinking branch, merge effort into the existing dict: change payload["output_config"] = {"effort": "high"} to payload["output_config"]["effort"] = "high". The patch is in issue #2097. This resolves the 400 error and prevents guardrail failing open.
TroubleshootingWhy does Claude Code show 'Permission to use Edit has been denied' without any reason?
The security-guidance plugin hook is emitting a denial via sys.exit(2) without a JSON payload, causing a generic denial message. Upgrade the plugin to a version that prints a proper JSON denial with permissionDecisionReason. If an immediate upgrade isn't possible, manually patch the hook script (e.g., security_reminder_hook.py) to replace bare sys.exit(2) with:
import json
print(json.dumps({
"hookSpecificOutput": {
"hookEventName": "PreToolUse",
"permissionDecision": "deny",
"permissionDecisionReason": f"{rule_name}: {reminder[:120]}"
}
}))
sys.exit(0)
This provides context (matched pattern, risk category) in the UI. Track the upstream fix to remove the need for local patches.
TroubleshootingWhy does Claude Code's security-guidance hook show 'hook json output validation failed' error?
The hook outputs plain text instead of JSON. Edit hooks/security_reminder_hook.py line 272: replace print(reminder, file=sys.stderr); sys.exit(2) with print(json.dumps({"decision": "block", "reason": reminder})); sys.exit(2). This outputs valid JSON, resolving the validation error.
TroubleshootingWhy does the mcp-server-dev or sonatype-guide plugin show 0 skills loaded in Claude Code?
This is a known ecosystem-wide issue caused by missing required fields in the plugin's skill files. Specifically, the SKILL.md frontmatter for each skill must include user-invocable and allowed-tools fields as required by the Claude Code runtime. Additionally, the plugin manifest (.claude-plugin/plugin.json) may need a valid version field. To resolve this, update Claude Code to the latest version which may include runtime-side validation fixes, or wait for the plugin authors to release updated versions with the correct schema. Manually editing installed plugin files is not recommended as it is fragile and may be overwritten.