Essay 7.6 — The Plugin Kit, Part 6 of 9.


Essay 7.5 opened the docs organ — the per-plugin narrative the historian subagent writes on a drift-count ratchet. Subagents follow the same scoping discipline as the rest of the kit: each one lives inside the plugin that dispatches it. This sub-essay opens the agents/ organ — the per-plugin subagent pool — and the budget that mechanizes the 80/20 split between main-session direct action and delegated investigation.


agents/ — The Subagent Pool

What it is. A directory of subagent definitions the plugin owns. Subagent names are namespace-prefixed to their owning plugin’s concern — historian-* for evolution narration (owned by plugin_integrity), observe-* for research (owned by phase_observe), verify-* for auditing, condense-* for waterfall routing. The prefix is the lock-boundary marker. Per-plugin scoping — every plugin owns the subagents it dispatches.

Who reads them. Claude Code, when the agent invokes a subagent by name. The agent itself reads only the subagent’s frontmatter (description + tools) when deciding whether to dispatch.

Who writes them. CONDENSE step 5 (which consumes [AGENT-UPDATE] markers). PLUGIN-LOCK as the underlying gate.

What they depend on. The plugin’s own scripts/ (for tools the subagent calls). The shared .claude/plugins/lib/ if the subagent uses common helpers (e.g., voice-helper). The agents in this directory are NOT cross-plugin — each subagent is scoped to its owning plugin’s surface.

Image pending — Small main-session circle at the center orchestrating; larger plugin-scoped subagent pools fanning out around it
Prompt: ASSET: images/agents-80-20-b7-6.png Style: Match opevc-cycle-blackboard.png exactly. Dark slate chalkboard background; hand-drawn chalk circles and arrows; pastel chalk for the subagent pools (cyan, green, orange, pink, magenta — same palette as the cycle image); white chalk for ALL labels, arrows, and the main-session circle; faint chalk dust at the edges; chalk sticks along the bottom. IMPORTANT: Use only the literal text strings listed below. Do not invent or substitute any other subagent names, plugin names, or descriptors. Use only the counts listed. Layout: One small white-chalk circle at the dead center of the board, labeled IN WHITE CHALK exactly "main session (20%)". Around it, six larger pastel chalk circles fanning out in a hexagonal arrangement, each labeled IN WHITE CHALK with its exact text: Circle 1 (cyan, top): "observe- (12)" Circle 2 (green, upper right): "plan- (6)" Circle 3 (orange, lower right): "execute- (3)" Circle 4 (pink, bottom): "verify- (5)" Circle 5 (magenta, lower left): "condense- (7)" Circle 6 (cyan, darker, upper left): "historian- (13)" From the central main-session circle, a single white-chalk arrow goes OUT to each of the six surrounding pools (six arrows total, all radial). Each arrow is labeled with the same single word IN WHITE CHALK exactly: "dispatch". In a chalk box at the bottom-right corner of the board, draw a small "budget panel" with header IN WHITE CHALK reading exactly "direct-action budget", and two short white-chalk lines stacked: Line 1: "+3 grants per execute- dispatch" Line 2: "-1 per project file edit" Keep every line hand-drawn and slightly imperfect, never ruler-straight. STRICT NAME WHITELIST — the image must contain only these literal text strings as labels: "main session (20%)", "observe- (12)", "plan- (6)", "execute- (3)", "verify- (5)", "condense- (7)", "historian- (13)", "dispatch", "direct-action budget", "+3 grants per execute- dispatch", "-1 per project file edit", plus the caption below. No other words, file names, plugin names, or subagent names may appear.
Image 7.6. Main session orchestrates. Subagents fan out. The 80/20 split is a context-discipline budget, not a guideline.

Why per-plugin scoping. The safe-lock cycle inside plugin_integrity requires that only one plugin be unlocked at a time. A subagent that ranged across multiple plugins would need to coordinate locks across every directory it touches, defeating the unlock discipline. Per-plugin scoping makes the subagent’s surface match the lock boundary exactly.

The 80/20 dispatch budget. The architecture insists on the majority of cognitive work happening in subagents (the prototype targets roughly 80/20) and the remainder in the main session. Inside EXECUTE phase, this is mechanized: every execute-* subagent dispatch grants the main session a fixed budget of direct actions (currently three in the prototype, configurable); every non-.claude/ file edit draws against the grant. When the budget hits zero, the EXECUTE guard hard-blocks further edits until the agent earns more capacity by launching another execute-* subagent. The 80/20 is not a guideline; it is a budget the main session must earn through dispatch.

The new-plugin lens. When you guide your seed to add a plugin that needs delegated investigation, the seed authors subagent definitions inside the plugin’s own agents/ directory. Not in a global pool. Tell your seed: a subagent that lives outside its owning plugin breaks the lock discipline; keep it local. A plugin that does not delegate investigation skips agents/ entirely — job_core and interaction_summary both ship without one because their concerns are local state machines, not research surfaces. A research lab’s seed could carry the same shape — experiment-* subagents owned by an experiment-tracking plugin, literature-* subagents owned by a lit-review plugin; the lock boundary keeps each pool inside the plugin that mutates its own data.


Subagents are per-plugin by design; the 80/20 split is enforced as a budget the main session must earn through dispatch. Investigation delegates; mutation stays local. The next sub-essay opens the smaller cognitive organs that round out the kit — config.conf, tests/, template/, e2e/, LICENSE + README.md — and the brain-root wiring file that makes any of it fire.


Essay 7.6 — The Plugin Kit, Part 6 of 9.

Previous: Essay 7.5 — docs/ and the Historianevolution.md word-capped + the historian ratchet. Next: Essay 7.7 — Smaller Organs and Brain-Root Wiring — conditional organs + the registry that turns hooks on.