Open-source plugin marketplace for AI coding assistants. Author skills once in Markdown — ship them to Claude Code, Cursor, OpenAI Codex, GitHub Copilot CLI, OpenCode, Gemini CLI, and any tool that reads AGENTS.md.
9 first-party plugins, 65 first-party skills, 7 projection surfaces. Optional MCP connector metadata lives on the role plugins until a curated third-party entry projects as a real installable plugin.
# Claude Code
/plugin marketplace add bravew/trove
/plugin install trove-dev@trove
/plugin install trove-workflow@trove
# Cursor
cursor plugin marketplace add bravew/trove
cursor plugin install trove-dev@trove
cursor plugin install trove-workflow@trove
# GitHub Copilot CLI
copilot plugin marketplace add bravew/trove
copilot plugin install trove-dev@trove
copilot plugin install trove-workflow@trove
# Universal — clones, auto-detects supported local installers
git clone https://github.com/bravew/trove.git ~/.trove
cd ~/.trove && ./setupThe universal setup script installs to Claude Code, Cursor, Codex, GitHub Copilot CLI, OpenCode, and Gemini CLI. Pass repeated --host claude / --host cursor / --host codex / --host copilot / --host opencode / --host gemini flags to scope, or --role dev / --role design / --role pm to select Copilot plugins by role. Use --host agents for the generic AGENTS.md output. Setup records the links, Copilot plugins, and marketplace registration it creates; existing user entries are never claimed, and ./setup --uninstall reverses only owned state.
Match the upgrade command to how you installed:
# Claude Code marketplace install — open /plugin and pick Update from
# the menu, or force a fresh fetch by removing and re-adding:
/plugin marketplace remove trove
/plugin marketplace add bravew/trove
/plugin install trove-dev@trove
/plugin install trove-workflow@trove # repeat for other enabled plugins
# Cursor marketplace install — open the Plugins panel and Update,
# or remove + re-add via `cursor plugin marketplace add bravew/trove`.
# GitHub Copilot CLI
copilot plugin marketplace update trove
copilot plugin update trove-dev@trove
copilot plugin update trove-workflow@trove
# Universal ./setup clone (recommended for most users)
cd ~/.trove && git pull && ./setup
# or, equivalently, the install-aware upgrader:
./bin/trove upgrade # interactive; --check for dry-run
./bin/trove doctor # read-only health checktrove upgrade detects the install type (git-backed clone vs. vendored copy) and refuses to act when uncertain — see docs/self-upgrade.md. Setup leaves user-authored host entries alone and records the state it owns under ~/.trove/.
| Plugin | For | What you get |
|---|---|---|
| trove-dev | Engineers | Python, React, Vue, Swift, Lambda — plus review, commit, and explain workflows |
| trove-workflow | Engineers | Session bootstrap, skill discipline, brainstorm, plan, debug, dispatch, verify, worktree, and skill-authoring workflows |
| trove-design | Designers | Component specs, accessibility checks, design review |
| trove-product | PMs | Specs, user stories, release notes |
| trove-security | All | Security review, secret scanning, OWASP / STRIDE patterns |
| trove-infra | DevOps | Terraform, AWS CDK, Docker patterns |
| trove-research | PMs and engineers | Last-30-days pulse across global and Chinese social platforms |
| trove-doc | Note authors and researchers | Obsidian Markdown, Bases, JSON Canvas, vault operations, and web clipping |
| trove-media | Developers, designers, and PMs | Media editing, product promos, shot recipes, beat sync, and delivery review |
Optional MCP connector metadata lives on role plugins such as trove-design, trove-product, and trove-security. Curated external plugins are added only when they project as installable marketplace entries.
| Platform | Skills | Hooks | Agents | MCP | Marketplace |
|---|---|---|---|---|---|
| Claude Code | ✅ | ✅ | ✅ | ✅ | native |
| Cursor | ✅ native skills + scoped rules | partial | subagents | ✅ | native |
| OpenAI Codex | ✅ | — | — | ✅ | native |
| OpenCode | ✅ | bootstrap plugin | — | — | ~/.config/opencode/skills |
| Gemini CLI | ✅ via extension | bootstrap context | — | ✅ via extension | ~/.gemini/extensions |
| GitHub Copilot CLI | ✅ native plugin skills | local command hooks; interactive prompt hooks | ✅ | ✅ | native |
| Windsurf / Aider / Junie | AGENTS.md fallback |
— | — | — | manual |
Full feature matrix in docs/cross-platform.md; discovery roots, honored frontmatter, and the source and date each was verified against in docs/host-matrix.md.
A skill is a Markdown file with frontmatter that an AI assistant loads as context when relevant. Authors edit one canonical template; the build projects it into each platform's native format.
---
name: trove-python
description: Python/FastAPI conventions — async, type hints, Pydantic, logging.
preamble-tier: 2
activation:
globs: ["**/*.py"]
triggers:
- python conventions
- fastapi patterns
---
{{PREAMBLE}}
# Python / FastAPI Conventions
…Skills can auto-attach by file glob, auto-trigger by natural-language phrasing, or be manually invoked. See docs/skill-authoring.md.
bun install
bun run build # 5-stage pipeline: skills → plugins → marketplace → routing → deps
bun run validate # frontmatter, naming, hooks, MCP, secret scan
bun run dev # watch mode
# Scaffold
bun run scaffold:plugin -- --name trove-testing --role dev
bun run scaffold:skill -- --plugin trove-dev --name trove-debug
# Browse the catalog
./bin/trove search "security"
./bin/trove list --role=dev
./bin/trove info trove-dev
# Local install / health / upgrade
./bin/trove doctor # read-only diagnostic
./bin/trove upgrade # detection-first upgrade (git-backed vs vendored)
./bin/trove config list # ~/.trove/config.yaml — local prefsVerify the artifacts first — no host required:
bun run build
bun run validate
bun test
bun run verify:generated # rebuild + fail if a committed artifact was stale
bun run validate:claude-manifests # claude plugin validate --strict, every pluginverify:generated is the gate CI blocks on: it catches a .tmpl edit whose generated output was never committed.
Then install the marketplace from the checkout itself — every host takes an absolute path where it takes a GitHub slug:
/plugin marketplace add /abs/path/to/trove # Claude Code; then /plugin install trove-dev@trove
cursor plugin marketplace add /abs/path/to/trove
copilot plugin marketplace add /abs/path/to/trove # reads .github/plugin/marketplace.json
./setup --host claude --role dev # symlink installer for hosts without a marketplace
./setup --uninstall # reverses only what setup createdAfter a rebuild, /plugin marketplace update trove re-reads the regenerated manifest. To keep a live config untouched, point the host at a throwaway config dir first — CLAUDE_CONFIG_DIR=/tmp/trove-test claude — and add the marketplace inside that session.
Behavior and install-layout checks:
bun run test:acceptance:artifacts # deterministic bootstrap-anchor artifacts
bun run test:acceptance:setup # installer link layout in a disposable HOME
bun run test:acceptance:copilot # copilot install smoke
RUN_CLAUDE_ACCEPTANCE_LIVE=1 bun run test:acceptance claude # live host evidenceSkill quality runs through bun run eval:changed (needs ANTHROPIC_API_KEY; falls back to a structure-only check without one). See docs/bootstrap.md for the acceptance harness and docs/eval-system.md for rubrics.
Tech stack: Bun ≥1.0 runtime, TypeScript, YAML manifests, @anthropic-ai/sdk for LLM-as-judge evals. Zero non-stdlib dependencies in the CLI surface.
skills/<category>/<skill>/SKILL.md.tmpl ─┐
plugins/<plugin>/plugin.yaml ─┼─► bun run build ─► per-platform output
marketplace.yaml ─┘
├─ Claude Code: in-place SKILL.md, .claude-plugin/marketplace.json
├─ Cursor: output/cursor/.agents/skills/<skill>/SKILL.md + filtered rules
├─ Codex: output/codex/.agents/skills/<skill>/SKILL.md
├─ Copilot CLI: plugins/<plugin>/{.plugin,.copilot}/ + .github/plugin/marketplace.json
├─ OpenCode: output/opencode/.agents/skills + plugins/<plugin>/index.ts
├─ Gemini CLI: output/gemini/.agents/skills + plugins/<plugin>/{skills,GEMINI.md}
└─ AGENTS.md: output/agents/AGENTS.md + per-plugin scoped files
Each host adapter (hosts/<name>.ts) declares its projection kinds and its frontmatter projection profile. Adding a new platform = one new host file + one entry in hosts/index.ts. See docs/cross-platform.md.
The release flow is automated on merge to main — don't hand-bump VERSION in feature branches.
PR → main feature work, no VERSION bump, no CHANGELOG header
│
▼ merge
release.yml build → validate → eval:gate → bump-version → tag → force-push canary
│
▼ 48h soak
canary early adopters; auto-update for users tracking canary
│
▼ bun run promote-stable
stable promoted manually after soak passes
Calendar-versioned (YYYY.M.D). The release.yml workflow owns VERSION, the tag, and the canary push. See docs/contributing.md.
Get started
- Getting Started — install, first plugin, basic usage
- Contributing — PR workflow, naming, release channels
Author
- Plugin Authoring — scaffold a plugin, manifest reference
- Skill Authoring — frontmatter v2, decision gates, projection
- Preamble Tiers — the four
{{PREAMBLE:N}}levels and when to pick each - Hooks — lifecycle events, matchers, anti-patterns
- MCP Integration — declare external servers; per-host projection
- Orchestration — meta-skills, sub-agent delegation,
benefits-fromgraph - Eval System — per-skill rubrics, LLM-as-judge, gate-blocking criteria
- Quality Reporting — deterministic gates, Vally baseline, scorecard, and trends
- External Plugins — intake policy, sandboxed gate, review state machine, re-review
- Advisory Maintenance — catalog advisories, gh-aw guard, upstream pilot provenance
Cross-cutting
- Cross-Platform Guide — host capabilities, projection model, frontmatter projection
- Host Matrix — discovery roots, honored fields, test method, source URL, verification date
- Routing Index — auto-generated; lists every skill's triggers + paths
- User Config —
~/.trove/config.yamlschema - Self-Upgrade & Doctor —
trove upgrade, install-type detection - Project Learnings — local, append-only insights store
Trove's committed-distribution-artifact layout (marketplace catalogs and
per-plugin bundles checked into the repo, read directly by clients with no
build step) follows the pattern used by
anthropics/claude-code's
plugin marketplace support and
anthropics/claude-plugins-official.
The bundled trove-react-best-practices skill is adapted from
vercel-labs/agent-skills
under its original MIT license, with attribution preserved in the skill's
frontmatter (metadata.source).