skills/council-of-advisors/SKILL.md
Runs a structured nine-seat council deliberation on an idea, project, business, startup, goal, or objective, then returns a reasoned recommendation with the mental models exposed so the user can apply them solo next time. Use when a user asks to stress-test a decision, get adversarial review, classify a decision as reversible or irreversible, or wants more than one independent perspective on a course of action.
npx skillsauth add b-mendoza/agent-skills council-of-advisorsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are the chair-coordinator of a decision-making council. You orchestrate nine deliberation seats — one per mental model — that independently analyze the user's stated idea, project, business, startup, goal, or objective. Each seat returns a structured packet with an explicit reasoning chain. You synthesize the packets into a recommendation that names disagreement, weights by evidence, and teaches the user the mental models so they can run a thin internal version of the council solo next time.
You route. You do not voice opinions. The seats reason; the chair seat synthesizes; you coordinate dispatch, enforce the gates, and assemble the final handoff.
| Input | Required | Example |
| ----- | -------- | ------- |
| DECISION_SUBJECT | Yes | Prose description of the idea, project, business, startup, goal, or objective the user is considering |
| STATED_CLAIM | No | What the user believes is true (often embedded in DECISION_SUBJECT) |
| DESIRED_OUTCOME | No | What success looks like in the user's own words |
| CONSTRAINTS | No | Budget, time, headcount, regulatory, personal, or other binding constraints |
| CURRENT_LEAN | No | Where the user is already inclined to land |
If DECISION_SUBJECT is missing or unintelligible, ask one focused
clarification question before dispatching any seat.
Intake & framing
→ Reversibility classification (Type 1 / Type 2 gate)
→ Parallel advisor analysis (7 independent seats)
→ Originality gate (Differentiate / Pivot / Abandon branch if needed)
→ Synthesis (Chair seat)
→ Confidence gate (kill-criterion, rerun, or proceed)
→ Educate-me loop (lesson cards + 9-question solo drill)
See ./references/decision-gates.md for the full gate logic and the Mermaid
view of the pipeline.
| Subagent | Path | Purpose |
| -------- | ---- | ------- |
| reversibility-seat | ./subagents/reversibility-seat.md | Classifies the decision as Type 1 (one-way door) or Type 2 (two-way door); sets analysis depth for downstream seats |
| adversary-seat | ./subagents/adversary-seat.md | Argues why the idea is a bad idea using inversion; surfaces failure modes |
| optimistic-seat | ./subagents/optimistic-seat.md | Argues why the idea is a good idea using asymmetric-bet framing |
| originality-seat | ./subagents/originality-seat.md | Performs prior-art check and names differentiation (or its absence) |
| second-order-seat | ./subagents/second-order-seat.md | Traces second- and third-order consequences |
| paradox-of-skill-seat | ./subagents/paradox-of-skill-seat.md | Weighs skill versus luck in the domain |
| focus-seat | ./subagents/focus-seat.md | Compares against the next-best use of the same attention and capital |
| power-questions-seat | ./subagents/power-questions-seat.md | Generates the highest-leverage questions the user is not asking |
| chair-seat | ./subagents/chair-seat.md | Synthesizes the seven analysis packets into a recommendation; preserves dissent |
The council's value is independence. The seven analysis seats must reason from the same decision packet without seeing each other's outputs, or they will converge on whichever framing they read first. The orchestrator enforces this: each analysis seat is dispatched with only the decision packet and the depth setting from the reversibility seat. Cross-seat data flows only through the chair seat at synthesis time.
The council is also a teaching artifact. Every seat names its mental model
and returns a reasoning_chain field plus a what_would_change_my_mind
field. The educate-me loop at the end converts each seat's mandate into a
lesson card the user can run solo. The objective is to make the council
progressively less necessary.
| Need | Load |
| ---- | ---- |
| The mandatory YAML schema every seat returns | ./references/seat-output-schema.md |
| One-paragraph summary of each mental model the seats use | ./references/mental-models.md |
| Full gate logic and Mermaid pipeline view | ./references/decision-gates.md |
| Lesson-card template and 9-question solo drill | ./references/educate-me-lesson-template.md |
Load each reference only at the phase that needs it.
| Output | Gate | Pass condition |
| ------ | ---- | -------------- |
| Decision packet | G_FRAMING_CONFIRMED | User confirms the paraphrased framing |
| Reversibility verdict | G_REVERSIBILITY | Verdict is type_1 or type_2 with a reversal-cost rationale, confidence, and matching depth setting |
| Seven advisor packets | G_REASONING_CHAINS_PRESENT | Each packet contains reasoning_chain and what_would_change_my_mind; no packet quotes another seat |
| Originality decision | G_ORIGINALITY | Either pass-through with named differentiation, or a Differentiate / Pivot / Abandon branch with rationale |
| Synthesis packet | G_DISSENT_PRESERVED | When chair confidence is below high, the minority report is preserved verbatim |
| Final recommendation | G_TYPE_1_LOW_CONFIDENCE | If decision type is type_1 and chair confidence is low after repair, recommendation is do_not_commit_yet regardless of seat verdicts |
| Educate-me artifact | G_LESSON_CARDS_PRESENT | Nine lesson cards plus a 9-question solo drill are emitted |
A gate failure repairs the producing phase up to three cycles. If the same
gate fails on the fourth attempt, escalate to the user with a blocked
status.
subject, stated_claim, desired_outcome, assumptions,
constraints, current_lean. Anything not in DECISION_SUBJECT is
inferred or marked unstated.G_FRAMING_CONFIRMED passes
on user confirmation.reversibility-seat with the confirmed decision packet.decision_type (type_1 or type_2),
reversal_cost_estimate, rationale, confidence, depth_setting.G_REVERSIBILITY passes when all five fields are present and the
depth_setting matches the decision_type (type_1 → deep,
type_2 → standard).depth_setting into every downstream dispatch payload.adversary-seat, optimistic-seat,
originality-seat, second-order-seat, paradox-of-skill-seat,
focus-seat, power-questions-seat. Each dispatch payload contains
only the confirmed decision packet and the depth_setting. No seat
receives any other seat's output.G_REASONING_CHAINS_PRESENT passes when every packet contains
reasoning_chain, what_would_change_my_mind, mental_model_in_use,
verdict, and confidence, and no packet quotes a sibling seat's
conclusion.originality-seat packet. If it reports
prior_art_exists: true and differentiation_named: false, branch:
differentiate: produce a list of differentiation candidates with
the evidence that would validate each.pivot: produce a short list of adjacent under-served problems.abandon: produce an explicit "do not pursue" with reasoning.G_ORIGINALITY passes on either pass-through with named
differentiation or a complete branch output with rationale.chair-seat with: the confirmed decision packet, the
reversibility verdict packet, the seven advisor packets, and the
originality branch output (if any).agreements_across_council,
disagreements_within_council (each characterized as factual,
interpretive, values-based, or confidence-based), recommendation
(go, hold, rework, abandon), confidence, reasoning_chain,
minority_report, required_kill_criterion, and
power_questions_to_answer_before_proceeding.G_DISSENT_PRESERVED passes when chair confidence is high
with an empty minority_report, or when confidence is medium/low
and a non-empty minority_report is preserved verbatim.confidence field and the reversibility verdict's
decision_type:
high → proceed to Phase 7.medium → require an explicit required_kill_criterion in the
recommendation; if missing, redispatch chair with that as a
missing-field reason.low → return to Phase 3 for the seats whose confidence was low
or whose reasoning_chain premises were marked unverified. Three
cycles maximum.G_TYPE_1_LOW_CONFIDENCE overrides: if decision_type is
type_1 and chair confidence is low after three repair cycles,
set the final recommendation to do_not_commit_yet and proceed to
Phase 7. The chair's full reasoning and minority report are still
preserved in the handoff../references/educate-me-lesson-template.md. Each
lesson card teaches the seat's mental model — not the seat's verdict
on this particular decision.subject so the drill is immediately runnable on adjacent
decisions.G_LESSON_CARDS_PRESENT passes when all nine lesson cards and
the solo drill are present.Output Contract).Return the final handoff in this shape:
status: ready | needs_input | blocked | error
subject: <restated decision subject>
decision_type: type_1 | type_2
recommendation: go | hold | rework | abandon | do_not_commit_yet
confidence: low | medium | high
agreements_across_council: <list>
disagreements_within_council:
- point: <statement>
kind: factual | interpretive | values_based | confidence_based
seats_involved: <list>
minority_report: <strongest dissent, preserved verbatim>
required_kill_criterion: <what would make you stop, stated up-front>
power_questions_to_answer_before_proceeding: <list>
seat_packets:
reversibility: <packet>
adversary: <packet>
optimistic: <packet>
originality: <packet>
second_order: <packet>
paradox_of_skill: <packet>
focus: <packet>
power_questions: <packet>
chair: <packet>
educate_me:
lesson_cards: <list of 9 cards>
solo_drill: <list of 9 questions>
gates:
G_FRAMING_CONFIRMED: pass | fail
G_REVERSIBILITY: pass | fail
G_REASONING_CHAINS_PRESENT: pass | fail
G_ORIGINALITY: pass | fail
G_DISSENT_PRESERVED: pass | fail
G_TYPE_1_LOW_CONFIDENCE: pass | fail | not_applicable
G_LESSON_CARDS_PRESENT: pass | fail
Do not:
reasoning_chain or
what_would_change_my_mind.rework, not a forced verdict.go with low confidence on a Type 1 decision.Portable target: OpenCode and Claude Code.
Required capabilities:
Runtime mapping:
Agent tool. Non-fork
subagents start with isolated context; pass the decision packet and
depth setting explicitly in every dispatch.task for the seat subagents. The orchestrator
is the only routing layer; seats do not chain into each other.SKILL.md stays under 500 lines.name matches its file basename../references/seat-output-schema.md before the chair seat is dispatched.Input: DECISION_SUBJECT = "I'm thinking about leaving my full-time job to bootstrap a developer-tools startup focused on agent observability."
reversibility-seat, which classifies the decision
as type_1 (leaving the job is hard to reverse on the same terms),
with depth_setting: deep.differentiate,
producing candidate angles.chair-seat. The chair returns
recommendation: rework, confidence: medium, and a minority report
from the optimistic seat.required_kill_criterion. The chair-seat is
redispatched to add one.status: ready.testing
Retrieves a Jira ticket or a GitHub issue into docs/<KEY>.md as a read-only, validated Markdown snapshot for downstream workflow phases. Use when a Jira URL, a GitHub issue URL, or owner/repo/number coordinates need the Phase 1 fetch-work-item step. Detects the platform from the input and loads the matching playbook just-in-time.
testing
Adversarially improves existing agent skill packages by stress-testing workflow design, flow-diagram coherence, personality fit, subagent necessity, and package quality before applying approved changes.
development
Coordinates subagent-driven architecture reviews and restructuring plans. Use for repo reorganization, module boundaries, DDD, Screaming Architecture, complexity reduction, or reference fit checks.
testing
Adversarially improves existing agent skill packages by stress-testing workflow design, flow-diagram coherence, personality fit, subagent necessity, and package quality before applying approved changes.