Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
Droid Plugin Marketplace avatar

Code Review

  • Updated May 30, 2026
  • leonj1/plugin-marketplace

code-review is an automated code-review skill that checks for bugs, security issues, performance problems, and style violations. It scans diffs or files and reports findings so issues are caught before merge. Aimed at maintaining code quality across a team.

Key points

  • Automated code review
  • Bug detection
  • Security and performance checks
  • Style violations

Code Review by the numbers

  • Data as of Jul 7, 2026 (Skillselion catalog sync)
/plugin marketplace add leonj1/plugin-marketplace
/plugin install code-review@droid-plugin-marketplace

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Last updatedMay 30, 2026
Repositoryleonj1/plugin-marketplace

What it does

Automatically review code for bugs, security issues, performance problems, and style violations before merge.

README.md

Plugin Marketplace

A self-hostable plugin marketplace that serves the same catalog to both Claude Code (via static marketplace.json) and Factory CLI (via a Smart-HTTP git endpoint) from a single nginx + git-http-backend container.

What you get How it's served
5 productivity plugins (code-review, git-companion, doc-generator, test-scaffold, refactor-helper) plugins/<name>/.claude-plugin/plugin.json + SKILL.md files
Claude Code marketplace GET /.claude-plugin/marketplace.json (static)
Factory CLI marketplace git clone http://<host>/droid/v1/marketplace.git (Smart-HTTP)
Browser UI /index.html, /repo.html, /admin.html

Screenshots

Marketplace (/index.html) Repository (/repo.html) Admin (/admin.html)
Marketplace Repository Admin
Plugin grid with search, category filter, and live stats. Same data the Claude Code CLI sees via /.claude-plugin/marketplace.json. Browseable file tree of the served bare repo. Click any file to open the in-page viewer (markdown-rendered, JSON pretty-print toggle, plain text). Per-plugin toggles for Enabled / Claude Code / Git visibility. Add an external GitHub plugin from the modal — its files are downloaded into the marketplace repo.

Quickstart (3 minutes)

Prereqs: Docker, make, git, curl.

git clone https://github.com/leonj1/plugin-marketplace.git
cd plugin-marketplace
make build      # ~30s first time, cached after
make start      # serves on http://localhost:8081
make test       # end-to-end test: HTTP + Smart-HTTP + git clone

Expected make test output ends with:

All checks passed — any CLI can clone http://localhost:8081/droid/v1/marketplace.git

Useful targets:

Target What it does
make build Build the Docker image
make start Run the container on port 8081
make stop Stop and remove the container
make restart stop + start
make status Is the server running?
make test Run test-clone.sh against the running container

Override the port: edit PORT at the top of Makefile:1.

How it works

                                  +-----------------------------+
   GET /.claude-plugin/...        |                             |
   GET /.factory-plugin/...  ---> |        nginx (static)       |
                                  |                             |
   git clone /droid/v1/...        |                             |
            |                     |       location ~ ^/droid    |
            v                     |               |             |
   info/refs, git-upload-pack --> |        fastcgi_pass         |
                                  |               |             |
                                  |  fcgiwrap -> git-http-backend
                                  |               |             |
                                  |        /var/lib/git/        |
                                  |   droid/v1/marketplace.git  |
                                  +-----------------------------+

On first start, start.sh:1-43 initializes a bare git repo at /var/lib/git/droid/v1/marketplace.git, commits the marketplace contents into it, and runs git update-server-info. Nginx (nginx.conf:23-30) routes /droid/v1/marketplace.git/... to git-http-backend via FastCGI; everything else is served as static files.

Configure your CLI to use this marketplace

Replace http://localhost:8081 with your deployed host (and port).

Claude Code

Claude Code reads the marketplace from a .claude-plugin/marketplace.json URL. Add an entry to your Claude Code settings (or use the in-app marketplace dialog) pointing at:

http://localhost:8081/.claude-plugin/marketplace.json

In ~/.claude/settings.json (path may vary by platform):

{
  "marketplaces": [
    {
      "name": "plugin-marketplace",
      "url": "http://localhost:8081/.claude-plugin/marketplace.json"
    }
  ]
}

After Claude Code reloads, the five plugins appear in the marketplace UI and can be installed individually.

Factory CLI

Factory CLI consumes the marketplace by cloning a git repository that contains a .factory-plugin/marketplace.json at its root. Point Factory CLI at the Smart-HTTP URL exposed by this container:

http://localhost:8081/droid/v1/marketplace.git

Verify it works without Factory CLI first:

git clone http://localhost:8081/droid/v1/marketplace.git
ls marketplace/.factory-plugin/marketplace.json

Then add the marketplace (~/.factory/config.json or via droid marketplace add, depending on your version):

{
  "marketplaces": [
    {
      "name": "plugin-marketplace",
      "git": "http://localhost:8081/droid/v1/marketplace.git"
    }
  ]
}

Factory CLI will git clone (and later git pull) this URL, parse .factory-plugin/marketplace.json, and surface the plugins listed there.

Same catalog, two formats

Both .claude-plugin/marketplace.json and .factory-plugin/marketplace.json in this repo describe the same five plugins with identical source paths under plugins/, so installing from either CLI gets you the same skills.

Related skills

Code Review & Qualitytestingbackend

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.