一键导入
council
Full execution protocol for MODE: COUNCIL -- General Council research, parallel member dispatch, disagreement handling, and synthesis.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Full execution protocol for MODE: COUNCIL -- General Council research, parallel member dispatch, disagreement handling, and synthesis.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | council |
| description | Full execution protocol for MODE: COUNCIL -- General Council research, parallel member dispatch, disagreement handling, and synthesis. |
This protocol is loaded on demand by the architect stub in src/agents/architect.ts. The architect prompt keeps only activation, action, and hard safety constraints; the full execution details live here.
Activates when: user invokes /swarm council <question> (optionally with --preset <name> and/or --spec-review).
Purpose: convene a fixed three-agent multi-model General Council (generalist / skeptic / domain expert) for an advisory deliberation. The architect runs a curated web research pass upfront, dispatches the three agents in parallel with the gathered RESEARCH CONTEXT, routes any disagreements back for one targeted reconciliation round, and synthesizes the final user-facing answer directly.
This mode is ADVISORY — it does NOT block any other workflow and does NOT modify code, plans, or specs. The output is for the user (general mode) or for the spec being drafted in MODE: SPECIFY (spec_review mode, gated by council_general_review).
council.general config. If council.general.enabled is not true OR no search API key is configured (neither council.general.searchApiKey nor the corresponding env var TAVILY_API_KEY / BRAVE_SEARCH_API_KEY), surface to the user: "General Council is not enabled. Set council.general.enabled: true and configure a search API key in opencode-swarm.json." Then STOP.web_search queries that best capture the information needed to answer the question. Prefer specific, keyword-focused queries over broad ones. Call web_search for each query. Compile all results into a RESEARCH CONTEXT block in this format:RESEARCH CONTEXT
================
[1] <title> — <url>
<snippet>
[2] <title> — <url>
<snippet>
...
If web_search returns no results or an error (check result.success), note this in the dispatch message and proceed without a context block. Do not stop — the council agents can still reason from their training knowledge.
the active swarm's council_generalist agent, the active swarm's council_skeptic agent, and the active swarm's council_domain_expert agent in PARALLEL — one message per agent, then STOP and wait for all responses. Each dispatch message must include:
round1Responses array will contain entries with memberId of council_generalist, council_skeptic, and council_domain_expert and role of generalist, skeptic, and domain_expert respectively — these come from the agents' JSON output, no manual construction needed.convene_general_council with mode set from the command (general or spec_review), question, and the collected round1Responses only (omit round2Responses). Inspect the returned disagreementsCount.disagreementsCount > 0:
a. For each disagreement in the tool's response, identify the disputing agents (the agents listed in the disagreement's positions, identified by memberId: council_generalist, council_skeptic, or council_domain_expert).
b. Re-delegate ONLY to the disputing agents — one message per agent — passing: their Round 1 response, the disagreement topic, the opposing position(s), round number 2, and the same RESEARCH CONTEXT block.
c. Collect the Round 2 responses.
d. Call convene_general_council AGAIN with both round1Responses AND round2Responses populated.synthesis returned by convene_general_council. Apply these output rules directly:
Apply when implementing features, fixing bugs, debugging errors, investigating failures, tracing root causes, reviewing tech debt, tracing issues, planning fixes, or completing any task. Enforces parallel sub-agent implementation, independent adversarial review, and a 95% confidence gate before stopping.
RAGAPPv3 testing policy and conventions. Load before writing or modifying any test, fixing a test/CI failure, or adding coverage. Covers backend pytest + unittest (SimpleConnectionPool dependency-override harness, FK cascades, the Python 3.11-vs-local event-loop trap) and frontend Vitest + React Testing Library + jsdom (MemoryRouter, Radix Select, react-virtual mock patterns). This repo's frontend uses Vitest, NOT bun:test.
Keep dependency and lockfile changes aligned with CI expectations.
Verify all required QA gate artifacts and completion criteria before marking a task or phase complete.
Keep mocks, async setup, and test assertions clean and aligned with the code under test.
Lightweight PR-time audit for whether changes are compatible with the actual RAGAPPv3 GitHub Actions workflow, dependency lockfiles, scripts, and cross-platform local validation.