{"id":"942ee556-3395-451d-8ff6-ff9c4840292a","entityType":"agent","slug":"clawhub-mclyang-conclave-skill","name":"conclave","canonicalUrl":"https://www.xpersona.co/agent/clawhub-mclyang-conclave-skill","canonicalPath":"/agent/clawhub-mclyang-conclave-skill","generatedAt":"2026-10-12T17:40:10.203Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-12T01:49:44.347Z","emptyReason":null},"description":"Conclave is a multi-agent reasoning skill that orchestrates multiple AI CLIs into structured debates. Each agent independently analyzes the problem, challenges competing arguments, identifies flaws and contradictions, and refines the reasoning through multiple rounds of discussion — helping you reach more reliable conclusions than relying on a single AI. Skill: conclave Owner: mclyang Summary: Conclave is a multi-agent reasoning skill that orchestrates multiple AI CLIs into structured debates. Each agent independently analyzes the problem, challenges competing arguments, identifies flaws and contradictions, and refines the reasoning through multiple rounds of discussion — helping you reach more reliable conclusions than relying on a single AI. Tags: latest:1.6.7 Vers","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 959 downloads reported by the source. Last updated 10/12/2026.","installCommand":"clawhub skill install s177gyq4npjm4wcj5rqjb4cegh8cdfps:conclave-skill","sourceUrl":"https://clawhub.ai/mclyang/conclave-skill","homepage":"https://clawhub.ai/mclyang/skills/conclave-skill","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/mclyang/conclave-skill","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/mclyang/skills/conclave-skill","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":60,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Conclave is a multi-agent reasoning skill that orchestrates multiple AI CLIs into structured debates. Each agent independently analyzes the problem, challenges "},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-12T01:49:44.347Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-12T01:49:44.347Z","emptyReason":null},"stars":null,"forks":null,"downloads":959,"likes":null,"task":null,"library":null,"packageName":null,"latestVersion":"1.6.7","tractionLabel":"959 downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-12T01:49:44.332Z","emptyReason":null},"lastUpdatedAt":"2026-10-12T01:49:44.347Z","lastCrawledAt":"2026-10-12T01:49:44.332Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-13T01:49:44.332Z","lastVerifiedAt":null,"highlights":[{"version":"1.6.7","createdAt":"2026-08-16T01:36:32.300Z","changelog":"Field lessons 23-24: never edit a prior debate's files (follow-up=new arena, merges=new file); wait for all panelists (late != absent) before convergence/final step","fileCount":12,"zipByteSize":40756},{"version":"1.6.6","createdAt":"2026-08-16T00:54:58.409Z","changelog":"Add known-issues warning (2026-08-16): Doubao seed models very slow/time out, DeepSeek deepcode needs manual config; drop both to run Standard 4-panelist mode if experience is poor","fileCount":12,"zipByteSize":40031},{"version":"1.6.5","createdAt":"2026-08-16T00:48:21.840Z","changelog":"Add Prerequisites section: system deps (node/python3/jq), 4 npm CLIs + auth, 2 manual Deep-mode panelists (DeepSeek wrapper, Doubao arkcli), Manus advisor key, proxy-bypass note","fileCount":12,"zipByteSize":39539},{"version":"1.6.4","createdAt":"2026-08-16T00:41:20.505Z","changelog":"Add mandatory Brief Sign-off Gate (user reviews brief before R1 launch); add field lessons 20-22 (follow-up/sub-debate = NEW arena never a subfolder; sub-debate workflow compression); English-only source cleanup","fileCount":12,"zipByteSize":38123},{"version":"1.6.3","createdAt":"2026-08-15T20:49:08.966Z","changelog":"Repo hygiene / audit response: removed the bundled real debate archive (debates/20260813-selfopt: briefs, mappings, verdicts) and the Volcengine SDK example dumps (ark-examples/, contained a live endpoint id and image_url). Added .gitignore for debates/, *.jsonl, ark-examples/. No functional change to the skill; clears the audit's Session Persistence and External Transmission findings. All disclosed behaviors and safety notices unchanged.","fileCount":12,"zipByteSize":36934},{"version":"1.6.2","createdAt":"2026-08-14T20:37:35.601Z","changelog":"Security audit response: Full Capability Disclosure at top of SKILL.md; calibration.jsonl persistence disclosed; export security warning added; metadata tags expanded with Install/Update/Export/Archive","fileCount":40,"zipByteSize":71059},{"version":"1.6.1","createdAt":"2026-08-14T05:19:58.127Z","changelog":"Bugfix: eliminate all 4/5 panelist count residues; update tags for 6-panelist Deep mode (Claude/Codex/Gemini/Qwen/DeepSeek/Doubao)","fileCount":40,"zipByteSize":70239},{"version":"1.6.0","createdAt":"2026-08-14T05:02:32.156Z","changelog":"6-panelist Deep mode: Claude/Codex/Gemini/Qwen/DeepSeek/Doubao; deepcode-panelist wrapper for non-interactive DeepSeek; panelists.md updated; consensus protocol v1.1","fileCount":40,"zipByteSize":70192}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s177gyq4npjm4wcj5rqjb4cegh8cdfps:conclave-skill","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-mclyang-conclave-skill/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-mclyang-conclave-skill/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-mclyang-conclave-skill/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-mclyang-conclave-skill/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-mclyang-conclave-skill/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-mclyang-conclave-skill/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-12T17:40:10.198Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-mclyang-conclave-skill/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-mclyang-conclave-skill/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-mclyang-conclave-skill/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-mclyang-conclave-skill/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-12T01:49:44.347Z","emptyReason":null},"readme":"Skill: conclave\n\nOwner: mclyang\n\nSummary: Conclave is a multi-agent reasoning skill that orchestrates multiple AI CLIs into structured debates. Each agent independently analyzes the problem, challenges competing arguments, identifies flaws and contradictions, and refines the reasoning through multiple rounds of discussion — helping you reach more reliable conclusions than relying on a single AI.\n\nTags: latest:1.6.7\n\nVersion history:\n\nv1.6.7 | 2026-08-16T01:36:32.300Z | user\n\nField lessons 23-24: never edit a prior debate's files (follow-up=new arena, merges=new file); wait for all panelists (late != absent) before convergence/final step\n\nv1.6.6 | 2026-08-16T00:54:58.409Z | user\n\nAdd known-issues warning (2026-08-16): Doubao seed models very slow/time out, DeepSeek deepcode needs manual config; drop both to run Standard 4-panelist mode if experience is poor\n\nv1.6.5 | 2026-08-16T00:48:21.840Z | user\n\nAdd Prerequisites section: system deps (node/python3/jq), 4 npm CLIs + auth, 2 manual Deep-mode panelists (DeepSeek wrapper, Doubao arkcli), Manus advisor key, proxy-bypass note\n\nv1.6.4 | 2026-08-16T00:41:20.505Z | user\n\nAdd mandatory Brief Sign-off Gate (user reviews brief before R1 launch); add field lessons 20-22 (follow-up/sub-debate = NEW arena never a subfolder; sub-debate workflow compression); English-only source cleanup\n\nv1.6.3 | 2026-08-15T20:49:08.966Z | user\n\nRepo hygiene / audit response: removed the bundled real debate archive (debates/20260813-selfopt: briefs, mappings, verdicts) and the Volcengine SDK example dumps (ark-examples/, contained a live endpoint id and image_url). Added .gitignore for debates/, *.jsonl, ark-examples/. No functional change to the skill; clears the audit's Session Persistence and External Transmission findings. All disclosed behaviors and safety notices unchanged.\n\nv1.6.2 | 2026-08-14T20:37:35.601Z | user\n\nSecurity audit response: Full Capability Disclosure at top of SKILL.md; calibration.jsonl persistence disclosed; export security warning added; metadata tags expanded with Install/Update/Export/Archive\n\nv1.6.1 | 2026-08-14T05:19:58.127Z | user\n\nBugfix: eliminate all 4/5 panelist count residues; update tags for 6-panelist Deep mode (Claude/Codex/Gemini/Qwen/DeepSeek/Doubao)\n\nv1.6.0 | 2026-08-14T05:02:32.156Z | user\n\n6-panelist Deep mode: Claude/Codex/Gemini/Qwen/DeepSeek/Doubao; deepcode-panelist wrapper for non-interactive DeepSeek; panelists.md updated; consensus protocol v1.1\n\nv1.5.0 | 2026-08-14T02:44:02.889Z | user\n\nConsensus Protocol v1.1: NO CONSENSUS/DEBATE_FAILED terminal states, Manus dual-mode (blind reality check vs draft review), phase gates for learned aggregation, permanent equal-weight baselines, decision robustness table, FORMAL/ESTIMATOR/HEURISTIC/POLICY/EXPERIMENTAL rigor taxonomy\n\nv1.4.0 | 2026-08-14T02:30:57.733Z | user\n\nConsensus Protocol v1.0: claim-level triage, Decision-Flip-Value stopping, normalized log-odds pooling with N_eff, Manus trigger conditions, calibration logging; rejected ad-hoc correlation weighting\n\nv1.3.1 | 2026-08-13T23:42:12.607Z | user\n\nMandatory post-debate arena export to cwd; one debate one folder; Manus advisor via direct REST polling; field lessons 13-19\n\nv0.1.4 | 2026-08-13T21:20:54.190Z | user\n\nOS-aware scripts (macOS/Linux/WSL/Windows Git Bash): new install.sh detects and installs Node.js + all four panelist CLIs, then audits provider auth and prints an ACTION checklist; preflight.sh is now two-phase (best-effort CLI update + ignition pings) with non-zero exit on ping failure and zsh->bash rc-shell fallback.\n\nv0.1.3 | 2026-08-13T20:42:03.025Z | user\n\nDynamic round termination, divergence ledger, security fixes, cleanup script\n\nv1.2.0 | 2026-08-13T19:23:56.147Z | user\n\n**Major update with new security, retention, and workflow policies.**\n\n- Added a comprehensive \"Security & Privacy Notice\" section, including data retention, third-party data flow, credential handling, and scripted cleanup guidance.\n- Introduced `scripts/cleanup.sh` for automated removal of old debates; recommended periodic use.\n- Increased maximum workflow rounds from 5 to 8, allowing for earlier or later debate termination based on consensus.\n- Removed legacy `references`, `scripts`, `skill-card.md`, and `templates`; added full directory and debate file samples.\n- Clarified input validation, credential safety, and external panelist data exposure requirements.\n\nv0.1.2 | 2026-08-13T19:08:11.163Z | user\n\nConclave v1.2.0 introduces major security, privacy, and workflow updates.\n\n- Added a security & privacy notice warning about data persistence, external API use, CLI credential handling, and retention risks.\n- Removed references to insecure password patterns; users must unlock keychains manually.\n- Added scripts/cleanup.sh for automated debate archive cleanup, with instructions for scheduled use.\n- Increased maximum debate rounds from 5 to 8, clarified dynamic early termination if strategic divergence is resolved.\n- Updated directory/file discipline and round management instructions for clarity and improved robustness.\n- Removed legacy files, streamlined documentation, and updated guidance across the skill.\n\nv0.1.0 | 2026-08-13T06:57:11.797Z | auto\n\n**Major update: Adds structured multi-agent debate workflow, directory discipline, panelist roles, and process rules.**\n\n- Introduces Conclave: coordinates five AI CLIs in structured debates for high-stakes decisions.\n- Details full, enforceable workflow: pre-game setup, round structure (position → rebuttal → convergence), and strict file discipline.\n- Specifies roles: Chair (Hermes), four panelists (Claude, Codex, Gemini, Qwen), and an external advisor (Manus).\n- Enforces round-by-round anonymity, opposition rules, mandatory solution proposals, and a user-directed clarification phase.\n- Institutes arena directory structure: every debate is archived with clear phases and outcome documentation.\n- Outlines sign-off requirements and external advisor veto mechanism for added reliability.\n\nArchive index:\n\nArchive v1.6.7: 12 files, 40756 bytes\n\nFiles: README.md (6082b), references/consensus-protocol-v1.md (12077b), references/panelists.md (7135b), scripts/cleanup.sh (1498b), scripts/init_debate.sh (2865b), scripts/install.sh (8185b), scripts/preflight.sh (4716b), skill-card.md (2816b), SKILL.md (39898b), templates/brief.md (744b), templates/round-prompt.md (2661b), _meta.json (133b)\n\nFile v1.6.7:SKILL.md\n\n---\nname: conclave\ndescription: \"Conclave is a multi-agent reasoning skill that orchestrates multiple AI CLIs into structured debates. Each agent independently analyzes the problem, challenges competing arguments, identifies flaws and contradictions, and refines the reasoning through multiple rounds of discussion — helping you reach more reliable conclusions than relying on a single AI.\"\nversion: 1.6.7\nauthor: Hermes Agent\nmetadata:\n  hermes:\n    tags: [Debate, Multi-Agent, Decision, Claude, Codex, Gemini, Qwen, DeepSeek, Doubao, Ark, Manus, Install, Update, Export, Archive]\n---\n\n# Conclave — Multi-Agent Structured Debate & Adjudication\n\nGiven a user topic, convene AI agents to independently posit arguments, engage in anonymous cross-examination, converge, and sign off unanimously, producing a chair-adjudicated final markdown report.\n\nUse for high-stakes decisions (pricing structure, contract risk, architecture selection, investment judgment). Do not use for daily trivia.\n\n## ⚠️ Full Capability Disclosure (read before installing)\n\nThis skill does **significantly more** than \"debate orchestration\". By design it:\n\n- **Installs and updates global CLI tools** (`npm install -g`, brew, apt, etc.) via `scripts/install.sh` and pre-flight self-updates.\n- **Inspects local auth state** (checks for API keys, OAuth tokens, keychain status) without reading secret values.\n- **Transmits your debate topic** to 6 third-party AI cloud APIs (Claude/OpenAI, Google, Alibaba, ByteDance/Ark, Manus).\n- **Persists full debate records** indefinitely under `~/.hermes/debates/` (briefs, raw agent outputs, verdicts, votes).\n- **Mandatorily exports** the entire arena to the current working directory after every debate.\n- **Calls external REST APIs** (Manus `api.manus.im`) with the debate final draft.\n\n**Do not install if** you are not comfortable with global package changes, third-party AI services seeing your content, or full debate archives being retained and copied into your working directory.\n\n## ⚠️ Security & Privacy Notice\n\n**Before using Conclave, read this.**\n\n1. **Local data persistence**: Every debate creates a persistent folder under `~/.hermes/debates/` containing the full brief, all agent outputs, anonymity mappings, chair verdicts, and final reports. These files remain on disk indefinitely unless you manually delete them. Do not use Conclave for topics containing regulated personal data, trade secrets, or classified information unless you accept this retention risk.\n\n2. **External data sharing**: Panelists (Claude, Codex, Gemini, Qwen, DeepSeek, Doubao) receive debate prompts via their respective cloud APIs. The external advisor (Manus) receives the final draft and round summaries via MCP or direct REST polling. By running a debate, you are transmitting your topic and context to these third-party AI providers. Review each provider's data policy before debating sensitive topics.\n\n3. **Credential handling**: This skill **never** prompts for, stores, or logs passwords. The Claude Code auth section previously referenced an unsafe `security unlock-keychain -p <password>` pattern; this has been removed. Users must manually unlock the macOS keychain in an interactive terminal before background sessions.\n\n4. **Input validation**: The `init_debate.sh` script sanitizes the topic slug to lowercase letters, digits, and hyphens only. Do not pass unsanitized user input directly into shell commands.\n\n5. **Data retention & cleanup**: See `scripts/cleanup.sh` for automated cleanup of debates older than a configurable retention period. Run it periodically or via cron.\n\n6. **Calibration logging**: Verifiable predictions are appended to `~/.hermes/debates/calibration.jsonl` (prediction_id, question, timestamp, agent, role, probability, resolution_date, ground_truth, brier_score, log_loss). This file grows indefinitely. It contains only verifiable predictions, not strategic judgments. Remove it manually if you do not want this persisted.\n\n## Roles\n\n| Role | Who | Notes |\n|------|-----|-------|\n| Chair & Panelist | Hermes (this agent) | Moderates the session and also argues; must be impartial and must not favor any side (including itself) |\n| Panelists | Claude / Codex / Gemini / Qwen / DeepSeek / Doubao | Six CLIs covering reasoning, audit, research, China, coding, and generative domains |\n| External Advisor | Manus (MCP API, async) | Does not join regular rounds; reviews the final draft before sign-off; fatal-level objections give the chair the right to call an extra round |\n| User | Human | Reviews only the final report; the anonymity mapping is transparent to the user (the user has the right to know who is who) |\n\n## Prerequisites (what the user must install / configure before first use)\n\n`scripts/install.sh` auto-installs Node.js and the four npm-based CLIs and audits their auth, but it does NOT cover the two extra Deep-mode panelists, the external advisor, or the shell utilities the round scripts depend on. Install and configure everything below before the first debate. Nothing here is optional for Deep mode; Standard mode needs only items 1-2 + the first four panelists.\n\n### 0. System dependencies\n- **Node.js >= 18 + npm** — runtime for four of the panelist CLIs. `install.sh` installs it via brew/apt/dnf/pacman/winget where possible.\n- **python3** — used by the round scripts to parse JSON API responses (Doubao/Manus). Ships with macOS/most Linux; on minimal systems install it.\n- **jq** — used to JSON-escape long prompts before sending to HTTP APIs. Install via brew/apt if missing.\n- **git** — only if you publish/sync the skill; not needed to run debates.\n\n### 1. Four npm CLIs (auto-installed by install.sh)\n| Panelist | Package | Auth the user must complete |\n|----------|---------|------------------------------|\n| Claude Code | `@anthropic-ai/claude-code` | Run `claude` once interactively, finish OAuth login. On macOS, unlock the login keychain in an interactive terminal before background debates. |\n| Codex | `@openai/codex` | Put the API key in Codex's `auth.json` and set base_url/wire_api in its `config.toml` (see references/panelists.md). |\n| Gemini CLI | `@google/gemini-cli` | Export `GEMINI_API_KEY` (and base URL if using a relay) in your shell rc. Key prefix decides the provider — do not mix official and relay keys. |\n| Qwen | `@qwen-code/qwen-code` | Run `qwen` once interactively to log in, or export the API key/base URL in your shell rc. |\n\nRun `bash ~/.hermes/skills/conclave/scripts/install.sh` (or `--check-only`) to install these and print an auth checklist. Any `[ACTION]` line = the user must fix that provider before debating.\n\n### 2. Two extra panelists for Deep mode (NOT covered by install.sh — install manually)\n\n> **⚠️ Known-issues warning (verified 2026-08-16): the two Deep-mode-only panelists are the least reliable links in the chain.**\n> - **Doubao (seed models) responds very slowly** — the `doubao-seed-*` models can take 300-600s per long prompt and frequently time out on the first try (needs a retry), stalling the round. The turbo model is the only workable one for automated calls, and even it is slow.\n> - **DeepSeek (deepcode) needs manual configuration** — the wrapper + settings file must be set up by hand before it works at all (see below); a fresh machine will not have it.\n> - **If the experience is poor, just drop them: run Standard mode (4 CLIs: Claude/Codex/Gemini/Qwen + chair) instead of Deep.** The debate is fully valid without Doubao/DeepSeek — declare the reduced roster in the brief. Do not let two flaky panelists block or slow the whole session; a clean 4-panelist debate beats a stalled 6-panelist one.\n\n- **DeepSeek** — the upstream `deepcode` CLI is TTY-locked, so debates use a non-interactive **`deepcode-panelist` wrapper** on the user's PATH. Setup: `npm i -g deepcode`, run it once interactively to generate its settings file (model + API key + base URL + reasoning effort), then place the wrapper script on PATH and make it executable. Config lives in the deepcode settings file. See references/panelists.md §6 for the wrapper and known-good defaults (effort=medium, max_output_tokens, proxy bypass).\n- **Doubao (Volcengine Ark)** — `npm i -g @volcengine/ark-cli`, then `arkcli auth login volc-sso` (SSO device flow; the picker needs an interactive PTY). This writes an API key to the arkcli config file. Debates call the Ark Chat Completions REST endpoint directly with the **turbo** model (never the reasoning/seed model in automated calls — it times out). See the `volcengine-ark` skill for auth pitfalls and the safe-call recipe.\n\n### 3. External advisor (Manus) — no install, one key\n- Manus runs over the Hermes MCP channel + direct REST; there is no local CLI to install.\n- The user must have `MANUS_MCP_API_KEY` set in the Hermes config so the chair can create/poll advisor tasks. Without it, the debate still completes but the final report notes \"external advisor not reviewed\".\n\n### 4. Proxy note\n- All panelist calls must bypass any local proxy (Clash/V2Ray etc.). The round scripts already prepend the proxy-bypass env/flags; if you run a call by hand, add the same bypass or long HTTPS calls will be killed.\n\n## Pre-Game (mandatory before the first debate of each skill activation)\n\n0. **Environment check** (first activation, new machine, or after any CLI failure): run `bash ~/.hermes/skills/conclave/scripts/install.sh`\n   - Detects OS (macOS / Linux / WSL / Windows Git Bash) and Node.js/npm + all panelist CLIs; auto-installs anything missing (brew on macOS, apt/dnf/pacman on Linux, manual instructions on Windows).\n   - Then audits each provider's auth material (existence only — no secrets read) and prints an ACTION checklist.\n   - If any `[ACTION]` line appears: **STOP — ask the user to configure that provider's key/OAuth first** (exact steps in `references/panelists.md`). No debate until every provider is configured.\n   - `--check-only` audits without installing.\n1. **Initialize the arena**: run `bash ~/.hermes/skills/conclave/scripts/init_debate.sh <topic-slug>`\n   - Auto-creates `~/.hermes/debates/conclave-YYYYMMDD-<slug>/`\n   - Generates the full directory structure + starter template files (brief.md / mapping.md / constraints.md / index.md)\n2. **Fill the brief**: write brief.md, mapping.md, and constraints.md under `01_brief/`.\n3. **Version & parameter check**: see `references/panelists.md` (commands, parameters, auth pitfalls for each agent).\n4. **Pre-flight (update + ignition)**: run `bash ~/.hermes/skills/conclave/scripts/preflight.sh <arena-path>`\n   - Phase A: best-effort self-update of all panelist CLIs (failures are non-fatal and logged; `--skip-update` bypasses).\n   - Phase B: ignition ping of all panelist agents (plus Manus, verified manually); results are auto-written to `00_preflight/preflight.log`.\n   - Any ping failure: fix first (key / proxy / version), then debate.\n5. **Launch the debate**: use `terminal(background=true)` to spawn the panelist CLIs in parallel, writing outputs to `02_r1/`.\n\n## Arena Directory (one isolated folder per debate, auto-named)\n\n**Root**: `~/.hermes/debates/` (persistent archive, not /tmp)\n**Per-debate naming**: `conclave-<yyyymmdd>-<topic-slug>/`\n  - Topic slug: 2-6 lowercase English letters/digits (e.g., `medlibya`, `pricingv2`)\n  - Multiple debates on the same day append `-N` (e.g., `conclave-20260813-medlibya-2`)\n\n**Auto-init**: run `scripts/init_debate.sh <topic-slug>` to generate the directory structure and print the path.\n\n### Directory Structure\n\n| Path | Purpose |\n|------|---------|\n| `00_preflight/` | Pre-flight ping results |\n| `01_brief/` | Brief + anonymity mapping + user constraints |\n| `02_r1/` | R1 positioning (all mode-dependent panelists in parallel) |\n| `03_r2/` | R2 rebuttals |\n| `04_r3/` | Convergence round 3 |\n| `05_r4/` | Convergence round 4 |\n| `06_r5/` | Convergence round 5 |\n| `07_verdicts/` | Chair synthesis per round |\n| `08_signoff/` | Final draft + individual votes |\n| `09_deliver/` | Final report + meeting minutes |\n| `index.md` | Full index: timeline, file map, key decisions |\n\n### File Discipline\n- **Long texts go to disk**; prompts only give paths — do not stuff long text into command-line arguments.\n- **Every round's speeches must be written to the corresponding round directory**; do not just glance at terminal stdout.\n- **Chair synthesis is mandatory after every round**, written to `07_verdicts/`; otherwise panelists in the next round do not get the divergence list.\n- **Final report and minutes must land in `09_deliver/`**; also copy `final.md` to the debate root for easy discovery.\n\n## Clarification Phase (mandatory before drafting the brief)\n\nAfter receiving the topic and before writing the brief, the chair self-audits: is the topic ambiguous? Is any key constraint missing from the background?\n- Any unclear point / multiple reasonable interpretations → **ask the user first; no debate until answered**.\n- Questions must be multiple-choice (clarify tool, 2-4 options + Other); never make the user do essay questions; ask at most 4 critical ones at a time.\n- After the user answers, write brief.md; the user's answers go into the brief's \"Constraints\" section as shared premises for all agents.\n- If a trajectory-altering question arises mid-debate (e.g., a divergence hinges on a fact only the user knows) → the chair may pause, ask the user via clarify, append the answer to the brief, and resume.\n- Do not force questions when there are none — if the topic is already clear, debate immediately; do not ritualize clarification.\n\n## Brief Sign-off Gate (mandatory, user-mandated 2026-08-16)\n\n**After writing brief.md and BEFORE launching R1, the chair MUST show the brief to the user and get explicit approval to proceed.** The brief is the shared premise every panelist argues from — a wrong or incomplete brief poisons the entire debate (all panelists faithfully propagate a bad premise; you only discover it after 30-50 CLI calls). Writing the brief is NOT permission to start.\n\n- Paste the brief's key sections (topic, data pack, constraints, mode) into the reply, or give the path and ask the user to read it.\n- Ask a direct go/no-go via clarify (approve-and-launch-R1 / needs-edits). No R1 launch until the user says go.\n- If the user corrects anything, update brief.md, re-show, re-confirm.\n- Applies to EVERY debate including follow-up/supplementary/sub-debates. Separate from the Clarification Phase: clarification fills gaps in the topic; this gate confirms the assembled brief is correct before spending the CLI budget.\n- No exception — even an \"obvious\" topic gets a 10-second brief confirmation; it is far cheaper than a poisoned debate.\n\n## Workflow (dynamic rounds, auto-partitioned into directories)\n\n**Step 0 Init**: `bash ~/.hermes/skills/conclave/scripts/init_debate.sh <topic-slug>` → creates `~/.hermes/debates/conclave-YYYYMMDD-<slug>/`. All subsequent files land in this directory.\n\n```\nR1 Positioning   → agents in parallel, unseen by each other (prevent anchoring). Write to 02_r1/. Chair also writes a position.\nR2 Rebuttal      → Each agent receives the other agents' R1 (anonymized). Task: identify ≥1 fatal flaw per opponent + self-defense. Write to 03_r2/.\nR3+ Convergence  → Chair synthesizes consensus/divergence into 07_verdicts/verdict_rN.md; only divergence points are sent back.\n                   Each agent must \"concede\" or \"rebut with evidence\"; equivocation is prohibited. Write to 04_r3~08_signoff/.\n                   Termination may occur as early as R3 if strategic divergence is resolved and every objection carries an executable alternative.\n                   Hard ceiling: 8 rounds (including R1 and R2).\n```\n\nRound reference files:\n- `02_r1/` for each agent's positioning\n- `03_r2/` for rebuttal speeches\n- `07_verdicts/verdict_rN.md` for chair synthesis\n- `08_signoff/final_draft.md` for sign-off draft\n- `09_deliver/final.md` + `minutes.md` for final deliverables\n\nConstructive Opposition Iron Rule (user-mandated, applies to all rounds):\n- **Any objection / rebuttal must carry its own solution** — \"what do you think is the correct approach?\", executable, verifiable.\n- Objection + reason without solution = invalid speech; the chair names and sends it back for rewrite; it does not count toward the round's output.\n- When rebutting others in R2, you must give \"how would you fix it\"; in R3-R5, alternatives and new evidence are both mandatory.\n\n## Convergence Rules (user-mandated)\n\n### Round bounds\n- Floor: 2 rounds (R1 + R2). High-risk topics (architecture, security,\n  irreversible migration) floor: 3 rounds.\n- Ceiling: 8 rounds, hard. Sub-debate rounds count toward this ceiling.\n- Risk level is declared by the chair at the end of R1. If any panelist\n  disputes the level, the topic is treated as high-risk. Default when\n  unclear: high-risk.\n- Termination evaluation begins only after the applicable floor round.\n- Dynamic termination: the chair may terminate early when all remaining\n  divergence points are parametric/executional and every objection carries\n  an executable alternative. Hard floor still applies.\n\n### Divergence ledger\nChair maintains after each round: item ID, description, level\n(strategic / structural / parametric / executional), status\n(open / resolved / suspended / accepted-risk), alternative, verifiable\nresolution criterion, proposer, first-seen round.\n\n### Termination (all four required)\n1. No open strategic- or structural-level items.\n2. The most recent round produced no new substantive disagreement\n   (chair-classified; restatements of existing disagreements do not count).\n   Any panelist may object once per round to the chair's \"restatement, not\n   new\" classification. The objection forces the item into the ledger as\n   open; the chair must then close it on substance, not on classification.\n3. No admissible unresolved structural hold.\n4. No user veto.\n\n### Structural hold admissibility\n- A structural hold must name (a) the affected interface, data-model\n  field, or failure mode, and (b) a verifiable criterion under which it\n  would be resolved. A hold missing either is recorded as parametric and\n  does not block termination.\n- Each panelist may have at most 2 active structural holds at a time.\n- Release: proposer confirms downgrade, OR another panelist seconds the\n  downgrade, OR — after the same hold has been re-asserted in two\n  consecutive rounds with no new evidence — the chair overrules it with a\n  written reason recorded in the ledger and carried into the sign-off.\n\n### Forced close\nTrigger, whichever comes first: (a) the ceiling round is reached, or\n(b) two consecutive rounds add zero new strategic- or structural-level\nitems. On trigger the chair closes the debate and records every remaining\nopen item in the sign-off as a known unresolved risk with trigger\nconditions and a rollback plan. Forced close is a valid termination.\n\n### Stalemate\nAn item that stays strategic-level for two consecutive rounds with no\nparty conceding: chair must either (a) record it as accepted-risk with\ntrigger conditions and rollback plan, or (b) spin off a focused\nsub-debate (max 2 rounds, relevant panelists only).\n\n### Rollout (non-blocking)\nAdopt immediately behind flag `convergence: dynamic` (defaults: floor\n2/3, ceiling 8). Per debate, log: rounds used; the round at which the old\n5-round rule would have stopped; every strategic/structural item first\nseen after round 2. Review after 10 logged debates.\nEscape defect := a strategic- or structural-level item first seen in a\nround that the compared rule would have cut, AND which later required a\npost-sign-off change.\n\nSign-off (not counted as a round):\n- Final draft sent to all agents; each may only reply `Agree` or `Oppose + specific clause + specific reason + own alternative`.\n- **Destruction without construction = invalid vote (user-mandated)**: opposition must give an executable alternative; votes lacking one are void, treated as abstentions, and the chair proceeds with the remaining valid votes.\n- Unanimous pass → external advisor review.\n- Opposition & rounds remain → extra round targeting the objection reason and alternative; rounds exhausted → chair adjudicates, alternative appended to minority opinion.\n\nExternal Advisor (Manus):\n- Send final draft + round summaries; ask: any fatal-level objections?\n- If yes → chair judges: valid → extra round (if rounds exhausted, disclose the objection and adjudication reason in the final); invalid → written rejection with reason in the final.\n- If no → deliver.\n\n## Anonymity Rules\n\n- In R2 rebuttals and convergence rounds, all speeches are signed \"Panelist A~E\"; no identity clues allowed.\n- mapping.md is generated by the chair and kept secret for the session; the user may inspect it at any time.\n- Chair synthesis quotes only \"Panelist X\"; the final report may disclose real-name stances (user requests transparency).\n\n## Disconnection Rules (user-mandated: explicit retry count)\n\n- **Per-agent per-round maximum: 2 calls** (1 original + 1 retry). No infinite retry loops.\n- First failure (timeout / 401 / crash / empty output / max-turns reached) → **immediate retry**.\n  - If the failure is parameter-related (e.g., Claude \"Reached max turns\"), **adjust the parameter first** (raise `--max-turns`, add `--allowedTools ''`, etc.) before retrying. This corrected call counts as the retry.\n  - Otherwise, use an identical retry.\n- Second consecutive failure → mark that agent **absent for that round**. Debate continues; final report notes absent party and reason; fix after the session, restore for the next debate.\n- Chair (Hermes) never disconnects; Manus advisor timeout 30 min → skip advisor, final report notes \"external advisor not reviewed\".\n- **WAIT FOR ALL PANELISTS BEFORE THE FINAL STEP (user-mandated 2026-08-16).** Do NOT run the convergence verdict / final draft / sign-off / deliverables until every panelist's output for the round has actually arrived (or been formally marked absent after 2 failures per the rule above). Slow panelists — especially Doubao seed models (300-600s, frequent first-try timeout) and DeepSeek — must be waited out with `process(action='wait')`, not skipped early. Closing the round while a panelist is still legitimately in flight is a process violation: their content can change the verdict, and you will have to redo the final step. \"Slow\" ≠ \"absent\": absent requires 2 real failures, not just being late.\n\n## Language Rule (user-mandated)\n\n- The debate language must match the user's current session language. The chair sets this in the brief's `Language` field.\n- All agents (including the chair) must output in that language; English defaults are overridden.\n- If the user switches language mid-session, the brief is updated and all subsequent rounds follow the new language.\n\n## Parameter Rules\n\n- Codex default `-c model_reasoning_effort=\"medium\"` (cost/speed balance); user calls \"important session\" for xhigh.\n- Codex exec is a read-only sandbox; file writes are rejected → prompts must require \"full text to stdout\", and the chair extracts from process logs to disk.\n- Claude uses `-p --max-turns 1`; Gemini uses `-p`; Qwen uses `-p`. All non-interactive; no TUI.\n- Prompts for the agents are identical word-for-word except the role sentence, ensuring fairness.\n\n## Deliverables (two items, both mandatory)\n\n### 1. final.md (decision document, `09_deliver/final.md`)\n1. **First paragraph: dry conclusion**. 3-5 sentences in plain language: what is the final opinion, what to do, one key risk. No fluff, no jargon stacking.\n2. Consensus list (items all agents agree on).\n3. Divergence & adjudication: each point → each agent's stance (real name disclosed) → chair ruling + reason.\n4. Minority opinions (if any) verbatim appendix.\n5. External advisor opinion and handling result.\n6. Absence / exception notes (if any).\n\n### 2. minutes.md (process document, `09_deliver/minutes.md`)\nRecap how the debate reached the final report:\n1. Opening: topic + clarification answers / rulings + how each shaped the outcome.\n2. Roster & anonymity mapping (real names disclosed).\n3. Round-by-round evolution: R1 multi-way stance comparison → R2 what got killed (who struck) → R3-R5 how divergence closed → sign-off round what each objection turned into.\n4. Kill list: rejected solutions / categories + cause of death + who struck.\n5. Agent contributions & evaluation (real names).\n6. Minority opinion archive.\n7. File index (source paths per round).\n\nGive the user the absolute paths of `09_deliver/final.md` and `09_deliver/minutes.md`, and paste the first paragraph of final in the reply.\n\n### 3. index.md (debate root directory)\nAfter each debate, auto-generate `index.md` in the debate root:\n- Topic, date, participants\n- Timeline: R1 → R2 → convergence → sign-off → advisor, timestamps per step\n- File map: pointers to round sources\n- Key decision quick-reference\n- Info usable for `@session` restarts\n\nThis index lets the user find key decisions in 10 seconds even after 3 months.\n\n### 4. Post-debate export to the user's working directory (mandatory, user-mandated 2026-08-14)\n\nAfter every debate, copy the ENTIRE arena directory (not just `09_deliver/`) into the session's current working directory, preserving the arena folder name:\n\n```bash\ncp -R ~/.hermes/debates/conclave-YYYYMMDD-<slug> \"$PWD/\"\ndiff -r ~/.hermes/debates/conclave-YYYYMMDD-<slug> \"$PWD/conclave-YYYYMMDD-<slug>\" && echo \"COPY VERIFIED\"\n```\n\n- The diff verification is mandatory; report file count, total size, and the destination absolute path.\n- `~/.hermes/debates/` remains the canonical archive; the working-directory copy is the user's working artifact.\n- If the user only asks for \"the results\", still export the full arena — briefs, round sources, verdicts, and votes are all part of the deliverable.\n- **Security warning**: the exported arena contains the full raw debate content (briefs, agent outputs, mapping). Do not run Conclave inside directories that are auto-synced to public repositories, cloud backups, or shared drives unless you want that content synchronized. Export to an isolated directory or delete the copy after review.\n\n### 5. One debate = one self-contained folder; follow-up debates get a NEW folder (user-mandated 2026-08-14)\n\n- **Consolidation**: at debate close, ALL files of the session (brief, constraints, mapping, preflight log, every round's raw+cleaned speeches, verdicts, sign-off votes, final.md, minutes.md, index.md) must live inside the single arena folder. No strays in /tmp, no loose copies elsewhere — the exported folder in the user's cwd is the complete, self-contained record.\n- **Follow-up / supplementary debates**: if the user later asks to continue, extend, or re-debate the same topic, do NOT reopen or append into the old arena. Run `init_debate.sh` again to create a fresh arena (same-day same-slug auto-appends `-N`, e.g. `conclave-20260814-burrypltr-2`), and put the previous arena's absolute path into the new `01_brief/brief.md` under a \"Prior debate\" heading so panelists can read the old final.md as input context. The old folder stays frozen as the historical record; the new debate's export goes to a separate folder in the cwd.\n\n## Chair Neutrality Red Line\n\n- Synthesis must not weight a point just because the chair proposed it; chair views struck down must still be recorded under \"rejected positions\".\n- Rulings must cite round-source evidence (file + line number); no impressions allowed.\n- If the user disagrees with a ruling → the user's word is the supreme arbiter; the chair writes the user's opinion into the final report marked \"user adjudication\".\n\n## Consensus Protocol v1.1 (2026-08-14, supersedes ad-hoc aggregation)\n\nThe chair MUST follow `references/consensus-protocol-v1.md` (v1.1). Operational deltas from the classic workflow:\n\n1. **Modes**: Quick = 2 CLIs + Hermes (Claude + Gemini); Standard = 4 CLIs + Hermes (Claude/Codex/Gemini/Qwen); Deep = 6 CLIs + Hermes (all panelists). Declare the mode in the brief; user may override.\n2. **Structured R1**: prompts require a claims/evidence/assumptions/uncertainties block before free text.\n3. **Claim table**: verdicts must carry a claim-level table with source-overlap dedup (two agents citing one source = one independent evidence).\n4. **Divergence triage**: next-round prompts target only the top 1-2 decision-relevant claims (flip test first, then divergence, then evidence obtainability) — never re-ask whole questions.\n5. **Stopping**: Decision-Flip Value proxy (continue only if an open claim can flip the decision AND its expected loss reduction exceeds round cost); hard floor/ceiling rules remain as guardrails.\n6. **Manus triggers**: verifiable-fact dependence, R1 unanimity (herding check), critical dissent, time-sensitive topics. REST polling path (references/panelists.md).\n7. **Dissent**: expected-loss triage Dᵢ = P(Fᵢ) × Impact(Fᵢ), self-reported P discounted ×0.5 (heuristic); Dᵢ > 10% of value at stake forces a targeted round or Manus check.\n8. **Aggregation**: normalized weights + log-odds pool + N_eff report (default ρ 0.6 same-family / 0.3 cross-family, HEURISTIC); label all pooled probabilities \"uncalibrated\" until calibration.jsonl has ≥30 resolved predictions.\n9. **Calibration log**: append verifiable predictions only (with check dates) to `~/.hermes/debates/calibration.jsonl`; resolve due entries at the start of each new debate. Never score non-verifiable judgments.\n10. **final.md additions**: mode, N_eff (labeled), claim table, baselines (majority + equal-weight), dissent triage, Decision State block (Belief/Consensus/Confidence/Decision/Robustness), why-stopped block, rigor tags on every soft number.\n11. **Terminal states include NO CONSENSUS — INSUFFICIENT EVIDENCE and DEBATE_FAILED**; emitting them to prevent a bad decision is success.\n12. **Manus dual mode**: Blind Reality Check (sees only the question, never council output) vs Draft Review (post-sign-off). Never merge.\n13. **Phase gates**: N<30 resolved predictions → equal weights only; 30-100 → offline research, no live weight changes; ≥100 → learned aggregation only if it beats equal-weight baseline out-of-sample.\n\n## Field Lessons (2026-08-12 Libya sourcing session)\n\n1. **External advisor opinions must carry a version number**: Manus reviewed an old draft; half its opinions were already resolved — attach a version number when sending the advisor task, and require the first line of the opinion to state the reviewed version; otherwise you waste a round.\n2. **Audit-type panelist (e.g., Claude) objection depth increases per round**: structure → parameters → footnotes, always able to dig deeper. The chair must adjudicate closure when \"objections have degraded to parameter-level and alternatives are directly absorbable\"; otherwise there is no convergence. Closure standard: no strategic-level divergence + all objections have absorbable alternatives.\n3. **`claude -p --max-turns 1` occasionally reports \"Reached max turns\"**: when retrying per disconnection rules, raise `--max-turns` to 3-10 (add `--allowedTools ''` to prevent spinning); do not stick to the original parameter.\n4. **CLI stdout handling**: CLI stdout mixes ANSI codes and shell startup noise (local shell rc plugin errors); normalize with regex before anonymizing, otherwise read_file may judge the file binary.\n5. **R1 same direction = high-confidence signal**: when agents independently position unseen, if they independently pick the same direction / same approach, that judgment's credibility maxes out; synthesis can directly promote it to \"consensus\" without further debate. Conversely, points where R1 diverges are real divergence, worth spending round budget on.\n6. **Session cost & pace expectation**: one full Conclave session (clarification → R1 → R2 → convergence → sign-off × N) is roughly 30-50 CLI calls, 1.5-3 wall-clock hours. Codex medium/low effort is fast enough; Claude long answers may take 10+ minutes per session. Run everything in background parallel + notify_on_complete; the chair writes its own draft while waiting.\n7. **Highest-value use of audit-type panelist**: let the most rigorous panelist's (this session was Claude) objections directly rewrite final numbers, not just serve as QC — this session's six fatal arithmetic errors + one payment reallocation (breakeven 93% → 86%) all came from its opposition votes.\n\n## Field Lessons (2026-08-13 Self-optimization session)\n\n8. **Self-debate is valid and efficient**: Using Conclave to optimize its own SKILL.md produced actionable output in 3 rounds. The chair must be willing to concede ground when the audit-type panelist's objections are structurally sound.\n9. **Shell parameter escaping is a real failure mode**: Multi-line prompts containing backticks (e.g., markdown code blocks) passed through `zsh -i -c \"...\"` are interpreted as command substitution by the outer shell. Use Python `subprocess` with `shlex.quote`, or strip backticks from prompts.\n10. **Codex exec sandbox + shell expansion trap**: Wrapping a prompt in single quotes prevents `$(cat file)` expansion; Codex receives the literal string. Always use double quotes for shell expansion when passing file content inline.\n11. **Merge minority alternatives rather than overrule**: Claude and Qwen both opposed the chair's R3 draft but provided full rewritten text. Merging their specific amendments (ceiling 8, forced close, hold admissibility, classification appeal) produced a better final rule than either the original proposal or a pure adjudication.\n12. **Dynamic termination proved itself in practice**: This debate reached strategic convergence after R2; R3 functioned as a sign-off round. Total 3 rounds vs. the old fixed 5, validating the mechanism we were designing.\n\n## Field Lessons (2026-08-14 Burry AI-bubble debate)\n\n13. **Assign each panelist their letter explicitly in R2+ prompts**: Asking panelists to \"recognize your own R1 stance\" in the anonymized bundle failed — three of the panelist CLIs misidentified themselves as Panelist A (the strongest position) in both R2 and R3. The persuasion was genuine, but the minutes had to log an anomaly. Fix: in R2+ prompts, state \"You are Panelist X\" directly; anonymity is preserved because the mapping file still hides which real CLI is X.\n14. **Chair-fetched live data beats panelist estimates**: The chair pulled real option quotes mid-debate (PLTR 150/120 spread $7.20 vs panelist-estimated $7.00; ORCL 140/110 $10.90 vs estimated $8.00 — a 36% miss). The real numbers directly changed the final contract counts. For any debate touching market/pricing data, the chair should inject a verified data pack into the brief AND re-verify before the final draft.\n15. **A GTC limit order can merge two opposing positions**: \"Execute now\" vs \"wait for a dip\" deadlocked until the chair ruled \"place the order now at a limit price that only fills on a dip\" — both sides' logic satisfied, zero round cost. When two panelists differ only on timing, look for an order-type / trigger mechanism that encodes both.\n\n## Field Lessons (2026-08-14 Naked-leg supplementary debate)\n\n16. **Manus advisor works via direct REST polling — no webhook needed**: The MCP channel only exposes create_task, but the same API key (MANUS_MCP_API_KEY in config.yaml) works against `https://api.manus.im/v1/tasks` directly: POST to create (`{\"prompt\": ..., \"taskMode\": \"chat\"}`), then GET `/v1/tasks/{task_id}` every 60s until `status == \"completed\"`; the advisor's answer is in `output[].content[].text` where `role == \"assistant\"`. Review came back in ~3 minutes with 5 findings (3 absorbed, 1 softened, 1 rejected). This fully replaces the webhook/user-paste fallback on CLI-only machines.\n17. **Explicit role assignment in prompts works**: R2/R3 prompts stating \"You are Panelist X\" (lesson 13) eliminated the identity-misrecognition anomaly entirely — all panelist CLIs defended their own positions.\n18. **A rich data pack changes debate quality**: Providing 3 expiries × multiple strikes of real option quotes + earnings calendar in the brief let panelists do arithmetic kills (e.g., \"Nov-20 contract = -70% residual at forced 11-02 exit\") instead of opinion wars. For market debates, the data pack IS the debate.\n19. **Users amend mid-debate — route through constraints, not prompts**: The user's mid-turn message (\"rolling allowed, must use Manus API\") was appended to constraints.md as shared premises rather than editing live round prompts, keeping all agents on identical instructions.\n\n## Field Lessons (2026-08-16 Surgical sub-debate — two process violations)\n\n20. **A follow-up/sub-debate is a NEW arena, never a subfolder of the old one (violation + fix).** When the user asked to re-evaluate one SKU (surgical instruments) after the main debate closed, the chair wrongly created `conclave-20260815-medv9/10_subdebate_surgical/` inside the frozen main arena. This breaks §5 \"follow-up debates get a NEW folder\": the old arena must stay frozen as history, and the new debate must be self-contained. Fix: run `init_debate.sh <slug>` for a fresh `conclave-YYYYMMDD-<newslug>/`, move ALL sub-debate files into its standard dirs (task→02_r1/r1_task.md, each panelist→02_r1/, verdict→07_verdicts/verdict_r1.md, decision→09_deliver/final.md+minutes.md, +index.md), put the prior arena's absolute path in the new brief under \"Prior debate\", delete the wrongly-placed subfolder from BOTH the canonical archive and the working-directory export, then export the new arena fresh. Rule of thumb: if you're about to `mkdir` anything other than the 10 standard dirs inside an arena, STOP — you want a new arena instead.\n21. **Brief sign-off gate (see the dedicated section).** Even a single-SKU sub-debate must show its brief to the user for go/no-go before launching R1. Skipping it risks running the whole sub-debate on a premise the user would have corrected in one sentence.\n22. **A sub-debate can legitimately compress the workflow but still owes full deliverables.** A single parametric sub-question can be R1-only (independent positioning) + chair convergence, skipping anonymous R2/sign-off/Manus — but it still must land final.md + minutes.md + index.md in its OWN new arena. Do NOT back-fill the result into the parent's final.md in place (see lesson 23); if a merged view is wanted, write it to a NEW file. The sub-debate arena + a pointer is the record; the parent stays frozen.\n\n## Field Lessons (2026-08-16 Surgical RE-debate — repeat violations, user escalated)\n\n23. **NEVER edit a prior debate's files — this was violated TWICE and the user escalated.** When a follow-up debate produces a result that affects the parent plan, the temptation is to edit the parent's final.md in place. DO NOT. The parent arena is frozen history. Correct pattern: (a) the follow-up lives entirely in its own new arena; (b) if the user wants a merged/updated plan, create a NEW file (e.g. `final_vN+1.md` or a fresh merged arena) and paste the combined result there, leaving the old final.md untouched. Only edit the parent's file if the user explicitly says to. Rule of thumb: after any follow-up debate, ask \"does the user want the parent updated in place, or a new merged file?\" — default to a new file. (First violation: sub-debate placed as a subfolder. Second violation: back-filled edits into the parent final.md without being asked. Both drew explicit user correction.)\n24. **\"Wait for all panelists\" applies doubly to the final step (see Disconnection Rules).** In this same session the chair issued the convergence verdict before Doubao's (slow) output had arrived, treating late as absent. Late ≠ absent. Wait with `process(action='wait')` until every panelist's file is non-empty or has 2 logged failures, THEN converge.\n\nFile v1.6.7:README.md\n\n# Conclave\n\n[![Hermes Skill](https://img.shields.io/badge/Hermes-Skill-blue)](https://github.com/MCLYang/conclave-skill)\n[![Version](https://img.shields.io/badge/version-1.6.2-green)]()\n\n> **Conclave** is a multi-agent reasoning skill that orchestrates multiple AI CLIs into structured debates. Each agent independently analyzes the problem, challenges competing arguments, identifies flaws and contradictions, and refines the reasoning through multiple rounds of discussion — helping you reach more reliable conclusions than relying on a single AI.\n\n---\n\n## Core Capabilities\n\n| Capability | Description |\n|------------|-------------|\n| **Independent Positioning** | Five agents (Hermes, Claude, Codex, Gemini, Qwen) analyze the same brief in parallel, unseen by each other, preventing anchoring. |\n| **Anonymous Rebuttal** | Each agent receives the other four's R1 arguments (anonymized) and must identify at least one fatal flaw plus a concrete alternative solution. |\n| **Structured Convergence** | Chair (Hermes) synthesizes consensus and divergence points after each round; divergence points are sent back for further debate (dynamic rounds, hard ceiling 8). |\n| **Unanimous Sign-off** | Final draft circulated to all five; any objection must include a specific clause, specific reason, and an executable alternative. No-destruction-without-construction = invalid vote. |\n| **External Audit** | Manus reviews the final draft before delivery; a fatal-level objection triggers an extra round. |\n| **Automatic Archiving** | Every debate gets its own folder; all intermediate files are persisted by round. See **Security & Privacy** below for retention controls. |\n\n## ⚠️ Security & Privacy\n\n- **Data persists locally**: Debates are stored under `~/.hermes/debates/` indefinitely. Do not debate topics containing regulated personal data, trade secrets, or classified information unless you accept this risk.\n- **Data leaves your machine**: Prompts are sent to Claude (Anthropic), Codex (OpenAI), Gemini (Google), and Qwen (Alibaba) cloud APIs. The optional Manus advisor receives the final draft via MCP. Review each provider's data policy.\n- **No password storage**: This skill never prompts for, stores, or logs passwords. The macOS keychain must be unlocked manually by the user in an interactive terminal before background sessions.\n- **Input validation**: Topic slugs are sanitized to 1-32 lowercase letters, digits, and hyphens.\n- **Cleanup**: Run `bash ~/.hermes/skills/conclave/scripts/cleanup.sh [days]` to purge debates older than the retention period. Default is 90 days; use `0` for a dry-run preview.\n\n---\n\n## Quick Start\n\n```bash\n# 0. First time on this machine? Detect + install all CLIs/dependencies,\n#    then configure each provider key it flags as [ACTION]\nbash ~/.hermes/skills/conclave/scripts/install.sh\n\n# 1. Initialize a debate arena\nbash ~/.hermes/skills/conclave/scripts/init_debate.sh <topic-slug>\n\n# 2. Pre-flight check (update all CLIs, then ignition-ping every agent)\nbash ~/.hermes/skills/conclave/scripts/preflight.sh <arena-path>\n\n# 3. Load the skill in a Hermes session and launch the debate\nskill_view(name='conclave')\n```\n\n---\n\n## Arena Directory Structure\n\nEach debate auto-generates an isolated folder under `~/.hermes/debates/`:\n\n```\nconclave-20260813-medlibya/\n├── 00_preflight/          # Pre-flight ping results\n├── 01_brief/              # Brief + anonymous mapping + user constraints\n├── 02_r1/                 # R1 positioning (5 agents' raw outputs)\n├── 03_r2/                 # R2 rebuttals\n├── 04_r3~06_r5/           # Convergence rounds (created on demand)\n├── 07_verdicts/           # Chair synthesis per round\n├── 08_signoff/            # Final draft + individual sign-offs\n├── 09_deliver/            # Final report + meeting minutes (deliverables)\n└── index.md               # Full index: timeline, file map, key decisions\n```\n\n---\n\n## Workflow\n\n```\nR1 Positioning   → 5 agents in parallel, unseen, written to 02_r1/\nR2 Rebuttal      → Anonymous cross-examination + alternatives, written to 03_r2/\nR3–R5 Convergence → Chair synthesizes divergence points into 07_verdicts/; sent back\nSign-off         → Final draft circulated; objections must carry alternatives\nDelivery         → final.md + minutes.md land in 09_deliver/\n```\n\n---\n\n## Key Disciplines\n\n- **Constructive Opposition**: Any objection must answer \"What do you think is the correct approach?\" Destruction without construction = invalid.\n- **Retry on Failure**: Any agent call failure → immediate identical retry; 2 consecutive failures → mark absent, debate continues.\n- **Chair Neutrality**: Chair does not weight its own views; user override is the supreme arbiter.\n\n---\n\n## Deliverables\n\n| File | Path | Description |\n|------|------|-------------|\n| **Final Report** | `09_deliver/final.md` | Decision doc: executive summary + consensus list + divergence rulings + minority opinions |\n| **Meeting Minutes** | `09_deliver/minutes.md` | Process doc: round-by-round evolution, kill list, agent contributions, file index |\n| **Arena Index** | `index.md` | Timeline + file map + key-decision quick-reference |\n\n---\n\n## Lessons from the Field\n\n- **R1 Alignment = High-Confidence Signal**: When all five independently pick the same direction, it graduates directly to consensus without further debate.\n- **Audit-Agent Value Density**: The most rigorous agent's (e.g., Claude) objections should directly rewrite final numbers, not just serve as QC.\n- **Cost Expectation**: A full Conclave session (~30–50 CLI calls, 1.5–3 wall-clock hours). Use Codex medium/low effort for speed; parallelize all agents via `terminal(background=true)`.\n\n---\n\n## Installation\n\nInstall via the Hermes skills hub or clone from the source repository. Then run `bash ~/.hermes/skills/conclave/scripts/install.sh` to set up the four panelist CLIs and their dependencies — it auto-detects macOS, Linux, WSL, and Windows (Git Bash/MSYS2) and tells you exactly which provider keys to configure.\n\n---\n\n## License\n\nMIT\n\nFile v1.6.7:_meta.json\n\n{\n  \"ownerId\": \"kn7fgzd63hpn9jfpqcfc6tj3tn8cdng2\",\n  \"slug\": \"conclave-skill\",\n  \"version\": \"1.6.7\",\n  \"publishedAt\": 1786844192300\n}\n\nFile v1.6.7:references/consensus-protocol-v1.md\n\n# Conclave Consensus Protocol v1.1\n\nChair-audited revision of the v0.1 architecture proposal, amended by external review (2026-08-14). Highest objective: **maximize decision quality per unit cost — never consensus, never model count, never debate length.**\n\nTwo orthogonal tag systems are used throughout:\n- Implementation status: **[CORE]** current workflow · **[V1]** live now · **[L2]** deferred (needs data/infra)\n- Rigor level: **[FORMAL]** standard statistical theory · **[ESTIMATOR]** needs data · **[HEURISTIC]** engineering proxy · **[POLICY]** human-set rule · **[EXPERIMENTAL]** unvalidated\n\nEvery soft number in any Conclave output must carry a rigor tag. Fake precision is the enemy.\n\n---\n\n## 0. What was rejected from v0.1 and why\n\n| v0.1 item | Verdict | Reason |\n|---|---|---|\n| §13 w̃ᵢ = wᵢ/(1+λΣρᵢⱼwⱼ) | **REJECTED** | Ad hoc. The statistically principled aggregation of correlated estimators is inverse-covariance (GLS) weighting: w* ∝ Σ⁻¹1. Anything else needs empirical justification we don't have. |\n| §17 Priority = I × D × U (product) | **REJECTED** | Product of three [0,1] terms collapses all priorities into noise. Replaced by decision-relevance-first ranking (§5 below). |\n| §20 literal EVSI | **REPLACED** | True EVSI needs a likelihood model over what a new agent would say — intractable. Replaced by computable proxy: Decision-Flip Value (§6). |\n| §3 fixed 7-model council | **BLOCKED** | Only 4 panelist CLIs exist (Claude, Codex, Gemini, Qwen) + Hermes + Manus. Seed/DeepSeek/Grok are not available. See §2. |\n| §29C full calibration DB | **SCOPED** | Most strategic decisions never receive ground truth; Brier scores are uncomputable for them. Calibration tracking is restricted to *verifiable predictions* only (§9). |\n| Multiplicative weight wᵢ = hᵢ·rᵢ·qᵢ | **[HEURISTIC]** kept with defaults | No calibration data yet. Default hᵢ = 1 for all; rᵢ, qᵢ set by chair per debate, logged, never presented as precise. |\n\n## 1. Objective\n\na* = argmin_a E[L(a,θ) | E] + λ·Cost(process)\n\nConsensus is an intermediate statistic, never the target. The chair optimizes the decision under a loss function the USER must supply or approve (default for investments: expected percentage drawdown of the account).\n\n## 2. Modes (resource-constrained reality)\n\n| Mode | Panelists | When | Manus |\n|---|---|---|---|\n| Quick | 2 CLIs + Hermes | low-risk, fast | off by default |\n| Standard | 4 CLIs + Hermes | default (current implementation) | trigger-based (§7) |\n| Deep | **BLOCKED** until additional panelist CLIs (DeepSeek/Grok/etc.) are installed and pass preflight | high-stakes | preferred |\n\nMode selection is declared by the chair in the brief; the user may override.\n\n## 3. Round structure [CORE + V1]\n\n- **R1 independence is absolute [CORE]**: no panelist sees another's output. Prompts identical except the explicit role-letter assignment (field lesson 13).\n- **Structured R1 output [V1]**: each panelist must return JSON-ish blocks: position, claims[], evidence[], assumptions[], uncertainties[], disconfirming_conditions[], recommended_action, and self-rated confidence. Free-text reasoning follows the block. Confidence is self-reported and therefore **discounted, never trusted at face value**.\n- R2+ cross-examination, constructive-opposition iron rule, anonymity, disconnection rules: unchanged [CORE].\n\n## 4. Claim-based synthesis [V1]\n\nThe chair decomposes positions into atomic claims C₁…Cₙ (target 4–8 claims). For each claim the chair records: supporters, opponents, evidence sources cited, and **source overlap** (two agents citing the same URL/fact = one independent piece of evidence, not two). This replaces the v0.1 \"evidence graph\" with a flat table the chair can actually maintain in a verdict file.\n\n## 5. Divergence triage [V1] — the Decision Reversal Test [FORMAL as a criterion]\n\nRank claims by **decision relevance first**:\n\n1. **Decision Reversal Test**: if Cₖ were proven false, would the optimal action change — a*(C) ≠ a*(¬C)? If a*(C) = a*(¬C), the claim is deprioritized no matter how loud the disagreement, how low the confidence, or how many agents are arguing.\n2. Among decision-relevant claims, sort by divergence (spread of panelist positions).\n3. Among those, sort by whether additional evidence is obtainable at all.\n\nOnly the top 1–2 claims enter the next round's prompt. Debate rounds are **information acquisition, not conversation**: each round must target a named uncertainty and end with a verdict on whether that uncertainty materially decreased; if not, the loop stops.\n\n## 6. Stopping rule [V1] — Decision-Flip Value (DFV), the computable EVSI proxy\n\nContinue only if there exists an open claim Cₖ such that:\n\nP(resolving Cₖ flips the decision) × E[loss reduction if flipped] > Cost(next round)\n\nEstimation is deliberately crude: chair assigns the flip probability from the divergence ledger; loss reduction from the user's loss function; round cost ≈ 4–6 CLI calls ≈ 20–40 min wall time. All three numbers are **[HEURISTIC]** and must be logged in the verdict. Hard floors/ceilings from the current convergence rules (floor 2/3, ceiling 8) remain as guardrails.\n\n## 7. Manus external advisor [V1 — upgraded by field lesson 16]\n\nManus is External Advisor, never a voter. Retrieval via direct REST polling (POST/GET api.manus.im/v1/tasks), ~3 min turnaround.\n\n**Two strictly separated modes** (independence rule, v1.1):\n- **Blind Reality Check**: Manus receives ONLY the original question + constraints — never the council's outputs, summaries, or intermediate verdicts. Used when an independent evidence stream is needed. Requested output: facts, sources, counter-evidence, unknowns, and the mandatory field **\"what would change the conclusion?\"** (feeds directly into the Decision Reversal Test).\n- **Draft Review**: Manus receives the versioned final draft (as in the nakedleg debate). Used only after sign-off. The two modes must never be merged in one task.\n\nTrigger conditions (any one):\n- T1: a decision-relevant claim depends on verifiable real-world facts the council cannot check;\n- T2: R1 unanimity with suspected correlated training data (all four CLIs are LLMs — herding is the default failure mode);\n- T3: critical minority dissent (§8);\n- T4: the topic is time-sensitive (prices, regulation, news).\n\nManus output is treated as **evidence**, weighted by verifiability of its sources — not as an opinion. Chair audits: does each claim carry a checkable source? Unsourced Manus assertions get weight ≈ one self-rated LLM claim.\n\n## 8. Dissent & critical minority [CORE + V1]\n\nExisting sign-off rules (opposition requires an executable alternative; minority opinions archived verbatim) remain. Addition: dissent triage by expected loss Dᵢ = P(Fᵢ) × Impact(Fᵢ), where P(Fᵢ) is **discounted** because it is self-reported by the dissenter (default discount ×0.5, [HEURISTIC]). If Dᵢ > 10% of the decision's expected value at stake, the dissent forces one targeted follow-up round or a Manus reality check — never silently dropped.\n\n## 9. Aggregation math [V1]\n\nFor binary/probability questions, until calibration data exists:\n\n1. Convert each panelist's position on the claim to pᵢ (extracted from structured output; missing → claim excluded from pooling).\n2. Normalize weights: ŵᵢ = wᵢ / Σw (prevents extremization).\n3. Correlation discount: N_eff = (Σŵᵢ)² / ΣᵢΣⱼ ŵᵢŵⱼρᵢⱼ with default ρ = 0.6 same-family / 0.3 cross-family **[HEURISTIC]**; report N_eff alongside every pooled number.\n4. Pool in log-odds with prior z₀ = logit(0.5) unless the user supplies a base rate: z* = z₀ + Σŵᵢ(zᵢ − z₀), then p* = σ(z*). Label output \"uncalibrated pooled estimate\".\n5. **Phase gates [POLICY]** — no learned weighting before sufficient empirical data exists:\n   - N < 30 resolved predictions: equal weights only.\n   - 30 ≤ N < 100: correlation/calibration research may run offline, but must NOT affect live weights.\n   - N ≥ 100: GLS / BMA / correlation-aware ensembles allowed ONLY after out-of-sample validation against the baselines in §9a. Any aggregation that cannot beat equal-weight out-of-sample does not ship.\n\n## 9a. Permanent baselines [V1, POLICY]\n\nEvery debate records two free baselines in the final report: (a) simple majority vote; (b) equal-weight pooled probability. The protocol's value is measured as Performance(Conclave) − Performance(Baseline). If the gap is not positive over time, added complexity is unjustified and must be removed.\n\n## 10. Verdict schema [V1]\n\nfinal.md keeps its current mandatory structure (dry conclusion first, consensus list, divergence & adjudication, minority verbatim, advisor handling). Added fields:\n\n- **Decision State block** — five separate lines, never merged: Belief (pooled P, tagged uncalibrated) / Consensus (level) / Confidence (evidence quality) / Decision (action) / Decision Robustness (§10a).\n- Mode used; N_eff [ESTIMATOR with heuristic priors]; claim table with per-claim status (resolved / open / accepted-risk); dissent expected-loss triage results; both baselines (§9a); every soft number carries a rigor tag.\n- **Why-stopped block** [POLICY]: one of the enumerated reasons — (1) critical claims decision-stable; (2) remaining disagreement cannot change the action; (3) external evidence does not contradict; (4) DFV < cost; (5) required evidence unavailable → recommendation DO NOT DECIDE YET; (6) hard ceiling reached.\n\n## 10a. Terminal states and Decision Robustness [V1]\n\nTerminal states (v0.1 §28 extended): STRONG CONSENSUS / CONDITIONAL CONSENSUS / MAJORITY + CRITICAL DISSENT / UNRESOLVED / REJECT / **NO CONSENSUS — INSUFFICIENT EVIDENCE** / **DEBATE_FAILED** (agents disagree because required evidence is unavailable, not because reasoning is insufficient). Emitting NO CONSENSUS or DEBATE_FAILED when it prevents a bad decision is a success, not a failure.\n\n**Decision Robustness** [HEURISTIC]: a small sensitivity table — flip the 2-3 load-bearing assumptions across their plausible ranges (e.g., CAPEX +10%/+20%, demand −10%/−20%) and record where the decision flips. Report HIGH / MEDIUM / LOW robustness with the flip points named. Far more useful than a naked confidence number.\n\n## 11. Calibration logging [V1]\n\nEvery debate appends one JSONL record per **verifiable** prediction to `~/.hermes/debates/calibration.jsonl` with fields: prediction_id, question, timestamp, agent, role, probability, resolution_date, ground_truth (filled at resolution), brier_score, log_loss. Only predictions with a defined check date and an observable outcome are recorded. A cron job (or the chair at the next debate) resolves due predictions.\n\n**Dual-track rule [POLICY]**: Track A = verifiable predictions → scored. Track B = strategic judgments (\"this strategy is good\") → never auto-scored; only post-hoc qualitative review. The system must never refuse hard strategic questions just because they are unscoreable.\n\n## 11a. Research definitions (do NOT implement) [EXPERIMENTAL]\n\n- Marginal Agent Value: MAVᵢ = Q(Council + i) − Q(Council − i). Answers \"who adds marginal value\" rather than \"who is most accurate\" (a correlated strong model may be worth less than a weaker but independent one). Research-only until the calibration log can support it.\n- Risk-sensitive decisions (CVaR-style, for P(catastrophe) small-but-unacceptable cases): [L2]. For now, final.md only carries risk metadata (worst-case loss, tail probability) without CVaR machinery.\n- Evidence provenance full schema: keep the lightweight version (source + source_type + date + independently_verified flag); the full schema is deferred.\n\n## 12. What this protocol deliberately does NOT do\n\n- No dynamic expansion mid-debate [L2].\n- No learned ρᵢⱼ [L2].\n- No Bayesian Model Averaging / hierarchical Bayes [L2 — unjustifiable without calibration data; would be fake precision].\n- No claim that any pooled probability is calibrated before the log has data.\n\nFile v1.6.7:references/panelists.md\n\n# Panelist Roster\n\nSix AI panelists + one external advisor. All CLI calls require `no_proxy='*'` prepended.\n\n## 1. Hermes (Chair & Panelist)\n\n- This agent itself. Positioning and rebuttals are drafted in-session by the chair, written to disk in the same format as the other four.\n- Red line: must not favor itself; views struck down are still recorded under \"rejected positions\".\n\n## 2. Claude Code\n\n- Command: `no_proxy='*' claude -p '<prompt>' --max-turns 1`\n- Auth: official OAuth (zhang@testsprite.com), credentials stored in macOS login keychain.\n  Background sessions may fail to read the keychain (security exit 36).\n  **DO NOT put passwords in prompts or scripts.** The user must manually unlock the keychain in an interactive terminal before starting a background debate session (macOS only; N/A on Linux/Windows where only `~/.claude/.credentials.json` is checked):\n  ```\n  security unlock-keychain ~/Library/Keychains/login.keychain-db\n  ```\n  If still 401: check for and move aside old `~/.claude/.credentials.json`, then retry.\n- Update: `claude update`\n- Install: `npm install -g @anthropic-ai/claude-code` (or run `scripts/install.sh` to install everything at once)\n- Ping: `no_proxy='*' claude -p 'reply with one word: pong' --max-turns 1`\n\n## 3. Codex\n\n- Command: `no_proxy='*' codex exec --skip-git-repo-check -c model_reasoning_effort=\"medium\" '<prompt>'`\n  For important sessions, replace medium with xhigh.\n- Auth: cmdme.cn relay, sk- key in `~/.codex/auth.json`; in config.toml set\n  `requires_openai_auth = false`, `wire_api = \"responses\"`, `base_url = \"https://cmdme.cn\"`.\n- Pitfall: exec defaults to a read-only sandbox; file writes are rejected → prompts must require \"full text to stdout\",\n  and the chair extracts the output via `process(action='log', offset=0, limit=400)` to disk.\n- Update: `codex update` (or `npm install -g @openai/codex@latest` when npm-managed)\n- Install: `npm install -g @openai/codex`\n- Ping: `no_proxy='*' codex exec --skip-git-repo-check 'reply with one word: pong'`\n\n## 4. Gemini CLI\n\n- Command: `no_proxy='*' GEMINI_CLI_TRUST_WORKSPACE=true zsh -i -c 'gemini -p \"<prompt>\"'`\n  (On Linux/Windows without zsh, preflight.sh auto-falls back to `bash -i -c` — both source rc files for env keys.)\n- Pitfall: since 0.55.1 a trust-directory check was added; non-interactive calls must carry `GEMINI_CLI_TRUST_WORKSPACE=true`, otherwise the CLI refuses to run.\n- Auth / env: `GOOGLE_GEMINI_BASE_URL` + `GEMINI_API_KEY` (persisted in user shell rc).\n  Key format determines provider: `AQ.Ab8…` = Google official (base generativelanguage.googleapis.com),\n  `sk-…` = cmdme relay. Mixing them causes 401.\n  Note: non-interactive shells may not read rc files — call via `zsh -i -c` or explicitly export variables.\n- Update: `npm install -g @google/gemini-cli@latest`\n- Install: `npm install -g @google/gemini-cli`\n- Ping: `no_proxy='*' GEMINI_CLI_TRUST_WORKSPACE=true zsh -i -c 'gemini -p \"reply with one word: pong\"'`\n\n## 5. Qwen\n\n- Command: `no_proxy='*' qwen -p '<prompt>'`\n- Binary lives in ~/.local/lib/qwen-code (official installer layout).\n- Update: `npm install -g @qwen-code/qwen-code@latest` when npm-managed; otherwise `qwen update`\n- Install: `npm install -g @qwen-code/qwen-code`\n- Ping: `no_proxy='*' qwen -p 'reply with one word: pong'`\n\n## 6. DeepSeek (deepcode-panelist)\n\n- **Note**: The `deepcode` CLI itself is TTY-locked (requires an interactive terminal). For non-interactive / background debates, use the `deepcode-panelist` wrapper instead.\n- Command: `deepcode-panelist '<prompt>'`\n- Wrapper path: `/Users/mac/.local/bin/deepcode-panelist`\n- What it does: reads `~/.deepcode/settings.json` (model, API key, base URL, reasoning effort), then calls the Ark Responses API directly — same backend as the TUI, zero ANSI overhead, pure text output.\n- Config source (`~/.deepcode/settings.json`):\n  ```json\n  {\n    \"env\": {\n      \"MODEL\": \"deepseek-v4-flash-ga-260731\",\n      \"BASE_URL\": \"https://ark.cn-beijing.volces.com/api/v3\",\n      \"API_KEY\": \"ark-...\"\n    },\n    \"thinkingEnabled\": true,\n    \"reasoningEffort\": \"max\"\n  }\n  ```\n- Output: model text to stdout; reasoning chain + usage metadata to stderr.\n- Install wrapper (one-time):\n  ```bash\n  # The wrapper is a shell script; copy it to PATH\n  cp /path/to/deepcode-panelist /Users/mac/.local/bin/\n  chmod +x /Users/mac/.local/bin/deepcode-panelist\n  ```\n- Install deepcode (for config generation + interactive use):\n  ```bash\n  npm i -g deepcode\n  deepcode --version   # v0.1.34\n  # Then run interactively once to create ~/.deepcode/settings.json\n  ```\n- Ping: `deepcode-panelist 'reply with one word: pong'`\n- Pitfall: `deepcode -p` without the wrapper fails with \"requires an interactive terminal (TTY)\" — this is by design in the upstream CLI. The wrapper is the canonical non-interactive path.\n\n## 7. Manus (External Advisor, async)\n\n- **Privacy warning**: Sending the final draft and round summaries to Manus transmits user problem statements and internal debate content to a third-party service. Do not use Manus for debates containing proprietary, personal, or regulated data unless you have reviewed Manus's data-handling policy and obtained appropriate consent.\n- Channel: Hermes Manus MCP — `mcp__manus_mcp__create_task` (deferred tool; call tool_describe first, then tool_call).\n- Usage: package the final draft + round-summary synthesis into a prompt and create a task; wait for the result (async, may take minutes to tens of minutes).\n- Timeout 30 min with no response → skip the advisor step; final report notes \"external advisor not reviewed\".\n- Ping: send a minimal task \"reply with one word: pong\" (mode=\"speed\"); receiving a task_id means the channel is open.\n- 2026-08-12 verified: this MCP only exposes create_task / create_webhook / delete_webhook.\n  **There is no MCP tool to query task results. BUT (2026-08-14 verified): the same MANUS_MCP_API_KEY works against the REST API directly, making results fully retrievable without webhooks:**\n  - Create: `POST https://api.manus.im/v1/tasks` with header `API_KEY: <key>`, body `{\"prompt\": \"...\", \"taskMode\": \"chat\"}` → returns `task_id`.\n  - Poll: `GET https://api.manus.im/v1/tasks/{task_id}` with the same header every 60s until `status == \"completed\"`; extract text from `output[]` where `role == \"assistant\"` → `content[].text`.\n  - Typical review turnaround: ~3 minutes. This is the preferred path on CLI-only machines; keep the webhook/user-paste routes as fallbacks only.\n\n## General Rules\n\n1. All calls are non-interactive (`-p` / `exec`), no TUI; use `terminal(background=true, notify_on_complete=true)` when parallelizing.\n2. Long texts go to disk; prompts only give paths.\n3. Any disconnection: immediate identical retry; 2 consecutive failures → mark absent, note in final report.\n4. On a new machine or after any CLI failure, run `scripts/install.sh` first — it detects and installs all CLIs/dependencies, then lists exactly which provider keys the user must configure. Pre-flight `scripts/preflight.sh` (update + ignition ping) is mandatory before every debate; do not start until all agents are reachable.\n\nFile v1.6.7:skill-card.md\n\n## Description:\n\nConclave is a multi-agent reasoning skill that orchestrates multiple AI CLIs into structured debates. Each agent independently analyzes the problem, challenges competing arguments, identifies flaws and contradictions, and refines the reasoning through multiple rounds of discussion - helping you reach more reliable conclusions than relying on a single AI.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[mclyang](https://clawhub.ai/user/mclyang)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and decision makers use Conclave to run structured multi-agent debates for consequential decisions such as architecture choices, contract risk, pricing, or investment judgment. It produces chair-adjudicated markdown reports, meeting minutes, and debate records after multiple AI agents analyze, rebut, and converge on a topic.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Installation and preflight can change global CLI tools and dependencies.\n\nMitigation: Review the install and update behavior first; use --check-only for inspection and --skip-update when you do not want automatic CLI updates.\n\nRisk: Debate topics and drafts can be sent to multiple third-party AI providers.\n\nMitigation: Use official provider endpoints unless intentionally choosing a relay, obtain appropriate approval, and avoid sensitive, regulated, classified, or trade-secret material.\n\nRisk: Full debate records persist under ~/.hermes/debates and may be exported into the working directory.\n\nMitigation: Run debates from a private non-synced directory and periodically delete archives and exported copies with the provided cleanup workflow.\n\nRisk: Credential readiness is checked across local CLI and environment configuration.\n\nMitigation: Provide credentials only through each provider's normal authentication path and do not paste secrets into prompts or debate files.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/mclyang/skills/conclave-skill)\n- [Consensus protocol v1.1](references/consensus-protocol-v1.md)\n- [Panelist roster](references/panelists.md)\n\n## Skill Output:\n\n**Output Type(s):** [markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown reports, debate files, and inline shell commands]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Creates persistent debate archives and exported copies unless the user cleans them up.]\n\n## Skill Version(s):\n\n1.6.7 (source: frontmatter and server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.6.7:templates/brief.md\n\n# Brief: {topic}\n\n## Background\n{Background provided by the user, augmented by the chair to be self-contained — panelists cannot see this conversation, so all necessary information must be written here}\n\n## Constraints\n- {Budget / timeline / red lines / existing decisions, etc.}\n\n## Questions to Adjudicate\n1. {Question one}\n2. {Question two}\n\n## Your Task\nYou are one of five anonymous panelists. Give your complete position on the above questions:\n- Lead with the conclusion\n- Provide evidence for every claim (data / logic / case study)\n- Proactively identify the biggest risk in your own proposal\n- Output the full text to stdout; do not write any files\n- Language: {match the user's current session language; do not default to English}\n\nFile v1.6.7:templates/round-prompt.md\n\n# Conclave Round Prompt Templates\n\n## R2 Rebuttal\n\n```\nYou are one of five anonymous panelists. Below are the R1 position statements from the other four panelists (anonymized):\n- {arena}/02_r1/r1_A.md\n- {arena}/02_r1/r1_B.md\n- {arena}/02_r1/r1_C.md\n- {arena}/02_r1/r1_D.md\nYour own R1 position is in {arena}/02_r1/r1_You.md.\n\nTask:\n1. Rebut each opponent: identify at least one fatal flaw (logical gap / data error / ignored constraint), quote their original text — and you **must** provide \"how you would fix it\" as your solution; criticism without a solution = invalid speech, sent back for rewrite.\n2. Self-defense: anticipate the most likely attacks on your own position and defend them proactively.\n3. No personal attacks; attack only arguments. No equivocation.\n4. Output the full text to stdout. Use the language specified in the brief.\n```\n\n## R3-R5 Convergence\n\n```\nThe currently unresolved divergence points are listed below (extracted from the chair's synthesis; see {arena}/07_verdicts/verdict_rN.md):\n{Divergence list, each with stances and evidence locations from all sides}\n\nRules: for each divergence point, you must choose one of:\na) Concede — explicitly state \"I concede on this point\", optionally with a reservation note;\nb) Rebut with evidence — provide new evidence or new logic, and **you must simultaneously provide your alternative** (what you think the correct decision should be); repeating old arguments or criticizing without proposing an alternative counts as a violation.\nEquivocation (\"both sides have merit\") is treated as refusal to converge; the chair will record one violation against you.\nOutput the full text to stdout. Use the language specified in the brief.\n```\n\n## Sign-off\n\n```\nThis is the chair's proposed final draft: {arena}/08_signoff/final_draft.md\nYou may reply with exactly one of the following:\n- \"Agree\"\n- \"Oppose\" + specific clause + specific reason + your alternative (what you think should be changed and how)\nOpposition without an alternative = invalid vote, treated as abstention.\nOutput the full text to stdout. Use the language specified in the brief.\n```\n\n## Manus External Advisor\n\n```\nA five-agent AI debate has converged on a final draft (attached). You are an independent external advisor. Do one thing only:\nCheck whether the final draft contains any \"fatal-level\" issues — factual errors, logical contradictions, constraint violations, or omitted major risks.\nIf yes: list each item with evidence. If no: reply \"No fatal issues\".\nPlease state the reviewed version number on the first line: e.g., v1.2-draft-3.\nDraft follows:\n{full final_draft text + round-by-round synthesis summary}\n```\n\nArchive v1.6.6: 12 files, 40031 bytes\n\nFiles: README.md (6082b), references/consensus-protocol-v1.md (12077b), references/panelists.md (7135b), scripts/cleanup.sh (1498b), scripts/init_debate.sh (2865b), scripts/install.sh (8185b), scripts/preflight.sh (4716b), skill-card.md (2893b), SKILL.md (37768b), templates/brief.md (744b), templates/round-prompt.md (2661b), _meta.json (133b)\n\nFile v1.6.6:SKILL.md\n\n---\nname: conclave\ndescription: \"Conclave is a multi-agent reasoning skill that orchestrates multiple AI CLIs into structured debates. Each agent independently analyzes the problem, challenges competing arguments, identifies flaws and contradictions, and refines the reasoning through multiple rounds of discussion — helping you reach more reliable conclusions than relying on a single AI.\"\nversion: 1.6.6\nauthor: Hermes Agent\nmetadata:\n  hermes:\n    tags: [Debate, Multi-Agent, Decision, Claude, Codex, Gemini, Qwen, DeepSeek, Doubao, Ark, Manus, Install, Update, Export, Archive]\n---\n\n# Conclave — Multi-Agent Structured Debate & Adjudication\n\nGiven a user topic, convene AI agents to independently posit arguments, engage in anonymous cross-examination, converge, and sign off unanimously, producing a chair-adjudicated final markdown report.\n\nUse for high-stakes decisions (pricing structure, contract risk, architecture selection, investment judgment). Do not use for daily trivia.\n\n## ⚠️ Full Capability Disclosure (read before installing)\n\nThis skill does **significantly more** than \"debate orchestration\". By design it:\n\n- **Installs and updates global CLI tools** (`npm install -g`, brew, apt, etc.) via `scripts/install.sh` and pre-flight self-updates.\n- **Inspects local auth state** (checks for API keys, OAuth tokens, keychain status) without reading secret values.\n- **Transmits your debate topic** to 6 third-party AI cloud APIs (Claude/OpenAI, Google, Alibaba, ByteDance/Ark, Manus).\n- **Persists full debate records** indefinitely under `~/.hermes/debates/` (briefs, raw agent outputs, verdicts, votes).\n- **Mandatorily exports** the entire arena to the current working directory after every debate.\n- **Calls external REST APIs** (Manus `api.manus.im`) with the debate final draft.\n\n**Do not install if** you are not comfortable with global package changes, third-party AI services seeing your content, or full debate archives being retained and copied into your working directory.\n\n## ⚠️ Security & Privacy Notice\n\n**Before using Conclave, read this.**\n\n1. **Local data persistence**: Every debate creates a persistent folder under `~/.hermes/debates/` containing the full brief, all agent outputs, anonymity mappings, chair verdicts, and final reports. These files remain on disk indefinitely unless you manually delete them. Do not use Conclave for topics containing regulated personal data, trade secrets, or classified information unless you accept this retention risk.\n\n2. **External data sharing**: Panelists (Claude, Codex, Gemini, Qwen, DeepSeek, Doubao) receive debate prompts via their respective cloud APIs. The external advisor (Manus) receives the final draft and round summaries via MCP or direct REST polling. By running a debate, you are transmitting your topic and context to these third-party AI providers. Review each provider's data policy before debating sensitive topics.\n\n3. **Credential handling**: This skill **never** prompts for, stores, or logs passwords. The Claude Code auth section previously referenced an unsafe `security unlock-keychain -p <password>` pattern; this has been removed. Users must manually unlock the macOS keychain in an interactive terminal before background sessions.\n\n4. **Input validation**: The `init_debate.sh` script sanitizes the topic slug to lowercase letters, digits, and hyphens only. Do not pass unsanitized user input directly into shell commands.\n\n5. **Data retention & cleanup**: See `scripts/cleanup.sh` for automated cleanup of debates older than a configurable retention period. Run it periodically or via cron.\n\n6. **Calibration logging**: Verifiable predictions are appended to `~/.hermes/debates/calibration.jsonl` (prediction_id, question, timestamp, agent, role, probability, resolution_date, ground_truth, brier_score, log_loss). This file grows indefinitely. It contains only verifiable predictions, not strategic judgments. Remove it manually if you do not want this persisted.\n\n## Roles\n\n| Role | Who | Notes |\n|------|-----|-------|\n| Chair & Panelist | Hermes (this agent) | Moderates the session and also argues; must be impartial and must not favor any side (including itself) |\n| Panelists | Claude / Codex / Gemini / Qwen / DeepSeek / Doubao | Six CLIs covering reasoning, audit, research, China, coding, and generative domains |\n| External Advisor | Manus (MCP API, async) | Does not join regular rounds; reviews the final draft before sign-off; fatal-level objections give the chair the right to call an extra round |\n| User | Human | Reviews only the final report; the anonymity mapping is transparent to the user (the user has the right to know who is who) |\n\n## Prerequisites (what the user must install / configure before first use)\n\n`scripts/install.sh` auto-installs Node.js and the four npm-based CLIs and audits their auth, but it does NOT cover the two extra Deep-mode panelists, the external advisor, or the shell utilities the round scripts depend on. Install and configure everything below before the first debate. Nothing here is optional for Deep mode; Standard mode needs only items 1-2 + the first four panelists.\n\n### 0. System dependencies\n- **Node.js >= 18 + npm** — runtime for four of the panelist CLIs. `install.sh` installs it via brew/apt/dnf/pacman/winget where possible.\n- **python3** — used by the round scripts to parse JSON API responses (Doubao/Manus). Ships with macOS/most Linux; on minimal systems install it.\n- **jq** — used to JSON-escape long prompts before sending to HTTP APIs. Install via brew/apt if missing.\n- **git** — only if you publish/sync the skill; not needed to run debates.\n\n### 1. Four npm CLIs (auto-installed by install.sh)\n| Panelist | Package | Auth the user must complete |\n|----------|---------|------------------------------|\n| Claude Code | `@anthropic-ai/claude-code` | Run `claude` once interactively, finish OAuth login. On macOS, unlock the login keychain in an interactive terminal before background debates. |\n| Codex | `@openai/codex` | Put the API key in Codex's `auth.json` and set base_url/wire_api in its `config.toml` (see references/panelists.md). |\n| Gemini CLI | `@google/gemini-cli` | Export `GEMINI_API_KEY` (and base URL if using a relay) in your shell rc. Key prefix decides the provider — do not mix official and relay keys. |\n| Qwen | `@qwen-code/qwen-code` | Run `qwen` once interactively to log in, or export the API key/base URL in your shell rc. |\n\nRun `bash ~/.hermes/skills/conclave/scripts/install.sh` (or `--check-only`) to install these and print an auth checklist. Any `[ACTION]` line = the user must fix that provider before debating.\n\n### 2. Two extra panelists for Deep mode (NOT covered by install.sh — install manually)\n\n> **⚠️ Known-issues warning (verified 2026-08-16): the two Deep-mode-only panelists are the least reliable links in the chain.**\n> - **Doubao (seed models) responds very slowly** — the `doubao-seed-*` models can take 300-600s per long prompt and frequently time out on the first try (needs a retry), stalling the round. The turbo model is the only workable one for automated calls, and even it is slow.\n> - **DeepSeek (deepcode) needs manual configuration** — the wrapper + settings file must be set up by hand before it works at all (see below); a fresh machine will not have it.\n> - **If the experience is poor, just drop them: run Standard mode (4 CLIs: Claude/Codex/Gemini/Qwen + chair) instead of Deep.** The debate is fully valid without Doubao/DeepSeek — declare the reduced roster in the brief. Do not let two flaky panelists block or slow the whole session; a clean 4-panelist debate beats a stalled 6-panelist one.\n\n- **DeepSeek** — the upstream `deepcode` CLI is TTY-locked, so debates use a non-interactive **`deepcode-panelist` wrapper** on the user's PATH. Setup: `npm i -g deepcode`, run it once interactively to generate its settings file (model + API key + base URL + reasoning effort), then place the wrapper script on PATH and make it executable. Config lives in the deepcode settings file. See references/panelists.md §6 for the wrapper and known-good defaults (effort=medium, max_output_tokens, proxy bypass).\n- **Doubao (Volcengine Ark)** — `npm i -g @volcengine/ark-cli`, then `arkcli auth login volc-sso` (SSO device flow; the picker needs an interactive PTY). This writes an API key to the arkcli config file. Debates call the Ark Chat Completions REST endpoint directly with the **turbo** model (never the reasoning/seed model in automated calls — it times out). See the `volcengine-ark` skill for auth pitfalls and the safe-call recipe.\n\n### 3. External advisor (Manus) — no install, one key\n- Manus runs over the Hermes MCP channel + direct REST; there is no local CLI to install.\n- The user must have `MANUS_MCP_API_KEY` set in the Hermes config so the chair can create/poll advisor tasks. Without it, the debate still completes but the final report notes \"external advisor not reviewed\".\n\n### 4. Proxy note\n- All panelist calls must bypass any local proxy (Clash/V2Ray etc.). The round scripts already prepend the proxy-bypass env/flags; if you run a call by hand, add the same bypass or long HTTPS calls will be killed.\n\n## Pre-Game (mandatory before the first debate of each skill activation)\n\n0. **Environment check** (first activation, new machine, or after any CLI failure): run `bash ~/.hermes/skills/conclave/scripts/install.sh`\n   - Detects OS (macOS / Linux / WSL / Windows Git Bash) and Node.js/npm + all panelist CLIs; auto-installs anything missing (brew on macOS, apt/dnf/pacman on Linux, manual instructions on Windows).\n   - Then audits each provider's auth material (existence only — no secrets read) and prints an ACTION checklist.\n   - If any `[ACTION]` line appears: **STOP — ask the user to configure that provider's key/OAuth first** (exact steps in `references/panelists.md`). No debate until every provider is configured.\n   - `--check-only` audits without installing.\n1. **Initialize the arena**: run `bash ~/.hermes/skills/conclave/scripts/init_debate.sh <topic-slug>`\n   - Auto-creates `~/.hermes/debates/conclave-YYYYMMDD-<slug>/`\n   - Generates the full directory structure + starter template files (brief.md / mapping.md / constraints.md / index.md)\n2. **Fill the brief**: write brief.md, mapping.md, and constraints.md under `01_brief/`.\n3. **Version & parameter check**: see `references/panelists.md` (commands, parameters, auth pitfalls for each agent).\n4. **Pre-flight (update + ignition)**: run `bash ~/.hermes/skills/conclave/scripts/preflight.sh <arena-path>`\n   - Phase A: best-effort self-update of all panelist CLIs (failures are non-fatal and logged; `--skip-update` bypasses).\n   - Phase B: ignition ping of all panelist agents (plus Manus, verified manually); results are auto-written to `00_preflight/preflight.log`.\n   - Any ping failure: fix first (key / proxy / version), then debate.\n5. **Launch the debate**: use `terminal(background=true)` to spawn the panelist CLIs in parallel, writing outputs to `02_r1/`.\n\n## Arena Directory (one isolated folder per debate, auto-named)\n\n**Root**: `~/.hermes/debates/` (persistent archive, not /tmp)\n**Per-debate naming**: `conclave-<yyyymmdd>-<topic-slug>/`\n  - Topic slug: 2-6 lowercase English letters/digits (e.g., `medlibya`, `pricingv2`)\n  - Multiple debates on the same day append `-N` (e.g., `conclave-20260813-medlibya-2`)\n\n**Auto-init**: run `scripts/init_debate.sh <topic-slug>` to generate the directory structure and print the path.\n\n### Directory Structure\n\n| Path | Purpose |\n|------|---------|\n| `00_preflight/` | Pre-flight ping results |\n| `01_brief/` | Brief + anonymity mapping + user constraints |\n| `02_r1/` | R1 positioning (all mode-dependent panelists in parallel) |\n| `03_r2/` | R2 rebuttals |\n| `04_r3/` | Convergence round 3 |\n| `05_r4/` | Convergence round 4 |\n| `06_r5/` | Convergence round 5 |\n| `07_verdicts/` | Chair synthesis per round |\n| `08_signoff/` | Final draft + individual votes |\n| `09_deliver/` | Final report + meeting minutes |\n| `index.md` | Full index: timeline, file map, key decisions |\n\n### File Discipline\n- **Long texts go to disk**; prompts only give paths — do not stuff long text into command-line arguments.\n- **Every round's speeches must be written to the corresponding round directory**; do not just glance at terminal stdout.\n- **Chair synthesis is mandatory after every round**, written to `07_verdicts/`; otherwise panelists in the next round do not get the divergence list.\n- **Final report and minutes must land in `09_deliver/`**; also copy `final.md` to the debate root for easy discovery.\n\n## Clarification Phase (mandatory before drafting the brief)\n\nAfter receiving the topic and before writing the brief, the chair self-audits: is the topic ambiguous? Is any key constraint missing from the background?\n- Any unclear point / multiple reasonable interpretations → **ask the user first; no debate until answered**.\n- Questions must be multiple-choice (clarify tool, 2-4 options + Other); never make the user do essay questions; ask at most 4 critical ones at a time.\n- After the user answers, write brief.md; the user's answers go into the brief's \"Constraints\" section as shared premises for all agents.\n- If a trajectory-altering question arises mid-debate (e.g., a divergence hinges on a fact only the user knows) → the chair may pause, ask the user via clarify, append the answer to the brief, and resume.\n- Do not force questions when there are none — if the topic is already clear, debate immediately; do not ritualize clarification.\n\n## Brief Sign-off Gate (mandatory, user-mandated 2026-08-16)\n\n**After writing brief.md and BEFORE launching R1, the chair MUST show the brief to the user and get explicit approval to proceed.** The brief is the shared premise every panelist argues from — a wrong or incomplete brief poisons the entire debate (all panelists faithfully propagate a bad premise; you only discover it after 30-50 CLI calls). Writing the brief is NOT permission to start.\n\n- Paste the brief's key sections (topic, data pack, constraints, mode) into the reply, or give the path and ask the user to read it.\n- Ask a direct go/no-go via clarify (approve-and-launch-R1 / needs-edits). No R1 launch until the user says go.\n- If the user corrects anything, update brief.md, re-show, re-confirm.\n- Applies to EVERY debate including follow-up/supplementary/sub-debates. Separate from the Clarification Phase: clarification fills gaps in the topic; this gate confirms the assembled brief is correct before spending the CLI budget.\n- No exception — even an \"obvious\" topic gets a 10-second brief confirmation; it is far cheaper than a poisoned debate.\n\n## Workflow (dynamic rounds, auto-partitioned into directories)\n\n**Step 0 Init**: `bash ~/.hermes/skills/conclave/scripts/init_debate.sh <topic-slug>` → creates `~/.hermes/debates/conclave-YYYYMMDD-<slug>/`. All subsequent files land in this directory.\n\n```\nR1 Positioning   → agents in parallel, unseen by each other (prevent anchoring). Write to 02_r1/. Chair also writes a position.\nR2 Rebuttal      → Each agent receives the other agents' R1 (anonymized). Task: identify ≥1 fatal flaw per opponent + self-defense. Write to 03_r2/.\nR3+ Convergence  → Chair synthesizes consensus/divergence into 07_verdicts/verdict_rN.md; only divergence points are sent back.\n                   Each agent must \"concede\" or \"rebut with evidence\"; equivocation is prohibited. Write to 04_r3~08_signoff/.\n                   Termination may occur as early as R3 if strategic divergence is resolved and every objection carries an executable alternative.\n                   Hard ceiling: 8 rounds (including R1 and R2).\n```\n\nRound reference files:\n- `02_r1/` for each agent's positioning\n- `03_r2/` for rebuttal speeches\n- `07_verdicts/verdict_rN.md` for chair synthesis\n- `08_signoff/final_draft.md` for sign-off draft\n- `09_deliver/final.md` + `minutes.md` for final deliverables\n\nConstructive Opposition Iron Rule (user-mandated, applies to all rounds):\n- **Any objection / rebuttal must carry its own solution** — \"what do you think is the correct approach?\", executable, verifiable.\n- Objection + reason without solution = invalid speech; the chair names and sends it back for rewrite; it does not count toward the round's output.\n- When rebutting others in R2, you must give \"how would you fix it\"; in R3-R5, alternatives and new evidence are both mandatory.\n\n## Convergence Rules (user-mandated)\n\n### Round bounds\n- Floor: 2 rounds (R1 + R2). High-risk topics (architecture, security,\n  irreversible migration) floor: 3 rounds.\n- Ceiling: 8 rounds, hard. Sub-debate rounds count toward this ceiling.\n- Risk level is declared by the chair at the end of R1. If any panelist\n  disputes the level, the topic is treated as high-risk. Default when\n  unclear: high-risk.\n- Termination evaluation begins only after the applicable floor round.\n- Dynamic termination: the chair may terminate early when all remaining\n  divergence points are parametric/executional and every objection carries\n  an executable alternative. Hard floor still applies.\n\n### Divergence ledger\nChair maintains after each round: item ID, description, level\n(strategic / structural / parametric / executional), status\n(open / resolved / suspended / accepted-risk), alternative, verifiable\nresolution criterion, proposer, first-seen round.\n\n### Termination (all four required)\n1. No open strategic- or structural-level items.\n2. The most recent round produced no new substantive disagreement\n   (chair-classified; restatements of existing disagreements do not count).\n   Any panelist may object once per round to the chair's \"restatement, not\n   new\" classification. The objection forces the item into the ledger as\n   open; the chair must then close it on substance, not on classification.\n3. No admissible unresolved structural hold.\n4. No user veto.\n\n### Structural hold admissibility\n- A structural hold must name (a) the affected interface, data-model\n  field, or failure mode, and (b) a verifiable criterion under which it\n  would be resolved. A hold missing either is recorded as parametric and\n  does not block termination.\n- Each panelist may have at most 2 active structural holds at a time.\n- Release: proposer confirms downgrade, OR another panelist seconds the\n  downgrade, OR — after the same hold has been re-asserted in two\n  consecutive rounds with no new evidence — the chair overrules it with a\n  written reason recorded in the ledger and carried into the sign-off.\n\n### Forced close\nTrigger, whichever comes first: (a) the ceiling round is reached, or\n(b) two consecutive rounds add zero new strategic- or structural-level\nitems. On trigger the chair closes the debate and records every remaining\nopen item in the sign-off as a known unresolved risk with trigger\nconditions and a rollback plan. Forced close is a valid termination.\n\n### Stalemate\nAn item that stays strategic-level for two consecutive rounds with no\nparty conceding: chair must either (a) record it as accepted-risk with\ntrigger conditions and rollback plan, or (b) spin off a focused\nsub-debate (max 2 rounds, relevant panelists only).\n\n### Rollout (non-blocking)\nAdopt immediately behind flag `convergence: dynamic` (defaults: floor\n2/3, ceiling 8). Per debate, log: rounds used; the round at which the old\n5-round rule would have stopped; every strategic/structural item first\nseen after round 2. Review after 10 logged debates.\nEscape defect := a strategic- or structural-level item first seen in a\nround that the compared rule would have cut, AND which later required a\npost-sign-off change.\n\nSign-off (not counted as a round):\n- Final draft sent to all agents; each may only reply `Agree` or `Oppose + specific clause + specific reason + own alternative`.\n- **Destruction without construction = invalid vote (user-mandated)**: opposition must give an executable alternative; votes lacking one are void, treated as abstentions, and the chair proceeds with the remaining valid votes.\n- Unanimous pass → external advisor review.\n- Opposition & rounds remain → extra round targeting the objection reason and alternative; rounds exhausted → chair adjudicates, alternative appended to minority opinion.\n\nExternal Advisor (Manus):\n- Send final draft + round summaries; ask: any fatal-level objections?\n- If yes → chair judges: valid → extra round (if rounds exhausted, disclose the objection and adjudication reason in the final); invalid → written rejection with reason in the final.\n- If no → deliver.\n\n## Anonymity Rules\n\n- In R2 rebuttals and convergence rounds, all speeches are signed \"Panelist A~E\"; no identity clues allowed.\n- mapping.md is generated by the chair and kept secret for the session; the user may inspect it at any time.\n- Chair synthesis quotes only \"Panelist X\"; the final report may disclose real-name stances (user requests transparency).\n\n## Disconnection Rules (user-mandated: explicit retry count)\n\n- **Per-agent per-round maximum: 2 calls** (1 original + 1 retry). No infinite retry loops.\n- First failure (timeout / 401 / crash / empty output / max-turns reached) → **immediate retry**.\n  - If the failure is parameter-related (e.g., Claude \"Reached max turns\"), **adjust the parameter first** (raise `--max-turns`, add `--allowedTools ''`, etc.) before retrying. This corrected call counts as the retry.\n  - Otherwise, use an identical retry.\n- Second consecutive failure → mark that agent **absent for that round**. Debate continues; final report notes absent party and reason; fix after the session, restore for the next debate.\n- Chair (Hermes) never disconnects; Manus advisor timeout 30 min → skip advisor, final report notes \"external advisor not reviewed\".\n\n## Language Rule (user-mandated)\n\n- The debate language must match the user's current session language. The chair sets this in the brief's `Language` field.\n- All agents (including the chair) must output in that language; English defaults are overridden.\n- If the user switches language mid-session, the brief is updated and all subsequent rounds follow the new language.\n\n## Parameter Rules\n\n- Codex default `-c model_reasoning_effort=\"medium\"` (cost/speed balance); user calls \"important session\" for xhigh.\n- Codex exec is a read-only sandbox; file writes are rejected → prompts must require \"full text to stdout\", and the chair extracts from process logs to disk.\n- Claude uses `-p --max-turns 1`; Gemini uses `-p`; Qwen uses `-p`. All non-interactive; no TUI.\n- Prompts for the agents are identical word-for-word except the role sentence, ensuring fairness.\n\n## Deliverables (two items, both mandatory)\n\n### 1. final.md (decision document, `09_deliver/final.md`)\n1. **First paragraph: dry conclusion**. 3-5 sentences in plain language: what is the final opinion, what to do, one key risk. No fluff, no jargon stacking.\n2. Consensus list (items all agents agree on).\n3. Divergence & adjudication: each point → each agent's stance (real name disclosed) → chair ruling + reason.\n4. Minority opinions (if any) verbatim appendix.\n5. External advisor opinion and handling result.\n6. Absence / exception notes (if any).\n\n### 2. minutes.md (process document, `09_deliver/minutes.md`)\nRecap how the debate reached the final report:\n1. Opening: topic + clarification answers / rulings + how each shaped the outcome.\n2. Roster & anonymity mapping (real names disclosed).\n3. Round-by-round evolution: R1 multi-way stance comparison → R2 what got killed (who struck) → R3-R5 how divergence closed → sign-off round what each objection turned into.\n4. Kill list: rejected solutions / categories + cause of death + who struck.\n5. Agent contributions & evaluation (real names).\n6. Minority opinion archive.\n7. File index (source paths per round).\n\nGive the user the absolute paths of `09_deliver/final.md` and `09_deliver/minutes.md`, and paste the first paragraph of final in the reply.\n\n### 3. index.md (debate root directory)\nAfter each debate, auto-generate `index.md` in the debate root:\n- Topic, date, participants\n- Timeline: R1 → R2 → convergence → sign-off → advisor, timestamps per step\n- File map: pointers to round sources\n- Key decision quick-reference\n- Info usable for `@session` restarts\n\nThis index lets the user find key decisions in 10 seconds even after 3 months.\n\n### 4. Post-debate export to the user's working directory (mandatory, user-mandated 2026-08-14)\n\nAfter every debate, copy the ENTIRE arena directory (not just `09_deliver/`) into the session's current working directory, preserving the arena folder name:\n\n```bash\ncp -R ~/.hermes/debates/conclave-YYYYMMDD-<slug> \"$PWD/\"\ndiff -r ~/.hermes/debates/conclave-YYYYMMDD-<slug> \"$PWD/conclave-YYYYMMDD-<slug>\" && echo \"COPY VERIFIED\"\n```\n\n- The diff verification is mandatory; report file count, total size, and the destination absolute path.\n- `~/.hermes/debates/` remains the canonical archive; the working-directory copy is the user's working artifact.\n- If the user only asks for \"the results\", still export the full arena — briefs, round sources, verdicts, and votes are all part of the deliverable.\n- **Security warning**: the exported arena contains the full raw debate content (briefs, agent outputs, mapping). Do not run Conclave inside directories that are auto-synced to public repositories, cloud backups, or shared drives unless you want that content synchronized. Export to an isolated directory or delete the copy after review.\n\n### 5. One debate = one self-contained folder; follow-up debates get a NEW folder (user-mandated 2026-08-14)\n\n- **Consolidation**: at debate close, ALL files of the session (brief, constraints, mapping, preflight log, every round's raw+cleaned speeches, verdicts, sign-off votes, final.md, minutes.md, index.md) must live inside the single arena folder. No strays in /tmp, no loose copies elsewhere — the exported folder in the user's cwd is the complete, self-contained record.\n- **Follow-up / supplementary debates**: if the user later asks to continue, extend, or re-debate the same topic, do NOT reopen or append into the old arena. Run `init_debate.sh` again to create a fresh arena (same-day same-slug auto-appends `-N`, e.g. `conclave-20260814-burrypltr-2`), and put the previous arena's absolute path into the new `01_brief/brief.md` under a \"Prior debate\" heading so panelists can read the old final.md as input context. The old folder stays frozen as the historical record; the new debate's export goes to a separate folder in the cwd.\n\n## Chair Neutrality Red Line\n\n- Synthesis must not weight a point just because the chair proposed it; chair views struck down must still be recorded under \"rejected positions\".\n- Rulings must cite round-source evidence (file + line number); no impressions allowed.\n- If the user disagrees with a ruling → the user's word is the supreme arbiter; the chair writes the user's opinion into the final report marked \"user adjudication\".\n\n## Consensus Protocol v1.1 (2026-08-14, supersedes ad-hoc aggregation)\n\nThe chair MUST follow `references/consensus-protocol-v1.md` (v1.1). Operational deltas from the classic workflow:\n\n1. **Modes**: Quick = 2 CLIs + Hermes (Claude + Gemini); Standard = 4 CLIs + Hermes (Claude/Codex/Gemini/Qwen); Deep = 6 CLIs + Hermes (all panelists). Declare the mode in the brief; user may override.\n2. **Structured R1**: prompts require a claims/evidence/assumptions/uncertainties block before free text.\n3. **Claim table**: verdicts must carry a claim-level table with source-overlap dedup (two agents citing one source = one independent evidence).\n4. **Divergence triage**: next-round prompts target only the top 1-2 decision-relevant claims (flip test first, then divergence, then evidence obtainability) — never re-ask whole questions.\n5. **Stopping**: Decision-Flip Value proxy (continue only if an open claim can flip the decision AND its expected loss reduction exceeds round cost); hard floor/ceiling rules remain as guardrails.\n6. **Manus triggers**: verifiable-fact dependence, R1 unanimity (herding check), critical dissent, time-sensitive topics. REST polling path (references/panelists.md).\n7. **Dissent**: expected-loss triage Dᵢ = P(Fᵢ) × Impact(Fᵢ), self-reported P discounted ×0.5 (heuristic); Dᵢ > 10% of value at stake forces a targeted round or Manus check.\n8. **Aggregation**: normalized weights + log-odds pool + N_eff report (default ρ 0.6 same-family / 0.3 cross-family, HEURISTIC); label all pooled probabilities \"uncalibrated\" until calibration.jsonl has ≥30 resolved predictions.\n9. **Calibration log**: append verifiable predictions only (with check dates) to `~/.hermes/debates/calibration.jsonl`; resolve due entries at the start of each new debate. Never score non-verifiable judgments.\n10. **final.md additions**: mode, N_eff (labeled), claim table, baselines (majority + equal-weight), dissent triage, Decision State block (Belief/Consensus/Confidence/Decision/Robustness), why-stopped block, rigor tags on every soft number.\n11. **Terminal states include NO CONSENSUS — INSUFFICIENT EVIDENCE and DEBATE_FAILED**; emitting them to prevent a bad decision is success.\n12. **Manus dual mode**: Blind Reality Check (sees only the question, never council output) vs Draft Review (post-sign-off). Never merge.\n13. **Phase gates**: N<30 resolved predictions → equal weights only; 30-100 → offline research, no live weight changes; ≥100 → learned aggregation only if it beats equal-weight baseline out-of-sample.\n\n## Field Lessons (2026-08-12 Libya sourcing session)\n\n1. **External advisor opinions must carry a version number**: Manus reviewed an old draft; half its opinions were already resolved — attach a version number when sending the advisor task, and require the first line of the opinion to state the reviewed version; otherwise you waste a round.\n2. **Audit-type panelist (e.g., Claude) objection depth increases per round**: structure → parameters → footnotes, always able to dig deeper. The chair must adjudicate closure when \"objections have degraded to parameter-level and alternatives are directly absorbable\"; otherwise there is no convergence. Closure standard: no strategic-level divergence + all objections have absorbable alternatives.\n3. **`claude -p --max-turns 1` occasionally reports \"Reached max turns\"**: when retrying per disconnection rules, raise `--max-turns` to 3-10 (add `--allowedTools ''` to prevent spinning); do not stick to the original parameter.\n4. **CLI stdout handling**: CLI stdout mixes ANSI codes and shell startup noise (local shell rc plugin errors); normalize with regex before anonymizing, otherwise read_file may judge the file binary.\n5. **R1 same direction = high-confidence signal**: when agents independently position unseen, if they independently pick the same direction / same approach, that judgment's credibility maxes out; synthesis can directly promote it to \"consensus\" without further debate. Conversely, points where R1 diverges are real divergence, worth spending round budget on.\n6. **Session cost & pace expectation**: one full Conclave session (clarification → R1 → R2 → convergence → sign-off × N) is roughly 30-50 CLI calls, 1.5-3 wall-clock hours. Codex medium/low effort is fast enough; Claude long answers may take 10+ minutes per session. Run everything in background parallel + notify_on_complete; the chair writes its own draft while waiting.\n7. **Highest-value use of audit-type panelist**: let the most rigorous panelist's (this session was Claude) objections directly rewrite final numbers, not just serve as QC — this session's six fatal arithmetic errors + one payment reallocation (breakeven 93% → 86%) all came from its opposition votes.\n\n## Field Lessons (2026-08-13 Self-optimization session)\n\n8. **Self-debate is valid and efficient**: Using Conclave to optimize its own SKILL.md produced actionable output in 3 rounds. The chair must be willing to concede ground when the audit-type panelist's objections are structurally sound.\n9. **Shell parameter escaping is a real failure mode**: Multi-line prompts containing backticks (e.g., markdown code blocks) passed through `zsh -i -c \"...\"` are interpreted as command substitution by the outer shell. Use Python `subprocess` with `shlex.quote`, or strip backticks from prompts.\n10. **Codex exec sandbox + shell expansion trap**: Wrapping a prompt in single quotes prevents `$(cat file)` expansion; Codex receives the literal string. Always use double quotes for shell expansion when passing file content inline.\n11. **Merge minority alternatives rather than overrule**: Claude and Qwen both opposed the chair's R3 draft but provided full rewritten text. Merging their specific amendments (ceiling 8, forced close, hold admissibility, classification appeal) produced a better final rule than either the original proposal or a pure adjudication.\n12. **Dynamic termination proved itself in practice**: This debate reached strategic convergence after R2; R3 functioned as a sign-off round. Total 3 rounds vs. the old fixed 5, validating the mechanism we were designing.\n\n## Field Lessons (2026-08-14 Burry AI-bubble debate)\n\n13. **Assign each panelist their letter explicitly in R2+ prompts**: Asking panelists to \"recognize your own R1 stance\" in the anonymized bundle failed — three of the panelist CLIs misidentified themselves as Panelist A (the strongest position) in both R2 and R3. The persuasion was genuine, but the minutes had to log an anomaly. Fix: in R2+ prompts, state \"You are Panelist X\" directly; anonymity is preserved because the mapping file still hides which real CLI is X.\n14. **Chair-fetched live data beats panelist estimates**: The chair pulled real option quotes mid-debate (PLTR 150/120 spread $7.20 vs panelist-estimated $7.00; ORCL 140/110 $10.90 vs estimated $8.00 — a 36% miss). The real numbers directly changed the final contract counts. For any debate touching market/pricing data, the chair should inject a verified data pack into the brief AND re-verify before the final draft.\n15. **A GTC limit order can merge two opposing positions**: \"Execute now\" vs \"wait for a dip\" deadlocked until the chair ruled \"place the order now at a limit price that only fills on a dip\" — both sides' logic satisfied, zero round cost. When two panelists differ only on timing, look for an order-type / trigger mechanism that encodes both.\n\n## Field Lessons (2026-08-14 Naked-leg supplementary debate)\n\n16. **Manus advisor works via direct REST polling — no webhook needed**: The MCP channel only exposes create_task, but the same API key (MANUS_MCP_API_KEY in config.yaml) works against `https://api.manus.im/v1/tasks` directly: POST to create (`{\"prompt\": ..., \"taskMode\": \"chat\"}`), then GET `/v1/tasks/{task_id}` every 60s until `status == \"completed\"`; the advisor's answer is in `output[].content[].text` where `role == \"assistant\"`. Review came back in ~3 minutes with 5 findings (3 absorbed, 1 softened, 1 rejected). This fully replaces the webhook/user-paste fallback on CLI-only machines.\n17. **Explicit role assignment in prompts works**: R2/R3 prompts stating \"You are Panelist X\" (lesson 13) eliminated the identity-misrecognition anomaly entirely — all panelist CLIs defended their own positions.\n18. **A rich data pack changes debate quality**: Providing 3 expiries × multiple strikes of real option quotes + earnings calendar in the brief let panelists do arithmetic kills (e.g., \"Nov-20 contract = -70% residual at forced 11-02 exit\") instead of opinion wars. For market debates, the data pack IS the debate.\n19. **Users amend mid-debate — route through constraints, not prompts**: The user's mid-turn message (\"rolling allowed, must use Manus API\") was appended to constraints.md as shared premises rather than editing live round prompts, keeping all agents on identical instructions.\n\n## Field Lessons (2026-08-16 Surgical sub-debate — two process violations)\n\n20. **A follow-up/sub-debate is a NEW arena, never a subfolder of the old one (violation + fix).** When the user asked to re-evaluate one SKU (surgical instruments) after the main debate closed, the chair wrongly created `conclave-20260815-medv9/10_subdebate_surgical/` inside the frozen main arena. This breaks §5 \"follow-up debates get a NEW folder\": the old arena must stay frozen as history, and the new debate must be self-contained. Fix: run `init_debate.sh <slug>` for a fresh `conclave-YYYYMMDD-<newslug>/`, move ALL sub-debate files into its standard dirs (task→02_r1/r1_task.md, each panelist→02_r1/, verdict→07_verdicts/verdict_r1.md, decision→09_deliver/final.md+minutes.md, +index.md), put the prior arena's absolute path in the new brief under \"Prior debate\", delete the wrongly-placed subfolder from BOTH the canonical archive and the working-directory export, then export the new arena fresh. Rule of thumb: if you're about to `mkdir` anything other than the 10 standard dirs inside an arena, STOP — you want a new arena instead.\n21. **Brief sign-off gate (see the dedicated section).** Even a single-SKU sub-debate must show its brief to the user for go/no-go before launching R1. Skipping it risks running the whole sub-debate on a premise the user would have corrected in one sentence.\n22. **A sub-debate can legitimately compress the workflow but still owes full deliverables.** A single parametric sub-question can be R1-only (independent positioning) + chair convergence, skipping anonymous R2/sign-off/Manus — but it still must land final.md + minutes.md + index.md in its own arena, and its result must be back-filled into the parent debate's final.md (with a pointer), so the parent stays the single source of truth.\n\nFile v1.6.6:README.md\n\n# Conclave\n\n[![Hermes Skill](https://img.shields.io/badge/Hermes-Skill-blue)](https://github.com/MCLYang/conclave-skill)\n[![Version](https://img.shields.io/badge/version-1.6.2-green)]()\n\n> **Conclave** is a multi-agent reasoning skill that orchestrates multiple AI CLIs into structured debates. Each agent independently analyzes the problem, challenges competing arguments, identifies flaws and contradictions, and refines the reasoning through multiple rounds of discussion — helping you reach more reliable conclusions than relying on a single AI.\n\n---\n\n## Core Capabilities\n\n| Capability | Description |\n|------------|-------------|\n| **Independent Positioning** | Five agents (Hermes, Claude, Codex, Gemini, Qwen) analyze the same brief in parallel, unseen by each other, preventing anchoring. |\n| **Anonymous Rebuttal** | Each agent receives the other four's R1 arguments (anonymized) and must identify at least one fatal flaw plus a concrete alternative solution. |\n| **Structured Convergence** | Chair (Hermes) synthesizes consensus and divergence points after each round; divergence points are sent back for further debate (dynamic rounds, hard ceiling 8). |\n| **Unanimous Sign-off** | Final draft circulated to all five; any objection must include a specific clause, specific reason, and an executable alternative. No-destruction-without-construction = invalid vote. |\n| **External Audit** | Manus reviews the final draft before delivery; a fatal-level objection triggers an extra round. |\n| **Automatic Archiving** | Every debate gets its own folder; all intermediate files are persisted by round. See **Security & Privacy** below for retention controls. |\n\n## ⚠️ Security & Privacy\n\n- **Data persists locally**: Debates are stored under `~/.hermes/debates/` indefinitely. Do not debate topics containing regulated personal data, trade secrets, or classified information unless you accept this risk.\n- **Data leaves your machine**: Prompts are sent to Claude (Anthropic), Codex (OpenAI), Gemini (Google), and Qwen (Alibaba) cloud APIs. The optional Manus advisor receives the final draft via MCP. Review each provider's data policy.\n- **No password storage**: This skill never prompts for, stores, or logs passwords. The macOS keychain must be unlocked manually by the user in an interactive terminal before background sessions.\n- **Input validation**: Topic slugs are sanitized to 1-32 lowercase letters, digits, and hyphens.\n- **Cleanup**: Run `bash ~/.hermes/skills/conclave/scripts/cleanup.sh [days]` to purge debates older than the retention period. Default is 90 days; use `0` for a dry-run preview.\n\n---\n\n## Quick Start\n\n```bash\n# 0. First time on this machine? Detect + install all CLIs/dependencies,\n#    then configure each provider key it flags as [ACTION]\nbash ~/.hermes/skills/conclave/scripts/install.sh\n\n# 1. Initialize a debate arena\nbash ~/.hermes/skills/conclave/scripts/init_debate.sh <topic-slug>\n\n# 2. Pre-flight check (update all CLIs, then ignition-ping every agent)\nbash ~/.hermes/skills/conclave/scripts/preflight.sh <arena-path>\n\n# 3. Load the skill in a Hermes session and launch the debate\nskill_view(name='conclave')\n```\n\n---\n\n## Arena Directory Structure\n\nEach debate auto-generates an isolated folder under `~/.hermes/debates/`:\n\n```\nconclave-20260813-medlibya/\n├── 00_preflight/          # Pre-flight ping results\n├── 01_brief/              # Brief + anonymous mapping + user constraints\n├── 02_r1/                 # R1 positioning (5 agents' raw outputs)\n├── 03_r2/                 # R2 rebuttals\n├── 04_r3~06_r5/           # Convergence rounds (created on demand)\n├── 07_verdicts/           # Chair synthesis per round\n├── 08_signoff/            # Final draft + individual sign-offs\n├── 09_deliver/            # Final report + meeting minutes (deliverables)\n└── index.md               # Full index: timeline, file map, key decisions\n```\n\n---\n\n## Workflow\n\n```\nR1 Positioning   → 5 agents in parallel, unseen, written to 02_r1/\nR2 Rebuttal      → Anonymous cross-examination + alternatives, written to 03_r2/\nR3–R5 Convergence → Chair synthesizes divergence points into 07_verdicts/; sent back\nSign-off         → Final draft circulated; objections must carry alternatives\nDelivery         → final.md + minutes.md land in 09_deliver/\n```\n\n---\n\n## Key Disciplines\n\n- **Constructive Opposition**: Any objection must answer \"What do you think is the correct approach?\" Destruction without construction = invalid.\n- **Retry on Failure**: Any agent call failure → immediate identical retry; 2 consecutive failures → mark absent, debate continues.\n- **Chair Neutrality**: Chair does not weight its own views; user override is the supreme arbiter.\n\n---\n\n## Deliverables\n\n| File | Path | Description |\n|------|------|-------------|\n| **Final Report** | `09_deliver/final.md` | Decision doc: executive summary + consensus list + divergence rulings + minority opinions |\n| **Meeting Minutes** | `09_deliver/minutes.md` | Process doc: round-by-round evolution, kill list, agent contributions, file index |\n| **Arena Index** | `index.md` | Timeline + file map + key-decision quick-reference |\n\n---\n\n## Lessons from the Field\n\n- **R1 Alignment = High-Confidence Signal**: When all five independently pick the same direction, it graduates directly to consensus without further debate.\n- **Audit-Agent Value Density**: The most rigorous agent's (e.g., Claude) objections should directly rewrite final numbers, not just serve as QC.\n- **Cost Expectation**: A full Conclave session (~30–50 CLI calls, 1.5–3 wall-clock hours). Use Codex medium/low effort for speed; parallelize all agents via `terminal(background=true)`.\n\n---\n\n## Installation\n\nInstall via the Hermes skills hub or clone from the source repository. Then run `bash ~/.hermes/skills/conclave/scripts/install.sh` to set up the four panelist CLIs and their dependencies — it auto-detects macOS, Linux, WSL, and Windows (Git Bash/MSYS2) and tells you exactly which provider keys to configure.\n\n---\n\n## License\n\nMIT\n\nFile v1.6.6:_meta.json\n\n{\n  \"ownerId\": \"kn7fgzd63hpn9jfpqcfc6tj3tn8cdng2\",\n  \"slug\": \"conclave-skill\",\n  \"version\": \"1.6.6\",\n  \"publishedAt\": 1786841698409\n}\n\nFile v1.6.6:references/consensus-protocol-v1.md\n\n# Conclave Consensus Protocol v1.1\n\nChair-audited revision of the v0.1 architecture proposal, amended by external review (2026-08-14). Highest objective: **maximize decision quality per unit cost — never consensus, never model count, never debate length.**\n\nTwo orthogonal tag systems are used throughout:\n- Implementation status: **[CORE]** current workflow · **[V1]** live now · **[L2]** deferred (needs data/infra)\n- Rigor level: **[FORMAL]** standard statistical theory · **[ESTIMATOR]** needs data · **[HEURISTIC]** engineering proxy · **[POLICY]** human-set rule · **[EXPERIMENTAL]** unvalidated\n\nEvery soft number in any Conclave output must carry a rigor tag. Fake precision is the enemy.\n\n---\n\n## 0. What was rejected from v0.1 and why\n\n| v0.1 item | Verdict | Reason |\n|---|---|---|\n| §13 w̃ᵢ = wᵢ/(1+λΣρᵢⱼwⱼ) | **REJECTED** | Ad hoc. The statistically principled aggregation of correlated estimators is inverse-covariance (GLS) weighting: w* ∝ Σ⁻¹1. Anything else needs empirical justification we don't have. |\n| §17 Priority = I × D × U (product) | **REJECTED** | Product of three [0,1] terms collapses all priorities into noise. Replaced by decision-relevance-first ranking (§5 below). |\n| §20 literal EVSI | **REPLACED** | True EVSI needs a likelihood model over what a new agent would say — intractable. Replaced by computable proxy: Decision-Flip Value (§6). |\n| §3 fixed 7-model council | **BLOCKED** | Only 4 panelist CLIs exist (Claude, Codex, Gemini, Qwen) + Hermes + Manus. Seed/DeepSeek/Grok are not available. See §2. |\n| §29C full calibration DB | **SCOPED** | Most strategic decisions never receive ground truth; Brier scores are uncomputable for them. Calibration tracking is restricted to *verifiable predictions* only (§9). |\n| Multiplicative weight wᵢ = hᵢ·rᵢ·qᵢ | **[HEURISTIC]** kept with defaults | No calibration data yet. Default hᵢ = 1 for all; rᵢ, qᵢ set by chair per debate, logged, never presented as precise. |\n\n## 1. Objective\n\na* = argmin_a E[L(a,θ) | E] + λ·Cost(process)\n\nConsensus is an intermediate statistic, never the target. The chair optimizes the decision under a loss function the USER must supply or approve (default for investments: expected percentage drawdown of the account).\n\n## 2. Modes (resource-constrained reality)\n\n| Mode | Panelists | When | Manus |\n|---|---|---|---|\n| Quick | 2 CLIs + Hermes | low-risk, fast | off by default |\n| Standard | 4 CLIs + Hermes | default (current implementation) | trigger-based (§7) |\n| Deep | **BLOCKED** until additional panelist CLIs (DeepSeek/Grok/etc.) are installed and pass preflight | high-stakes | preferred |\n\nMode selection is declared by the chair in the brief; the user may override.\n\n## 3. Round structure [CORE + V1]\n\n- **R1 independence is absolute [CORE]**: no panelist sees another's output. Prompts identical except the explicit role-letter assignment (field lesson 13).\n- **Structured R1 output [V1]**: each panelist must return JSON-ish blocks: position, claims[], evidence[], assumptions[], uncertainties[], disconfirming_conditions[], recommended_action, and self-rated confidence. Free-text reasoning follows the block. Confidence is self-reported and therefore **discounted, never trusted at face value**.\n- R2+ cross-examination, constructive-opposition iron rule, anonymity, disconnection rules: unchanged [CORE].\n\n## 4. Claim-based synthesis [V1]\n\nThe chair decomposes positions into atomic claims C₁…Cₙ (target 4–8 claims). For each claim the chair records: supporters, opponents, evidence sources cited, and **source overlap** (two agents citing the same URL/fact = one independent piece of evidence, not two). This replaces the v0.1 \"evidence graph\" with a flat table the chair can actually maintain in a verdict file.\n\n## 5. Divergence triage [V1] — the Decision Reversal Test [FORMAL as a criterion]\n\nRank claims by **decision relevance first**:\n\n1. **Decision Reversal Test**: if Cₖ were proven false, would the optimal action change — a*(C) ≠ a*(¬C)? If a*(C) = a*(¬C), the claim is deprioritized no matter how loud the disagreement, how low the confidence, or how many agents are arguing.\n2. Among decision-relevant claims, sort by divergence (spread of panelist positions).\n3. Among those, sort by whether additional evidence is obtainable at all.\n\nOnly the top 1–2 claims enter the next round's prompt. Debate rounds are **information acquisition, not conversation**: each round must target a named uncertainty and end with a verdict on whether that uncertainty materially decreased; if not, the loop stops.\n\n## 6. Stopping rule [V1] — Decision-Flip Value (DFV), the computable EVSI proxy\n\nContinue only if there exists an open claim Cₖ such that:\n\nP(resolving Cₖ flips the decision) × E[loss reduction if flipped] > Cost(next round)\n\nEstimation is deliberately crude: chair assigns the flip probability from the divergence ledger; loss reduction from the user's loss function; round cost ≈ 4–6 CLI calls ≈ 20–40 min wall time. All three numbers are **[HEURISTIC]** and must be logged in the verdict. Hard floors/ceilings from the current convergence rules (floor 2/3, ceiling 8) remain as guardrails.\n\n## 7. Manus external advisor [V1 — upgraded by field lesson 16]\n\nManus is External Advisor, never a voter. Retrieval via direct REST polling (POST/GET api.manus.im/v1/tasks), ~3 min turnaround.\n\n**Two strictly separated modes** (independence rule, v1.1):\n- **Blind Reality Check**: Manus receives ONLY the original question + constraints — never the council's outputs, summaries, or intermediate verdicts. Used when an independent evidence stream is needed. Requested output: facts, sources, counter-evidence, unknowns, and the mandatory field **\"what would change the conclusion?\"** (feeds directly into the Decision Reversal Test).\n- **Draft Review**: Manus receives the versioned final draft (as in the nakedleg debate). Used only after sign-off. The two modes must never be merged in one task.\n\nTrigger conditions (any one):\n- T1: a decision-relevant claim depends on verifiable real-world facts the council cannot check;\n- T2: R1 unanimity with suspected correlated training data (all four CLIs are LLMs — herding is the default failure mode);\n- T3: critical minority dissent (§8);\n- T4: the topic is time-sensitive (prices, regulation, news).\n\nManus output is treated as **evidence**, weighted by verifiability of its sources — not as an opinion. Chair audits: does each claim carry a checkable source? Unsourced Manus assertions get weight ≈ one self-rated LLM claim.\n\n## 8. Dissent & critical minority [CORE + V1]\n\nExisting sign-off rules (opposition requires an executable alternative; minority opinions archived verbatim) remain. Addition: dissent triage by expected loss Dᵢ = P(Fᵢ) × Impact(Fᵢ), where P(Fᵢ) is **discounted** because it is self-reported by the dissenter (default discount ×0.5, [HEURISTIC]). If Dᵢ > 10% of the decision's expected value at stake, the dissent forces one targeted follow-up round or a Manus reality check — never silently dropped.\n\n## 9. Aggregation math [V1]\n\nFor binary/probability questions, until calibration data exists:\n\n1. Convert each panelist's position on the claim to pᵢ (extracted from structured output; missing → claim excluded from pooling).\n2. Normalize weights: ŵᵢ = wᵢ / Σw (prevents extremization).\n3. Correlation discount: N_eff = (Σŵᵢ)² / ΣᵢΣⱼ ŵᵢŵⱼρᵢⱼ with default ρ = 0.6 same-family / 0.3 cross-family **[HEURISTIC]**; report N_eff alongside every pooled number.\n4. Pool in log-odds with prior z₀ = logit(0.5) unless the user supplies a base rate: z* = z₀ + Σŵᵢ(zᵢ − z₀), then p* = σ(z*). Label output \"uncalibrated pooled estimate\".\n5. **Phase gates [POLICY]** — no learned weighting before sufficient empirical data exists:\n   - N < 30 resolved predictions: equal weights only.\n   - 30 ≤ N < 100: correlation/calibration research may run offline, but must NOT affect live weights.\n   - N ≥ 100: GLS / BMA / correlation-aware ensembles allowed ONLY after out-of-sample validation against the baselines in §9a. Any aggregation that cannot beat equal-weight out-of-sample does not ship.\n\n## 9a. Permanent baselines [V1, POLICY]\n\nEvery debate records two free baselines in the final report: (a) simple majority vote; (b) equal-weight pooled probability. The protocol's value is measured as Performance(Conclave) − Performance(Baseline). If the gap is not positive over time, added complexity is unjustified and must be removed.\n\n## 10. Verdict schema [V1]\n\nfinal.md keeps its current mandatory structure (dry conclusion first, consensus list, divergence & adjudication, minority verbatim, advisor handling). Added fields:\n\n- **Decision State block** — five separate lines, never merged: Belief (pooled P, tagged uncalibrated) / Consensus (level) / Confidence (evidence quality) / Decision (action) / Decision Robustness (§10a).\n- Mode used; N_eff [ESTIMATOR with heuristic priors]; claim table with per-claim status (resolved / open / accepted-risk); dissent expected-loss triage results; both baselines (§9a); every soft number carries a rigor tag.\n- **Why-stopped block** [POLICY]: one of the enumerated reasons — (1) critical claims decision-stable; (2) remaining disagreement cannot change the action; (3) external evidence does not contradict; (4) DFV < cost; (5) required evidence unavailable → recommendation DO NOT DECIDE YET; (6) hard ceiling reached.\n\n## 10a. Terminal states and Decision Robustness [V1]\n\nTerminal states (v0.1 §28 extended): STRONG CONSENSUS / CONDITIONAL CONSENSUS / MAJORITY + CRITICAL DISSENT / UNRESOLVED / REJECT / **NO CONSENSUS — INSUFFICIENT EVIDENCE** / **DEBATE_FAILED** (agents disagree because required evidence is unavailable, not because reasoning is insufficient). Emitting NO CONSENSUS or DEBATE_FAILED when it prevents a bad decision is a success, not a failure.\n\n**Decision Robustness** [HEURISTIC]: a small sensitivity table — flip the 2-3 load-bearing assumptions across their plausible ranges (e.g., CAPEX +10%/+20%, demand −10%/−20%) and record where the decision flips. Report HIGH / MEDIUM / LOW robustness with the flip points named. Far more useful than a naked confidence number.\n\n## 11. Calibration logging [V1]\n\nEvery debate appends one JSONL record per **verifiable** prediction to `~/.hermes/debates/calibration.jsonl` with fields: prediction_id, question, timestamp, agent, role, probability, resolution_date, ground_truth (filled at resolution), brier_score, log_loss. Only predictions with a defined check date and an observable outcome are recorded. A cron job (or the chair at the next debate) resolves due predictions.\n\n**Dual-track rule [POLICY]**: Track A = verifiable predictions → scored. Track B = strategic judgments (\"this strategy is good\") → never auto-scored; only post-hoc qualitative review. The system must never refuse hard strategic questions just because they are unscoreable.\n\n## 11a. Research definitions (do NOT implement) [EXPERIMENTAL]\n\n- Marginal Agent Value: MAVᵢ = Q(Council + i) − Q(Council − i). Answers \"who adds marginal value\" rather than \"who is most accurate\" (a correlated strong model may be worth less than a weaker but independent one). Research-only until the calibration log can support it.\n- Risk-sensitive decisions (CVaR-style, for P(catastrophe) small-but-unacceptable cases): [L2]. For now, final.md only carries risk metadata (worst-case loss, tail probability) without CVaR machinery.\n- Evidence provenance full schema: keep the lightweight version (source + source_type + date + independently_verified flag); the full schema is deferred.\n\n## 12. What this protocol deliberately does NOT do\n\n- No dynamic expansion mid-debate [L2].\n- No learned ρᵢⱼ [L2].\n- No Bayesian Model Averaging / hierarchical Bayes [L2 — unjustifiable without calibration data; would be fake precision].\n- No claim that any pooled probability is calibrated before the log has data.\n\nFile v1.6.6:references/panelists.md\n\n# Panelist Roster\n\nSix AI panelists + one external advisor. All CLI calls require `no_proxy='*'` prepended.\n\n## 1. Hermes (Chair & Panelist)\n\n- This agent itself. Positioning and rebuttals are drafted in-session by the chair, written to disk in the same format as the other four.\n- Red line: must not favor itself; views struck down are still recorded under \"rejected positions\".\n\n## 2. Claude Code\n\n- Command: `no_proxy='*' claude -p '<prompt>' --max-turns 1`\n- Auth: official OAuth (zhang@testsprite.com), credentials stored in macOS login keychain.\n  Background sessions may fail to read the keychain (security exit 36).\n  **DO NOT put passwords in prompts or scripts.** The user must manually unlock the keychain in an interactive terminal before starting a background debate session (macOS only; N/A on Linux/Windows where only `~/.claude/.credentials.json` is checked):\n  ```\n  security unlock-keychain ~/Library/Keychains/login.keychain-db\n  ```\n  If still 401: check for and move aside old `~/.claude/.credentials.json`, then retry.\n- Update: `claude update`\n- Install: `npm install -g @anthropic-ai/claude-code` (or run `scripts/install.sh` to install everything at once)\n- Ping: `no_proxy='*' claude -p 'reply with one word: pong' --max-turns 1`\n\n## 3. Codex\n\n- Command: `no_proxy='*' codex exec --skip-git-repo-check -c model_reasoning_effort=\"medium\" '<prompt>'`\n  For important sessions, replace medium with xhigh.\n- Auth: cmdme.cn relay, sk- key in `~/.codex/auth.json`; in config.toml set\n  `requires_openai_auth = false`, `wire_api = \"responses\"`, `base_url = \"https://cmdme.cn\"`.\n- Pitfall: exec defaults to a read-only sandbox; file writes are rejected → prompts must require \"full text to stdout\",\n  and the chair extracts the output via `process(action='log', offset=0, limit=400)` to disk.\n- Update: `codex update` (or `npm install -g @openai/codex@latest` when npm-managed)\n- Install: `npm install -g @openai/codex`\n- Ping: `no_proxy='*' codex exec --skip-git-repo-check 'reply with one word: pong'`\n\n## 4. Gemini CLI\n\n- Command: `no_proxy='*' GEMINI_CLI_TRUST_WORKSPACE=true zsh -i -c 'gemini -p \"<prompt>\"'`\n  (On Linux/Windows without zsh, preflight.sh auto-falls back to `bash -i -c` — both source rc files for env keys.)\n- Pitfall: since 0.55.1 a trust-directory check was added; non-interactive calls must carry `GEMINI_CLI_TRUST_WORKSPACE=true`, otherwise the CLI refuses to run.\n- Auth / env: `GOOGLE_GEMINI_BASE_URL` + `GEMINI_API_KEY` (persisted in user shell rc).\n  Key format determines provider: `AQ.Ab8…` = Google official (base generativelanguage.googleapis.com),\n  `sk-…` = cmdme relay. Mixing them causes 401.\n  Note: non-interactive shells may not read rc files — call via `zsh -i -c` or explicitly export variables.\n- Update: `npm install -g @google/gemini-cli@latest`\n- Install: `npm install -g @google/gemini-cli`\n- Ping: `no_proxy='*' GEMINI_CLI_TRUST_WORKSPACE=true zsh -i -c 'gemini -p \"reply with one word: pong\"'`\n\n## 5. Qwen\n\n- Command: `no_proxy='*' qwen -p '<prompt>'`\n- Binary lives in ~/.local/lib/qwen-code (official installer layout).\n- Update: `npm install -g @qwen-code/qwen-code@latest` when npm-managed; otherwise `qwen update`\n- Install: `npm install -g @qwen-code/qwen-code`\n- Ping: `no_proxy='*' qwen -p 'reply with one word: pong'`\n\n## 6. DeepSeek (deepcode-panelist)\n\n- **Note**: The `deepcode` CLI itself is TTY-locked (requires an interactive terminal). For non-interactive / background debates, use the `deepcode-panelist` wrapper instead.\n- Command: `deepcode-panelist '<prompt>'`\n- Wrapper path: `/Users/mac/.local/bin/deepcode-panelist`\n- What it does: reads `~/.deepcode/settings.json` (model, API key, base URL, reasoning effort), then calls the Ark Responses API directly — same backend as the TUI, zero ANSI overhead, pure text output.\n- Config source (`~/.deepcode/settings.json`):\n  ```json\n  {\n    \"env\": {\n      \"MODEL\": \"deepseek-v4-flash-ga-260731\",\n      \"BASE_URL\": \"https://ark.cn-beijing.volces.com/api/v3\",\n      \"API_KEY\": \"ark-...\"\n    },\n    \"thinkingEnabled\": true,\n    \"reasoningEffort\": \"max\"\n  }\n  ```\n- Output: model text to stdout; reasoning chain + usage metadata to stderr.\n- Install wrapper (one-time):\n  ```bash\n  # The wrapper is a shell script; copy it to PATH\n  cp /path/to/deepcode-panelist /Users/mac/.local/bin/\n  chmod +x /Users/mac/.local/bin/deepcode-panelist\n  ```\n- Install deepcode (for config generation + interactive use):\n  ```bash\n  npm i -g deepcode\n  deepcode --version   # v0.1.34\n  # Then run interactively once to create ~/.deepcode/settings.json\n  ```\n- Ping: `deepcode-panelist 'reply with one word: pong'`\n- Pitfall: `deepcode -p` without the wrapper fails with \"requires an interactive terminal (TTY)\" — this is by design in the upstream CLI. The wrapper is the canonical non-interactive path.\n\n## 7. Manus (External Advisor, async)\n\n- **Privacy warning**: Sending the final draft and round summaries to Manus transmits user problem statements and internal debate content to a third-party service. Do not use Manus for debates containing proprietary, personal, or regulated data unless you have reviewed Manus's data-handling policy and obtained appropriate consent.\n- Channel: Hermes Manus MCP — `mcp__manus_mcp__create_task` (deferred tool; call tool_describe first, then tool_call).\n- Usage: package the final draft + round-summary synthesis into a prompt and create a task; wait for the result (async, may take minutes to tens of minutes).\n- Timeout 30 min with no response → skip the advisor step; final report notes \"external advisor not reviewed\".\n- Ping: send a minimal task \"reply with one word: pong\" (mode=\"speed\"); receiving a task_id means the channel is open.\n- 2026-08-12 verified: this MCP only exposes create_task / create_webhook / delete_webhook.\n  **There is no MCP tool to query task results. BUT (2026-08-14 verified): the same MANUS_MCP_API_KEY works against the REST API directly, making results fully retrievable without webhooks:**\n  - Create: `POST https://api.manus.im/v1/tasks` with header `API_KEY: <key>`, body `{\"prompt\": \"...\", \"taskMode\": \"chat\"}` → returns `task_id`.\n  - Poll: `GET https://api.manus.im/v1/tasks/{task_id}` with the same header every 60s until `status == \"completed\"`; extract text from `output[]` where `role == \"assistant\"` → `content[].text`.\n  - Typical review turnaround: ~3 minutes. This is the preferred path on CLI-only machines; keep the webhook/user-paste routes as fallbacks only.\n\n## General Rules\n\n1. All calls are non-interactive (`-p` / `exec`), no TUI; use `terminal(background=true, notify_on_complete=true)` when parallelizing.\n2. Long texts go to disk; prompts only give paths.\n3. Any disconnection: immediate identical retry; 2 consecutive failures → mark absent, note in final report.\n4. On a new machine or after any CLI failure, run `scripts/install.sh` first — it detects and installs all CLIs/dependencies, then lists exactly which provider keys the user must configure. Pre-flight `scripts/preflight.sh` (update + ignition ping) is mandatory before every debate; do not start until all agents are reachable.\n\nFile v1.6.6:skill-card.md\n\n## Description:\n\nConclave orchestrates multiple AI CLIs into structured debates where agents independently analyze a problem, challenge competing arguments, refine reasoning across rounds, and help produce a more reliable conclusion than a single AI response.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[mclyang](https://clawhub.ai/user/mclyang)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers, operators, and decision-makers use Conclave to run structured multi-agent debates for complex decisions such as architecture choices, contract risk, pricing, investment judgment, or other high-stakes analysis. The skill produces a chair-adjudicated final report, meeting minutes, and an auditable local archive of the debate process.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can install or update global CLI tools and modify the local developer environment.\n\nMitigation: Run setup scripts manually when possible, use install.sh --check-only for audits, and use preflight.sh --skip-update when automatic updates are not acceptable.\n\nRisk: Debate topics and intermediate content can be sent to multiple third-party AI cloud providers.\n\nMitigation: Avoid sensitive, regulated, classified, or proprietary topics unless provider sharing has been reviewed and approved.\n\nRisk: Full debate records are retained locally and exported into the working directory by default.\n\nMitigation: Periodically review and clean ~/.hermes/debates with scripts/cleanup.sh, and remove exported arena copies when they are no longer needed.\n\nRisk: The skill relies on configured local authentication state and provider credentials.\n\nMitigation: Do not place secrets in prompts or scripts; verify authentication with preflight checks and follow the documented manual keychain and provider setup steps.\n\n## Reference(s):\n\n- [Conclave Consensus Protocol v1.1](references/consensus-protocol-v1.md)\n- [Panelist Roster](references/panelists.md)\n- [Conclave ClawHub Release](https://clawhub.ai/mclyang/skills/conclave-skill)\n- [Manus Tasks API](https://api.manus.im/v1/tasks)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Shell commands, Configuration, Guidance, Files]\n\n**Output Format:** [Markdown reports, shell commands, configuration guidance, and filesystem paths]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Creates persistent local debate arenas under ~/.hermes/debates and final deliverables such as final.md, minutes.md, and index.md.]\n\n## Skill Version(s):\n\n1.6.6 (source: SKILL.md frontmatter and server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.6.6:templates/brief.md\n\n# Brief: {topic}\n\n## Background\n{Background provided by the user, augmented by the chair to be self-contained — panelists cannot see this conversation, so all necessary information must be written here}\n\n## Constraints\n- {Budget / timeline / red lines / existing decisions, etc.}\n\n## Questions to Adjudicate\n1. {Question one}\n2. {Question two}\n\n## Your Task\nYou are one of five anonymous panelists. Give your complete position on the above questions:\n- Lead with the conclusion\n- Provide evidence for every claim (data / logic / case study)\n- Proactively identify the biggest risk in your own proposal\n- Output the full text to stdout; do not write any files\n- Language: {match the user's current session language; do not default to English}\n\nFile v1.6.6:templates/round-prompt.md\n\n# Conclave Round Prompt Templates\n\n## R2 Rebuttal\n\n```\nYou are one of five anonymous panelists. Below are the R1 position statements from the other four panelists (anonymized):\n- {arena}/02_r1/r1_A.md\n- {arena}/02_r1/r1_B.md\n- {arena}/02_r1/r1_C.md\n- {arena}/02_r1/r1_D.md\nYour own R1 position is in {arena}/02_r1/r1_You.md.\n\nTask:\n1. Rebut each opponent: identify at least one fatal flaw (logical gap / data error / ignored constraint), quote their original text — and you **must** provide \"how you would fix it\" as your solution; criticism without a solution = invalid speech, sent back for rewrite.\n2. Self-defense: anticipate the most likely attacks on your own position and defend them proactively.\n3. No personal attacks; attack only arguments. No equivocation.\n4. Output the full text to stdout. Use the language specified in the brief.\n```\n\n## R3-R5 Convergence\n\n```\nThe currently unresolved divergence points are listed below (extracted from the chair's synthesis; see {arena}/07_verdicts/verdict_rN.md):\n{Divergence list, each with stances and evidence locations from all sides}\n\nRules: for each divergence point, you must choose one of:\na) Concede — explicitly state \"I concede on this point\", optionally with a reservation note;\nb) Rebut with evidence — provide new evidence or new logic, and **you must simultaneously provide your alternative** (what you think the correct decision should be); repeating old arguments or criticizing without proposing an alternative counts as a violation.\nEquivocation (\"both sides have merit\") is treated as refusal to converge; the chair will record one violation against you.\nOutput the full text to stdout. Use the language specified in the brief.\n```\n\n## Sign-off\n\n```\nThis is the chair's proposed final draft: {arena}/08_signoff/final_draft.md\nYou may reply with exactly one of the following:\n- \"Agree\"\n- \"Oppose\" + specific clause + specific reason + your alternative (what you think should be changed and how)\nOpposition without an alternative = invalid vote, treated as abstention.\nOutput the full text to stdout. Use the language specified in the brief.\n```\n\n## Manus External Advisor\n\n```\nA five-agent AI debate has converged on a final draft (attached). You are an independent external advisor. Do one thing only:\nCheck whether the final draft contains any \"fatal-level\" issues — factual errors, logical contradictions, constraint violations, or omitted major risks.\nIf yes: list each item with evidence. If no: reply \"No fatal issues\".\nPlease state the reviewed version number on the first line: e.g., v1.2-draft-3.\nDraft follows:\n{full final_draft text + round-by-round synthesis summary}\n```\n\nArchive v1.6.5: 12 files, 39539 bytes\n\nFiles: README.md (6082b), references/consensus-protocol-v1.md (12077b), references/panelists.md (7135b), scripts/cleanup.sh (1498b), scripts/init_debate.sh (2865b), scripts/install.sh (8185b), scripts/preflight.sh (4716b), skill-card.md (2753b), SKILL.md (36762b), templates/brief.md (744b), templates/round-prompt.md (2661b), _meta.json (133b)\n\nFile v1.6.5:SKILL.md\n\n---\nname: conclave\ndescription: \"\n\nArchive v1.6.4: 12 files, 38123 bytes\n\nFiles: README.md (6082b), references/consensus-protocol-v1.md (12077b), references/panelists.md (7135b), scripts/cleanup.sh (1498b), scripts/init_debate.sh (2865b), scripts/install.sh (8185b), scripts/preflight.sh (4716b), skill-card.md (2610b), SKILL.md (33231b), templates/brief.md (744b), templates/round-prompt.md (2661b), _meta.json (133b)\n\nArchive v1.6.3: 12 files, 36934 bytes\n\nFiles: README.md (6082b), references/consensus-protocol-v1.md (12077b), references/panelists.md (7135b), scripts/cleanup.sh (1498b), scripts/init_debate.sh (2865b), scripts/install.sh (8185b), scripts/preflight.sh (4716b), skill-card.md (2353b), SKILL.md (30270b), templates/brief.md (744b), templates/round-prompt.md (2661b), _meta.json (133b)\n\nArchive v1.6.2: 40 files, 71059 bytes\n\nFiles: ark-examples/ep-20260814120210-zzbrz/chat/curl.sh (671b), ark-examples/ep-20260814120210-zzbrz/chat/go/main.go (2008b), ark-examples/ep-20260814120210-zzbrz/chat/java/Main.java (2826b), ark-examples/ep-20260814120210-zzbrz/chat/node.ts (748b), ark-examples/ep-20260814120210-zzbrz/chat/python.py (1151b), ark-examples/ep-20260814120210-zzbrz/response/curl.sh (614b), ark-examples/ep-20260814120210-zzbrz/response/go/main.go (1681b), ark-examples/ep-20260814120210-zzbrz/response/java/Main.java (1992b), ark-examples/ep-20260814120210-zzbrz/response/python.py (872b), debates/20260813-selfopt/01_brief/brief.md (1547b), debates/20260813-selfopt/01_brief/constraints.md (144b), debates/20260813-selfopt/01_brief/mapping.md (291b), debates/20260813-selfopt/02_r1/r1_panelist_a_claude.md (3891b), debates/20260813-selfopt/02_r1/r1_panelist_b_codex.md (3002b), debates/20260813-selfopt/02_r1/r1_panelist_c_gemini.md (1996b), debates/20260813-selfopt/02_r1/r1_panelist_d_qwen.md (2437b), debates/20260813-selfopt/02_r1/r1_panelist_e_hermes.md (1783b), debates/20260813-selfopt/03_r2/r2_panelist_e_hermes.md (2694b), debates/20260813-selfopt/04_r3/r3_panelist_a_claude.md (4149b), debates/20260813-selfopt/04_r3/r3_panelist_b_codex.md (71b), debates/20260813-selfopt/04_r3/r3_panelist_c_gemini.md (93b), debates/20260813-selfopt/04_r3/r3_panelist_d_qwen.md (2238b), debates/20260813-selfopt/07_verdicts/verdict_r1.md (2477b), debates/20260813-selfopt/07_verdicts/verdict_r2.md (1983b), debates/20260813-selfopt/07_verdicts/verdict_r3.md (1821b), debates/20260813-selfopt/09_deliver/final.md (4512b), debates/20260813-selfopt/09_deliver/minutes.md (5052b), debates/20260813-selfopt/index.md (783b), README.md (6082b), references/consensus-protocol-v1.md (12077b), references/panelists.md (7135b), scripts/cleanup.sh (1498b), scripts/init_debate.sh (2865b), scripts/install.sh (8185b), scripts/preflight.sh (4716b), skill-card.md (2919b), SKILL.md (30270b), templates/brief.md (744b), templates/round-prompt.md (2661b), _meta.json (133b)\n\nArchive v1.6.1: 40 files, 70239 bytes\n\nFiles: ark-examples/ep-20260814120210-zzbrz/chat/curl.sh (671b), ark-examples/ep-20260814120210-zzbrz/chat/go/main.go (2008b), ark-examples/ep-20260814120210-zzbrz/chat/java/Main.java (2826b), ark-examples/ep-20260814120210-zzbrz/chat/node.ts (748b), ark-examples/ep-20260814120210-zzbrz/chat/python.py (1151b), ark-examples/ep-20260814120210-zzbrz/response/curl.sh (614b), ark-examples/ep-20260814120210-zzbrz/response/go/main.go (1681b), ark-examples/ep-20260814120210-zzbrz/response/java/Main.java (1992b), ark-examples/ep-20260814120210-zzbrz/response/python.py (872b), debates/20260813-selfopt/01_brief/brief.md (1547b), debates/20260813-selfopt/01_brief/constraints.md (144b), debates/20260813-selfopt/01_brief/mapping.md (291b), debates/20260813-selfopt/02_r1/r1_panelist_a_claude.md (3891b), debates/20260813-selfopt/02_r1/r1_panelist_b_codex.md (3002b), debates/20260813-selfopt/02_r1/r1_panelist_c_gemini.md (1996b), debates/20260813-selfopt/02_r1/r1_panelist_d_qwen.md (2437b), debates/20260813-selfopt/02_r1/r1_panelist_e_hermes.md (1783b), debates/20260813-selfopt/03_r2/r2_panelist_e_hermes.md (2694b), debates/20260813-selfopt/04_r3/r3_panelist_a_claude.md (4149b), debates/20260813-selfopt/04_r3/r3_panelist_b_codex.md (71b), debates/20260813-selfopt/04_r3/r3_panelist_c_gemini.md (93b), debates/20260813-selfopt/04_r3/r3_panelist_d_qwen.md (2238b), debates/20260813-selfopt/07_verdicts/verdict_r1.md (2477b), debates/20260813-selfopt/07_verdicts/verdict_r2.md (1983b), debates/20260813-selfopt/07_verdicts/verdict_r3.md (1821b), debates/20260813-selfopt/09_deliver/final.md (4512b), debates/20260813-selfopt/09_deliver/minutes.md (5052b), debates/20260813-selfopt/index.md (783b), README.md (6082b), references/consensus-protocol-v1.md (12077b), references/panelists.md (7135b), scripts/cleanup.sh (1498b), scripts/init_debate.sh (2865b), scripts/install.sh (8185b), scripts/preflight.sh (4716b), skill-card.md (2590b), SKILL.md (28506b), templates/brief.md (744b), templates/round-prompt.md (2661b), _meta.json (133b)\n\nArchive v1.6.0: 40 files, 70192 bytes\n\nFiles: ark-examples/ep-20260814120210-zzbrz/chat/curl.sh (671b), ark-examples/ep-20260814120210-zzbrz/chat/go/main.go (2008b), ark-examples/ep-20260814120210-zzbrz/chat/java/Main.java (2826b), ark-examples/ep-20260814120210-zzbrz/chat/node.ts (748b), ark-examples/ep-20260814120210-zzbrz/chat/python.py (1151b), ark-examples/ep-20260814120210-zzbrz/response/curl.sh (614b), ark-examples/ep-20260814120210-zzbrz/response/go/main.go (1681b), ark-examples/ep-20260814120210-zzbrz/response/java/Main.java (1992b), ark-examples/ep-20260814120210-zzbrz/response/python.py (872b), debates/20260813-selfopt/01_brief/brief.md (1547b), debates/20260813-selfopt/01_brief/constraints.md (144b), debates/20260813-selfopt/01_brief/mapping.md (291b), debates/20260813-selfopt/02_r1/r1_panelist_a_claude.md (3891b), debates/20260813-selfopt/02_r1/r1_panelist_b_codex.md (3002b), debates/20260813-selfopt/02_r1/r1_panelist_c_gemini.md (1996b), debates/20260813-selfopt/02_r1/r1_panelist_d_qwen.md (2437b), debates/20260813-selfopt/02_r1/r1_panelist_e_hermes.md (1783b), debates/20260813-selfopt/03_r2/r2_panelist_e_hermes.md (2694b), debates/20260813-selfopt/04_r3/r3_panelist_a_claude.md (4149b), debates/20260813-selfopt/04_r3/r3_panelist_b_codex.md (71b), debates/20260813-selfopt/04_r3/r3_panelist_c_gemini.md (93b), debates/20260813-selfopt/04_r3/r3_panelist_d_qwen.md (2238b), debates/20260813-selfopt/07_verdicts/verdict_r1.md (2477b), debates/20260813-selfopt/07_verdicts/verdict_r2.md (1983b), debates/20260813-selfopt/07_verdicts/verdict_r3.md (1821b), debates/20260813-selfopt/09_deliver/final.md (4512b), debates/20260813-selfopt/09_deliver/minutes.md (5052b), debates/20260813-selfopt/index.md (783b), README.md (6082b), references/consensus-protocol-v1.md (12077b), references/panelists.md (7135b), scripts/cleanup.sh (1498b), scripts/init_debate.sh (2865b), scripts/install.sh (8185b), scripts/preflight.sh (4716b), skill-card.md (2488b), SKILL.md (28444b), templates/brief.md (744b), templates/round-prompt.md (2661b), _meta.json (133b)\n\nArchive v1.5.0: 31 files, 61941 bytes\n\nFiles: debates/20260813-selfopt/01_brief/brief.md (1547b), debates/20260813-selfopt/01_brief/constraints.md (144b), debates/20260813-selfopt/01_brief/mapping.md (291b), debates/20260813-selfopt/02_r1/r1_panelist_a_claude.md (3891b), debates/20260813-selfopt/02_r1/r1_panelist_b_codex.md (3002b), debates/20260813-selfopt/02_r1/r1_panelist_c_gemini.md (1996b), debates/20260813-selfopt/02_r1/r1_panelist_d_qwen.md (2437b), debates/20260813-selfopt/02_r1/r1_panelist_e_hermes.md (1783b), debates/20260813-selfopt/03_r2/r2_panelist_e_hermes.md (2694b), debates/20260813-selfopt/04_r3/r3_panelist_a_claude.md (4149b), debates/20260813-selfopt/04_r3/r3_panelist_b_codex.md (71b), debates/20260813-selfopt/04_r3/r3_panelist_c_gemini.md (93b), debates/20260813-selfopt/04_r3/r3_panelist_d_qwen.md (2238b), debates/20260813-selfopt/07_verdicts/verdict_r1.md (2477b), debates/20260813-selfopt/07_verdicts/verdict_r2.md (1983b), debates/20260813-selfopt/07_verdicts/verdict_r3.md (1821b), debates/20260813-selfopt/09_deliver/final.md (4512b), debates/20260813-selfopt/09_deliver/minutes.md (5052b), debates/20260813-selfopt/index.md (783b), README.md (6082b), references/consensus-protocol-v1.md (12077b), references/panelists.md (5708b), scripts/cleanup.sh (1498b), scripts/init_debate.sh (2865b), scripts/install.sh (8185b), scripts/preflight.sh (4716b), skill-card.md (2689b), SKILL.md (28333b), templates/brief.md (744b), templates/round-prompt.md (2661b), _meta.json (133b)\n\nArchive v1.4.0: 31 files, 59694 bytes\n\nFiles: debates/20260813-selfopt/01_brief/brief.md (1547b), debates/20260813-selfopt/01_brief/constraints.md (144b), debates/20260813-selfopt/01_brief/mapping.md (291b), debates/20260813-selfopt/02_r1/r1_panelist_a_claude.md (3891b), debates/20260813-selfopt/02_r1/r1_panelist_b_codex.md (3002b), debates/20260813-selfopt/02_r1/r1_panelist_c_gemini.md (1996b), debates/20260813-selfopt/02_r1/r1_panelist_d_qwen.md (2437b), debates/20260813-selfopt/02_r1/r1_panelist_e_hermes.md (1783b), debates/20260813-selfopt/03_r2/r2_panelist_e_hermes.md (2694b), debates/20260813-selfopt/04_r3/r3_panelist_a_claude.md (4149b), debates/20260813-selfopt/04_r3/r3_panelist_b_codex.md (71b), debates/20260813-selfopt/04_r3/r3_panelist_c_gemini.md (93b), debates/20260813-selfopt/04_r3/r3_panelist_d_qwen.md (2238b), debates/20260813-selfopt/07_verdicts/verdict_r1.md (2477b), debates/20260813-selfopt/07_verdicts/verdict_r2.md (1983b), debates/20260813-selfopt/07_verdicts/verdict_r3.md (1821b), debates/20260813-selfopt/09_deliver/final.md (4512b), debates/20260813-selfopt/09_deliver/minutes.md (5052b), debates/20260813-selfopt/index.md (783b), README.md (6082b), references/consensus-protocol-v1.md (8178b), references/panelists.md (5708b), scripts/cleanup.sh (1498b), scripts/init_debate.sh (2865b), scripts/install.sh (8185b), scripts/preflight.sh (4716b), skill-card.md (2274b), SKILL.md (27740b), templates/brief.md (744b), templates/round-prompt.md (2661b), _meta.json (133b)","readmeExcerpt":"Skill: conclave Owner: mclyang Summary: Conclave is a multi-agent reasoning skill that orchestrates multiple AI CLIs into structured debates. Each agent independently analyzes the problem, challenges competing arguments, identifies flaws and contradictions, and refines the reasoning through multiple rounds of discussion — helping you reach more reliable conclusions than relying on a single AI. Tags: latest:1.6.7 Vers","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"R1 Positioning   → agents in parallel, unseen by each other (prevent anchoring). Write to 02_r1/. Chair also writes a position.\nR2 Rebuttal      → Each agent receives the other agents' R1 (anonymized). Task: identify ≥1 fatal flaw per opponent + self-defense. Write to 03_r2/.\nR3+ Convergence  → Chair synthesizes consensus/divergence into 07_verdicts/verdict_rN.md; only divergence points are sent back.\n                   Each agent must \"concede\" or \"rebut with evidence\"; equivocation is prohibited. Write to 04_r3~08_signoff/.\n                   Termination may occur as early as R3 if strategic divergence is resolved and every objection carries an executable alternative.\n                   Hard ceiling: 8 rounds (including R1 and R2)."},{"language":"bash","snippet":"cp -R ~/.hermes/debates/conclave-YYYYMMDD-<slug> \"$PWD/\"\ndiff -r ~/.hermes/debates/conclave-YYYYMMDD-<slug> \"$PWD/conclave-YYYYMMDD-<slug>\" && echo \"COPY VERIFIED\""},{"language":"bash","snippet":"# 0. First time on this machine? Detect + install all CLIs/dependencies,\n#    then configure each provider key it flags as [ACTION]\nbash ~/.hermes/skills/conclave/scripts/install.sh\n\n# 1. Initialize a debate arena\nbash ~/.hermes/skills/conclave/scripts/init_debate.sh <topic-slug>\n\n# 2. Pre-flight check (update all CLIs, then ignition-ping every agent)\nbash ~/.hermes/skills/conclave/scripts/preflight.sh <arena-path>\n\n# 3. Load the skill in a Hermes session and launch the debate\nskill_view(name='conclave')"},{"language":"text","snippet":"conclave-20260813-medlibya/\n├── 00_preflight/          # Pre-flight ping results\n├── 01_brief/              # Brief + anonymous mapping + user constraints\n├── 02_r1/                 # R1 positioning (5 agents' raw outputs)\n├── 03_r2/                 # R2 rebuttals\n├── 04_r3~06_r5/           # Convergence rounds (created on demand)\n├── 07_verdicts/           # Chair synthesis per round\n├── 08_signoff/            # Final draft + individual sign-offs\n├── 09_deliver/            # Final report + meeting minutes (deliverables)\n└── index.md               # Full index: timeline, file map, key decisions"},{"language":"text","snippet":"R1 Positioning   → 5 agents in parallel, unseen, written to 02_r1/\nR2 Rebuttal      → Anonymous cross-examination + alternatives, written to 03_r2/\nR3–R5 Convergence → Chair synthesizes divergence points into 07_verdicts/; sent back\nSign-off         → Final draft circulated; objections must carry alternatives\nDelivery         → final.md + minutes.md land in 09_deliver/"},{"language":"text","snippet":"security unlock-keychain ~/Library/Keychains/login.keychain-db"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: conclave\ndescription: \"Conclave is a multi-agent reasoning skill that orchestrates multiple AI CLIs into structured debates. Each agent independently analyzes the problem, challenges competing arguments, identifies flaws and contradictions, and refines the reasoning through multiple rounds of discussion — helping you reach more reliable conclusions than relying on a single AI.\"\nversion: 1.6.7\nauthor: Hermes Agent\nmetadata:\n  hermes:\n    tags: [Debate, Multi-Agent, Decision, Claude, Codex, Gemini, Qwen, DeepSeek, Doubao, Ark, Manus, Install, Update, Export, Archive]\n---\n\n# Conclave — Multi-Agent Structured Debate & Adjudication\n\nGiven a user topic, convene AI agents to independently posit arguments, engage in anonymous cross-examination, converge, and sign off unanimously, producing a chair-adjudicated final markdown report.\n\nUse for high-stakes decisions (pricing structure, contract risk, architecture selection, investment judgment). Do not use for daily trivia.\n\n## ⚠️ Full Capability Disclosure (read before installing)\n\nThis skill does **significantly more** than \"debate orchestration\". By design it:\n\n- **Installs and updates global CLI tools** (`npm install -g`, brew, apt, etc.) via `scripts/install.sh` and pre-flight self-updates.\n- **Inspects local auth state** (checks for API keys, OAuth tokens, keychain status) without reading secret values.\n- **Transmits your debate topic** to 6 third-party AI cloud APIs (Claude/OpenAI, Google, Alibaba, ByteDance/Ark, Manus).\n- **Persists full debate records** indefinitely under `~/.hermes/debates/` (briefs, raw agent outputs, verdicts, votes).\n- **Mandatorily exports** the entire arena to the current working directory after every debate.\n- **Calls external REST APIs** (Manus `api.manus.im`) with the debate final draft.\n\n**Do not install if** you are not comfortable with global package changes, third-party AI services seeing your content, or full debate archives being retained and copied into your working directory.\n\n## ⚠️ Security & Privacy Notice\n\n**Before using Conclave, read this.**\n\n1. **Local data persistence**: Every debate creates a persistent folder under `~/.hermes/debates/` containing the full brief, all agent outputs, anonymity mappings, chair verdicts, and final reports. These files remain on disk indefinitely unless you manually delete them. Do not use Conclave for topics containing regulated personal data, trade secrets, or classified information unless you accept this retention risk.\n\n2. **External data sharing**: Panelists (Claude, Codex, Gemini, Qwen, DeepSeek, Doubao) receive debate prompts via their respective cloud APIs. The external advisor (Manus) receives the final draft and round summaries via MCP or direct REST polling. By running a debate, you are transmitting your topic and context to these third-party AI providers. Review each provider's data policy before debating sensitive topics.\n\n3. **Credential handling**: This skill **never** prompts for, stores, or logs passwor"},{"path":"README.md","content":"# Conclave\n\n[![Hermes Skill](https://img.shields.io/badge/Hermes-Skill-blue)](https://github.com/MCLYang/conclave-skill)\n[![Version](https://img.shields.io/badge/version-1.6.2-green)]()\n\n> **Conclave** is a multi-agent reasoning skill that orchestrates multiple AI CLIs into structured debates. Each agent independently analyzes the problem, challenges competing arguments, identifies flaws and contradictions, and refines the reasoning through multiple rounds of discussion — helping you reach more reliable conclusions than relying on a single AI.\n\n---\n\n## Core Capabilities\n\n| Capability | Description |\n|------------|-------------|\n| **Independent Positioning** | Five agents (Hermes, Claude, Codex, Gemini, Qwen) analyze the same brief in parallel, unseen by each other, preventing anchoring. |\n| **Anonymous Rebuttal** | Each agent receives the other four's R1 arguments (anonymized) and must identify at least one fatal flaw plus a concrete alternative solution. |\n| **Structured Convergence** | Chair (Hermes) synthesizes consensus and divergence points after each round; divergence points are sent back for further debate (dynamic rounds, hard ceiling 8). |\n| **Unanimous Sign-off** | Final draft circulated to all five; any objection must include a specific clause, specific reason, and an executable alternative. No-destruction-without-construction = invalid vote. |\n| **External Audit** | Manus reviews the final draft before delivery; a fatal-level objection triggers an extra round. |\n| **Automatic Archiving** | Every debate gets its own folder; all intermediate files are persisted by round. See **Security & Privacy** below for retention controls. |\n\n## ⚠️ Security & Privacy\n\n- **Data persists locally**: Debates are stored under `~/.hermes/debates/` indefinitely. Do not debate topics containing regulated personal data, trade secrets, or classified information unless you accept this risk.\n- **Data leaves your machine**: Prompts are sent to Claude (Anthropic), Codex (OpenAI), Gemini (Google), and Qwen (Alibaba) cloud APIs. The optional Manus advisor receives the final draft via MCP. Review each provider's data policy.\n- **No password storage**: This skill never prompts for, stores, or logs passwords. The macOS keychain must be unlocked manually by the user in an interactive terminal before background sessions.\n- **Input validation**: Topic slugs are sanitized to 1-32 lowercase letters, digits, and hyphens.\n- **Cleanup**: Run `bash ~/.hermes/skills/conclave/scripts/cleanup.sh [days]` to purge debates older than the retention period. Default is 90 days; use `0` for a dry-run preview.\n\n---\n\n## Quick Start\n\n```bash\n# 0. First time on this machine? Detect + install all CLIs/dependencies,\n#    then configure each provider key it flags as [ACTION]\nbash ~/.hermes/skills/conclave/scripts/install.sh\n\n# 1. Initialize a debate arena\nbash ~/.hermes/skills/conclave/scripts/init_debate.sh <topic-slug>\n\n# 2. Pre-flight check (update all CLIs, then ignition-ping every agent)\n"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7fgzd63hpn9jfpqcfc6tj3tn8cdng2\",\n  \"slug\": \"conclave-skill\",\n  \"version\": \"1.6.7\",\n  \"publishedAt\": 1786844192300\n}"},{"path":"references/consensus-protocol-v1.md","content":"# Conclave Consensus Protocol v1.1\n\nChair-audited revision of the v0.1 architecture proposal, amended by external review (2026-08-14). Highest objective: **maximize decision quality per unit cost — never consensus, never model count, never debate length.**\n\nTwo orthogonal tag systems are used throughout:\n- Implementation status: **[CORE]** current workflow · **[V1]** live now · **[L2]** deferred (needs data/infra)\n- Rigor level: **[FORMAL]** standard statistical theory · **[ESTIMATOR]** needs data · **[HEURISTIC]** engineering proxy · **[POLICY]** human-set rule · **[EXPERIMENTAL]** unvalidated\n\nEvery soft number in any Conclave output must carry a rigor tag. Fake precision is the enemy.\n\n---\n\n## 0. What was rejected from v0.1 and why\n\n| v0.1 item | Verdict | Reason |\n|---|---|---|\n| §13 w̃ᵢ = wᵢ/(1+λΣρᵢⱼwⱼ) | **REJECTED** | Ad hoc. The statistically principled aggregation of correlated estimators is inverse-covariance (GLS) weighting: w* ∝ Σ⁻¹1. Anything else needs empirical justification we don't have. |\n| §17 Priority = I × D × U (product) | **REJECTED** | Product of three [0,1] terms collapses all priorities into noise. Replaced by decision-relevance-first ranking (§5 below). |\n| §20 literal EVSI | **REPLACED** | True EVSI needs a likelihood model over what a new agent would say — intractable. Replaced by computable proxy: Decision-Flip Value (§6). |\n| §3 fixed 7-model council | **BLOCKED** | Only 4 panelist CLIs exist (Claude, Codex, Gemini, Qwen) + Hermes + Manus. Seed/DeepSeek/Grok are not available. See §2. |\n| §29C full calibration DB | **SCOPED** | Most strategic decisions never receive ground truth; Brier scores are uncomputable for them. Calibration tracking is restricted to *verifiable predictions* only (§9). |\n| Multiplicative weight wᵢ = hᵢ·rᵢ·qᵢ | **[HEURISTIC]** kept with defaults | No calibration data yet. Default hᵢ = 1 for all; rᵢ, qᵢ set by chair per debate, logged, never presented as precise. |\n\n## 1. Objective\n\na* = argmin_a E[L(a,θ) | E] + λ·Cost(process)\n\nConsensus is an intermediate statistic, never the target. The chair optimizes the decision under a loss function the USER must supply or approve (default for investments: expected percentage drawdown of the account).\n\n## 2. Modes (resource-constrained reality)\n\n| Mode | Panelists | When | Manus |\n|---|---|---|---|\n| Quick | 2 CLIs + Hermes | low-risk, fast | off by default |\n| Standard | 4 CLIs + Hermes | default (current implementation) | trigger-based (§7) |\n| Deep | **BLOCKED** until additional panelist CLIs (DeepSeek/Grok/etc.) are installed and pass preflight | high-stakes | preferred |\n\nMode selection is declared by the chair in the brief; the user may override.\n\n## 3. Round structure [CORE + V1]\n\n- **R1 independence is absolute [CORE]**: no panelist sees another's output. Prompts identical except the explicit role-letter assignment (field lesson 13).\n- **Structured R1 output [V1]**: each panelist must return JSON-ish blocks: position, claims[], evidence[], assumpt"},{"path":"references/panelists.md","content":"# Panelist Roster\n\nSix AI panelists + one external advisor. All CLI calls require `no_proxy='*'` prepended.\n\n## 1. Hermes (Chair & Panelist)\n\n- This agent itself. Positioning and rebuttals are drafted in-session by the chair, written to disk in the same format as the other four.\n- Red line: must not favor itself; views struck down are still recorded under \"rejected positions\".\n\n## 2. Claude Code\n\n- Command: `no_proxy='*' claude -p '<prompt>' --max-turns 1`\n- Auth: official OAuth (zhang@testsprite.com), credentials stored in macOS login keychain.\n  Background sessions may fail to read the keychain (security exit 36).\n  **DO NOT put passwords in prompts or scripts.** The user must manually unlock the keychain in an interactive terminal before starting a background debate session (macOS only; N/A on Linux/Windows where only `~/.claude/.credentials.json` is checked):\n  ```\n  security unlock-keychain ~/Library/Keychains/login.keychain-db\n  ```\n  If still 401: check for and move aside old `~/.claude/.credentials.json`, then retry.\n- Update: `claude update`\n- Install: `npm install -g @anthropic-ai/claude-code` (or run `scripts/install.sh` to install everything at once)\n- Ping: `no_proxy='*' claude -p 'reply with one word: pong' --max-turns 1`\n\n## 3. Codex\n\n- Command: `no_proxy='*' codex exec --skip-git-repo-check -c model_reasoning_effort=\"medium\" '<prompt>'`\n  For important sessions, replace medium with xhigh.\n- Auth: cmdme.cn relay, sk- key in `~/.codex/auth.json`; in config.toml set\n  `requires_openai_auth = false`, `wire_api = \"responses\"`, `base_url = \"https://cmdme.cn\"`.\n- Pitfall: exec defaults to a read-only sandbox; file writes are rejected → prompts must require \"full text to stdout\",\n  and the chair extracts the output via `process(action='log', offset=0, limit=400)` to disk.\n- Update: `codex update` (or `npm install -g @openai/codex@latest` when npm-managed)\n- Install: `npm install -g @openai/codex`\n- Ping: `no_proxy='*' codex exec --skip-git-repo-check 'reply with one word: pong'`\n\n## 4. Gemini CLI\n\n- Command: `no_proxy='*' GEMINI_CLI_TRUST_WORKSPACE=true zsh -i -c 'gemini -p \"<prompt>\"'`\n  (On Linux/Windows without zsh, preflight.sh auto-falls back to `bash -i -c` — both source rc files for env keys.)\n- Pitfall: since 0.55.1 a trust-directory check was added; non-interactive calls must carry `GEMINI_CLI_TRUST_WORKSPACE=true`, otherwise the CLI refuses to run.\n- Auth / env: `GOOGLE_GEMINI_BASE_URL` + `GEMINI_API_KEY` (persisted in user shell rc).\n  Key format determines provider: `AQ.Ab8…` = Google official (base generativelanguage.googleapis.com),\n  `sk-…` = cmdme relay. Mixing them causes 401.\n  Note: non-interactive shells may not read rc files — call via `zsh -i -c` or explicitly export variables.\n- Update: `npm install -g @google/gemini-cli@latest`\n- Install: `npm install -g @google/gemini-cli`\n- Ping: `no_proxy='*' GEMINI_CLI_TRUST_WORKSPACE=true zsh -i -c 'gemini -p \"reply with one word: pong\"'`\n\n## 5. Qwen\n\n- Command: `no_proxy='*' "}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Conclave is a multi-agent reasoning skill that orchestrates multiple AI CLIs into structured debates. Each agent independently analyzes the problem, challenges competing arguments, identifies flaws and contradictions, and refines the reasoning through multiple rounds of discussion — helping you reach more reliable conclusions than relying on a single AI. Skill: conclave Owner: mclyang Summary: Conclave is a multi-agent reasoning skill that orchestrates multiple AI CLIs into structured debates. Each agent independently analyzes the problem, challenges competing arguments, identifies flaws and contradictions, and refines the reasoning through multiple rounds of discussion — helping you reach more reliable conclusions than relying on a single AI. Tags: latest:1.6.7 Vers","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1667,"uniquenessScore":49,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-12T01:49:44.347Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-12T01:49:44.347Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-12T17:40:10.203Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}