{"id":"0bc2e832-6bef-4ce0-929f-ba78c6c844bc","shortId":"DYPG3x","kind":"skill","title":"agents-consilium","tagline":"Query external AI agents (Codex, Gemini, OpenCode, Claude Code headless) in parallel for independent second opinions, code review, bug investigation, and consensus on high-stakes decisions. Agents and models are configurable in config.json. Use for architecture choices, security ","description":"# Consilium: Multi-Agent Orchestration\n\nQuery external AI agents for independent, unbiased expert opinions. Each agent has a distinct thinking role and responds in a structured format for easy comparison.\n\n## Why this skill\n\n**Different frontier models see different things.** Each has a slightly different training distribution, tool-use style, and failure mode — so they latch onto different aspects of the same problem.\n\n- **Brainstorming / problem-solving / feature design.** Querying Codex + Claude + OpenCode/Gemini (or any subset) in parallel yields a wider solution space than any single model alone. You get original, non-obvious alternatives that one model would never surface on its own.\n- **Code review.** Different models find different issues. One catches a subtle race condition; another flags an auth gap; a third questions the architecture. The union of their findings is materially broader than a single-reviewer pass.\n\nThe skill keeps each agent independent (no debate, no cross-contamination) and lets the caller adjudicate — you get raw parallel perspectives, not a homogenized committee answer.\n\n## Contents\n\n- [Quick Start](#quick-start)\n- [Design Principles](#design-principles)\n- [Anti-Bias Protocol](#anti-bias-protocol)\n- [Agent Freedom and Read-Only Guardrails](#agent-freedom-and-read-only-guardrails)\n- [Configuration](#configuration)\n  - [OpenCode provider choice: Zen vs Google direct vs OpenAI direct](#opencode-provider-choice-zen-vs-google-direct-vs-openai-direct)\n  - [Claude Code backend](#claude-code-backend)\n- [Scripts](#scripts)\n  - [Flags & Exit Codes](#flags--exit-codes)\n- [Code Review Mode](#code-review-mode)\n- [Multi-Stage Review Modes: superreview & ultrareview](#multi-stage-review-modes-superreview--ultrareview)\n- [When to Use Which](#when-to-use-which)\n- [Synthesizing Responses](#synthesizing-responses)\n- [Prompt Patterns](#prompt-patterns)\n- [Environment Variables](#environment-variables)\n- [Prerequisites](#prerequisites)\n\n## Quick Start\n\n```bash\n# 1. See what's configured (XML plan — dry-run, no agents run).\nscripts/consensus-query.sh --list-agents\n\n# 2. Ask the consensus (human-readable markdown).\nscripts/consensus-query.sh \"Should we use Postgres or SQLite for this CLI tool?\"\n\n# 3. Agent-friendly output (stable XML, escaped via CDATA).\nscripts/consensus-query.sh --xml \"Review this function\" < src/auth.py\n\n# 4. Code review mode (2 specialists, quoted-code validated, XML or markdown).\nscripts/code-review.sh path/to/file.py\ngit diff HEAD | scripts/code-review.sh --xml --diff\n```\n\nEdit `config.json` to enable/disable agents or swap models. See `config.example.json` for a fuller template with multiple backends.\n\n### Passing the prompt\n\nThe prompt is a **positional** argument. Three ways to pass it, pick whichever is convenient:\n\n```bash\n# (a) Inline string — best for short prompts.\nscripts/consensus-query.sh --xml \"review this design\"\n\n# (b) From a file via stdin — best for long multi-line prompts.\n#     With NO positional argument, stdin is treated as the prompt.\nscripts/consensus-query.sh --xml < prompt.txt\ncat prompt.txt | scripts/consensus-query.sh --xml\n\n# (c) From a file via flag — same as (b) but uses RAW mode\n#     (no role/principles/template wrapping; agents see the file verbatim).\n#     Use this for benchmarks/evals where wrapper differences would skew results.\nscripts/consensus-query.sh --xml --prompt-file prompt.txt\n```\n\n**When BOTH a positional prompt and stdin are given**, stdin is appended to the prompt as `--- Input ---` context. That is the existing pattern for piping a file under review:\n\n```bash\ncat src/auth.py | scripts/consensus-query.sh \"review this code\"\n#       └── stdin = context ────┘   └── positional = the prompt ─┘\n```\n\n## Design Principles\n\n**Intellectual independence**: Agents are instructed to think from first principles, challenge the framing of questions, and propose alternatives not mentioned in the query. They are free thinkers within the given context, not yes-men.\n\n**Role differentiation** (set per agent in `config.json`):\n- **analyst** = Rigorous Analyst — precision, code correctness, edge cases, implementation depth, security (default for Codex)\n- **lateral** = Lateral Thinker — cross-domain patterns, creative alternatives, questioning premises, big picture (default for Gemini / OpenCode with Gemini-3.1-Pro)\n\n**Structured output**: All agents respond using a common template (Assessment, Key Findings, Blind Spots, Alternatives, Recommendation with confidence level), making synthesis straightforward.\n\n## Anti-Bias Protocol\n\nWhen formulating queries for consilium, follow these rules to maximize the value of independent opinions:\n\n1. **State the problem, not your solution.** Instead of \"Should we use X?\", describe the constraints and goals.\n2. **Don't lead.** Avoid \"I think X is best, what do you think?\" — this anchors the response.\n3. **Include raw context.** Pipe code files or paste error logs directly rather than summarizing them (summaries carry your interpretation).\n4. **Omit your hypothesis when possible.** Let agents form their own before revealing yours.\n\n## Agent Freedom and Read-Only Guardrails\n\nAgents are spawned **in the caller's current working directory** with their native agentic toolchain intact. They can:\n\n- `Read`, `Grep`, `Glob`, `find_references`, `git log/blame` across the real repository\n- Consult `CLAUDE.md`, `AGENTS.md`, `README`, config files, tests, call sites, neighboring modules\n- Use web search / fetch if their backend supports it (Claude Code, OpenCode, Codex all do)\n- Run SAST-style introspection via their built-in shells\n\nWhat they **cannot** do (enforced per backend):\n\n| Backend | Read-only guard |\n|---------|-----------------|\n| Codex | `--sandbox read-only --ask-for-approval never` |\n| Claude Code | `--permission-mode plan` |\n| OpenCode | `--agent plan` (plan is opencode's built-in read-only agent) |\n| Gemini CLI | `--approval-mode plan` |\n\nNo `Edit`, `Write`, `Bash(git commit ...)`, `Bash(rm ...)`, or any write-back tool is authorized. Implementation of recommendations is the caller's job. If a backend tries to escalate (e.g. needs to run a command that violates read-only), the call fails rather than silently escalating.\n\n## Configuration\n\nAgents are declared in `config.json` at the skill root. Each agent has:\n\n| Field | Purpose |\n|-------|---------|\n| `enabled` | Whether it participates in `consensus-query` |\n| `backend` | CLI that actually runs: `codex-cli`, `gemini-cli`, `opencode`, `claude-code` |\n| `model` | Model id passed to that CLI |\n| `role` | `analyst` (deep/precise) or `lateral` (broad/creative) |\n| `label` | Display name in reports (optional) |\n| `effort` | Reasoning effort. **opencode:** maps to `opencode run --variant` (e.g. `low`, `medium`, `high`, `max`) — provider-specific, see [Discovering reasoning variants](#discovering-opencode-reasoning-variants-per-model) below. **claude-code:** maps to `claude --effort` (`low`, `medium`, `high`, `xhigh`, `max`). Other backends ignore it. |\n\nDefault config (`config.json`):\n- `codex` (backend=codex-cli, model=gpt-5.5, role=analyst) — **enabled**\n- `gemini-cli` (backend=gemini-cli, model=gemini-3.1-pro-preview, role=lateral) — **disabled**\n- `opencode` (backend=opencode, model=opencode/gemini-3.1-pro, role=lateral, effort=high) — **enabled**\n- `claude-code` (backend=claude-code, model=opus, effort=max, role=analyst) — **disabled**\n- `opencode-go-minimax` (backend=opencode, model=opencode-go/minimax-m2.7, role=lateral, effort=high) — **enabled**\n- `opencode-go-deepseek` (backend=opencode, model=opencode-go/deepseek-v4-pro, role=analyst, effort=max) — **enabled**\n- `opencode-go-mimo` (backend=opencode, model=opencode-go/mimo-v2.5-pro, role=lateral, effort=high) — **enabled**\n- `opencode-go-kimi` (backend=opencode, model=opencode-go/kimi-k2.6, role=analyst, effort=high) — **enabled**\n- `opencode-go-glm` (backend=opencode, model=opencode-go/glm-5.1, role=lateral, effort=high) — **enabled**\n- `opencode-openai` (backend=opencode, model=openai/gpt-5.5, role=analyst, effort=high) — **disabled** (reference entry; flip on if you want OpenAI direct)\n\nEffort policy: `max` is used wherever the model exposes it (`claude-code`, `opencode-go/deepseek-v4-pro`); `high` is the fallback for models that top out at `high` (`opencode/gemini-3.1-pro`, `opencode-go/mimo-v2.5-pro`, `openai/gpt-5.5` if you don't want `xhigh`) or expose no variants at all (`minimax`, `kimi`, `glm` — `effort` is set but ignored by the provider).\n\nMultiple agents can share one backend — the dispatcher passes the entry id through `CONSILIUM_AGENT_ID`, so each backend script reads its own slice of `config.json`.\n\nEdit `config.json` to flip agents on/off or change models. Set `CONSILIUM_CONFIG=/path/to/custom.json` to use an override file.\n\n### OpenCode provider choice: Zen vs Google direct vs OpenAI direct\n\nThe `opencode` backend works with any provider/model that OpenCode supports. For Gemini 3.1 Pro you have two options:\n\n- **Zen** (default): `\"model\": \"opencode/gemini-3.1-pro\"` — goes through OpenCode Zen. Works out of the box once `opencode providers login opencode` (or a valid Zen credential) is configured.\n- **Google direct**: `\"model\": \"google/gemini-3.1-pro-preview\"` — goes straight to Google's v1beta API. Requires `GOOGLE_GENERATIVE_AI_API_KEY` (OpenCode does **not** pick up `GEMINI_API_KEY` for this provider).\n\nFor OpenAI flagship models (GPT-5.5, GPT-5.4, etc.) there's a third path:\n\n- **OpenAI direct**: `\"model\": \"openai/gpt-5.5\"` — goes straight to OpenAI's API via the `openai/*` provider in OpenCode. Requires either an `opencode auth login` session for OpenAI (oauth) or `OPENAI_API_KEY` in the environment. The default config ships an `opencode-openai` entry **disabled** as a reference; flip `enabled=true` if you want a GPT-5.5 voice in the consilium. Variants: `none / low / medium / high / xhigh` — pick `xhigh` if you want the heaviest reasoning, otherwise `high` is the safe default.\n\nFlip between providers by editing the `model` field; the rest of the config stays the same.\n\n### Discovering OpenCode reasoning variants per model\n\n`opencode run --variant <effort>` is provider-specific — each model exposes its own set (or none). Don't guess: enumerate them from the CLI before setting `effort` in `config.json`.\n\n**One-liner — list every model with its supported variants:**\n\n```bash\nopencode models opencode --verbose 2>&1 | python3 -c '\nimport sys, json\nlines = sys.stdin.read().split(\"\\n\")\ni = 0\nwhile i < len(lines):\n    line = lines[i].strip()\n    if line.startswith(\"opencode/\") or line.startswith(\"opencode-go/\"):\n        model_id, json_lines, depth, started = line, [], 0, False\n        i += 1\n        while i < len(lines):\n            s = lines[i]; json_lines.append(s)\n            for c in s:\n                if c == \"{\": depth += 1; started = True\n                elif c == \"}\": depth -= 1\n            i += 1\n            if started and depth == 0: break\n        try:\n            v = list(json.loads(\"\\n\".join(json_lines)).get(\"variants\", {}).keys())\n            print(f\"{model_id}\\t{v}\")\n        except Exception: pass\n    else:\n        i += 1\n'\n```\n\nSwap `opencode` for `opencode-go` (or any other provider id) to scan a different namespace; drop the provider arg to scan everything `opencode models` knows.\n\n**Interpreting the result:**\n\n- Non-empty list (e.g. `['low', 'medium', 'high', 'max']`) → set `effort` to the highest one you want.\n- `[]` → the model has no reasoning variants. `--variant` is silently ignored; setting `effort` in config is harmless but does nothing.\n- If a variant in your config isn't on the list, `opencode run` rejects the call. Re-enumerate after upgrading `opencode` — providers add/remove tiers between releases.\n\n**Snapshot of the currently configured opencode models** (re-run the one-liner if you change the set):\n\n| Model | Variants | `effort` in default config |\n|-------|----------|----------------------------|\n| `opencode/gemini-3.1-pro` | low, medium, high | `high` (no `max`) |\n| `opencode-go/deepseek-v4-pro` | low, medium, high, **max** | `max` |\n| `opencode-go/mimo-v2.5-pro` | low, medium, high | `high` (no `max`) |\n| `opencode-go/minimax-m2.7` | — | `high` (ignored) |\n| `opencode-go/kimi-k2.6` | — | `high` (ignored) |\n| `opencode-go/glm-5.1` | — | `high` (ignored) |\n| `openai/gpt-5.5` | none, low, medium, high, xhigh | `high` (entry **disabled** by default) |\n\n### Claude Code backend\n\nThe `claude-code` backend shells out to `claude -p` (headless mode, see [docs](https://code.claude.com/docs/en/headless)). Useful when you want a second Claude in the consilium — e.g. Opus as analyst cross-checking Codex.\n\n- `model`: a shortname (`opus`, `sonnet`, `haiku`) or full id (`claude-opus-4-7`, `claude-sonnet-4-6`).\n- `effort`: maps to `claude --effort` — accepts `low`, `medium`, `high`, `xhigh`, `max`. Default config sets `max` for opus; omit the field to fall back to the skill's default of `max` for the claude-code backend.\n- Runs in the caller's CWD with `--permission-mode plan` — Claude can freely `Read`/`Grep`/`Glob`/`Bash` read-only across the project, but cannot `Edit`/`Write`. Override with `CLAUDE_PERMISSION_MODE` only if you know what you're doing.\n- Authentication uses the same Claude Code credentials the CLI is already logged in with (`claude /login`).\n\nNote: `claude-code` is disabled in the default config to avoid spawning another Claude session accidentally. Flip `enabled` to `true` in `config.json` (or `CONSILIUM_CONFIG`) when you want it in the consensus run.\n\n## Scripts\n\nAll scripts in `scripts/` directory. The skill auto-detects its install location.\n\n### Single Agent Queries\n\nPer-agent scripts always execute when invoked. The `enabled` field in `config.json` is consulted **only** by `consensus-query.sh` to build the default agent set (when neither `-a` nor `-x` is given). Direct invocation of a per-agent script ignores `enabled` — that's by design (single source of truth for the run/skip decision lives in the dispatcher).\n\nWhen `-a`/`-x` causes `consensus-query.sh` to run an `enabled=false` agent, the dispatcher emits a stderr line like `[<Label>] forced via --agents (enabled=false in config)` so the override is visible.\n\n```bash\n# Codex (analyst by default)\nscripts/codex-query.sh \"question\" [context_file]\ncat file.py | scripts/codex-query.sh \"review this\"\n\n# Gemini CLI (lateral by default; disabled in default config)\nscripts/gemini-query.sh \"question\" [context_file]\ncat file.py | scripts/gemini-query.sh \"review this\"\n\n# OpenCode (lateral by default, model per config.json)\nscripts/opencode-query.sh \"question\" [context_file]\ncat file.py | scripts/opencode-query.sh \"review this\"\n\n# Claude Code (analyst by default; disabled in default config)\nscripts/claude-query.sh \"question\" [context_file]\ncat file.py | scripts/claude-query.sh \"review this\"\n```\n\n### Consensus Query (All Enabled Agents in Parallel)\n\n```bash\nscripts/consensus-query.sh \"architecture question\"\ncat file.py | scripts/consensus-query.sh \"review this code\"\nscripts/consensus-query.sh --xml \"review this\"            # XML report for agent consumers\nscripts/consensus-query.sh --list-agents                   # dry-run: dump plan, don't query\n```\n\n`consensus-query.sh` reads `config.json`, launches every agent with `enabled=true` in parallel, and prints their responses grouped by label. Add/remove agents permanently by editing the config; for ad-hoc runs use `-a/--agents` and `-x/--exclude` (see below).\n\n### Flags & Exit Codes\n\nAll scripts accept `-h` / `--help`. Both `consensus-query.sh` and `code-review.sh` accept:\n\n| Flag | Effect |\n|------|--------|\n| `--xml` | Emit `<consilium-report>` (or `<code-review-report>`) with each agent wrapped in `<agent>…<response><![CDATA[…]]></response></agent>`. Stable for agent consumers (no markdown-heading collision). |\n| `--list-agents` *(consensus only)* | Print `<consilium-plan>` (every configured agent, enabled/disabled, with `backend-available`) and exit. No queries are run — use this as an inspection / dry-run. |\n| `-a, --agents <ID\\|GLOB>` | Override the active agent set with this id or glob (e.g. `'opencode-go-*'`). **Repeatable**; comma-separated values also accepted (`-a codex,opencode-go-kimi`). When given, the per-agent `enabled` flag in `config.json` is ignored — only matched agents run. Falls back to env `CONSILIUM_AGENTS`. |\n| `-x, --exclude <ID\\|GLOB>` | Subtract matching agents from the active set. Repeatable. Combine with `--agents` for include-then-exclude composition. Falls back to env `CONSILIUM_EXCLUDE`. |\n\n**Ad-hoc agent selection examples:**\n```bash\n# Single agent\nscripts/consensus-query.sh -a opencode-go-kimi \"Q\"\n\n# All OC-Go models (glob)\nscripts/consensus-query.sh -a 'opencode-go-*' \"Q\"\n\n# Everything-except-codex\nscripts/consensus-query.sh -x codex \"Q\"\n\n# Composition: only OC-Go but skip MiniMax\nscripts/consensus-query.sh -a 'opencode-go-*' -x opencode-go-minimax \"Q\"\n\n# Same via env (scriptable)\nCONSILIUM_AGENTS='codex,opencode-go-kimi' scripts/consensus-query.sh \"Q\"\n```\n\nExit codes (stable across all scripts):\n\n| Code | Meaning |\n|------|---------|\n| `0` | Success (all queried agents replied; or, for `consensus-query.sh`, the active agent set may be smaller than the configured set if some are disabled or filtered) |\n| `2` | **Consensus only:** partial failure (≥1 succeeded, ≥1 failed) |\n| `3` | **Consensus only:** every queried agent failed |\n| `4` | Config error (missing CLI, invalid config, unknown role/agent id) |\n| `5` | Usage error (missing prompt, unknown flag) |\n| other | Propagated from the backend CLI (e.g. `124` on timeout) |\n\n## Code Review Mode\n\n`scripts/code-review.sh` is a focused pipeline for reviewing a single file or a unified diff. It runs **exactly two specialist passes** — `security` and `correctness` — in parallel, then validates each finding's `quoted-code` against the real source.\n\nDesign choices are grounded in the 2024-2026 multi-agent code review literature:\n\n- **Two specializations only** (security + correctness). Readability/perf agents empirically produce nit spam and hurt precision.\n- **No coordinator / no debate.** The caller (you) adjudicates. Debate rounds empirically entrench errors (Wu et al. 2025; Choi et al. 2025).\n- **Heterogeneous models** via the existing config (Codex + OpenCode by default) reduce shared blind spots.\n- **Fixed cost.** Adding a 3rd enabled agent does not add a 3rd pass; the skill always runs 2 passes and rotates agents round-robin.\n- **Hallucinated line numbers are caught locally.** Every finding carries `<quoted-code>`, and the validator cross-checks it against the source file (`quote-valid=\"true|false\"`).\n\n### Usage\n\n```bash\n# File on disk (quoted-code validated against the file)\nscripts/code-review.sh path/to/file.py\nscripts/code-review.sh --xml path/to/file.py\n\n# Unified diff piped on stdin (quoted-code validation is skipped)\ngit diff HEAD | scripts/code-review.sh --diff\ngit diff HEAD | scripts/code-review.sh --xml --diff\n```\n\n### Finding schema (XML output)\n\n```xml\n<finding index=\"N\" severity=\"critical|high|medium|low\" category=\"security|correctness\"\n         file=\"...\" line-start=\"N\" line-end=\"N\" confidence=\"0.0..1.0\"\n         source-agent=\"...\" source-role=\"security|correctness\"\n         quote-valid=\"true|false\">\n  <title>...</title>\n  <rationale><![CDATA[includes one reason this might be a false positive]]></rationale>\n  <suggested-fix><![CDATA[...]]></suggested-fix>\n  <quoted-code><![CDATA[verbatim source at line-start..line-end]]></quoted-code>\n</finding>\n```\n\nFindings are sorted `severity desc, confidence desc`. No severity filtering by default — triage is the caller's job.\n\n### Severity rubric\n\nUnified across security + correctness. Specialists score each finding on two axes (worst-case impact × likelihood/reachability) and pick the tier that matches. Synthesized from CVSS v4, OWASP Risk Rating, GitHub Advisory DB, Chromium, MSRC, SEI CERT, SonarQube, Semgrep.\n\n| Severity | Action horizon | Operational definition | Security examples | Correctness examples |\n|----------|----------------|------------------------|-------------------|----------------------|\n| **critical** | Merge blocker | RCE / trust-boundary bypass / data loss / guaranteed outage, with a concrete exploit or dataflow trace | SQLi on public endpoint with concatenated query; unsafe deserialization of untrusted input; hardcoded prod credential | Payment/ledger math silently corrupts balances; unconditional null deref on hot request path; race on shared mutable state under prod load |\n| **high** | Fix before release | Critical-tier impact gated by a non-trivial precondition (auth, specific config), OR moderate impact with high reachability | Stored XSS in authenticated admin view; CSRF on state-changing endpoint; path traversal behind login; missing authz on tenant resource | Unhandled exception on documented error path crashing a worker; file/DB-handle leak exhausting pools; retry logic that double-charges |\n| **medium** | Schedule | Limited impact (info disclosure, localized incorrectness, degraded-but-recoverable), OR critical impact gated by implausible preconditions | Stack traces leaked to end users; missing `HttpOnly`/`Secure` on non-session cookie; weak-but-not-broken crypto parameter | Incorrect edge-case handling in non-critical helper; missing input validation that callers already satisfy; N+1 query degrading a list endpoint |\n| **low** | Optional / backlog | Cosmetic, stylistic, defense-in-depth; minimal real-world impact | Missing `nosniff` header where CSP already mitigates; `Math.random()` for non-security id | Dead code; inconsistent naming; redundant null check after non-null assertion |\n\nAdjustments: downgrade one level on mitigating factors (auth required, non-default config, unusual interaction). Speculative findings stay at the lower tier — upgrade only with a working PoC or trace.\n\n### Using the results (for the caller)\n\nYou are the adjudicator. Specialists emit independent findings — your job is to **select and synthesize**, not re-review (RovoDev 2601.01129, RevAgent 2511.00517).\n\n1. **Drop quote-mismatched findings** (`quote-valid=\"false\"`) — likely hallucinations.\n2. **Merge duplicates across specialists.** Same root cause in different framings → one item; keep the clearer rationale and note both agents.\n3. **Surface conflicts without resolving them.** If Security says \"sanitize X\" and Correctness says \"X is fine\" — present both to the user and let them adjudicate; don't break the tie yourself.\n4. **Gate by action horizon** using the severity rubric above: `critical` = block the merge, `high` = fix before release, `medium` = track, `low` = optional.\n5. **Do not re-review.** Do not generate new findings inside the adjudication step. Do not run a debate loop — adversarial re-reviewing empirically reduces precision (CR-Bench 2603.11078).\n\n### When NOT to use code-review mode\n\n- **Open-ended architecture questions** → use `consensus-query.sh`; specialists will be too narrow.\n- **Huge files (>1000 lines)** → split into function-sized diffs first; LLMs degrade past that length.\n- **Multi-file cross-references** → not modelled here; rerun per file and stitch findings.\n\n## Multi-Stage Review Modes: superreview & ultrareview\n\n`code-review.sh` is single-stage and caller-judged. For higher-stakes reviews\nwhere you want the union of many panels filtered automatically by an LLM judge,\nthe skill ships two multi-stage pipelines ported from the *ultrareview-bench*\n(see `docs/blog/code-review-2pass-pilot/` if you have access). Each one\nprescribes a fixed agent set and stage layout — they're not configurable\nper-call, by design, because the configurations were tuned by marginal-uplift\nanalysis on a 65-issue ground-truth pilot.\n\n> **Important:** these are heavy modes. Don't run them on every diff. Use them\n> when you'd otherwise pull two senior engineers off other work for a deep\n> review, or for code that touches money / auth / persistence.\n\n### `scripts/superreview.sh` — small-swarm + 2 frontier add-ons\n\n10 LLM calls; ~$0.90–1.50 on a 12KB file (linear with size). Pareto sweet-spot\nin the bench at 67.7% recall / 82.7% sev-w on snippet1.cs.\n\n```\nStage 1: discovery-small (parallel)    7 small/cheap passes\n  - opencode-go-deepseek-flash analyst       uncapped\n  - opencode-go-qwen36-plus    analyst       uncapped\n  - opencode-go-qwen36-plus    lateral       uncapped\n  - opencode-go-deepseek-flash architecture  uncapped\n  - opencode-go-deepseek-flash correctness   cap=10\n  - opencode-go-qwen36-plus    architecture  cap=3\n  - opencode-go-qwen36-plus    security      uncapped\nStage 2: discovery-frontier (parallel) 2 hand-picked add-ons\n  - opencode-gpt5.5-xhigh      analyst       uncapped\n  - claude-code (Opus 4.7 max) lateral       uncapped\nStage 3: dedup (deterministic union)\nStage 4: judge — claude-sonnet (default)\n```\n\nUsage:\n```bash\nscripts/superreview.sh path/to/file.cs\nscripts/superreview.sh --xml path/to/file.cs\ngit diff HEAD | scripts/superreview.sh --diff\nscripts/superreview.sh --dry-run path/to/file.cs   # plan + config check, no LLM calls\nscripts/superreview.sh --judge claude-code path/to/file.cs   # override judge\n```\n\n### `scripts/ultrareview.sh` — broad-grid + specialists + probe\n\n21 LLM calls; ~$1.50–3.00 on a 12KB file. Best severity-weighted recall in the\nbench (86.4%). Slower and more expensive than superreview; use when you need\nmaximum coverage and lowest false-positive rate.\n\n```\nStage 1: broad (parallel)         4 frontier analysts\n  - codex (gpt-5.5 high)         analyst      uncapped\n  - claude-code (Opus 4.7 max)   analyst      uncapped\n  - opencode (gemini-3.1-pro)    lateral      uncapped\n  - opencode-go-deepseek (Pro)   analyst      uncapped\nStage 2: specialists (parallel)   5×3 matrix, uniform cap=10\n  - 3 small models × 5 roles (security/correctness/performance/architecture/consistency)\nStage 3: probe (sequential)       1 generic gap probe (model picks focus)\n  - opencode-go-deepseek-flash auditor cap=10\nStage 4: dedup\nStage 5: judge — claude-code (Opus 4.7 max)\n                fallback: opencode-gpt5.5-xhigh on primary failure\n```\n\nUsage:\n```bash\nscripts/ultrareview.sh path/to/file.cs\nscripts/ultrareview.sh --xml path/to/file.cs\nscripts/ultrareview.sh --dry-run path/to/file.cs       # plan check\nscripts/ultrareview.sh --no-fallback path/to/file.cs   # disable judge fallback\n```\n\nThe Opus-judge fallback is intentional — Claude Code's `claude -p` backend\ntimed out at 1200s on 200+ findings during the bench. Setting `--no-fallback`\nlets you treat a primary judge failure as fatal (useful in CI).\n\n### Output filtering\n\nBoth modes filter findings via the LLM judge before printing. Verdicts are:\n\n- **VALID** — kept as-is.\n- **DOWNGRADE** — kept, severity adjusted to `new_severity` from the judge.\n- **DUPLICATE** — dropped (judge marks the canonical finding it duplicates).\n- **FALSE_POSITIVE** — dropped (hallucination, vague advice, fix doesn't fit\n  the defect, etc.).\n\nThe default markdown output groups kept findings by severity. The `--xml`\nform preserves the full `<code-review-report>` schema and adds a\n`<judge-summary>` element with verdict counts.\n\n### Required `config.json` entries\n\nThese modes hardcode their agent IDs. The default `config.json` already has\nall of them defined (most are `enabled=false`, which is fine — multi-stage\nmodes ignore `enabled` and look up the entry by id directly):\n\n| ID | Where used |\n|---|---|\n| `codex` | ultrareview broad |\n| `opencode` | ultrareview broad |\n| `claude-code` | both, plus ultrareview judge |\n| `claude-sonnet` | superreview judge |\n| `opencode-go-deepseek` | ultrareview broad |\n| `opencode-go-deepseek-flash` | both, specialist + probe |\n| `opencode-go-qwen36-plus` | both |\n| `opencode-gpt5.5-xhigh` | superreview frontier add-on, ultrareview judge fallback |\n| `opencode-gemini-3-flash` | ultrareview specialist |\n\nIf any are missing the script exits 4 with the list of missing IDs.\n\n### When NOT to use multi-stage modes\n\n- **Quick diff review** → use `code-review.sh`. Multi-stage adds 5-10× cost.\n- **Code under 50 lines** → judge has nothing to do; use `code-review.sh`.\n- **CI without a judge LLM** → use `--xml` from `code-review.sh` and parse\n  findings yourself.\n- **Files >2000 lines** → split first; even with the judge, the union XML\n  becomes hard to score reliably.\n\n## When to Use Which\n\nPick by role, not by vendor. The default config has Codex (`analyst`) + OpenCode/Gemini-3.1-Pro (`lateral`) enabled; flip `claude-code` or `gemini-cli` on in `config.json` when you want an additional voice.\n\n| Situation | Script | Role(s) involved |\n|-----------|--------|-------------------|\n| Code review, security audit | per-agent `analyst` script (`codex-query.sh` or `claude-query.sh`) | analyst — precision, edge cases |\n| Architecture decision, design choice | `consensus-query.sh` | analyst + lateral — depth + breadth |\n| \"Are we solving the right problem?\" | per-agent `lateral` script (`opencode-query.sh` or `gemini-query.sh`) | lateral — challenges premises |\n| Bug investigation, root cause analysis | per-agent `analyst` script | analyst — goes deep into implementation |\n| Exploring alternatives, brainstorming | per-agent `lateral` script | lateral — cross-domain analogies |\n| High-stakes or irreversible decision | `consensus-query.sh` | all enabled — reduce blind spots |\n| Agent-to-agent integration (downstream parser) | `consensus-query.sh --xml` | any — stable structured output |\n\n## Synthesizing Responses\n\nAgents respond with a shared structure. Compare section by section:\n\n- **Assessment vs Assessment**: Do they frame the problem differently? A framing difference often reveals the most insight.\n- **Blind Spots**: Union of both agents' blind spots is your risk map.\n- **Alternatives**: Check if either agent proposed something neither you nor the other agent considered.\n- **Recommendations**: Agreement = high confidence. Divergence = investigate the reasoning, not just the conclusion.\n\n### Response Patterns\n\nWhen comparing the two responses, classify the pattern and act accordingly:\n\n- **Agreement**: Both recommend same approach — high confidence, proceed\n- **Complementary**: Different valid points that don't conflict — combine insights into a richer picture\n- **Contradiction**: Conflicting recommendations — present both with reasoning, let user decide\n- **Unique insight**: One agent caught something the other missed — highlight it, this is often the most valuable output\n\n## Prompt Patterns\n\n### Architecture Decision (unbiased framing)\n```bash\nscripts/consensus-query.sh \"We need real-time updates for ~100 concurrent users.\nUpdates are server-initiated only. Current stack: [describe your stack].\nLatency target: under 500ms from event to UI update.\nWhat approach would you recommend and why?\"\n```\n\n### Code Review (pipe raw code, let agents form opinions)\n```bash\ncat src/services/auth.py | scripts/codex-query.sh \\\n  \"Review this authentication service. Focus on whatever concerns you most.\"\n```\n\n### Problem Investigation (provide facts, not hypotheses)\n```bash\nscripts/codex-query.sh \"Database query returns empty result.\nDirect query with same filter returns 5 documents.\n[paste query here]\nWhat's happening?\"\n```\n\n## Environment Variables\n\n- `CONSILIUM_CONFIG`: Path to a custom JSON config (default: `<skill>/config.json`)\n- `CODEX_MODEL`: Override Codex model at runtime (default: value from config)\n- `GEMINI_MODEL`: Override Gemini CLI model at runtime (default: value from config)\n- `OPENCODE_MODEL`: Override OpenCode model at runtime (default: value from config)\n- `OPENCODE_AGENT`: Override OpenCode built-in agent (default: `plan`, read-only)\n- `OPENCODE_EFFORT`: Override OpenCode reasoning effort (default: config `effort` field, or `high`)\n- `CLAUDE_MODEL`: Override Claude Code model at runtime (alias like `opus` or full id)\n- `CLAUDE_PERMISSION_MODE`: Override Claude Code permission mode (default: `plan`)\n- `CLAUDE_EFFORT`: Override Claude Code reasoning effort (default: config `effort` field, or `max` if both unset). Levels: `low`, `medium`, `high`, `xhigh`, `max`.\n- `CODEX_EFFORT`: Override Codex reasoning effort (default: config `effort` field, or `high` if both unset). Levels: `minimal`, `low`, `medium`, `high`, `xhigh`.\n- `GEMINI_API_KEY`: Required for the `gemini-cli` backend (v1beta model access)\n- `GOOGLE_GENERATIVE_AI_API_KEY`: Required if the `opencode` backend uses `google/...` models\n- `OPENAI_API_KEY`: Required if the `opencode` backend uses `openai/...` models and OpenCode is not already logged in via `opencode auth login`\n- `AGENT_TIMEOUT`: Timeout seconds (default: 1200)\n\n## Prerequisites\n\n- [Codex CLI](https://github.com/openai/codex) installed and authenticated (`codex --version`) — for the `codex-cli` backend\n- [OpenCode CLI](https://opencode.ai) installed (`opencode --version`) — for the `opencode` backend. For Zen models (`opencode/...`) run `opencode providers login opencode` once; for Google direct models (`google/...`) set `GOOGLE_GENERATIVE_AI_API_KEY`; for OpenAI direct models (`openai/...`) either run `opencode auth login` and pick OpenAI, or set `OPENAI_API_KEY`.\n- [Gemini CLI](https://github.com/google-gemini/gemini-cli) installed (`gemini --version`) — for the `gemini-cli` backend (optional; falls back to direct API)\n- [Claude Code CLI](https://docs.claude.com/claude-code) installed and logged in (`claude --version`, `claude /login`) — for the `claude-code` backend\n- `GEMINI_API_KEY` environment variable — required only when `gemini-cli` backend is enabled (get key at https://ai.google.dev/gemini-api/docs/api-key)\n- Python 3 (for config parsing and Gemini API fallback)","tags":["agents","consilium","driven","development","codealive-ai","agent-safety","agent-skills","ai-coding","ai-driven-development","ai-safety","antigravity","bash"],"capabilities":["skill","source-codealive-ai","skill-agents-consilium","topic-agent-safety","topic-agent-skills","topic-ai-coding","topic-ai-driven-development","topic-ai-safety","topic-antigravity","topic-bash","topic-claude-code","topic-codex-cli","topic-cursor","topic-developer-tools","topic-gemini-cli"],"categories":["ai-driven-development"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/CodeAlive-AI/ai-driven-development/agents-consilium","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add CodeAlive-AI/ai-driven-development","source_repo":"https://github.com/CodeAlive-AI/ai-driven-development","install_from":"skills.sh"}},"qualityScore":"0.483","qualityRationale":"deterministic score 0.48 from registry signals: · indexed on github topic:agent-skills · 67 github stars · SKILL.md body (33,703 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T18:57:05.936Z","embedding":null,"createdAt":"2026-05-04T06:56:22.717Z","updatedAt":"2026-05-18T18:57:05.936Z","lastSeenAt":"2026-05-18T18:57:05.936Z","tsv":"'+1':2961 '-10':3931 '-2026':2547 '-3.1':639,1046,3597 '-5.4':1367 '-5.5':1033,1365,1428,3583 '-6':1840 '-7':1835 '/claude-code)':4618 '/config.json':4346 '/deepseek-v4-pro':1103,1194,1739 '/docs/en/headless)).':1803 '/gemini-api/docs/api-key)':4652 '/glm-5.1':1151,1770 '/google-gemini/gemini-cli)':4597 '/kimi-k2.6':1135,1764 '/login':1933,4626 '/mimo-v2.5-pro':1119,1210,1748 '/minimax-m2.7':1087,1758 '/openai/codex)':4532 '/path/to/custom.json':1273 '0':1530,1554,1587,2431 '0.90':3376 '1':333,682,1519,1557,1574,1580,1582,1611,2462,2464,3065,3402,3575,3628 '1.50':3377,3541 '10':3373,3445,3617,3642 '100':4255 '1000':3206 '1200':4526 '1200s':3702 '124':2497 '12kb':3380,3545 '2':350,389,700,1518,2457,2620,3077,3368,3462,3467,3609 '200':3704 '2000':3958 '2024':2546 '2025':2584,2588 '21':3538 '2511.00517':3064 '2601.01129':3062 '2603.11078':3183 '3':369,718,2466,3098,3453,3490,3613,3618,3625,3895,4654 '3.00':3542 '3.1':1301 '3rd':2607,2614 '4':385,738,1834,1839,2473,3130,3495,3578,3644,3906 '4.7':3485,3591,3653 '5':2483,3152,3477,3612,3621,3647,3659,3882,3930,4327 '50':3935 '500ms':4272 '65':3321 '67.7':3393 '7':3407 '82.7':3395 '86.4':3555 'accept':1846,2219,2226,2299 'access':3289,4485 'accident':1950 'accord':4189 'across':784,1898,2426,2739,3080 'act':4188 'action':2777,3133 'activ':2281,2337,2441 'actual':947 'ad':2203,2356,2605 'ad-hoc':2202,2355 'add':2612,3371,3472,3793,3887,3929 'add-on':3370,3471,3886 'add/remove':1700,2194 'addit':4008 'adjud':200,2575,3045,3123,3165 'adjust':3006,3747 'admin':2867 'adversari':3173 'advic':3768 'advisori':2768 'agent':2,7,31,46,51,58,188,230,238,344,349,371,410,500,566,603,644,745,752,759,772,854,866,922,932,1236,1249,1265,1983,1987,2007,2022,2052,2062,2142,2162,2167,2181,2195,2208,2234,2240,2249,2255,2276,2282,2311,2320,2327,2334,2342,2358,2363,2415,2435,2442,2471,2550,2560,2609,2624,3097,3295,3806,4021,4048,4064,4077,4098,4100,4112,4144,4155,4163,4225,4291,4382,4388,4521 'agent-freedom-and-read-only-guardrail':237 'agent-friend':370 'agent-to-ag':4097 'agents-consilium':1 'agents.md':790 'agreement':4166,4190 'ai':6,50,1346,4488,4572 'ai.google.dev':4651 'ai.google.dev/gemini-api/docs/api-key)':4650 'al':2583,2587 'alia':4414 'alon':130 'alreadi':1928,2958,2986,3811,4514 'also':2298 'altern':137,581,628,655,4073,4151 'alway':1989,2618 'analog':4084 'analysi':3318,4061 'analyst':606,608,967,1035,1075,1105,1137,1165,1817,2074,2122,3415,3422,3479,3580,3585,3593,3606,3989,4022,4027,4036,4065,4067 'anchor':715 'anoth':160,1947 'answer':210 'anti':223,227,664 'anti-bia':222,663 'anti-bias-protocol':226 'api':1342,1347,1355,1383,1402,4474,4489,4500,4573,4591,4612,4634,4660 'append':532 'approach':4194,4279 'approv':845,870 'approval-mod':869 'architectur':40,169,2147,3195,3436,3451,4031,4242 'arg':1631 'argument':431,470 'as-i':3741 'ask':351,843 'ask-for-approv':842 'aspect':101 'assert':3005 'assess':650,4122,4124 'audit':4018 'auditor':3640 'auth':163,1394,2854,3013,3362,4519,4583 'authent':1918,2866,4300,4535 'author':888 'authz':2880 'auto':1977 'auto-detect':1976 'automat':3265 'avail':2260 'avoid':704,1945 'axe':2748 'b':454,492 'back':885,1863,2323,2350,4609 'backend':269,273,422,805,831,832,899,944,1020,1027,1040,1054,1066,1081,1097,1113,1129,1145,1160,1240,1253,1291,1786,1791,1876,2259,2494,3698,4482,4495,4506,4543,4553,4606,4632,4644 'backend-avail':2258 'backlog':2969 'balanc':2823 'bash':332,441,550,876,879,1513,1894,2072,2145,2361,2654,3502,3665,4246,4294,4314 'becom':3969 'behind':2877 'bench':3182,3283,3391,3554,3708 'benchmarks/evals':508 'best':445,460,709,3547 'bias':224,228,665 'big':631 'blind':653,2601,4095,4139,4145 'block':3141 'blocker':2787 'boundari':2791 'box':1319 'brainstorm':106,4074 'breadth':4039 'break':1588,3126 'broad':3534,3576,3843,3846,3864 'broad-grid':3533 'broad/creative':971 'broader':177 'broken':2940 'bug':22,4057 'build':2004 'built':822,861,4386 'built-in':821,860,4385 'bypass':2792 'c':484,1521,1568,1572,1578 'call':795,915,1692,3306,3375,3523,3540 'caller':199,764,894,1880,2573,2733,2957,3041,3249 'caller-judg':3248 'cannot':827,1902 'canon':3759 'cap':3444,3452,3616,3641 'carri':735,2636 'case':613,2751,2946,4030 'cat':480,551,2081,2099,2115,2133,2149,4295 'catch':155 'caught':2632,4226 'caus':2045,3084,4060 'cdata':378,2237,2697,2707,2708 'cert':2773 'challeng':574,4055 'chang':1268,1720,2873 'charg':2902 'check':1820,2642,3000,3520,3677,4152 'choi':2585 'choic':41,248,259,1281,2541,4034 'chromium':2770 'ci':3724,3944 'classifi':4184 'claud':11,114,267,271,808,847,957,1008,1012,1064,1068,1189,1784,1789,1795,1810,1832,1837,1844,1874,1888,1907,1922,1932,1936,1948,2120,3482,3498,3527,3588,3650,3693,3696,3848,3855,3995,4406,4409,4420,4424,4430,4433,4613,4623,4625,4630 'claude-cod':956,1007,1063,1067,1188,1788,1873,1935,3481,3526,3587,3649,3847,3994,4629 'claude-code-backend':270 'claude-opus':1831 'claude-query.sh':4026 'claude-sonnet':1836,3497,3854 'claude.md':789 'clearer':3092 'cli':367,868,945,951,954,965,1030,1039,1043,1497,1926,2087,2477,2495,4000,4362,4481,4529,4542,4545,4594,4605,4615,4643 'code':12,20,147,268,272,278,282,283,287,386,393,556,610,723,809,848,958,1009,1065,1069,1190,1785,1790,1875,1923,1937,2121,2154,2216,2424,2429,2500,2535,2551,2660,2677,2995,3189,3358,3483,3528,3589,3651,3694,3849,3933,3996,4015,4285,4289,4410,4425,4434,4614,4631 'code-review':3188 'code-review-mod':286 'code-review.sh':2225,3242,3925,3943,3952 'code.claude.com':1802 'code.claude.com/docs/en/headless)).':1801 'codex':8,113,619,811,837,950,1026,1029,1821,2073,2301,2386,2389,2416,2595,3581,3841,3988,4347,4350,4452,4455,4528,4536,4541 'codex-c':949,1028,4540 'codex-query.sh':4024 'collis':2246 'combin':2340,4206 'comma':2295 'comma-separ':2294 'command':908 'commit':878 'committe':209 'common':648 'compar':4118,4180 'comparison':72 'complementari':4198 'composit':2348,2391 'concaten':2809 'concern':4305 'conclus':4176 'concret':2799 'concurr':4256 'condit':159 'confid':658,2723,4168,4196 'config':792,1024,1272,1409,1465,1671,1682,1728,1853,1943,1959,2066,2094,2128,2200,2474,2479,2594,2856,3018,3519,3986,4338,4344,4357,4369,4380,4401,4438,4459,4656 'config.example.json':415 'config.json':37,407,605,926,1025,1260,1262,1502,1956,1997,2110,2178,2315,3800,3810,4003 'configur':35,244,245,337,921,1331,1708,2254,2449,3303,3311 'conflict':3100,4205,4213 'consensus':25,353,942,1966,2138,2250,2458,2467 'consensus-queri':941 'consensus-query.sh':2002,2046,2176,2223,2439,3198,4035,4091,4104 'consid':4164 'consilium':3,43,671,1248,1271,1432,1813,1958,2326,2353,2414,4337 'constraint':697 'consult':788,1999 'consum':2163,2241 'contamin':195 'content':211 'context':538,558,594,721,2079,2097,2113,2131 'contradict':4212 'conveni':440 'cooki':2935 'coordin':2569 'correct':611,2525,2558,2741,2783,3110,3443 'corrupt':2822 'cosmet':2970 'cost':2604,3932 'count':3798 'coverag':3567 'cr':3181 'cr-bench':3180 'crash':2890 'creativ':627 'credenti':1329,1924,2818 'critic':2785,2844,2916,2951,3140 'critical-ti':2843 'cross':194,624,1819,2641,3224,4082 'cross-check':1818,2640 'cross-contamin':193 'cross-domain':623,4081 'cross-refer':3223 'crypto':2941 'csp':2985 'csrf':2869 'current':766,1707,4264 'custom':4342 'cvss':2762 'cwd':1882 'd':3343 'data':2793 'databas':4316 'dataflow':2802 'db':2769 'dead':2994 'debat':191,2571,2576,3171 'decid':4221 'decis':30,2037,4032,4090,4243 'declar':924 'dedup':3491,3645 'deep':3354,4069 'deep/precise':968 'deepseek':1096,3413,3434,3441,3604,3638,3862,3868 'default':617,633,1023,1308,1408,1452,1727,1783,1852,1868,1942,2006,2076,2090,2093,2107,2124,2127,2598,2729,3017,3500,3777,3809,3985,4345,4354,4366,4377,4389,4400,4428,4437,4458,4525 'defect':3774 'defens':2973 'defense-in-depth':2972 'defin':3816 'definit':2780 'degrad':2912,2963,3216 'degraded-but-recover':2911 'depth':615,1551,1573,1579,1586,2975,4038 'deref':2826 'desc':2722,2724 'describ':695,4266 'deseri':2812 'design':111,217,220,453,562,2029,2540,3308,4033 'design-principl':219 'detect':1978 'determinist':3492 'diff':401,405,2516,2671,2682,2685,2687,2691,3213,3338,3509,3512,3922 'differ':76,80,86,100,149,152,511,1626,3086,4130,4133,4199 'differenti':600 'direct':252,255,263,266,729,1177,1285,1288,1333,1375,2016,3837,4321,4566,4577,4611 'directori':768,1973 'disabl':1052,1076,1168,1416,1781,1939,2091,2125,2454,3683 'disclosur':2908 'discov':996,1000,1469 'discoveri':3404,3464 'discovering-opencode-reasoning-variants-per-model':999 'discovery-fronti':3463 'discovery-smal':3403 'disk':2657 'dispatch':1242,2041,2054 'display':973 'distinct':61 'distribut':88 'diverg':4169 'doc':1800 'docs.claude.com':4617 'docs.claude.com/claude-code)':4616 'docs/blog/code-review-2pass-pilot':3285 'document':2887,4328 'doesn':3770 'domain':625,4083 'doubl':2901 'double-charg':2900 'downgrad':3007,3744 'downstream':4102 'dri':341,2169,2273,3515,3673 'drop':1628,3066,3755,3765 'dry-run':340,2168,2272,3514,3672 'dump':2171 'duplic':3079,3754,3762 'e.g':903,987,1645,1814,2289,2496 'easi':71 'edg':612,2945,4029 'edge-cas':2944 'edit':406,874,1261,1457,1903,2198 'effect':2228 'effort':978,980,1013,1060,1072,1090,1106,1122,1138,1154,1166,1178,1227,1500,1651,1669,1725,1841,1845,4395,4399,4402,4431,4436,4439,4453,4457,4460 'either':1391,4154,4580 'element':3795 'elif':1577 'els':1609 'emit':2055,2230,3047 'empir':2561,2578,3177 'empti':1643,4319 'enabl':936,1036,1062,1092,1108,1124,1140,1156,1421,1952,1994,2025,2050,2063,2141,2183,2312,2608,3819,3829,3992,4093,4646 'enable/disable':409 'enabled/disabled':2256 'end':2717,2926,3194 'endpoint':2807,2874,2966 'enforc':829 'engin':3348 'entrench':2579 'entri':1170,1245,1415,1780,3801,3834 'enumer':1493,1695 'env':2325,2352,2412 'environ':323,326,1406,4335,4636 'environment-vari':325 'error':727,2475,2485,2580,2888 'escal':902,920 'escap':376 'et':2582,2586 'etc':1368,3775 'even':3962 'event':4274 'everi':1507,2180,2253,2469,2634,3337 'everyth':1634,2384 'everything-except-codex':2383 'exact':2519 'exampl':2360,2782,2784 'except':1606,1607,2385,2885 'exclud':2211,2329,2347,2354 'execut':1990 'exhaust':2895 'exist':542,2593 'exit':277,281,2215,2262,2423,3905 'exit-cod':280 'expens':3559 'expert':55 'exploit':2800 'explor':4072 'expos':1186,1219,1484 'extern':5,49 'f':1601 'fact':4311 'factor':3012 'fail':916,2465,2472 'failur':94,2461,3663,3719 'fall':1862,2322,2349,4608 'fallback':1198,3655,3681,3685,3690,3712,3891,4661 'fals':1555,2051,2064,2652,2705,3074,3571,3763,3820 'false-posit':3570 'fatal':3721 'featur':110 'fetch':802 'field':934,1460,1860,1995,4403,4440,4461 'file':457,487,503,519,547,724,793,1278,2080,2098,2114,2132,2512,2647,2655,2664,3205,3222,3231,3381,3546,3957 'file.py':2082,2100,2116,2134,2150 'file/db-handle':2893 'filter':2456,2727,3264,3726,3729,4325 'find':151,174,652,780,2531,2635,2692,2718,2745,3022,3049,3070,3162,3234,3705,3730,3760,3782,3955 'fine':3114,3823 'first':572,3214,3961 'fit':3772 'fix':2603,2840,3145,3294,3769 'flag':161,276,279,489,2214,2227,2313,2489 'flagship':1362 'flash':3414,3435,3442,3639,3869,3896 'flip':1171,1264,1420,1453,1951,3993 'focus':2506,3634,4302 'follow':672 'forc':2060 'form':746,3787,4292 'format':69 'formul':668 'frame':576,3087,4127,4132,4245 'free':589 'freedom':231,239,753 'freeli':1890 'friend':372 'frontier':77,3369,3465,3579,3885 'full':1829,3790,4418 'fuller':418 'function':383,3211 'function-s':3210 'gap':164,3630 'gate':2847,2918,3131 'gemini':9,635,638,867,953,1038,1042,1045,1300,1354,2086,3596,3894,3999,4358,4361,4473,4480,4593,4599,4604,4633,4642,4659 'gemini-c':952,1037,1041,3998,4479,4603,4641 'gemini-query.sh':4053 'generat':1345,3160,4487,4571 'generic':3629 'get':132,202,1597,4647 'git':400,782,877,2681,2686,3508 'github':2767 'github.com':4531,4596 'github.com/google-gemini/gemini-cli)':4595 'github.com/openai/codex)':4530 'given':529,593,2015,2307 'glm':1144,1226 'glob':779,1893,2278,2288,2331,2376 'go':1079,1086,1095,1102,1111,1118,1127,1134,1143,1150,1193,1209,1546,1617,1738,1747,1757,1763,1769,2292,2304,2368,2374,2381,2395,2403,2407,2419,3412,3419,3426,3433,3440,3448,3456,3603,3637,3861,3867,3875 'goal':699 'goe':1311,1336,1378,4068 'googl':251,262,1284,1332,1339,1344,4486,4497,4565,4568,4570 'google/gemini-3.1-pro-preview':1335 'gpt':1032,1364,1366,1427,3582 'gpt5':3476,3658,3881 'grep':778,1892 'grid':3535 'ground':2543,3324 'ground-truth':3323 'group':2191,3780 'guarante':2795 'guard':836 'guardrail':236,243,758 'guess':1492 'h':2220 'haiku':1827 'hallucin':2628,3076,3766 'hand':3469 'hand-pick':3468 'handl':2947 'happen':4334 'hard':3970 'hardcod':2816,3804 'harmless':1673 'head':402,2245,2683,2688,3510 'header':2983 'headless':13,1797 'heavi':3330 'heaviest':1445 'help':2221 'helper':2952 'heterogen':2589 'high':28,990,1016,1061,1091,1123,1139,1155,1167,1195,1205,1437,1448,1648,1732,1733,1742,1751,1752,1759,1765,1771,1777,1779,1849,2839,2861,3144,3584,4086,4167,4195,4405,4449,4463,4471 'high-stak':27,4085 'higher':3253 'higher-stak':3252 'highest':1654 'highlight':4231 'hoc':2204,2357 'homogen':208 'horizon':2778,3134 'hot':2828 'httpon':2929 'huge':3204 'human':355 'human-read':354 'hurt':2566 'hypothes':4313 'hypothesi':741 'id':961,1246,1250,1548,1603,1622,1830,2277,2286,2330,2482,2993,3807,3836,3838,3912,4419 'ignor':1021,1231,1667,1760,1766,1772,2024,2317,3828 'impact':2752,2846,2859,2906,2917,2980 'implaus':2920 'implement':614,889,4071 'import':1522,3327 'includ':719,2345,2698 'include-then-exclud':2344 'inconsist':2996 'incorrect':2910,2943 'independ':17,53,189,565,680,3048 'info':2907 'initi':4262 'inlin':443 'input':537,2815,2954 'insid':3163 'insight':4138,4207,4223 'inspect':2271 'instal':1980,4533,4547,4598,4619 'instead':689 'instruct':568 'intact':774 'integr':4101 'intellectu':564 'intent':3692 'interact':3020 'interpret':737,1638 'introspect':818 'invalid':2478 'investig':23,4058,4170,4309 'invoc':2017 'invok':1992 'involv':4014 'irrevers':4089 'isn':1683 'issu':153,3322 'item':3089 'job':896,2735,3051 'join':1594 'json':1524,1549,1595,4343 'json.loads':1592 'json_lines.append':1565 'judg':3250,3269,3496,3525,3531,3648,3684,3689,3718,3734,3753,3756,3853,3858,3890,3937,3947,3965 'keep':186,3090 'kept':3740,3745,3781 'key':651,1348,1356,1403,1599,4475,4490,4501,4574,4592,4635,4648 'kimi':1128,1225,2305,2369,2420 'know':1637,1913 'label':972,2193 'latch':98 'latenc':4269 'later':620,621,970,1051,1059,1089,1121,1153,2088,2105,3429,3487,3599,3991,4037,4049,4054,4078,4080 'launch':2179 'layout':3299 'lead':703 'leak':2894,2924 'len':1533,1560 'length':3219 'let':197,744,3121,3713,4219,4290 'level':659,3009,4446,4467 'like':2059,3075,4415 'likelihood/reachability':2753 'limit':2905 'line':465,1525,1534,1535,1536,1550,1553,1561,1563,1596,2058,2629,2713,2716,3207,3936,3959 'line-end':2715 'line-start':2712 'line.startswith':1540,1543 'linear':3382 'liner':1505,1717 'list':348,1506,1591,1644,1687,2166,2248,2965,3909 'list-ag':347,2165,2247 'literatur':2553 'live':2038 'llm':3268,3374,3522,3539,3733,3948 'llms':3215 'load':2838 'local':2633,2909 'locat':1981 'log':728,1929,4515,4621 'log/blame':783 'logic':2898 'login':1323,1395,2878,4520,4561,4584 'long':462 'look':3831 'loop':3172 'loss':2794 'low':988,1014,1435,1646,1730,1740,1749,1775,1847,2967,3150,4447,4469 'lower':3026 'lowest':3569 'make':660 'mani':3262 'map':982,1010,1842,4150 'margin':3316 'marginal-uplift':3315 'mark':3757 'markdown':357,397,2244,3778 'markdown-head':2243 'match':2319,2333,2759 'materi':176 'math':2820 'math.random':2988 'matrix':3614 'max':991,1018,1073,1107,1180,1649,1735,1743,1744,1754,1851,1855,1870,3486,3592,3654,4442,4451 'maxim':676 'maximum':3566 'may':2444 'mean':2430 'medium':989,1015,1436,1647,1731,1741,1750,1776,1848,2903,3148,4448,4470 'men':598 'mention':583 'merg':2786,3078,3143 'might':2702 'mimo':1112 'minim':2976,4468 'minimax':1080,1224,2398,2408 'mismatch':3069 'miss':2476,2486,2879,2928,2953,2981,3902,3911,4230 'mitig':2987,3011 'mode':95,285,289,294,301,388,496,851,871,1798,1886,1909,2502,3191,3239,3331,3728,3803,3827,3920,4422,4427 'model':33,78,129,140,150,413,959,960,1005,1031,1044,1056,1070,1083,1099,1115,1131,1147,1162,1185,1200,1269,1309,1334,1363,1376,1459,1474,1483,1508,1515,1547,1602,1636,1659,1710,1723,1822,2108,2375,2590,3227,3620,3632,4348,4351,4359,4363,4371,4374,4407,4411,4484,4498,4509,4556,4567,4578 'moder':2858 'modul':798 'money':3361 'msrc':2771 'multi':45,291,298,464,2549,3221,3236,3275,3825,3918,3927 'multi-ag':44,2548 'multi-fil':3220 'multi-lin':463 'multi-stag':290,3235,3274,3824,3917,3926 'multi-stage-review-modes-superreview':297 'multipl':421,1235 'mutabl':2834 'n':1528,1593,2960 'name':974,2997 'namespac':1627 'narrow':3203 'nativ':771 'need':904,3565,4249 'neighbor':797 'neither':2010,4158 'never':142,846 'new':3161,3749 'nit':2563 'no-fallback':3679,3710 'non':135,1642,2851,2933,2950,2991,3003,3016 'non-crit':2949 'non-default':3015 'non-empti':1641 'non-nul':3002 'non-obvi':134 'non-secur':2990 'non-sess':2932 'non-trivi':2850 'none':1434,1489,1774 'nosniff':2982 'note':1934,3095 'noth':1676,3939 'null':2825,2999,3004 'number':2630 'oauth':1399 'obvious':136 'oc':2373,2394 'oc-go':2372,2393 'often':4134,4235 'omit':739,1858 'on':3372,3473 'on/off':1266 'one':139,154,1239,1504,1655,1716,2699,3008,3088,3291,4224 'one-lin':1503,1715 'onto':99 'open':3193 'open-end':3192 'openai':254,265,1159,1176,1287,1361,1374,1381,1386,1398,1401,1414,4499,4508,4576,4579,4587,4590 'openai/gpt-5.5':1163,1211,1377,1773 'opencod':10,246,257,636,810,853,858,955,981,984,1001,1053,1055,1078,1082,1085,1094,1098,1101,1110,1114,1117,1126,1130,1133,1142,1146,1149,1158,1161,1192,1208,1279,1290,1297,1313,1321,1324,1349,1389,1393,1413,1470,1475,1514,1516,1541,1545,1613,1616,1635,1688,1698,1709,1737,1746,1756,1762,1768,2104,2291,2303,2367,2380,2402,2406,2418,2596,3411,3418,3425,3432,3439,3447,3455,3475,3595,3602,3636,3657,3844,3860,3866,3874,3880,3893,4370,4373,4381,4384,4394,4397,4494,4505,4511,4518,4544,4548,4552,4557,4559,4562,4582 'opencode-gemini':3892 'opencode-go':1084,1100,1116,1132,1148,1191,1207,1544,1615,1736,1745,1755,1761,1767,2290,2379,2401 'opencode-go-deepseek':1093,3601,3859 'opencode-go-deepseek-flash':3410,3431,3438,3635,3865 'opencode-go-glm':1141 'opencode-go-kimi':1125,2302,2366,2417 'opencode-go-mimo':1109 'opencode-go-minimax':1077,2405 'opencode-go-qwen36-plus':3417,3424,3446,3454,3873 'opencode-gpt5':3474,3656,3879 'opencode-openai':1157,1412 'opencode-provider-choice-zen-vs-google-direct-vs-openai-direct':256 'opencode-query.sh':4051 'opencode.ai':4546 'opencode/gemini':115 'opencode/gemini-3.1-pro':1057,1206,1310,1729,3990 'oper':2779 'opinion':19,56,681,4293 'option':977,1306,2968,3151,4607 'opus':1071,1815,1825,1833,1857,3484,3590,3652,3688,4416 'opus-judg':3687 'orchestr':47 'origin':133 'otherwis':1447,3344 'outag':2796 'output':373,642,2695,3725,3779,4109,4239 'overrid':1277,1905,2069,2279,3530,4349,4360,4372,4383,4396,4408,4423,4432,4454 'owasp':2764 'p':1796,3697 'panel':3263 'parallel':15,120,204,2144,2186,2527,3406,3466,3577,3611 'paramet':2942 'pareto':3385 'pars':3954,4657 'parser':4103 'partial':2460 'particip':939 'pass':183,423,435,962,1243,1608,2522,2615,2621,3409 'past':726,3217,4329 'path':1373,2830,2875,2889,4339 'path/to/file.cs':3504,3507,3517,3529,3667,3670,3675,3682 'path/to/file.py':399,2666,2669 'pattern':319,322,543,626,4178,4186,4241 'payment/ledger':2819 'per':602,830,1004,1473,1986,2021,2109,2310,3230,3305,4020,4047,4063,4076 'per-ag':1985,2020,2309,4019,4046,4062,4075 'per-cal':3304 'perman':2196 'permiss':850,1885,1908,4421,4426 'permission-mod':849,1884 'persist':3363 'perspect':205 'pick':437,1352,1439,2755,3470,3633,3978,4586 'pictur':632,4211 'pilot':3326 'pipe':545,722,2672,4287 'pipelin':2507,3277 'plan':339,852,855,856,872,1887,2172,3518,3676,4390,4429 'plus':3421,3428,3450,3458,3851,3877 'poc':3033 'point':4201 'polici':1179 'pool':2896 'port':3278 'posit':430,469,524,559,2706,3572,3764 'possibl':743 'postgr':362 'precis':609,2567,3179,4028 'precondit':2853,2921 'premis':630,4056 'prerequisit':328,329,4527 'prescrib':3292 'present':3115,4215 'preserv':3788 'preview':1049 'primari':3662,3717 'principl':218,221,563,573 'print':1600,2188,2252,3736 'pro':640,1048,1302,3598,3605 'pro-preview':1047 'probe':3537,3626,3631,3872 'problem':105,108,685,4045,4129,4308 'problem-solv':107 'proceed':4197 'prod':2817,2837 'produc':2562 'project':1900 'prompt':318,321,425,427,448,466,476,518,525,535,561,2487,4240 'prompt-fil':517 'prompt-pattern':320 'prompt.txt':479,481,520 'propag':2491 'propos':580,4156 'protocol':225,229,666 'provid':247,258,993,1234,1280,1322,1359,1387,1455,1480,1621,1630,1699,4310,4560 'provider-specif':992,1479 'provider/model':1295 'public':2806 'pull':3345 'purpos':935 'python':4653 'python3':1520 'q':2370,2382,2390,2409,2422 'queri':4,48,112,586,669,943,1984,2139,2175,2264,2434,2470,2810,2962,4317,4322,4330 'question':167,578,629,2078,2096,2112,2130,2148,3196 'quick':212,215,330,3921 'quick-start':214 'quot':392,2534,2649,2659,2676,3068,3072 'quote-mismatch':3067 'quote-valid':2648,3071 'quoted-cod':391,2533,2658,2675 'qwen36':3420,3427,3449,3457,3876 'race':158,2831 'rate':2766,3573 'rather':730,917 'rational':3093 'raw':203,495,720,4288 'rce':2788 're':1694,1712,1916,3059,3156,3175,3301 're-enumer':1693 're-review':3058,3155,3174 're-run':1711 'reachabl':2862 'read':234,241,756,777,834,840,864,912,1255,1891,1896,2177,4392 'read-on':233,755,833,839,863,911,1895,4391 'readability/perf':2559 'readabl':356 'readm':791 'real':786,2538,2978,4251 'real-tim':4250 'real-world':2977 'reason':979,997,1002,1446,1471,1662,2700,4172,4218,4398,4435,4456 'recal':3394,3551 'recommend':656,891,4165,4192,4214,4282 'recover':2914 'reduc':2599,3178,4094 'redund':2998 'refer':781,1169,1419,3225 'reject':1690 'releas':1703,2842,3147 'reliabl':3973 'repeat':2293,2339 'repli':2436 'report':976,2160 'repositori':787 'request':2829 'requir':1343,1390,3014,3799,4476,4491,4502,4638 'rerun':3229 'resolv':3102 'resourc':2883 'respond':65,645,4113 'respons':314,317,717,2190,4111,4177,4183 'rest':1462 'result':514,1640,3038,4320 'retri':2897 'return':4318,4326 'revag':3063 'reveal':750,4135 'review':21,148,182,284,288,293,300,381,387,451,549,554,2084,2102,2118,2136,2152,2157,2501,2509,2552,3060,3157,3176,3190,3238,3255,3355,3923,4016,4286,4298 'richer':4210 'right':4044 'rigor':607 'risk':2765,4149 'rm':880 'robin':2627 'role':63,599,966,1034,1050,1058,1074,1088,1104,1120,1136,1152,1164,3622,3980,4012 'role/agent':2481 'role/principles/template':498 'root':930,3083,4059 'rotat':2623 'round':2577,2626 'round-robin':2625 'rovodev':3061 'rubric':2737,3138 'rule':674 'run':342,345,814,906,948,985,1476,1689,1713,1877,1967,2048,2170,2205,2266,2274,2321,2518,2619,3169,3334,3516,3674,4558,4581 'run/skip':2036 'runtim':4353,4365,4376,4413 'safe':1451 'sandbox':838 'sanit':3107 'sast':816 'sast-styl':815 'satisfi':2959 'say':3106,3111 'scan':1624,1633 'schedul':2904 'schema':2693,3791 'score':2743,3972 'script':274,275,1254,1968,1970,1972,1988,2023,2218,2428,3904,4011,4023,4050,4066,4079 'scriptabl':2413 'scripts/claude-query.sh':2129,2135 'scripts/code-review.sh':398,403,2503,2665,2667,2684,2689 'scripts/codex-query.sh':2077,2083,4297,4315 'scripts/consensus-query.sh':346,358,379,449,477,482,515,553,2146,2151,2155,2164,2364,2377,2387,2399,2421,4247 'scripts/gemini-query.sh':2095,2101 'scripts/opencode-query.sh':2111,2117 'scripts/superreview.sh':3364,3503,3505,3511,3513,3524 'scripts/ultrareview.sh':3532,3666,3668,3671,3678 'search':801 'second':18,1809,4524 'section':4119,4121 'secur':42,616,2523,2557,2740,2781,2930,2992,3105,3459,4017 'security/correctness/performance/architecture/consistency':3623 'see':79,334,414,501,995,1799,2212,3284 'sei':2772 'select':2359,3054 'semgrep':2775 'senior':3347 'separ':2296 'sequenti':3627 'server':4261 'server-initi':4260 'servic':4301 'session':1396,1949,2934 'set':601,1229,1270,1487,1499,1650,1668,1722,1854,2008,2283,2338,2443,2450,3296,3709,4569,4589 'sev':3397 'sev-w':3396 'sever':2721,2726,2736,2776,3137,3549,3746,3750,3784 'severity-weight':3548 'share':1238,2600,2833,4116 'shell':824,1792 'ship':1410,3272 'short':447 'shortnam':1824 'silent':919,1666,2821 'singl':128,181,1982,2030,2362,2511,3245 'single-review':180 'single-stag':3244 'site':796 'situat':4010 'size':3212,3384 'skew':513 'skill':75,185,929,1866,1975,2617,3271 'skill-agents-consilium' 'skip':2397,2680 'slice':1258 'slight':85 'slower':3556 'small':3366,3405,3619 'small-swarm':3365 'small/cheap':3408 'smaller':2446 'snapshot':1704 'snippet1.cs':3400 'solut':124,688 'solv':109,4042 'someth':4157,4227 'sonarqub':2774 'sonnet':1826,1838,3499,3856 'sort':2720 'sourc':2031,2539,2646,2710 'source-codealive-ai' 'space':125 'spam':2564 'spawn':761,1946 'special':2555 'specialist':390,2521,2742,3046,3081,3199,3536,3610,3871,3898 'specif':994,1481,2855 'specul':3021 'split':1527,3208,3960 'spot':654,2602,3388,4096,4140,4146 'sqli':2804 'sqlite':364 'src/auth.py':384,552 'src/services/auth.py':4296 'stabl':374,2238,2425,4107 'stack':2922,4265,4268 'stage':292,299,3237,3246,3276,3298,3401,3461,3489,3494,3574,3608,3624,3643,3646,3826,3919,3928 'stake':29,3254,4087 'start':213,216,331,1552,1575,1584,2714 'state':683,2835,2872 'state-chang':2871 'stay':1466,3023 'stderr':2057 'stdin':459,471,527,530,557,2674 'step':3166 'stitch':3233 'store':2863 'straight':1337,1379 'straightforward':662 'string':444 'strip':1538 'structur':68,641,4108,4117 'style':92,817 'stylist':2971 'subset':118 'subtl':157 'subtract':2332 'succeed':2463 'success':2432 'summar':732 'summari':734 'superreview':295,302,3240,3561,3857,3884 'support':806,1298,1511 'surfac':143,3099 'swap':412,1612 'swarm':3367 'sweet':3387 'sweet-spot':3386 'synthes':313,316,2760,3056,4110 'synthesi':661 'synthesizing-respons':315 'sys':1523 'sys.stdin.read':1526 'target':4270 'templat':419,649 'tenant':2882 'test':794 'thing':81 'think':62,570,706,713 'thinker':590,622 'third':166,1372 'three':432 'tie':3128 'tier':1701,2757,2845,3027 'time':3699,4252 'timeout':2499,4522,4523 'tool':90,368,886 'tool-us':89 'toolchain':773 'top':1202 'topic-agent-safety' 'topic-agent-skills' 'topic-ai-coding' 'topic-ai-driven-development' 'topic-ai-safety' 'topic-antigravity' 'topic-bash' 'topic-claude-code' 'topic-codex-cli' 'topic-cursor' 'topic-developer-tools' 'topic-gemini-cli' 'touch':3360 'trace':2803,2923,3035 'track':3149 'train':87 'travers':2876 'treat':473,3715 'tri':900,1589 'triag':2730 'trivial':2852 'true':1422,1576,1954,2184,2651 'trust':2790 'trust-boundari':2789 'truth':2033,3325 'tune':3313 'two':1305,2520,2554,2747,3273,3346,4182 'ui':4276 'ultrareview':296,303,3241,3282,3842,3845,3852,3863,3889,3897 'ultrareview-bench':3281 'unbias':54,4244 'uncap':3416,3423,3430,3437,3460,3480,3488,3586,3594,3600,3607 'uncondit':2824 'unhandl':2884 'unifi':2515,2670,2738 'uniform':3615 'union':171,3260,3493,3967,4141 'uniqu':4222 'unknown':2480,2488 'unsaf':2811 'unset':4445,4466 'untrust':2814 'unusu':3019 'updat':4253,4258,4277 'upgrad':1697,3028 'uplift':3317 'usag':2484,2653,3501,3664 'use':38,91,306,311,361,494,505,646,693,799,1182,1275,1804,1919,2206,2267,3036,3135,3187,3197,3339,3562,3722,3840,3916,3924,3942,3949,3976,4496,4507 'user':2927,3119,4220,4257 'v':1590,1605 'v1beta':1341,4483 'v4':2763 'vagu':3767 'valid':394,1327,2529,2639,2650,2661,2678,2955,3073,3739,4200 'valu':678,2297,4355,4367,4378 'valuabl':4238 'variabl':324,327,4336,4637 'variant':986,998,1003,1221,1433,1472,1477,1512,1598,1663,1664,1679,1724 'vendor':3983 'verbatim':504,2709 'verbos':1517 'verdict':3737,3797 'version':4537,4549,4600,4624 'via':377,458,488,819,1384,2061,2411,2591,3731,4517 'view':2868 'violat':910 'visibl':2071 'voic':1429,4009 'vs':250,253,261,264,1283,1286,4123 'w':3398 'want':1175,1216,1425,1443,1657,1807,1962,3258,4006 'way':433 'weak':2937 'weak-but-not-broken':2936 'web':800 'weight':3550 'whatev':4304 'when-to-use-which':308 'wherev':1183 'whether':937 'whichev':438 'wider':123 'within':591 'without':3101,3945 'work':767,1292,1315,3032,3351 'worker':2892 'world':2979 'worst':2750 'worst-cas':2749 'would':141,512,4280 'wrap':499,2235 'wrapper':510 'write':875,884,1904 'write-back':883 'wu':2581 'x':694,707,2013,2044,2210,2328,2388,2404,3108,3112 'xhigh':1017,1217,1438,1440,1778,1850,3478,3660,3883,4450,4472 'xml':338,375,380,395,404,450,478,483,516,2156,2159,2229,2668,2690,2694,2696,3506,3669,3786,3950,3968,4105 'xss':2864 'yes':597 'yes-men':596 'yield':121 'zen':249,260,1282,1307,1314,1328,4555","prices":[{"id":"9dcf4c68-c78d-4154-840d-2baec029fc27","listingId":"0bc2e832-6bef-4ce0-929f-ba78c6c844bc","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"CodeAlive-AI","category":"ai-driven-development","install_from":"skills.sh"},"createdAt":"2026-05-04T06:56:22.717Z"}],"sources":[{"listingId":"0bc2e832-6bef-4ce0-929f-ba78c6c844bc","source":"github","sourceId":"CodeAlive-AI/ai-driven-development/agents-consilium","sourceUrl":"https://github.com/CodeAlive-AI/ai-driven-development/tree/main/skills/agents-consilium","isPrimary":false,"firstSeenAt":"2026-05-04T06:56:22.717Z","lastSeenAt":"2026-05-18T18:57:05.936Z"}],"details":{"listingId":"0bc2e832-6bef-4ce0-929f-ba78c6c844bc","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"CodeAlive-AI","slug":"agents-consilium","github":{"repo":"CodeAlive-AI/ai-driven-development","stars":67,"topics":["agent-safety","agent-skills","ai-coding","ai-driven-development","ai-safety","antigravity","bash","claude-code","codex-cli","cursor","developer-tools","gemini-cli","hooks","mcp","multi-agent","opencode","plugins","prompt-engineering","skills","subagents"],"license":"mit","html_url":"https://github.com/CodeAlive-AI/ai-driven-development","pushed_at":"2026-05-12T20:04:46Z","description":"Practices, protocols, and skills for AI-driven software development. 18 skills + 1 Bash safety hook for Claude Code, Codex CLI, OpenCode, Cursor, Gemini CLI, Antigravity, and any agent supporting the Agent Skills standard.","skill_md_sha":"25a176611a73c854159f023a61ceccfa425c74f2","skill_md_path":"skills/agents-consilium/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/CodeAlive-AI/ai-driven-development/tree/main/skills/agents-consilium"},"layout":"multi","source":"github","category":"ai-driven-development","frontmatter":{"name":"agents-consilium","description":"Query external AI agents (Codex, Gemini, OpenCode, Claude Code headless) in parallel for independent second opinions, code review, bug investigation, and consensus on high-stakes decisions. Agents and models are configurable in config.json. Use for architecture choices, security review, or ambiguous problems where independent perspectives matter. Not for simple questions answerable from docs or the codebase — use web search or repo exploration instead."},"skills_sh_url":"https://skills.sh/CodeAlive-AI/ai-driven-development/agents-consilium"},"updatedAt":"2026-05-18T18:57:05.936Z"}}