Can I Submit a Pull Request Directly to claude-plugins-community? Submission Process Explained

No, you cannot submit a pull request directly to the claude-plugins-community repository; it is a read-only mirror that syncs nightly from Anthropic's internal plugin review pipeline.

The claude-plugins-community repository on GitHub serves as a public catalog of community-contributed plugins for Claude. While it appears to be a standard open-source project, its architecture and workflow differ fundamentally from typical GitHub repositories. Understanding this distinction prevents wasted effort and guides you toward the correct submission path.

Why Direct Pull Requests Are Rejected

The repository's README explicitly states its immutable nature. According to the source documentation, the repo "is a read-only mirror of the plugin marketplace" and "pull requests will be automatically closed"【/cache/repos/github.com/anthropics/claude-plugins-community/main/README.md#L24-L27】.

This design serves a critical security function. Every plugin undergoes automated security scanning before publication. By funneling all submissions through a controlled web portal, Anthropic ensures that malicious or vulnerable code cannot bypass review by exploiting GitHub's PR mechanism.

The Official Plugin Submission Workflow

To contribute a plugin, you must use Anthropic's dedicated submission interface rather than GitHub. The process follows three stages:

  1. Package your plugin — Create a ZIP archive containing a .claude-plugin directory with a valid plugin.json manifest.
  2. Submit via web portal — Visit clau.de/plugin-directory-submission and upload your package.
  3. Await automated review — The internal pipeline runs security scans; approved plugins merge into the marketplace and appear in the mirror repository during the next nightly sync.

This workflow ensures that the claude-plugins-community repository always reflects vetted, production-ready plugins without exposing the main codebase to unverified changes.

Repository Architecture and Key Files

Understanding the repository structure helps you prepare compliant submissions. Each plugin resides in its own directory with a standardized internal layout.

Plugin Directory Structure


plugin-name/
└── .claude-plugin/
    ├── plugin.json       # Required: plugin manifest

    ├── marketplace.json  # Optional: marketplace metadata

    └── icon.png          # Optional: plugin icon

Critical Files in the Repository

File Path Purpose
README.md Repository overview, usage instructions, and contribution policy【/cache/repos/github.com/anthropics/claude-plugins-community/main/README.md】
tres-finance-plugin/.claude-plugin/plugin.json Example manifest for the Tres Finance plugin【/cache/repos/github.com/anthropics/claude-plugins-community/main/tres-finance-plugin/.claude-plugin/plugin.json】
quickdesign/.claude-plugin/plugin.json Manifest for the QuickDesign plugin【/cache/repos/github.com/anthropics/claude-plugins-community/main/quickdesign/.claude-plugin/plugin.json】
testdino/.claude-plugin/plugin.json Sample plugin manifest【/cache/repos/github.com/anthropics/claude-plugins-community/main/testdino/.claude-plugin/plugin.json】
eli5/.claude-plugin/plugin.json ELI5 category plugin manifest【/cache/repos/github.com/anthropics/claude-plugins-community/main/eli5/.claude-plugin/plugin.json】
.claude-plugin/marketplace.json Root marketplace index aggregating all community plugins【/cache/repos/github.com/anthropics/claude-plugins-community/main/.claude-plugin/marketplace.json】

Example plugin.json Structure

Based on the repository's plugin organization, a valid plugin.json follows this pattern:

{
  "name": "your-plugin-name",
  "version": "1.0.0",
  "description": "Concise description of your plugin's functionality",
  "entry_point": "main.py",
  "permissions": ["read:documents", "write:output"],
  "author": "Your Name",
  "license": "MIT"
}

Each plugin directory in claude-plugins-community contains a .claude-plugin folder housing this manifest, ensuring consistent metadata across the marketplace.

Installing Plugins from the Community Repository

Once your plugin passes review and syncs to the mirror, users interact with it through Claude's CLI. The README documents these commands【/cache/repos/github.com/anthropics/claude-plugins-community/main/README.md#L18-L23】:


# Register the community marketplace source

claude plugin marketplace add anthropics/claude-plugins-community

# Install a specific community plugin

claude plugin install <plugin-name>@claude-community

These commands demonstrate how the read-only repository integrates with Claude's plugin ecosystem despite not accepting direct contributions.

Summary

  • Direct PRs are rejected: The claude-plugins-community repository is a read-only mirror with automated closure of pull requests.
  • Use the web portal: Submit plugins through clau.de/plugin-directory-submission for security screening.
  • Standard structure required: Package plugins with a .claude-plugin/plugin.json manifest matching existing examples like tres-finance-plugin and quickdesign.
  • Nightly synchronization: Approved plugins appear in the GitHub mirror automatically after passing automated review.

Frequently Asked Questions

What happens if I open a pull request on claude-plugins-community anyway?

The pull request will be automatically closed without review. The repository's automation specifically rejects all PRs because it functions solely as a synchronized mirror of Anthropic's internal plugin marketplace【/cache/repos/github.com/anthropics/claude-plugins-community/main/README.md#L24-L27】.

How long does plugin review take after web portal submission?

The source documentation does not specify exact timelines, but the nightly synchronization schedule suggests reviews complete within 24 hours. Your plugin appears in the GitHub repository after the next automated sync cycle once approved.

Can I modify an existing community plugin?

Changes follow the same workflow as new submissions. You must resubmit the updated plugin package through the web portal, where it undergoes fresh security scanning. The updated version replaces the previous one during the next nightly repository sync.

What permissions should I request in my plugin.json?

Examine existing plugins like tres-finance-plugin for guidance. The permissions array should list only capabilities your plugin strictly requires, following principle of least privilege. Anthropic's automated review may flag excessive permission requests for security concerns.

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 →