{"id":"125a3f7a-c1ad-4f08-8ef9-5ecd3650a797","shortId":"cgEL9W","kind":"skill","title":"consensus","tagline":"Auto-activate when evaluating architectural decisions, comparing technology choices, weighing design trade-offs, assessing feature proposals, making build-vs-buy decisions, choosing between competing approaches, when a decision has significant long-term consequences, when multipl","description":"# Consensus\n\nStructured decision evaluation through stance rotation — analyze from advocate, critic, and neutral perspectives, then synthesize into a confidence-rated recommendation with concrete next steps.\n\n<workflow>\n\n## Workflow\n\n### Step 1: Select Mode\n\n| Decision Scope | Mode | Reason |\n| -------------- | ---- | ------ |\n| Bounded, reversible | **Sequential** (default) | All perspectives in one pass — fast |\n| Multi-month or irreversible | **Subagent** | Three isolated subagents prevent cross-contamination |\n| Perspectives suspiciously aligned | Escalate to **Subagent** | Lack of genuine disagreement signals contamination |\n\n**Use subagent mode when:** the decision impacts more than 3 months of work, multiple teams are affected, or sequential perspectives align too easily (suspiciously low disagreement likely signals contamination — isolated subagents are required to get genuine divergence).\n\nSee `references/consensus-strategy.md` for full escalation criteria.\n\n### Step 2: Stance Rotation\n\nRotate through three perspectives (see `references/stance-rotation.md` for detailed prompts):\n\n1. **Neutral** — state the decision, list all factors (technical, organizational, timeline, risk), note missing information, present assessment without leaning toward a conclusion.\n2. **Advocate** — build the strongest case FOR: what problems does it solve, what synergies does it create, how can challenges be overcome? Subject to ethical guardrails — refuse to advocate if fundamentally harmful.\n3. **Critic** — rigorous scrutiny: real risks, overlooked complexities, simpler alternatives, flawed assumptions? Subject to ethical guardrails — acknowledge if the proposal is genuinely sound.\n\nIn **subagent mode**, dispatch three isolated subagents (one per stance) with identical context. Subagents must NOT see each other's output.\n\n### Step 3: Synthesize\n\nWeigh all three perspectives and produce a recommendation:\n\n1. **Points of agreement** — where all perspectives align (strong signal)\n2. **Points of disagreement** — where they diverge and why\n3. **Recommendation** — with confidence level: **low** / **medium** / **high**\n4. **Would change if** — conditions that would flip the recommendation\n5. **Next steps** — concrete actions based on the recommendation\n\n</workflow>\n\n<validation>\n\n### Validation Checkpoint\n\nBefore delivering the synthesis, verify:\n\n- [ ] Each perspective contributed at least one unique point not raised by the others\n- [ ] The critic identified at least one genuine risk (not manufactured disagreement)\n- [ ] The recommendation confidence level is justified by the degree of inter-perspective agreement\n- [ ] If all three perspectives agree too easily, escalate to subagent mode\n\n</validation>\n\n<example>\n\n## Example\n\n**Decision:** \"Should we migrate from REST to GraphQL?\"\n\n| Perspective | Key Finding |\n|-------------|-------------|\n| Neutral | Current REST API has 47 endpoints; clients use ad-hoc field filtering. GraphQL would reduce over-fetching but adds schema maintenance. |\n| Advocate | Mobile clients would cut payload size ~60%. Single endpoint simplifies versioning. Strong ecosystem tooling available. |\n| Critic | Team has no GraphQL experience — 2-3 month learning curve. Caching is harder. Existing REST clients need migration path. |\n\n**Synthesis:**\n\n- Agreement: Current API has over-fetching problems worth solving.\n- Disagreement: Whether the learning curve cost is justified given timeline.\n- Recommendation: **Adopt GraphQL for new endpoints only** (confidence: **medium**).\n- Would change if: Team had prior GraphQL experience (→ high confidence, full migration) or deadline is <3 months (→ stay REST).\n- Next steps: 1) Prototype one high-traffic endpoint. 2) Measure payload reduction. 3) Decide on full migration after prototype.\n\n</example>\n\n## References\n\n- **[Consensus Strategy](references/consensus-strategy.md)** — Mode selection and escalation criteria\n- **[Stance Rotation](references/stance-rotation.md)** — Detailed rotation steps, subagent dispatch, synthesis framework\n- **[Stance Prompts](../perspectives/references/stances.md)** — Advocate, critic, neutral prompts with ethical guardrails (from perspectives skill)\n\n<guardrails>\n## Guardrails\n\nAdd guardrails instructions here.\n</guardrails>","tags":["consensus","flow","cofin","agent-skills","ai-agents","beads","claude-code","codex","cursor","developer-tools","gemini-cli","opencode"],"capabilities":["skill","source-cofin","skill-consensus","topic-agent-skills","topic-ai-agents","topic-beads","topic-claude-code","topic-codex","topic-cursor","topic-developer-tools","topic-gemini-cli","topic-opencode","topic-plugin","topic-slash-commands","topic-spec-driven-development"],"categories":["flow"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/cofin/flow/consensus","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add cofin/flow","source_repo":"https://github.com/cofin/flow","install_from":"skills.sh"}},"qualityScore":"0.455","qualityRationale":"deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 11 github stars · SKILL.md body (4,270 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-24T01:03:25.755Z","embedding":null,"createdAt":"2026-04-23T13:03:58.445Z","updatedAt":"2026-04-24T01:03:25.755Z","lastSeenAt":"2026-04-24T01:03:25.755Z","tsv":"'-3':437 '/perspectives/references/stances.md':540 '1':69,167,276,501 '2':155,189,286,436,508 '3':120,221,266,295,495,512 '4':303 '47':395 '5':313 '60':421 'acknowledg':237 'action':317 'activ':4 'ad':400 'ad-hoc':399 'add':411,552 'adopt':472 'advoc':50,190,217,414,541 'affect':127 'agre':371 'agreement':279,366,451 'align':101,131,283 'altern':230 'analyz':48 'api':393,453 'approach':29 'architectur':7 'assess':17,183 'assumpt':232 'auto':3 'auto-activ':2 'avail':429 'base':318 'bound':76 'build':22,191 'build-vs-buy':21 'buy':24 'cach':441 'case':194 'challeng':208 'chang':305,481 'checkpoint':323 'choic':11 'choos':26 'client':397,416,446 'compar':9 'compet':28 'complex':228 'conclus':188 'concret':64,316 'condit':307 'confid':60,298,355,478,489 'confidence-r':59 'consensus':1,41,520 'consequ':38 'contamin':98,110,139 'context':256 'contribut':331 'cost':466 'creat':205 'criteria':153,527 'critic':51,222,343,430,542 'cross':97 'cross-contamin':96 'current':391,452 'curv':440,465 'cut':418 'deadlin':493 'decid':513 'decis':8,25,32,43,72,116,171,379 'default':79 'degre':361 'deliv':325 'design':13 'detail':165,531 'disagr':108,136,289,352,461 'dispatch':247,535 'diverg':147,292 'easili':133,373 'ecosystem':427 'endpoint':396,423,476,507 'escal':102,152,374,526 'ethic':213,235,546 'evalu':6,44 'exampl':378 'exist':444 'experi':435,487 'factor':174 'fast':85 'featur':18 'fetch':409,457 'field':402 'filter':403 'find':389 'flaw':231 'flip':310 'framework':537 'full':151,490,515 'fundament':219 'genuin':107,146,242,348 'get':145 'given':469 'graphql':386,404,434,473,486 'guardrail':214,236,547,551,553 'harder':443 'harm':220 'high':302,488,505 'high-traff':504 'hoc':401 'ident':255 'identifi':344 'impact':117 'inform':181 'instruct':554 'inter':364 'inter-perspect':363 'irrevers':90 'isol':93,140,249 'justifi':358,468 'key':388 'lack':105 'lean':185 'learn':439,464 'least':333,346 'level':299,356 'like':137 'list':172 'long':36 'long-term':35 'low':135,300 'mainten':413 'make':20 'manufactur':351 'measur':509 'medium':301,479 'migrat':382,448,491,516 'miss':180 'mobil':415 'mode':71,74,113,246,377,523 'month':88,121,438,496 'multi':87 'multi-month':86 'multipl':40,124 'must':258 'need':447 'neutral':53,168,390,543 'new':475 'next':65,314,499 'note':179 'off':16 'one':83,251,334,347,503 'organiz':176 'other':341 'output':264 'over-fetch':407,455 'overcom':210 'overlook':227 'pass':84 'path':449 'payload':419,510 'per':252 'perspect':54,81,99,130,161,271,282,330,365,370,387,549 'point':277,287,336 'present':182 'prevent':95 'prior':485 'problem':197,458 'produc':273 'prompt':166,539,544 'propos':19,240 'prototyp':502,518 'rais':338 'rate':61 'real':225 'reason':75 'recommend':62,275,296,312,321,354,471 'reduc':406 'reduct':511 'refer':519 'references/consensus-strategy.md':149,522 'references/stance-rotation.md':163,530 'refus':215 'requir':143 'rest':384,392,445,498 'revers':77 'rigor':223 'risk':178,226,349 'rotat':47,157,158,529,532 'schema':412 'scope':73 'scrutini':224 'see':148,162,260 'select':70,524 'sequenti':78,129 'signal':109,138,285 'signific':34 'simpler':229 'simplifi':424 'singl':422 'size':420 'skill':550 'skill-consensus' 'solv':200,460 'sound':243 'source-cofin' 'stanc':46,156,253,528,538 'state':169 'stay':497 'step':66,68,154,265,315,500,533 'strategi':521 'strong':284,426 'strongest':193 'structur':42 'subag':91,94,104,112,141,245,250,257,376,534 'subject':211,233 'suspici':100,134 'synergi':202 'synthes':56,267 'synthesi':327,450,536 'team':125,431,483 'technic':175 'technolog':10 'term':37 'three':92,160,248,270,369 'timelin':177,470 'tool':428 'topic-agent-skills' 'topic-ai-agents' 'topic-beads' 'topic-claude-code' 'topic-codex' 'topic-cursor' 'topic-developer-tools' 'topic-gemini-cli' 'topic-opencode' 'topic-plugin' 'topic-slash-commands' 'topic-spec-driven-development' 'toward':186 'trade':15 'trade-off':14 'traffic':506 'uniqu':335 'use':111,398 'valid':322 'verifi':328 'version':425 'vs':23 'weigh':12,268 'whether':462 'without':184 'work':123 'workflow':67 'worth':459 'would':304,309,405,417,480","prices":[{"id":"3391664f-d9b5-4a71-b858-1742316becb3","listingId":"125a3f7a-c1ad-4f08-8ef9-5ecd3650a797","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"cofin","category":"flow","install_from":"skills.sh"},"createdAt":"2026-04-23T13:03:58.445Z"}],"sources":[{"listingId":"125a3f7a-c1ad-4f08-8ef9-5ecd3650a797","source":"github","sourceId":"cofin/flow/consensus","sourceUrl":"https://github.com/cofin/flow/tree/main/skills/consensus","isPrimary":false,"firstSeenAt":"2026-04-23T13:03:58.445Z","lastSeenAt":"2026-04-24T01:03:25.755Z"}],"details":{"listingId":"125a3f7a-c1ad-4f08-8ef9-5ecd3650a797","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"cofin","slug":"consensus","github":{"repo":"cofin/flow","stars":11,"topics":["agent-skills","ai-agents","beads","claude-code","codex","context-driven-development","cursor","developer-tools","gemini-cli","opencode","plugin","slash-commands","spec-driven-development","subagents","tdd","workflow"],"license":"apache-2.0","html_url":"https://github.com/cofin/flow","pushed_at":"2026-04-19T23:22:27Z","description":"Context-Driven Development toolkit for AI agents — spec-first planning, TDD workflow, and Beads integration.","skill_md_sha":"9d4193d58b3836a4c6b8442cf07d8d6a85c1a4f1","skill_md_path":"skills/consensus/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/cofin/flow/tree/main/skills/consensus"},"layout":"multi","source":"github","category":"flow","frontmatter":{"name":"consensus","description":"Auto-activate when evaluating architectural decisions, comparing technology choices, weighing design trade-offs, assessing feature proposals, making build-vs-buy decisions, choosing between competing approaches, when a decision has significant long-term consequences, when multiple teams are affected, or when the cost of reversal is high. Produces a structured recommendation with confidence level (low/medium/high), pro/con analysis, risk assessment, and concrete next steps. Use when: decisions need structured multi-perspective analysis, risk assessment from multiple angles, decisions impact more than one team, decisions span more than a few months, or when the stakes are high enough to warrant deliberate evaluation. Not for routine code review, simple config choices, or styling preferences."},"skills_sh_url":"https://skills.sh/cofin/flow/consensus"},"updatedAt":"2026-04-24T01:03:25.755Z"}}