Agent Designer

2026-09-15 · page · source ↗ · source summary

A Pi skill that designs and deploys expert ensembles — casts of domain-expert personas run through a fixed, versioned orchestration methodology. Its real subject is not personas but process as artifact: the project treats a multi-agent analysis methodology the way software treats a library — semver-versioned, inherited whole, changed only by reviewed release — and ships its own refutation loop (a self-critique session whose findings became the v1.2.0 calibration). The repo is unusual among agent projects: the implementation is almost entirely markdown doctrine plus three small scripts, and the honesty constraints on evaluation (traceable contribution vs. causal lift) are more careful than what most agent frameworks bother to state.

#tool #project #agents #multi-agent #prompting


What it is

dbmcco/agent-designer (v0.3.0, MIT) is a skill bundle for the Pi coding agent: the repo root is the skill, discovered by symlinking ~/.agents/skills/agent-designer to it. SKILL.md is the dispatcher — its first and mandatory step is purpose triage between two protocols:

Both inherit the same persona doctrine, roster heuristics, and methodology kernel. The provenance is eight hand-built panels in the author's experiments/ai-simulations (Shell scenario panel, terrain, root-cause, vc, pmf, and others); the skill canonizes their shared machinery and treats them as read-only reference.

Architecture

The structure is doctrine files + thin deterministic scripts + a bash test suite. No runtime of its own — the host agent is the runtime, and the skill is methodology loaded into context.

Panels scaffold into the target repo as panels/<slug>/ with a panel.json manifest (status lifecycle calibrating → active → dormant → archived, inherited kernel version, overlay set, roster paths), a README with the calibration record, and one "Standing panels" line added to the repo's AGENTS.md. Discovery is find . -name panel.json — the manifest convention replaces a registry.

Key techniques

Persona-as-retrieval-key, held as a hypothesis. Each persona element is a pointer into expert-text territory of the training distribution; a complete coherent set lands the model where it continues convincingly. After the self-critique, the doctrine now explicitly separates four outcomes that do not co-vary — expert-like expression, useful attention, sound reasoning, actual correctness — and warns that an authoritative name and signature can buy the first without any of the rest. Declared blind spots are "instruments, not guarantees": they may make an agent more correctable or teach it to enact a predictable error, and both deserve testing.

Semantic versioning for prompt doctrine. The kernel is released like software: 1.0.0 extracted from the proven panels, 1.1.0 adding the script-checked dissent rule and contribution review, 1.2.0 restating rule 1 as a visibility constraint (the facilitator's clustering, contradiction-finding, and significance calls are analytical acts that must be challengeable in the synthesis output — what's forbidden is silently substituting its own conclusions for missing specialist work). Panels record the version they inherited; adopting 1.2.0 is a deliberate panel refresh, not auto-inheritance. New sequencing is a new overlay designed once against the kernel — never an ad hoc mutation inside one panel.

The determinism boundary (kernel rule 9). Deterministic scripts verify only structure — sections present, word floors (300 for personas, 100 for syntheses), dissent non-empty. Anything about quality, voice, or significance stays model-mediated. validate-synthesis.sh makes consensus collapse structurally impossible to pass silently: a synthesis without a substantive ## Dissent section is invalid and gets re-run, and an empty dissent on a genuinely contested question is a convergence-collapse warning, not success.

diversity.py as a cheap smoke detector. Pure-stdlib lexical cosine distance across the seats' isolated outputs, with advisory thresholds: closest pair under 0.15 means two seats may secretly be the same seat; mean under 0.25 suggests premature convergence. It deliberately avoids embeddings so it always runs — the contract (distances in, advisory report out) would let embedding-based checks layer on later.

Contribution review with an exposure-boundary subtlety. Every run closes with a per-seat record: produced, kept, discarded-or-changed, unique contribution, misses. The counterfactual check re-runs only the synthesis step with one seat's input withheld — and the doc is unusually honest about what that measures: only direct marginal contribution at that stage, because if other seats already read the seat's work, its influence propagated and the cut must be made at the relevant exposure boundary instead; and a changed synthesis may be sampling variation, so repeat before reading signal. The honesty rule: no causal-lift claims without a counterfactual — traceable contribution only.

Assignment decomposition (pilot). Instead of casting "which expert should we spawn?", the overlay decomposes the question into reasoning needs along six dimensions — object of attention, reasoning operation, expert lens, stance, information exposure, required contribution — then groups rows into seats by a why-chain boundary test (if later steps need to know why earlier steps concluded, keep the chain in one instance). Sizing becomes an output of the grouping, not an input; casts are marked dimension-derived in the manifest so a roster-vs-dimension comparison can be cut later. The persona drops to being the "delivery vehicle" for an assignment.

Anti-anchoring process design. Specialists work in isolation before any exposure (early exposure anchors every later voice to the first confident output); cross-reading happens only in convergence rounds; summaries before full transcripts; the adversarial seat runs last, after positions have hardened enough to be worth attacking. Checkpoints after each synthesis triage user feedback into minor (fold in) vs. major (offer a re-round), with round ceilings forcing convergence.

Design decisions

Comparison notes


Sources: raw/agent-designer, Agent Designer Last updated: 2026-09-15