Brewcode Overview

Install prompt

If Claude refuses to run the commands, paste the prompt below directly into the chat.
Execute these commands in this Claude Code session, one by one, show full output for each, do not skip any, do not summarize:

1. claude plugin marketplace add https://github.com/kochetkov-ma/claude-brewcode
2. claude plugin install brewcode@claude-brewcode

After all commands succeed, run `/reload-plugins`. If `/reload-plugins` is unavailable, tell me to type `exit` and run `claude` again. Run the commands now.

Install the entire suite:

Install prompt

If Claude refuses to run the commands, paste the prompt below directly into the chat.
Execute these commands in this Claude Code session, one by one, show full output for each, do not skip any, do not summarize:

1. claude plugin marketplace add https://github.com/kochetkov-ma/claude-brewcode
2. claude plugin install brewcode@claude-brewcode
3. claude plugin install brewdoc@claude-brewcode
4. claude plugin install brewtools@claude-brewcode
5. claude plugin install brewui@claude-brewcode

After all commands succeed, run `/reload-plugins`. If `/reload-plugins` is unavailable, tell me to type `exit` and run `claude` again. Run the commands now.

Brewcode is a plugin for Claude Code for spec authoring, multi-agent review, and a toolkit of skills and agents. The name is a nod to brewing: skills (recipes) define what to brew, agents (brewers) do the work, and hooks (processes) manage prompt-time injection.

Key Features

♾️

Native plugin paths

Agents resolve paths via native ${CLAUDE_PLUGIN_ROOT}, substituted in each agent .md at Task spawn. No hook injection, no shared runtime state.

πŸ“Ÿ

9 skills (recipes)

From convention analysis (/brewcode:convention) and agent teams (/brewcode:teams-setup) to multi-agent review (/brewcode:superreview-setup).

πŸ“‹

One dashboard for every setup

/brewcode:setup-status reports, read-only, which setup skills across brewcode, brewtools and brewdoc are installed, stale, partial or missing here β€” and prints the command for each row.

πŸ‘₯

5 agents (brewers)

Specialists only: skill-creator, agent-creator, hook-creator, bash-expert, and the internal bc-rules-organizer. Generic roles are generated per project into .claude/agents/.

βš™οΈ

4 hooks (processes)

Prompt-time delegation reminder, session-start version-check, and post-compaction recovery of role, plan and task graph.

βœ…

E2E testing

BDD scenario authoring and Playwright autotest orchestration via /brewcode:e2e.

πŸ›‘οΈ

Code quality

Standards-review, convention analysis. Rules are automatically synced to .claude/rules/.

πŸ‘₯

Dynamic teams

Create project-specific agent teams (5-20) with self-selection, performance tracking, and automatic tuning.

πŸ§ͺ

Test suites

agents/tests/ (27 checks pin the creator agents against the Claude Code API), hooks/tests/ (68 checks), skills/teams-setup/tests/ (65 checks) and skills/semble-setup/tests/ (7 suites).

Architecture

Brewcode works as a layer on top of Claude Code through the hook system. The plugin has no external runtime β€” all context is managed through built-in Claude Code events.

                         Brewcode Plugin
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚                                                          β”‚
  β”‚   Skills (recipes)            Agents (brewers)           β”‚
  β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”         β”‚
  β”‚   β”‚ semble-setup β”‚          β”‚ skill/agent/hook  β”‚         β”‚
  β”‚   β”‚ superrev-... β”‚ ──────>  β”‚ creator, bash     β”‚         β”‚
  β”‚   β”‚ e2e, conv... β”‚          β”‚ + project teams   β”‚         β”‚
  β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜          β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜         β”‚
  β”‚          β”‚                          β”‚                     β”‚
  β”‚          v                          v                     β”‚
  β”‚   Hooks (processes)           Templates + Knowledge      β”‚
  β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”         β”‚
  β”‚   β”‚ session-startβ”‚          β”‚ rules templates   β”‚         β”‚
  β”‚   β”‚ forced-eval  β”‚ <──────> β”‚ artifacts/        β”‚         β”‚
  β”‚   β”‚ role-recall  β”‚          β”‚                   β”‚         β”‚
  β”‚   β”‚compact-recallβ”‚          β”‚                   β”‚         β”‚
  β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜          β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜         β”‚
  β”‚                                                          β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Plugin structure

brewcode/
β”œβ”€β”€ .claude-plugin/
β”‚   └── plugin.json                    # Plugin manifest
β”œβ”€β”€ hooks/
β”‚   β”œβ”€β”€ hooks.json                     # 4 hooks (SessionStart x3, UserPromptSubmit)
β”‚   β”œβ”€β”€ session-start.mjs              # Version-check, plan-symlink, permission tag
β”‚   β”œβ”€β”€ forced-eval.mjs                # [ROLE] delegate + [SPLIT] bounded units + [BRANCH] default-to-main
β”‚   β”œβ”€β”€ role-recall.mjs                # SessionStart/compact: re-inject the same [ROLE]/[SPLIT]/[BRANCH]
β”‚   β”œβ”€β”€ compact-recall.mjs             # SessionStart/compact: re-anchor plan, intent, task graph
β”‚   └── lib/
β”‚       β”œβ”€β”€ utils.mjs                  # I/O, version cache, configuration
β”‚       └── reminder.mjs               # REMINDER_TEXT, shared by forced-eval.mjs and role-recall.mjs
β”œβ”€β”€ agents/                            # 5 agents
β”‚   β”œβ”€β”€ skill-creator.md               # Skill creation (opus)
β”‚   β”œβ”€β”€ agent-creator.md               # Agent creation (opus)
β”‚   β”œβ”€β”€ hook-creator.md                # Hook creation (opus)
β”‚   β”œβ”€β”€ bash-expert.md                 # Bash scripts (opus)
β”‚   └── bc-rules-organizer.md          # Rules organizer (haiku)
β”œβ”€β”€ skills/                            # 9 skills
β”‚   β”œβ”€β”€ semble-setup/                  # Semantic code search MCP
β”‚   β”œβ”€β”€ convention/                    # Convention analysis
β”‚   β”œβ”€β”€ rules/                         # Rule extraction
β”‚   β”œβ”€β”€ superreview-setup/             # Multi-agent quorum review generator
β”‚   β”œβ”€β”€ setup-status/                  # Read-only cross-plugin setup dashboard
β”‚   β”œβ”€β”€ skills/                        # Skill management
β”‚   β”œβ”€β”€ agents/                        # Agent management
β”‚   β”œβ”€β”€ teams-setup/                   # Dynamic agent teams
β”‚   └── e2e/                           # E2E testing orchestration
β”œβ”€β”€ modes/                             # Manager mode
└── templates/                         # Rule templates

Naming: -setup vs bare

The suffix tells you how often to run it

A -setup skill installs a mechanism β€” agents, hooks, a rule, a generated skill β€” that you then use instead of the skill itself. Run it once, upgrade it when the plugin moves on. A bare-named skill is a recurring tool you run again and again, leaving no installed state behind. Every -setup skill answers the same seven verbs in this order: status, install, upgrade, enable, disable, uninstall, purge. Bare invocation means status when installed, install when not β€” except semble-setup, which always defaults to status because its install reaches outside the project.

Artifact metadata

v5.1.0 standardizes what every -setup skill stamps onto what it installs, across all four plugins. Version always comes from .claude-plugin/plugin.json, never hardcoded and never the literal unknown β€” a writer that cannot resolve it refuses to write rather than stamp a fake.

FieldValuesWhere
doc_typellm | user | skip, unquoted.md frontmatter only, never JSON
versionquoted "X.Y.Z"every carrier
generated_byquoted "<plugin>:<skill>"every carrier
last_updatedquoted "YYYY-MM-DD"every carrier except a byte-copied .mjs/.sh/.md β€” the date would just be the release date and would churn the drift check

Five carriers, depending on the file type it is stamping:

CarrierApplies to
JSON top-level keysJSON artifacts
.md frontmattergenerated .md skills and docs
// brewcode-meta: one-liner, line 2byte-copied .mjs/.sh
header table (| Version |, | Generated by |, | Last update |)team.md
<!-- brewcode-meta: ... -->, line 1byte-copied .md

/brewcode:setup-status is the payoff β€” it reads these stamps back and compares them against the installed plugin version across all eleven -setup skills to report installed, stale or partial. See superreview-setup for one skill’s full version of this contract.

Components in detail

9 skills (recipes) cover search, review, conventions, and meta-tooling. See Skills for details.

GroupSkillsPurpose
Searchsemble-setupSemantic code-search MCP install and maintenance
Qualitysuperreview-setup, convention, rulesMulti-agent review, conventions, rule extraction
Dynamicteams-setupAgent team creation and management
Testinge2eE2E testing orchestration with BDD scenarios
Metaskills, agentsSkill and agent management
Dashboardsetup-statusRead-only: what is installed, stale or missing across all four plugins

5 agents (brewers), all specialists. Generic implementation/review roles are generated per project into .claude/agents/ by /brewcode:teams-setup β€” brewcode no longer ships them. See the Agents section for details.

RoleAgentsModel
Creationskill-creator, agent-creator, hook-creatorinherit
Scriptingbash-expertinherit
Internalbc-rules-organizerhaiku

4 hooks manage prompt-time injection, session start, and post-compaction recovery. See the Hooks section for details.

EventHookPurpose
SessionStartsession-startInitialization, version-check
UserPromptSubmitforced-evalManager-role + split-discipline reminder
SessionStart (compact)role-recallRe-inject [ROLE]/[SPLIT]/[BRANCH] after a compaction
SessionStart (compact)compact-recallRe-anchor plan, intent and task graph after a compaction

Quick start

  1. See what is already here/brewcode:setup-status

    Read-only. One table of every setup skill across brewcode, brewtools and brewdoc: installed, stale, partial, missing β€” plus the exact command for each row. Writes nothing.

  2. Conventions/brewcode:convention

    Parallel per-layer analysis. Writes etalon classes and recurring patterns into .claude/convention/.

  3. Deep review/brewcode:superreview-setup install

    Generate a project-tailored quorum review skill. Run once per project, then upgrade it.

  4. Team install (optional)/brewcode:teams-setup install

    Install a project-specific agent team with performance tracking.

One setup per session

Every -setup skill is an interactive generator: it fans out subagents, analyses the repo and asks you real questions. Two in one session degrade each other β€” the second answers against the first one’s stale analysis. Run them one at a time, ideally in a fresh session each. That is exactly why setup-status reports and stops instead of running anything.

Next steps

Check Skills for detailed descriptions of all available skills, or explore Agents for the full list of specialized agents.

πŸš€

Latest Release

Download, changelog, and installation instructions.

πŸ“–

Installation Guide

Full setup, update, and troubleshooting instructions.

πŸ”—

View on GitHub

Source code, README, and configuration files.