By rcmoynihan
A hierarchical, self-compounding agent harness for Claude Code, built for nested subagents. Lead agents own subtrees; coordination happens through a file-based run ledger.
Always-on code-review persona. Audits changes against the project's own CLAUDE.md and AGENTS.md standards -- frontmatter rules, reference inclusion, naming conventions, cross-platform portability, and tool selection policies.
Conditional code-review persona, selected when the diff touches error handling, retries, circuit breakers, timeouts, health checks, background jobs, or async handlers. Reviews code for production reliability and failure modes.
Conducts thorough research on repository structure, documentation, conventions, and implementation patterns. Use when onboarding to a new codebase or understanding project conventions.
Recursive research-subtree lead. Owns a research question end-to-end: dispatches the warranted researchers (repo, learnings, best-practices, framework-docs, web), reads their briefs (the files, not the prose), chases unresolved threads with bn-thread-chaser, and synthesizes ONE distilled research brief on disk. Use when a question needs grounded, multi-source research returning a single brief the trunk reads — never the raw researcher output.
Conditional code-review persona, selected when the diff is large (>=50 changed lines) or touches high-risk domains like auth, payments, data mutations, or external APIs. Actively constructs failure scenarios to break the implementation rather than checking against known patterns.
Grounded codebase Q&A via a dedicated research subtree. Use when the user asks how this repo works, where behavior lives, whether a hypothesis about the code is true, what limitations or unknowns exist, or wants orientation in unfamiliar code. Read-only; always opens a run and dispatches researchers plus an answer-checker, then answers with evidence, confidence, and explicit uncertainty. For a throwaway question, ask in plain chat instead.
Explore requirements and approaches through collaborative dialogue, then write a right-sized requirements document. Use when the user says "let's brainstorm", "what should we build", or "help me think through X", presents a vague or ambitious feature request, or seems unsure about scope or direction -- even without explicitly asking to brainstorm.
Banyan's run-ledger, delegation-envelope, and knowledge-store conventions; consult to open a new run, inspect or resume a run ledger, write a progress note or artifact, or look up the .banyan/solutions schema. The entry point a trunk or lead reads for how Banyan coordinates.
Distributed debugging via a lead-owned subtree: reproduce, rank hypotheses, test them in parallel with fresh-context investigators, confirm the causal chain, then choose Fix now / Diagnosis only / Rethink design. Use on a failing test, a bug report, or a GitHub issue.
Capability doctor: checks the host environment (Claude Code >= 2.1.172, node, gh, python3, pwsh), verifies plugin assets are discoverable and well-formed, and runs a LIVE depth-2 nested-spawn probe plus allowlist, transcript locate+complete, and nested user-question probes. Prints a green/yellow/red checklist and leaves no files behind.
Uses power tools
Uses Bash, Write, or Edit tools
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
A hierarchical, self-compounding agent harness for Claude Code, built for nested subagents.
A banyan tree's branches drop aerial roots that become new trunks — a single tree that grows into a forest. It begins life on a host tree before standing on its own, and it lives for centuries, continuously expanding. That's the project: agents whose branches become trunks (nested subagents, Claude Code ≥ 2.1.172), bootstrapped from the leaf assets of compound-engineering-plugin (MIT), designed for harnesses that outlive any single task and get better with every run.
bn-review-lead, bn-research-lead, bn-delivery-lead) own whole domains and orchestrate their own children; the main session stays a near-empty trunk that talks to the user..banyan/runs/<run-id>/); final messages are verdicts plus paths.You talk to one thing — the trunk. You hand it a goal (/bn-grow ...) and read the
result; everything else happens below the waterline. Banyan's bet is nesting: a lead
isn't a relay, it's a full trunk for the agents beneath it — and those can be leads too.
Take just the deliver stage of a /bn-grow run. The trunk spawns one lead, which spawns
more leads, which spawn their own workers — branches becoming trunks, the way a banyan drops
roots that become new trunks:
flowchart TB
classDef trunk fill:#14532d,stroke:#052e16,color:#ffffff,font-weight:bold
classDef lead fill:#16a34a,stroke:#14532d,color:#ffffff,font-weight:bold
classDef leaf fill:#dcfce7,stroke:#4ade80,color:#14532d
T(["/bn-grow — the trunk<br/>holds your intent"]):::trunk
T -->|spawns one lead| DL["bn-delivery-lead<br/>owns the deliver + review subtree"]:::lead
DL -->|fans out| UL["bn-unit-lead ×N<br/>one unit, its own git worktree"]:::lead
DL --> IN["bn-integrator<br/>merges units in order"]:::leaf
DL -->|reviews its own work| RVL["bn-review-lead<br/>read-only reviewer panel"]:::lead
DL --> FO["bn-finding-owner ×N<br/>fixes the findings"]:::leaf
UL --> UC["bn-correctness-reviewer"]:::leaf
UL --> UF["bn-spec-fidelity-reviewer"]:::leaf
UL -->|splits when a unit is too big| US["bn-unit-lead<br/>a lead spawning another lead"]:::lead
US --> USC["bn-correctness-reviewer"]:::leaf
US --> USF["bn-spec-fidelity-reviewer"]:::leaf
RVL --> RP["the reviewer panel<br/>7 always-on + up to 8 conditional<br/>bn-correctness · bn-security · bn-adversarial · …"]:::leaf
Every green node is a lead — a subagent that owns a subtree and spawns children of its
own; pale nodes are leaves that do one job and return. bn-delivery-lead fans work out to
bn-unit-leads in isolated worktrees, and when a unit is too big a unit-lead splits into
another unit-lead — the same shape, one level deeper. It then spawns bn-review-lead to
review the integrated result, which spawns the reviewer panel. Each lead answers its children's
questions from its own narrow view and reads only their final artifacts, so context stays small
however deep the tree goes. The full run nests four more stages — research, spec-stress, plan,
and a background curator — the same way.
npx claudepluginhub rcmoynihan/banyan --plugin banyanAI-powered development tools for code review, research, design, and workflow automation.
Harness-native ECC operator layer - 67 agents, 271 skills, 92 legacy command shims, reusable hooks, rules, selective install profiles, and production-ready workflows for Claude Code, Codex, OpenCode, Cursor, and related agent harnesses
Claude harness - A harness for solo developers (Vibecoders) to handle full-cycle contract development.
Superpowers Plus core skills library for Claude Code: planning, execution routing, TDD, debugging, and collaboration workflows
v9.44.1 — Patch release for Gemini environment/version detection and qwen auth gating. Run /octo:setup.
Core skills library for Claude Code: TDD, debugging, collaboration patterns, and proven techniques