Skip to content

Proposal: distribute as a Claude Code plugin marketplace #13

Description

@te19oishi

Summary

Add .claude-plugin/marketplace.json so the repo can be installed via /plugin marketplace add greptileai/skills instead of the current git clone + symlink dance.

Motivation

The current install instructions require users to:

  1. git clone the repo into a specific path
  2. Manually create symlinks for each sub-skill so Claude Code can discover them at the expected depth

This works but has friction:

  • New users hit the symlink step without context (it exists because Claude Code looks for ~/.claude/skills/<name>/SKILL.md, and this is a multi-skill repo)
  • Updates require git pull from the cloned location — no built-in update flow
  • No discoverability beyond the README

Claude Code's plugin marketplace solves all three: one command to add the marketplace, one command per skill to install, and /plugin update for upgrades.

Proposed structure

Per the marketplace docs, each skill becomes its own plugin entry, with SKILL.md living under <plugin>/skills/<plugin>/SKILL.md:

skills/ (repo root)
├── .claude-plugin/
│   └── marketplace.json
├── check-pr/
│   ├── .claude-plugin/plugin.json
│   └── skills/check-pr/SKILL.md
└── greploop/
    ├── .claude-plugin/plugin.json
    └── skills/greploop/SKILL.md

marketplace.json would list both skills:

{
  "name": "greptile",
  "owner": { "name": "Greptile" },
  "plugins": [
    { "name": "check-pr", "source": "./check-pr", "description": "..." },
    { "name": "greploop", "source": "./greploop", "description": "..." }
  ]
}

User-facing install becomes:

/plugin marketplace add greptileai/skills
/plugin install check-pr@greptile
/plugin install greploop@greptile

Open questions before I send a PR

  1. Backward compatibility — keep the clone+symlink instructions in the README as a fallback, or drop them once the plugin path lands?
  2. Marketplace namegreptile vs. greptile-skills vs. something else? Affects the install command (@greptile suffix).
  3. File moves — the restructure moves check-pr/SKILL.mdcheck-pr/skills/check-pr/SKILL.md (same for greploop). Happy to do this in a single PR, but flagging that it's a non-trivial diff for reviewers. Would you prefer it split (one PR per skill)?
  4. Scope — anything else you'd want bundled into this change (e.g. CI to validate marketplace.json)?

Happy to open the PR once there's directional alignment. Wanted to avoid the fate of #4 by checking first.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions