Structure of the anthropics/claude-plugins-community Repository: A Complete Guide

The anthropics/claude-plugins-community repository follows a standardized plugin architecture where each community-contributed plugin resides in its own directory containing JSON metadata files and Markdown skill definitions, aggregated into a central marketplace.json index.

This read-only mirror hosts the community-contributed Claude plugin marketplace, organizing plugin definitions and documentation into a predictable hierarchy that Claude Code consumes for installation and execution. Understanding the structure of the anthropics/claude-plugins-community repository enables developers to contribute new skills and helps users navigate the available automation capabilities.

Top-Level Repository Layout

The repository root contains three distinct organizational layers: configuration files, individual plugin packages, and continuous integration infrastructure.

Root Configuration Files

The repository root declares the marketplace scope through two primary documents. The README.md provides introductory overview and usage instructions for consumers. The .claude-plugin/marketplace.json serves as the consolidated, auto-generated registry listing every available community plugin—this file updates nightly via internal pipelines and acts as the authoritative index Claude Code queries during plugin discovery.

Plugin Directories

Each top-level directory (excluding hidden paths) represents a discrete plugin package. Current community offerings include:

  • tres-finance-plugin/ – Finance automation tools for ledger linking and invoice matching
  • testdino/ – Quality assurance utilities for test session management
  • quickdesign/ – Video design pipelines and model references
  • eli5/ – Simplified explanation generators using the "Explain-like-I'm-5" pattern

These directories follow identical internal scaffolding to ensure consistent parsing by the Claude CLI.

Internal Plugin Structure

Every plugin directory implements a mandatory three-tier structure to separate metadata, executable skills, and documentation.

Metadata Layer (.claude-plugin/)

The .claude-plugin/ subdirectory contains two JSON descriptors:

  • plugin.json – Defines plugin metadata including name, description, version, and entry points
  • marketplace.json – Contains the marketplace-specific entry for that individual plugin

In tres-finance-plugin/.claude-plugin/plugin.json, for example, the file declares the plugin's capabilities and dependency requirements that the Claude CLI validates before installation.

Skill Definitions (skills/)

The skills/ directory contains subfolders named after specific capabilities. Each skill folder includes a SKILL.md file—the human-readable instruction set Claude uses to execute the automation.

For the finance plugin, paths like tres-finance-plugin/skills/tres-ledger-link/SKILL.md and tres-finance-plugin/skills/tres-invoice-bill-matching/SKILL.md define the natural language triggers and procedural logic for ledger automation.

Optional Documentation

Plugins may include a top-level README.md for extended documentation, though this remains optional for marketplace functionality.

Marketplace Aggregation and CI Validation

The repository maintains data integrity through automated pipelines that validate plugin definitions before aggregation into the master index.

The marketplace.json Index

The .claude-plugin/marketplace.json at the repository root functions as the single source of truth for the Claude Code plugin manager. A nightly internal pipeline traverses each plugin's .claude-plugin/plugin.json, extracts metadata, and synthesizes entries into this consolidated file. When users search for available plugins, Claude Code queries this specific JSON file to present installation options.

GitHub Actions Validation Pipeline

The .github/workflows/validate-plugins.yml workflow executes on pull requests and scheduled intervals to enforce repository invariants. This pipeline invokes scripts located in .github/actions/validate-plugins/—including test-invariants.sh—to perform three critical checks:

  1. Verify JSON schema compliance across all plugin.json and marketplace.json files
  2. Ensure each SKILL.md contains required documentation sections (description, parameters, examples)
  3. Detect manual modifications to the auto-generated root marketplace.json that should be reverted

Validation failures block merges, ensuring only properly structured plugins enter the marketplace.

Installation and Usage Workflow

The repository structure directly supports the Claude Code CLI installation flow, mapping file paths to runtime behavior.

Adding the Community Marketplace

Users first register the repository as a marketplace source. This command updates the local Claude Code configuration to recognize the community index:

claude plugin marketplace add anthropics/claude-plugins-community

The CLI fetches the current state of .claude-plugin/marketplace.json and caches it locally for offline browsing.

Installing Individual Plugins

Once the marketplace is registered, install specific plugins by referencing their directory name:

claude plugin install tres-finance-plugin@claude-community

During execution, the CLI:

  1. Queries tres-finance-plugin in the cached marketplace.json
  2. Downloads the plugin files from the corresponding directory
  3. Registers skill definitions found in skills/ subdirectories
  4. Loads the SKILL.md files into the conversation context

After installation, natural language requests like "Generate a ledger entry for a $1200 invoice from Acme Corp" trigger the tres-ledger-link skill defined in tres-finance-plugin/skills/tres-ledger-link/SKILL.md.

Summary

  • The anthropics/claude-plugins-community repository organizes plugins into top-level directories, each containing .claude-plugin/ metadata and skills/ definitions
  • The .claude-plugin/marketplace.json root file serves as the auto-generated master index consumed by Claude Code
  • Individual plugins require plugin.json for metadata and SKILL.md files for executable skill definitions
  • GitHub Actions workflows in .github/workflows/validate-plugins.yml enforce schema compliance and prevent invalid marketplace modifications
  • Installation flows map directly to this directory structure, with the CLI parsing JSON descriptors to register capabilities

Frequently Asked Questions

What files are required for a plugin to appear in the Claude marketplace?

A valid plugin requires three components: .claude-plugin/plugin.json containing metadata and entry points, .claude-plugin/marketplace.json for marketplace registration, and at least one SKILL.md file within a skills/ subdirectory. The GitHub Actions validation pipeline will reject pull requests missing any of these structural elements.

How does Claude Code know which skills are available in a plugin?

Claude Code discovers skills by scanning the skills/ directory within each installed plugin. Each subfolder's SKILL.md file contains the natural language instructions and parameter schemas that define how Claude should execute that specific capability. The tres-finance-plugin, for instance, exposes multiple distinct skills through separate folders like tres-ledger-link/ and tres-invoice-bill-matching/.

Can I manually edit the top-level marketplace.json file?

No. The root .claude-plugin/marketplace.json is auto-generated nightly from individual plugin descriptors. The .github/actions/validate-plugins/test-invariants.sh script specifically detects manual changes to this file and will fail the CI check if modifications are detected. Contributors should instead update their local .claude-plugin/plugin.json files, allowing the aggregation pipeline to regenerate the master index.

What validation checks run when I submit a new plugin?

The .github/workflows/validate-plugins.yml pipeline executes schema validation against plugin.json files, verifies that SKILL.md documents include mandatory sections (description, usage examples, parameters), and runs test-invariants.sh to ensure directory naming consistency. These checks prevent malformed plugins from breaking the marketplace indexing process or the Claude Code installation flow.

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:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →