/coa — Council of Agents
You're deciding between two valid approaches and you've been going back and forth for a week.
When you need this
- Research design decisions where multiple approaches are genuinely defensible
- Any "should we X or Y?" question where the answer depends on values, tradeoffs, or domain assumptions
- Before committing to an architecture, methodology, or framing that will be hard to reverse
What it does — and what it won't
/coa seats 3, 4, or 6 specialist agents with distinct expert perspectives, has each independently analyze your question in parallel, then synthesizes convergence and divergence through a Chair agent. You get a structured report showing where experts agree (high confidence) and where they diverge (the real ambiguity).
Note: /coa produces advisory analysis, not a deliverable. For tasks with a single correct answer that needs verification, use /pace instead. The rule of thumb: use /coa when there's no right answer, use /pace when there is one. Use /coa --quick for a faster 3-seat panel on focused questions.
Meet the Council
Six core seats are always available. The Clerk selects which to seat based on your question. always seated members appear in every council.
The Skeptic always seated
Challenges assumptions
Asks "why would this fail?" Probes for hidden risks, weak premises stated as facts, and conditions under which the proposal falls apart. The council's adversarial check.
The Practitioner always seated
Real-world feasibility
Focuses on implementation friction, resource constraints, and what actually happens when the plan meets reality. If something sounds good in theory but won't work in practice, the Practitioner will say so.
The Economist
Costs, incentives & tradeoffs
Analyzes costs, opportunity costs, incentive structures, and unintended consequences. Asks who benefits, who bears the cost, and what happens at the margin.
The Advocate
Strongest case for
Makes the best possible argument in favor of the proposal — surfaces overlooked benefits, finds the conditions under which it succeeds, and ensures the council doesn't dismiss good ideas too quickly.
The End User
Lived experience
Represents the person who will actually live with the decision — not the person making it. Prioritizes experience over theory, asks "what does this feel like to use?", and surfaces usability and equity concerns.
The Historian
Precedents & analogies
Surfaces what has been tried before and why it worked or failed. Finds analogies across domains, checks whether the "novel" proposal is actually a known pattern, and flags when history suggests caution.
Specialist seats
Any core seat can be swapped for a domain specialist when the question calls for it. The Clerk proposes the swap before convening — you can accept, reject, or request a different specialist. Some examples:
| Specialist | Swap for | Best when your question involves… |
|---|---|---|
| Statistician | Economist | Study design, sample size, significance, inference validity |
| Software Engineer | Practitioner | Implementation complexity, technical debt, system architecture |
| Domain Expert | Any | Field-specific norms, literatures, or methodological conventions |
| Ethicist | End User | Research ethics, IRB concerns, fairness, dual-use risks |
| Methodologist | Economist | Research design validity, internal vs. external validity tradeoffs |
| Policy Analyst | Advocate | Regulatory implications, stakeholder mapping, institutional constraints |
| Communicator | Historian | How to frame findings for a non-technical audience, abstract writing |
| Adversarial Reviewer | Skeptic | Pre-submission stress-testing against likely journal referee objections |
This list is not exhaustive — the Clerk can propose any specialist that fits the question. If you have a specific expert perspective in mind that isn't listed, just ask for it.
Build your own council member
You can define permanent custom council members for your project. The Clerk reads them automatically and offers them as available seats in every future session.
Step 1 — Create the directory
mkdir -p coa/personas/
Step 2 — Start from a starter persona or write your own
Four ready-to-use personas are included in the toolkit repository at coa/personas/. Copy any into your project to activate it immediately:
| File | Persona | Best for |
|---|---|---|
committee_chair.md | Committee Chair | Dissertation scope, contribution framing, defense strategy |
domain_expert.md | Domain Expert | Field methodology, reviewer expectations, literature positioning |
advisor.md | Advisor | Career decisions, timeline tradeoffs, job market framing |
industry_practitioner.md | Industry Practitioner | External validity, deployment feasibility, practitioner relevance |
# Copy a starter persona into your project (from where you cloned the toolkit)
cp path/to/Research-Toolkit/coa/personas/committee_chair.md coa/personas/
Or write your own from scratch using this structure:
# [Persona Name]
## Lens
[One sentence: the single professional perspective this member argues from exclusively.]
## Background
[2-3 sentences: their expertise, the frameworks they use, the evidence they trust.]
## Questions they always ask
- [First instinctive question]
- [Second characteristic question]
- [What they notice that other seats miss]
## Flip condition template
[What evidence would change their position — be concrete, not vague.]
## Seat category
convergent # data/metrics/tradeoffs focus
# divergent # strategy/stories/precedent focus
Step 3 — Optionally add seating rules
Create coa/ROSTER.md to tell the Clerk when to automatically offer your custom persona:
# Project ROSTER
## Custom Seats
- **Committee Chair** (`coa/personas/committee_chair.md`) — offer when question involves dissertation scope or committee strategy
- **Domain Expert** (`coa/personas/domain_expert.md`) — offer when question involves methodology or reviewer expectations
## Seating Rules
always: Skeptic, Practitioner
Once the files exist, the Clerk reads them at the start of every /coa session and offers your custom seats alongside the built-in roster. No other setup required.
Council size
| Size | Seats | Use when |
|---|---|---|
| Quick Panel (3) | Skeptic + Practitioner + 1 | Reversible decisions, focused technical question, low uncertainty |
| Working Council (4) | Skeptic + Economist + Practitioner + 1 | Most analytical questions, medium uncertainty — the default |
| Full Council (6) | All 6 core seats | Irreversible decisions, high uncertainty, multiple stakeholders affected |
/coa vs. /pace — which one do you need?
| /coa | /pace | |
|---|---|---|
| Question type | Multiple valid answers exist | One correct answer exists |
| Goal | Structured disagreement & synthesis | Verified, cross-checked deliverable |
| Output | Advisory synthesis — you decide | Consolidated result ready to use |
| Best for | Research design, methodology choices, strategic decisions | Numerical verification, proof checking, document drafting |
| Agents | 3–6 specialists with distinct expert lenses | 2 independent players + 2 coaches + cross-reviewer |
Worked example
Priya needs to decide whether to add a Bayesian correction to her differential expression pipeline before her ISMB submission deadline. She's been going back and forth for a week.
/coa Should I add a Bayesian prior correction to my DE pipeline before ISMB, or submit with the frequentist method and note the limitation?
The council convenes with Skeptic, Practitioner, Economist, and a Statistician specialist. The Statistician argues the correction reduces false discovery rate on sparse cell types. The Practitioner warns adding it now risks introducing bugs without time for re-validation. The Skeptic notes reviewers will accept a limitation note if Priya can quantify the expected FDR difference. The Chair synthesizes convergence: "submit now, revise after" — with a specific limitation-note template included.
Try it
/coa Should I [option A] or [option B]?
/coa --quick [focused question]
Run /dailysummary after a council session — the Chair synthesis and any DIVERGE findings are decision rationale that's easy to lose if not recorded.