Skip to content

■ GUIDES // PRACTICAL GUIDE

best claude code plugins: the minimum viable stack

choose fewer, better Claude Code plugins. repo instructions first, one MCP server second, then plugins only for repeated jobs. selector matrix included.

■ [!] ON THIS PAGE ▼

verdict: start with repo instructions, then one MCP server, then one plugin only if the workflow repeats.

updated 2026-05-17: refreshed after the SEO repair pass. the rule did not change: repo policy first, one capability layer second, plugins only after the workflow repeats.

if the problem is…fix it with…example
Claude ignores repo conventionsAGENTS.md / CLAUDE.mdcommands, architecture, review rules
Claude needs to touch a systemMCP serverbrowser, GitHub, database, docs
Claude repeats a workflow badlyplugin / skillTDD, review, debugging, planning

if you have not decided where repo instructions belong yet, start with AGENTS.md vs CLAUDE.md vs Cursor/Windsurf/Copilot . plugins come after that; otherwise you’re dressing up bad repo policy.

lock instructions first

most bad Claude Code setups have the same shape: ten plugins, no repo policy.

that is backwards.

Claude needs a working contract before it needs more tricks. put the boring rules where the agent can actually read them:

  • how to install dependencies;
  • how to run tests;
  • which files are generated;
  • what not to touch;
  • what “done” means for this repo;
  • how to handle secrets, migrations, and deploys.

that contract belongs in your repo instruction file. for multi-agent repos, use AGENTS.md as the source-of-truth policy file and generate vendor adapters when needed. for Claude-only repos, CLAUDE.md can be enough.

then add one capability layer, usually an MCP server for browser, GitHub, docs, database, or local tooling.

then add plugins.

decision tree

what are you trying to fix?
├─ repo behavior is wrong
│  └─ edit AGENTS.md / CLAUDE.md
├─ Claude needs access to another system
│  └─ add one MCP server
└─ the same workflow repeats across tasks
   └─ add a plugin / skill

use the smallest layer that fixes the problem. every plugin adds instructions. every instruction competes for attention.

selector matrix

this is a minimum viable stack, not a catalog.

jobstart withskip for nowwhy
baseline Claude Code behaviorcurrent official Claude Code plugin marketplace / official pluginsrandom “awesome” bundles as your first installstart with the native path before importing someone else’s taste
test-driven developmentsuperpowers-style TDD workflow plugingeneric “10x coding” packsTDD works because it forces a loop, not because the README sounds smart
project decompositiona narrow task-planning plugin such as Taskmasterfull project-manager bots before repo policy existsuseful when the work has dependencies and sequence
structural refactorsAST-aware tooling such as ast-grepregex-only refactor helpersAST transforms beat vibes when code shape matters
browser workflowsPlaywright MCP or browser MCP firstbrowser plugins before screenshot/trace access worksbrowser agents need observability, not more prose
source skepticisma critical-thinking / review pluginconfidence booster skillsgood agents should argue with the plan before they execute it
researcha search/retrieval MCP with receiptsunsourced summary pluginsretrieval should produce evidence, not longer summaries
content workflowsa narrow editorial review pluginbroad “content machine” packsuseful only when it encodes a repeatable standard

if the row points to an MCP server, treat it as a prerequisite layer, not a plugin recommendation. the point is stack order.

minimum stack

for a new Claude Code setup, start here:

  1. repo instruction file;
  2. one MCP server for the system you actually need;
  3. one workflow plugin for the job that repeats most.

example:

AGENTS.md or CLAUDE.md        repo policy
Playwright/GitHub/docs MCP    external capability
TDD/review/planning plugin    repeated workflow

run a real task after each layer. if Claude still fails because it lacks access, add a capability. if it fails because it does not understand the repo, edit the instruction file. if it fails because a workflow repeats badly, add one plugin.

install path

current Claude Code exposes plugin management through claude plugin:

claude plugin marketplace list
claude plugin marketplace add <github-repo-or-url>
claude plugin install <plugin-name>

some repos still call these objects “skills”. don’t fight the wording. verify the current install command in the plugin README or marketplace before adding it to your default stack.

for project-scoped installs, check the CLI help first:

claude plugin install --help

if a plugin is not in your configured marketplace, add the marketplace or follow the repo’s own install instructions. don’t paste stale install commands into your team docs and call that automation.

what to skip

skip anything that does one of these:

  • injects a giant manifesto into every session;
  • duplicates what your repo instruction file should already say;
  • claims to “make Claude senior” without showing the workflow;
  • hides source links and expected behavior;
  • adds planning when your problem is testing;
  • adds research when your problem is decision quality.

plugins are compressed checklists. install them when you want that checklist loaded repeatedly.

evaluation checklist

before a plugin becomes part of your default stack, run this:

checkpass condition
sourceyou can read the instructions it injects
scopeit solves one named job
weightit does not flood context with generic advice
testit improves a real task in your repo
fallbackyou can write the same rule in AGENTS.md if the plugin disappears

if you cannot explain what the plugin changes, do not install it globally.

stack shape

repo policy       AGENTS.md / CLAUDE.md
external access   MCP servers
repeatable loops  plugins / skills
execution         terminal, tests, diffs, review

when those layers blur, you get stale instructions in memory, duplicated rules in five files, plugins fighting the repo, and Claude confidently doing the wrong thing.

that is why context engineering matters here. better context is not more text. better context is the right instruction in the right layer.

next