What Is the Official Repository for Claude Community Plugins?
The official repository for Claude community plugins is anthropics/claude-plugins-community on GitHub, which hosts self-contained plugin packages with standardized manifests and automated validation.
The official repository for Claude community plugins is maintained by Anthropic at github.com/anthropics/claude-plugins-community. This open-source collection serves as the central hub for community-contributed extensions that extend Claude's capabilities through a unified architecture. Developers can submit, discover, and integrate plugins that Claude recognizes natively without requiring custom integration code for each extension.
Repository Architecture and Structure
The repository is organized as a collection of self-contained plugin packages, each living in its own top-level directory. According to the source code in anthropics/claude-plugins-community, Claude expects a specific directory layout that enables automatic discovery and loading.
Plugin Directory Layout
Each plugin occupies its own directory at the repository root, such as tres-finance-plugin, quickdesign, testdino, or eli5. This flat structure ensures that Claude can enumerate available plugins by scanning top-level directories without traversing nested hierarchies.
Every plugin must contain the following standardized file structure:
.claude-plugin/plugin.json: The core metadata required by Claude, specifying the plugin name, description, version, entry points, and required permissions. Example:tres-finance-plugin/.claude-plugin/plugin.json.claude-plugin/marketplace.json: Optional marketplace-specific metadata including tags, pricing, and screenshots. Example:quickdesign/.claude-plugin/marketplace.json.claude-plugin/icon.svg: The SVG icon displayed in the Claude UI. Example:quickdesign/.claude-plugin/icon.svgREADME.md: Human-readable documentation for developers and end-users. Example:tres-finance-plugin/README.mdLICENSE: The open-source license governing the plugin. Example:eli5/LICENSEskills/{skill-name}/SKILL.md: Detailed documentation for each specific skill, defining inputs, outputs, and usage examples. Example:quickdesign/skills/quickdesign/SKILL.mdscripts/(optional): Helper scripts used by skills for data processing or orchestration. Example:tres-finance-plugin/skills/tres-report-analyzer/scripts/analyze_report.py
CI Validation and Schema Enforcement
The repository enforces quality standards through automated validation defined in .github/workflows/validate-plugins.yml. This continuous integration workflow executes three critical validation steps:
- Manifest Presence: Verifies that each plugin contains the required
.claude-plugindirectory andplugin.jsonfile. - Schema Validation: Confirms that
plugin.jsonand optionalmarketplace.jsonconform to the Claude plugin schema. - Skill Specification Check: Validates that
SKILL.mdfiles exist and conform to the Claude skill specification format.
This validation ensures that only properly structured plugins are merged, maintaining compatibility with Claude's plugin loader.
Accessing and Consuming Plugins
Developers can interact with the repository programmatically to load plugin metadata or invoke skills via Claude's API.
Loading Plugin Manifests
To read the plugin.json metadata from any plugin directory:
import json
from pathlib import Path
def load_plugin_manifest(plugin_dir: Path) -> dict:
"""Read the plugin.json for a given plugin directory."""
manifest_path = plugin_dir / ".claude-plugin" / "plugin.json"
with manifest_path.open("r", encoding="utf-8") as f:
return json.load(f)
# Example: load the Tres Finance plugin manifest
tres_path = Path("tres-finance-plugin")
manifest = load_plugin_manifest(tres_path)
print(manifest["name"]) # → "Tres Finance"
print(manifest["description"]) # → short description from the repo
This pattern is derived from the manifest format defined in tres-finance-plugin/.claude-plugin/plugin.json.
Invoking Skills via API
To call a Claude skill endpoint defined in a community plugin:
import fetch from "node-fetch";
/**
* Calls a Claude skill endpoint defined in a plugin.
*
* @param {string} baseUrl Base URL of the plugin (e.g., https://api.claude.ai/plugins/quickdesign)
* @param {string} skillId Skill identifier (as defined in SKILL.md)
* @param {object} payload JSON payload for the skill
*/
async function callSkill(baseUrl, skillId, payload) {
const response = await fetch(`${baseUrl}/skills/${skillId}`, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(payload),
});
return await response.json();
}
// Example: run the "quickdesign" skill to upscale a video
callSkill(
"https://api.claude.ai/plugins/quickdesign",
"topaz-video-upscale",
{ videoUrl: "https://example.com/video.mp4" }
).then(console.log);
Skill endpoints are documented in each plugin's SKILL.md, following the structure shown in quickdesign/skills/quickdesign/SKILL.md.
Contributing a New Plugin to the Repository
To add your own plugin to the official Claude community repository:
# 1. Clone the repo
git clone https://github.com/anthropics/claude-plugins-community.git
cd claude-plugins-community
# 2. Create a new plugin directory
mkdir my-awesome-plugin
cd my-awesome-plugin
# 3. Scaffold required files
mkdir -p .claude-plugin skills
cat > .claude-plugin/plugin.json <<'EOF'
{
"name": "My Awesome Plugin",
"description": "A demo plugin for Claude",
"version": "0.1.0",
"entrypoint": "skills/main_skill"
}
EOF
# 4. Add a simple skill
mkdir -p skills/main_skill
cat > skills/main_skill/SKILL.md <<'EOF'
# Main Skill
**Inputs**
- `text`: string – the text to process.
**Outputs**
- `result`: string – processed output.
**Example**
```json
{
"text": "Hello Claude"
}
EOF
git add . git commit -m "Add My Awesome Plugin" git push origin main
Your submission will be validated by the CI workflow defined in [`.github/workflows/validate-plugins.yml`](https://github.com/anthropics/claude-plugins-community/blob/main/.github/workflows/validate-plugins.yml) before merging.
## Summary
- **The official repository** for Claude community plugins is `anthropics/claude-plugins-community` on GitHub.
- **Plugin structure** requires self-contained directories with [`.claude-plugin/plugin.json`](https://github.com/anthropics/claude-plugins-community/blob/main/.claude-plugin/plugin.json), [`README.md`](https://github.com/anthropics/claude-plugins-community/blob/main/README.md), `LICENSE`, and `skills/*/SKILL.md`.
- **Validation** occurs automatically via [`.github/workflows/validate-plugins.yml`](https://github.com/anthropics/claude-plugins-community/blob/main/.github/workflows/validate-plugins.yml), ensuring manifest and skill schema compliance.
- **Skill definition** happens in [`SKILL.md`](https://github.com/anthropics/claude-plugins-community/blob/main/SKILL.md) files that specify inputs, outputs, and examples for Claude to execute.
- **Examples** like `tres-finance-plugin` and `quickdesign` demonstrate the production-ready implementation of the specification.
## Frequently Asked Questions
### Where is the official Claude community plugins repository hosted?
The official repository is hosted on GitHub at `github.com/anthropics/claude-plugins-community`. This is the sole canonical source for community-contributed plugins vetted by Anthropic's automated validation systems.
### What files are required to create a valid Claude plugin?
Every plugin must include [`.claude-plugin/plugin.json`](https://github.com/anthropics/claude-plugins-community/blob/main/.claude-plugin/plugin.json) for metadata, a [`README.md`](https://github.com/anthropics/claude-plugins-community/blob/main/README.md) for documentation, a `LICENSE` file, and at least one `skills/{name}/SKILL.md` file defining the skill interface. Optional files include [`.claude-plugin/marketplace.json`](https://github.com/anthropics/claude-plugins-community/blob/main/.claude-plugin/marketplace.json) for marketplace metadata and `.claude-plugin/icon.svg` for UI display.
### How does the repository validate plugin submissions?
Validation occurs through the GitHub Actions workflow defined in [`.github/workflows/validate-plugins.yml`](https://github.com/anthropics/claude-plugins-community/blob/main/.github/workflows/validate-plugins.yml). This CI pipeline checks that each plugin contains required manifest files, validates [`plugin.json`](https://github.com/anthropics/claude-plugins-community/blob/main/plugin.json) against the schema, and verifies that [`SKILL.md`](https://github.com/anthropics/claude-plugins-community/blob/main/SKILL.md) files conform to Claude's skill specification standards.
### Can I use plugins from this repository with any Claude deployment?
Plugins in `anthropics/claude-plugins-community` follow Claude's official plugin architecture and are designed for integration with Claude. However, actual availability depends on your specific Claude deployment configuration and whether your instance has the community plugins feature enabled.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →