本文へ移動
cccskills
無料GitHub で公開

decide

Three-agent adversarial debate protocol for strategic decisions. Two advocates steelman opposing positions while a moderator identifies risks and synthesizes a binding consensus. Use when choosing between alternatives, evaluating tradeoffs, or making high-stakes decisions.

インストール方法を見る

含まれるファイル(2)

  • SKILL.md6.4 KB
  • references/debate-prompts.md6.8 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

<!-- Copyright 2025-2026 Richard Shade. Licensed under Apache-2.0. --> <!-- SPDX-License-Identifier: Apache-2.0 -->

Adversarial Consensus Protocol

Run a structured three-agent debate to reach consensus on a strategic decision. Two advocates steelman opposing positions while a moderator asks hard questions, identifies risks, and synthesizes the binding consensus.

Why this works: adversarial structure surfaces arguments brainstorming misses. Evidence-grounded research prevents epistemic closure. Forced concessions in Round 2 prevent entrenchment. The moderator writes the binding consensus after hearing both sides.

Pre-flight validation

Before running the debate, verify the input contains a genuine decision with at least two distinguishable options or courses of action.

If the input is a factual question, explanation request, or single-option statement, respond directly instead: "This protocol works best when choosing between alternatives. Could you rephrase with the options you're weighing, or ask me directly?"

When in doubt, proceed — err on the side of running the debate.

Phase 0: Research and frame the decision

Step 0.1: Gather context

Read project documentation and context files to understand the decision space. Common sources include README, architecture docs, product docs, recent git history, and any files the user referenced.

Step 0.2: Identify the two positions

From the decision topic, formulate two clear, opposing positions:

  • Position A: one side of the decision
  • Position B: the opposing side

If the topic naturally implies two sides (e.g., "gRPC vs REST"), use those directly. If the topic is open-ended (e.g., "pricing strategy"), research the space and formulate the two strongest opposing approaches.

Step 0.3: Identify constraints

Extract hard constraints from the user's message or project docs: budget limits, timeline requirements, team size, technical constraints, business requirements, non-negotiable values.

Step 0.4: Present brief

Generate the debate brief before proceeding. Evaluate against three conditions:

  • Can the two positions be stated without significant overlap?
  • Is the question genuine (not leading or presupposing an answer)?
  • Are there at least two meaningfully distinct outcomes?

If all conditions pass, present the brief and proceed to Phase 1:

Decision: [one-line summary]
Position A: [name] — [one-sentence description]
Position B: [name] — [one-sentence description]
Constraints: [list any hard constraints]
Launching Round 1...

If any condition fails, present the brief and ask the user whether to reframe or proceed as-is.

Phase 1: Round 1 — position papers

Launch three agents in parallel. Each agent runs independently and cannot read the others' output.

  • Advocate A: steelman Position A. Research externally to find at least 2 supporting sources. Write a comprehensive position paper with architecture, implementation plan, costs, timelines, risks, and mitigations. Cite sources inline.
  • Advocate B: steelman Position B with the same structure and research requirements as Advocate A.
  • Moderator: critically examine both positions using external counter-evidence. Find at least 2 sources that challenge each position. List the 10 hardest questions (5 per position), identify the 5 biggest risks per approach, propose a hybrid model, and reach a preliminary recommendation.

Compose agent prompts following references/debate-prompts.md — Round 1 section.

Synthesize Round 1

After all three agents complete, present to the user:

  1. Where all three agree — table of consensus points
  2. Where they disagree — table of tensions with each agent's position
  3. Brief commentary on the key tensions

Then immediately proceed to Round 2.

Phase 2: Round 2 — forced convergence

Launch three agents in parallel. Each agent receives a summary of the other agents' arguments and must respond.

  • Revised Advocate A: respond to the strongest challenges from Advocate B and the Moderator. Concede valid points honestly, defend where Position A remains strongest, and state a revised position.
  • Revised Advocate B: same structure as Revised A, responding to challenges from Advocate A and the Moderator.
  • Consensus Moderator: drive toward final consensus. Write the binding consensus document: the agreed model, resolved tensions, execution timeline, 3 key metrics, the single biggest risk, and a one-paragraph elevator pitch.

Compose agent prompts following references/debate-prompts.md — Round 2 section.

Phase 3: Present results

Step 3.1: Present the consensus

Show the user:

  1. Key concessions from each advocate (what changed their minds)
  2. The consensus model — the Moderator's final recommendation
  3. Structure or plan details (tiers, architecture, timeline)
  4. Key metrics to track
  5. Biggest risk and mitigation

Step 3.2: Ask about persistence

Ask the user if they want to save the consensus. Determine the appropriate file based on the decision type:

  • Business decisions → biz.md
  • Architecture decisions → ARCHITECTURE.md or ADR-NNN.md
  • Product decisions → PRODUCT.md
  • Strategy → appropriate project document
  • Or a new file if none fits

Orchestrator guidelines

  • Always launch all 3 agents per round in a single step (parallel)
  • Never edit the agents' arguments — present them faithfully
  • The Moderator's Round 2 consensus is the binding output — but the user has final authority to override
  • Keep your own commentary brief — the agents did the thinking; you synthesize and present
  • If agents do not converge after Round 2, highlight the remaining disagreement and ask the user to break the tie rather than running more rounds
  • Adapt prompt specifics to the domain — a pricing decision needs cost numbers; an architecture decision needs technical tradeoffs
  • Include relevant project context in every agent prompt — agents run in isolation and cannot read each other's output

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Prepares Go applications to work effectively with AI coding agents. Use when setting up a new Go project or retrofitting an existing one to ensure: structured JSON logging (slog/Zap/ZeroLog/Logrus), machine-readable command output, thorough golangci-lint configuration, non-interactive CLI design with --yes flags, structured error handling with meaningful exit codes, proper context.Context propagation, graceful shutdown, health check endpoints, and a standardized Makefile. Triggers when a user asks to make their Go app "agent-ready," "AI-friendly," wants to improve agent tooling/observability in a Go project, or needs to audit an existing Go project against agent-readiness best practices.

日本語の概要は準備中です。原文の説明を表示しています。

dirien/yet-another-agent-harness202026年5月31日 更新

Use when creating or updating AGENTS.md files, .github/copilot-instructions.md, or other AI agent rule files, onboarding AI agents to a project, standardizing agent documentation, or when anyone mentions AGENTS.md, agent rules, project onboarding, or codebase documentation for AI agents.

日本語の概要は準備中です。原文の説明を表示しています。

dirien/yet-another-agent-harness202026年5月31日 更新

Use when designing new high-level system architecture, reviewing existing designs, or making architectural decisions. Invoke to create architecture diagrams, write Architecture Decision Records (ADRs), evaluate technology trade-offs, design component interactions, and plan for scalability. Use for system design, architecture review, microservices structuring, ADR authoring, scalability planning, and infrastructure pattern selection — distinct from code-level design patterns or database-only design tasks.

日本語の概要は準備中です。原文の説明を表示しています。

dirien/yet-another-agent-harness202026年5月31日 更新

Use when building CLI tools, implementing argument parsing, or adding interactive prompts. Invoke for parsing flags and subcommands, displaying progress bars and spinners, generating bash/zsh/fish completion scripts, CLI design, shell completions, and cross-platform terminal applications using commander, click, typer, or cobra.

日本語の概要は準備中です。原文の説明を表示しています。

dirien/yet-another-agent-harness202026年5月31日 更新

Convert an AWS CloudFormation stack or template to Pulumi. This skill MUST be loaded whenever a user requests migration or conversion of CloudFormation to Pulumi.

日本語の概要は準備中です。原文の説明を表示しています。

dirien/yet-another-agent-harness202026年5月31日 更新

Analyzes code diffs and files to identify bugs, security vulnerabilities (SQL injection, XSS, insecure deserialization), code smells, N+1 queries, naming issues, and architectural concerns, then produces a structured review report with prioritized, actionable feedback. Use when reviewing pull requests, conducting code quality audits, identifying refactoring opportunities, or checking for security issues. Invoke for PR reviews, code quality checks, refactoring suggestions, review code, code quality. Complements specialized skills (security-reviewer, test-master) by providing broad-scope review across correctness, performance, maintainability, and test coverage in a single pass.

日本語の概要は準備中です。原文の説明を表示しています。

dirien/yet-another-agent-harness202026年5月31日 更新

dirien のスキルをすべて見る

このスキルの問題を報告する