Skip to main content
Glama

Deliberation

Claude Code에서 GPT, Gemini, Grok으로부터 두 번째 의견을 받아보세요. OpenRouter를 통해 Qwen, Kimi, DeepSeek를 포함한 400개 이상의 모델도 활용할 수 있습니다. 일곱 명의 도메인 전문가(아키텍트, 코드 리뷰어, 보안 분석가 외 4명)가 여러분의 계획을 검토하고, 버그를 찾아내며, 합의에 도달할 때까지 엣지 케이스를 논쟁합니다.

테이블에 놓인 네 개의 의자: Claude, GPT, Gemini, Grok - 배포할 수 있는 하나의 결론최근 블로그 포스트: Deliberation 소개: 400개 이상의 모델은 쉽지만, 어떤 모델이 자리를 차지할 만한지 아는 것은 어렵습니다.

1라운드: 리뷰어들의 의견이 갈립니다

잠시 후

5라운드: 수렴 도달

/ask-all: 세 명의 아키텍트가 저장소에 들어가고, 두 개의 배포 버그가 나옵니다

세 모델이 논쟁할 때, 진짜 버그가 드러납니다. 1라운드 = 독립적인 최상위 발견 사항. 2라운드 = 각 모델이 다른 모델의 선택을 비판합니다. 불일치 매트릭스는 어디에서 의견이 갈리는지 보여주고, 결론은 실제로 무엇을 먼저 고쳐야 하는지 보여줍니다.

Deliberation이란 무엇인가요?

Claude는 MCP를 통해 GPT, Gemini, Grok 또는 OpenRouter를 통한 모든 OpenAI 호환 모델에 도움을 요청할 수 있습니다. 플러그인이 각 제공자의 연결을 처리하므로 프롬프트만 작성하면 됩니다. 각 전문가는 고유한 전문 분야를 가지며 조언하거나 구현할 수 있습니다.

제공자의 일부만 사용할 수 있습니다. 플러그인은 구성된 제공자를 감지하고 그에 따라 라우팅합니다. OpenRouter는 조언 전용이며 구성 기반입니다: 모델은 ~/.config/deliberation/config.json(Windows: %APPDATA%\deliberation\config.json; DELIBERATION_CONFIG로 재정의)에 선언되며 Claude Code를 재시작하지 않고도 핫 리로드됩니다.

제공되는 것

중요한 이유

7명의 도메인 전문가

각 문제 유형에 맞는 적절한 전문가

GPT, Gemini, Grok 또는 OpenRouter 모델

선호하는 제공자(들) 사용

이중 모드

전문가가 분석(읽기 전용) 또는 구현(쓰기)

자동 라우팅

Claude이 요청에서 위임 시점을 감지

종합된 응답

Claude이 전문가 출력을 해석하며, 원시 전달이 아님

Related MCP server: Agents Council

설치

Claude Code 플러그인(권장):

1. 마켓플레이스 추가 - antonbabenko/agent-plugins

/plugin marketplace add antonbabenko/agent-plugins

2. 플러그인 설치

/plugin install deliberation@antonbabenko

3. 설정 실행

/deliberation:setup

이제 Claude이 복잡한 작업을 GPT, Gemini, Grok 및 OpenRouter 전문가에게 라우팅합니다(Grok과 OpenRouter는 조언하고, GPT와 Gemini는 구현도 가능).

설정은 일회성 단계입니다. MCP 서버는 플러그인 매니페스트에 등록되어 있으므로 자동으로 로드되고 업데이트 시 최신 상태를 유지합니다.

업데이트(Claude Code)

/plugin marketplace update antonbabenko  # pull the new version from the marketplace
/reload-plugins                          # reconnect the MCP servers (or just restart Claude Code)

비-Claude 호스트에서 업데이트: npx -y @antonbabenko/deliberation-mcp를 통해 독립형 서버를 실행하는 호스트는 각 새 resolve에서 최신 게시 버전을 가져옵니다. npx는 해결된 패키지를 캐시하므로, 호스트가 이전 빌드를 제공하는 경우 npx 캐시를 지우거나(rm -rf ~/.npm/_npx) 버전을 고정/새로 고침하세요.

대안: deliberation MCP 서버 사용(독립형, 모든 에이전트와 호환)

오케스트레이션 서버는 자체적으로도 게시됩니다 - npm @antonbabenko/deliberation-mcp, 공식 MCP 레지스트리 이름 io.github.antonbabenko/deliberation.

원클릭 설치:

Install in Cursor Install in VS Code Install in Kiro

호스트의 MCP 구성에 다음을 추가하세요(대부분의 호스트는 mcpServers 키를 사용합니다):

{
  "mcpServers": {
    "deliberation": {
      "command": "npx",
      "args": ["-y", "@antonbabenko/deliberation-mcp"],
      "env": {
        "XAI_API_KEY": "xai-...",
        "OPENROUTER_API_KEY": "sk-or-v1-..."
      }
    }
  }
}

env 블록은 Claude Code 외부에서 제공자 키를 설정하는 방법입니다. GPT와 Gemini은 여기서 키를 읽지 않습니다 - 별도로 로그인된 codex 및 agy CLI를 사용하므로, GPT/Gemini만 사용하는 경우 해당 줄을 제거하세요. XAI_API_KEY는 Grok을 활성화하고, OPENROUTER_API_KEY는 OpenRouter를 활성화합니다(OpenRouter는 ~/.config/deliberation/config.json - 표준 XDG 경로, Windows %APPDATA%\deliberation\config.json - 또는 DELIBERATION_CONFIG로 다른 위치를 지정해야 합니다). 위의 원클릭 버튼은 비밀을 전달할 수 없으므로 설치 후 env 블록을 직접 추가하세요.

호스트별 구성 위치 및 예상 키:

호스트

구성

키

Claude Code

claude mcp add deliberation -- npx -y @antonbabenko/deliberation-mcp (또는 프로젝트 .mcp.json)

mcpServers

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json (macOS), %APPDATA%\Claude\claude_desktop_config.json (Windows)

mcpServers

Cursor

~/.cursor/mcp.json (전역) 또는 .cursor/mcp.json (프로젝트)

mcpServers

VS Code

.vscode/mcp.json - 참고: 각 항목에 "type": "stdio" 필요

servers

Codex CLI

~/.codex/config.toml - TOML, 예: [mcp_servers.deliberation]

mcp_servers

Gemini CLI

~/.gemini/settings.json

mcpServers

Windsurf

~/.codeium/windsurf/mcp_config.json

mcpServers

Zed

settings.json

context_servers

Cline

확장 프로그램의 MCP 설정(Cline 패널 -> MCP 서버)

mcpServers

제공자 사전 요구 사항은 플러그인과 동일합니다(요구 사항 참조): GPT용 Codex CLI, Gemini용 agy, Grok용 XAI_API_KEY, OpenRouter용 OPENROUTER_API_KEY 및 ~/.config/deliberation/config.json(Windows: %APPDATA%\deliberation\config.json; DELIBERATION_CONFIG로 구성 경로 재정의).

노출된 도구: ask-all, consensus(전체 수렴 루프를 한 번의 호출로 실행하거나 synthesizeAlways:true로 단일 종합 패스 실행), consensus-step(루프를 직접 제어, 호출당 하나의 작업), ask-gpt / ask-gemini / ask-grok / ask-openrouter, panel + ask-one(활성 제공자 집합을 발견한 다음 개별적으로 호출 - 병렬로 실행하여 제공자별 진행 상황을 표시), analyze(디버그 로그 + 세션에 대한 읽기 전용 실행 분석: 모델별 지연 시간 / 토큰 + 결론 일치, 조언적 튜닝 제안 포함; configuredOnly 및 since는 보고서를 현재 실행 중인 모델과 선택한 기간으로 제한), 일곱 전문가(architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, debugger), 세션 도구(session-get / session-revisit / session-annotate). 모든 결과는 ms 및 유효 reasoningEffort를 포함합니다(HTTP 제공자는 토큰 usage 추가). 선택적 디버그 로그("debug": { "enabled": true })는 지연 시간 / 토큰 / 투표를 기록합니다 - 프롬프트나 응답은 절대 기록하지 않습니다. 이들은 서버 측이므로 Claude Code뿐만 아니라 모든 MCP 호스트에서 작동합니다(AGENTS.md 참조).

패키지에는 deliberation-setup bin도 포함되어 있습니다. npx -y --package @antonbabenko/deliberation-mcp deliberation-setup으로 한 번 실행하여 시작용 ~/.config/deliberation/config.json을 작성합니다(기존 파일은 절대 덮어쓰지 않습니다). 일반 npx -y @antonbabenko/deliberation-mcp 형식은 기본 bin(서버)을 실행하며, 이는 MCP 호스트가 시작하는 것입니다. 호스트 규칙 연결은 AGENTS.md 및 examples/의 호스트별 스니펫을 참조하세요.

호스트별 네이티브 플러그인(Cursor / Codex / Kiro / OpenCode)

위의 원시 MCP 구성 외에도, deliberation은 네 호스트에 대한 네이티브 플러그인 아티팩트를 제공하여 Claude Code 플러그인과 동일한 경험(페르소나를 가진 전문가 + 위임 시점에 대한 지침, 단순한 도구가 아닌)을 제공합니다. 이 모든 것은 node scripts/sync-hosts.js에 의해 정식 소스에서 생성되어 커밋되므로, 결코 표류하지 않습니다(CI 드리프트 테스트가 이를 강제합니다). 각 호스트는 리포지토리에서 자체 파일을 스캔합니다:

호스트

네이티브 아티팩트(이 저장소 내)

설치 방법

Cursor

.cursor/rules/deliberation.mdc

위의 원클릭 MCP 버튼을 사용한 다음, .mdc 파일을 프로젝트의 .cursor/rules/에 복사하세요.

Codex CLI

plugins/deliberation/ (.codex-plugin/plugin.json + .mcp.json + skills/) 및 저장소 범위의 .agents/plugins/marketplace.json

codex plugin marketplace add antonbabenko/deliberation 실행 후, /plugins에서 deliberation을 설치하세요.

Kiro

POWER.md + mcp.json + steering/ ("Kiro Power")

Kiro에서 "Add power from GitHub" -> 이 저장소 URL을 입력하세요. kiro.dev/powers/submit에서 레지스트리에 제출하세요.

OpenCode

.opencode/commands/*.md + .opencode/agents/*.md

opencode.json에 MCP 서버를 추가하고(mcp 키, type: "local", command: ["npx","-y","@antonbabenko/deliberation-mcp"]), 그런 다음 .opencode/commands/와 .opencode/agents/를 프로젝트에 복사하세요.

프로바이더 자격 증명은 독립 실행형 서버와 동일하게 작동합니다(Codex CLI를 통한 GPT, agy를 통한 Gemini, Grok용 XAI_API_KEY, OpenRouter용 OPENROUTER_API_KEY) - 사용하는 프로바이더만 설정하세요. MCP 서버는 이미 각 전문가 페르소나를 서버 측에서 주입하므로, 이러한 네이티브 파일은 호스트의 명령/스티어링 표면을 추가할 뿐 로직을 중복하지 않습니다.

호스트별 전체 설치 가이드: docs/hosts/ - Cursor, Codex CLI, Kiro, OpenCode.

요구 사항

최소한 하나의 프로바이더가 필요합니다:

  • Codex CLI (GPT): npm install -g @openai/codex 실행 후 codex login을 실행하세요.

  • Antigravity CLI: Antigravity CLI 시작하기 및 Gemini CLI에서 마이그레이션을 참조한 후 agy를 실행하고 로그인하세요.

  • Grok (xAI): 설치할 CLI가 없습니다. 브리지는 플러그인과 함께 제공됩니다(Node 18+ 필요). XAI_API_KEY를 설정하세요(https://console.x.ai에서 키를 받으세요).

  • OpenRouter: CLI가 없습니다. 브리지는 플러그인과 함께 제공됩니다(Node 18+ 필요). OPENROUTER_API_KEY를 설정하고(https://openrouter.ai/keys에서 키를 받으세요), ~/.config/deliberation/config.json에서 모델을 선언하세요(Windows: %APPDATA%\deliberation\config.json; DELIBERATION_CONFIG로 재정의 가능). 모든 OpenAI 호환 엔드포인트(Ollama, vLLM, LM Studio, HuggingFace Inference)에서 작동합니다 - 키 환경 변수가 비어 있으면 인증이 자동으로 건너뜁니다.

Windows 참고 사항(CLI 프로바이더). Windows에서 npm install -g는 실행 파일이 아닌 codex.cmd 셸(shim)을 설치하며, Node는 .cmd 파일을 직접 실행할 수 없습니다 - 그래서 GPT 호출은 spawn 오류만 발생하고 실패하곤 했습니다. deliberation은 이제 CLI 자체를 직접 해석합니다(PATHEXT, 실패 시 패키지 자체의 진입점으로 폴백) 그리고 셸을 거치지 않습니다. 사용자 머신에서 해석이 실패하는 경우, CODEX_BIN(GPT) 또는 AGY_BIN(Gemini)을 실제 실행 파일로 지정하세요. Grok과 OpenRouter는 영향을 받지 않습니다 - HTTP 브리지이며 아무것도 spawn하지 않습니다.

명령어

플러그인에 포함되어 제공됩니다(설치 후 사용 가능):

명령어

용도

/deliberation:setup

Codex/Gemini/Grok/OpenRouter MCP 서버 + 오케스트레이션 규칙 구성

/deliberation:help

호스트에서 deliberation을 사용하는 방법, 붙여넣기 가능한 예시 프롬프트 포함

/deliberation:doctor

상태 점검(구성, 프로바이더 CLI, 세션/디버그, 경로 드리프트) 및 수정 사항 제공; 읽기 전용

/deliberation:consensus

🔥🔥🔥 중재자 매개 GPT + Gemini + Grok + Claude 수렴 루프

/deliberation:ask-all

🔥 GPT + Gemini + Grok(+ 구성된 OpenRouter 모델) 병렬 실행, 종합 결과 제공

/deliberation:ask-gpt

일회성 GPT(Codex) 세컨드 오피니언

/deliberation:ask-gemini

일회성 Gemini 세컨드 오피니언

/deliberation:ask-grok

일회성 Grok(xAI) 세컨드 오피니언(자문 전용)

/deliberation:ask-openrouter

일회성 OpenRouter 모델 세컨드 오피니언(자문 전용)

/deliberation:analyze

최근 실행 분석(지연 시간, 토큰, 평결 일치도) 및 모델/추론/팬아웃 튜닝 제안(자문)

/deliberation:uninstall

MCP 구성, 규칙 및 별칭 제거

/deliberation:grok-files

Grok 업로드 파일 목록, 정리 또는 gc(스토리지 + 로컬 캐시 정리)

/setup은 짧은 별칭(/ask-gpt, /ask-gemini, /ask-grok, /ask-openrouter, /ask-all, /consensus)을 ~/.claude/commands/에 설치할 수도 있습니다. 이는 선택 사항입니다. 동일한 이름의 기존 명령어는 기본적으로 유지되며, setup은 덮어쓰기 전에 확인을 요청합니다. /deliberation:uninstall은 별칭이 번들 복사본과 바이트 단위로 동일한 경우에만 제거합니다.

analyze는 의도적으로 제외되었습니다: /analyze는 흔한 이름이며, 단순 복사본은 해당 명령어를 제공하는 다른 플러그인과 충돌합니다. 항상 사용 가능한 /deliberation:analyze를 사용하세요. 이전 setup이 ~/.claude/commands/analyze.md를 설치한 경우, setup은 삭제할 수 있도록 경로를 알려줍니다. /deliberation:uninstall도 analyze를 나열하지만, 바이트 동일성 가드는 현재 번들 파일의 복사본에만 적용됩니다 - 이전 릴리스에서 복사된 별칭은 다르므로 추측으로 삭제하지 않고 의도적으로 남겨둡니다.

전문가

전문가

역할

예시 트리거

아키텍트

시스템 설계, 트레이드오프, 복잡한 디버깅

"이 구조를 어떻게 잡아야 할까?" / "트레이드오프는 무엇인가?"

계획 검토자

시작 전에 계획 검증

"이 마이그레이션 계획을 검토해줘" / "이 접근 방식이 타당한가?"

범위 분석가

초기에 모호성 포착

"내가 놓치고 있는 것은?" / "범위를 명확히 해줘"

코드 검토자

버그 발견, 품질 개선

"이 PR을 검토해줘" / "이것의 문제는 무엇인가?"

보안 분석가

취약점, 위협 모델링

"이것은 안전한가?" / "이 엔드포인트를 강화해줘"

연구자

외부 라이브러리, 문서, 모범 사례

"X를 어떻게 사용하나요?" / "Y의 예시를 찾아줘"

디버거

근본 원인 분석, 최소 수정

"왜 이게 크래시되나요?" / "이 실패하는 테스트를 디버깅해줘"

전문가가 가장 도움이 되는 경우

  • 아키텍처 결정 - "Redis를 사용해야 할까요, 아니면 인메모리 캐싱을 사용해야 할까요?"

  • 디버깅에 막혔을 때 - 두 번 이상 실패한 후, 새로운 시각을 얻으세요

  • 구현 전 - 코드를 작성하기 전에 계획을 검증하세요

  • 보안 우려 - "이 인증 흐름이 안전한가요?"

  • 코드 품질 - 구현에 대한 세컨드 오피니언

전문가를 사용하지 말아야 할 경우

  • 단순한 파일 작업(Claude가 직접 처리)

  • 모든 수정의 첫 시도(먼저 직접 시도하세요)

  • 사소한 질문(위임할 필요 없음)

사용 방법

작업을 설명하세요. Claude는 전문가가 도움이 되는 시점을 감지하고 자동으로 위임합니다:

You: "Is this authentication flow secure?"
Claude: routes to the Security Analyst, then synthesizes the findings.

명시적으로 요청할 수도 있습니다: "Ask GPT to review this architecture", "Ask Gemini to...", 또는 "Ask Grok to...". 각 전문가는 분석을 위해 읽기 전용으로 실행되거나 수정 사항을 적용하기 위해 쓰기 권한으로 실행되며, Claude는 요청에 따라 모드를 선택합니다.

또는 슬래시 명령어를 직접 호출하세요 - 위의 명령어 섹션을 참조하세요.

/consensus 및 /ask-*가 모델의 정직성을 유지하는 방법

/ask-gpt, /ask-gemini, /ask-grok, /ask-all은 빠른 명령어입니다: 각각 하나 또는 세 개의 외부 모델을 디스패치하고, Claude가 출력을 읽고, 하나의 종합된 답변을 받습니다. 단일 실행, 루프 없음, 동료 검토 라운드 없음.

/consensus는 무거운 명령어입니다. 동일한 병렬 디스패치이지만, 동료 검토 라운드와 모델들이 동의할 때까지 계속되는 다중 라운드 루프가 있습니다. 비용: 오케스트레이터(Claude)가 검토 프롬프트를 작성하고, 투표하고, 어떤 이의가 실제인지 결정하고, 루프를 실행합니다. 방치하면 이 설정은 조용히 자신의 계획을 승인할 수 있습니다. 네 가지 가드가 이를 막습니다.

/consensus 3단계 흐름

편향 가드 및 모델별 흐름이 포함된 상세 다이어그램 보기

네 가지 가드:

  • 블라인드 평결. Claude는 패널을 호출하는 메시지 이전에 전송된 메시지에서 자신의 평결(APPROVE / REQUEST CHANGES / REJECT)을 게시합니다. 사전 약속은 대화 기록에 남으므로, Claude는 다른 모델의 의견을 본 후 자신의 의견을 바꿀 수 없습니다. 엔진이 이를 강제합니다: 블라인드 평결이 기록될 때까지 패널은 공개되지 않습니다.

  • 동료 검토. 각 외부 모델은 계획을 독립적으로 검토하고 평결과 분류된 중요 이슈를 반환합니다. Claude는 중재자로서 이를 평가합니다. 모델들이 투표하고, Claude가 판정합니다.

  • 자기 승인 없음. 응답한 모든 외부 모델이 승인하고 최소한 하나의 외부 모델이 실제로 응답한 경우에만 라운드가 수렴합니다. Claude 자신의 승인만으로는 라운드가 성립하지 않습니다. 오류가 발생한 프로바이더(예: 구성되지 않은 Grok이 missing-auth를 반환하는 경우)는 루프를 막는 대신 카운트에서 제외됩니다.

  • 조용한 기각 없음. 기각되거나 연기된 모든 중요 이슈는 최종 보고서에 한 줄 이유와 함께 포함되며, Claude가 자신의 블라인드 이의 중 하나를 철회하는 경우도 포함됩니다. 엔진은 이유 없이 이슈를 기각하는 판정을 거부합니다.

/ask-* 명령어는 동일한 규칙의 더 가벼운 버전을 수행합니다. 외부 모델은 자문만 제공합니다: Claude가 출력을 읽고, 자신의 판단을 적용하고, 종합된 답변에 대한 책임을 집니다. 모델들이 동의하는 경우, 그것은 입력일 뿐 평결이 아닙니다.

/consensus는 핵심 수렴 엔진(core/consensus-loop.js) 위의 얇은 드라이버입니다. 루프 메커니즘 - 라운드 카운팅, 수렴 규칙, 구성 가능한 최대 라운드 상한, 기록, 신뢰도 라벨 - 은 명령어가 아닌 엔진에 있습니다. 각 라운드:

  1. 블라인드 평결. Claude는 패널이 공개되기 전에 자신의 평결(대화록에 표시됨)을 먼저 제출하며, 엔진은 이 평결이 있을 때만 공개를 진행합니다.

  2. 패널 검토. GPT, Gemini, Grok(및 구성된 모든 OpenRouter 위임 모델)이 계획을 병렬로 검토하고 APPROVE / REQUEST CHANGES / REJECT 및 분류된 주요 이슈를 제출합니다. 서버는 각 평결을 파싱합니다.

  3. 중재자 판정 + 수정. Claude는 패널 평결과 자신의 블라인드 평결을 조정하며, 각 주요 이슈에 대해 수용, 기각(사유 필요), 또는 보류를 선택한 후 다음 라운드를 위해 계획을 수정합니다.

루프는 응답한 외부 모델 중 최소 하나가 승인하고, 거부가 없으며, 수용된 주요 이슈가 없고, Claude가 APPROVE로 판정할 때 수렴합니다 - 즉 Claude는 스스로 승인할 수 없습니다. 그 외에는 consensus.maxRounds(기본 5, 설정 가능)에서 unresolved로 중단됩니다. 신뢰도 라벨은 얼마나 빨리 수렴했는지를 반영합니다(1라운드 = 높음, 2-3 = 중간, 4-5 = 낮음).

동일한 엔진이 다른 호스트가 사용하는 진입점들도 지원합니다: consensus 도구(공급자 중재자와 함께 단일 호출로 전체 루프를 서버 측에서 실행하거나, synthesizeAlways:true로 단일 합성 패스를 실행) 및 consensus-step(직접 구동, 호출당 하나의 작업). 분류 체계와 엔진 계약에 대한 자세한 내용은 TECHNICAL.md를 참조하세요.

이전 버전에서는 추가 "2단계" 익명 피어 교차 검토(각 모델이 다른 모델의 답변을 블라인드로 평가, karpathy/llm-council에서 각색)를 실행했습니다. 엔진 기반 재작성에서 단일 진실 소스를 유지하기 위해 이를 제거했으며, 엔진 기능으로 돌아올 수 있습니다.

구성

전체 설정 및 구성 참조는 **SETUP.md**에 있습니다. 다음 내용을 다룹니다:

  • 전문가 모드 - 자문(read-only) vs 구현(workspace-write), 요청에 따라 자동 선택

  • 구성 파일 - 위치(~/.config/deliberation/config.json), DELIBERATION_CONFIG 재정의, 핫 리로드

  • 6개 구성 섹션 - providers, models, routing, consensus, sessions, debug - 최소 예시 포함

  • OpenRouter 모델 - 레코드 선언, askAll / consensus 자격, 팬아웃, reasoningEffort, 중재자 선택; consensus는 라운드 상한(maxRounds)과 벽시계 시간 예산(maxWallMs, 기본 20분)도 구성

  • 타임아웃 - providers.defaults.timeout는 모든 공급자의 호출당 상한을 한 번에 높이고, providers.<name>.timeout은 하나를 재정의하며, 고정 모델의 models.<id>.timeout이 여전히 우선합니다. 비율 제한(HTTP 429) 호출은 업스트림의 Retry-After를 존중하여 한 번 재시도됩니다

  • 디버그 로그 - 옵트인 지연 시간 / 토큰 / 투표 추적

  • 세션 영속화 - 옵트인 디스크 기반 실행 기록(호스트 기반 /consensus 루프 포함) 및 session-* 도구; sessions.captureText(기본 꺼짐)는 추가로 공급자 응답 본문을 저장합니다(정리됨)

공급자 내부 구조, 환경 변수 및 수동 MCP 설정에 대해서는 **TECHNICAL.md**를 참조하세요.

작성자

Anton Babenko가 유지 관리합니다 - LinkedIn, X/Twitter.

기여

기여를 환영합니다. 워크플로, 커밋 규칙 및 자동화된 릴리스 프로세스는 CONTRIBUTING.md를 참조하세요.

라이선스

MIT

Available Tools

20 tools
analyzeA
Read-only

Analyze recent runs from the opt-in debug log (latency/tokens/reasoning-effort per model) plus the session store (verdict agreement rate), and return advisory tuning suggestions (disable a slow/redundant model in ask-all, lower an OpenRouter model's reasoning, adjust maxFanout). Two lenses reported side by side - timing and agreement are NOT joined (no shared run id). Requires debug.enabled for the timing lens. Local and read-only (no provider calls, writes nothing); returns a text-wrapped JSON envelope with the two lenses + suggestions. The /deliberation:analyze slash command renders this for humans.

NameRequiredDescriptionDefault
sinceNoOnly analyze runs newer than this window, e.g. "30m", "24h", "7d", or a bare number of seconds. Gates BOTH lenses so timing and agreement cover the same period. Omit for all time. Max 10 years; an invalid or out-of-range value is an error, never a silent fallback.
sessionsNoHow many recent session records to read for the agreement lens. Default -1 (no caller cap), still bounded to 500 parsed records; truncation is reported in meta.truncated.sessions.
limitBytesNoTail size of the debug log to read, in bytes (default 1048576, or 33554432 when `since` is set). Clamped to 33554432.
configuredOnlyNoReport only models present in the current config (default true). Excluded rows and the reason each was dropped are listed in meta.excluded. Set false to include retired/unconfigured models.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare `readOnlyHint: true` and `destructiveHint: false`. The description goes far beyond this by explaining nuances: the opt-in nature of the log, the local execution ('no provider calls, writes nothing'), the two lenses not being joined, the requirement for `debug.enabled`, and the exact return format ('text-wrapped JSON envelope'). This is exemplary behavioral disclosure for a read-only analysis tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single dense paragraph, which given the complexity of the tool (two lenses, two data sources, exclusions, return format) is justifiable and efficient. Every sentence carries meaningful information: purpose, caveats, requirements, execution model, return format, and human-friendly alternative. Front-loaded with the primary action, with critical caveats following naturally, then closing with the alternative rendering.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex analysis tool with 4 parameters, no output schema, and rich sibling context available, the description covers: the input sources, the analysis logic, the output format, the caveats (not joined), the requirement (debug.enabled), side effects (none), and the alternative. The overloading of parameters is documented in the schema, and the description ties it all together. There is no practical gap an agent would face when deciding to call this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and each parameter already has rich descriptions. The description adds high-level context by explaining the two data sources and the 'two lenses' concept that maps to the parameters (`since` gates both lenses, `sessions` for agreement, `limitBytes` for tail size, `configuredOnly` for filtering). It doesn't fully explain every parameter's interaction (e.g., limitBytes default changes with `since`), but the schema handles that. A 4 is warranted because the high-level semantics add value on top of the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description starts with 'Analyze recent runs from the opt-in debug log... plus the session store' and clearly specifies the two data sources, the two lenses (timing and agreement), and the deliverable (advisory tuning suggestions). It explicitly notes the lenses are NOT joined, which distinguishes its analytical scope. The description also names a sibling renderer (`/deliberation:analyze`) and differentiates from its siblings by being local and read-only.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use it ('Analyze recent runs from the opt-in debug log...') and includes critical caveats: 'timing and agreement are NOT joined (no shared run id)', 'Requires `debug.enabled` for the timing lens', and 'Local and read-only (no provider calls, writes nothing)'. It also names the alternative format for humans ('The `/deliberation:analyze` slash command renders this for humans'), which helps an agent decide between calling the tool directly versus delegating to the human-facing command. This replaces potentially harmful default assumptions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

architectA
Read-only

Software architect for system design, tradeoff analysis, and complex decisions. Use for architecture, API/schema design, multi-service interactions, or when a fix has failed twice and needs a fresh perspective. Fans out to the configured provider panel with this persona (advisory; each provider needs its key/CLI, rate limits apply) and returns a text-wrapped JSON envelope { results[] }.

NameRequiredDescriptionDefault
cwdNoWorking directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory.
filesNoOptional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url.
expertNoOptional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored.
promptYesThe question or task for the provider(s)/expert.
reasoningEffortNoReasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it.
developerInstructionsNoOptional system/developer instructions injected verbatim; overrides the built-in persona for `expert`.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses key behaviors beyond annotations: it fans out to a configured provider panel with an advisory persona, requires each provider's key/CLI, has rate limits, and returns a text-wrapped JSON envelope with a results array. This complements the readOnlyHint (true), destructiveHint (false), and openWorldHint (true) annotations effectively.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (three sentences) and front-loaded with purpose, followed by usage and behavioral details. Every sentence adds value without redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (6 parameters, no output schema, 18 sibling tools), the description is remarkably complete. It covers purpose, usage scenarios, behavioral model, return format, and prerequisites (keys, rate limits). No gaps are apparent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage for all parameters, so the baseline is 3. The tool description adds context about the advisory persona and fan-out behavior, but does not significantly enhance the meaning of individual parameters beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as a software architect for system design, tradeoff analysis, and complex decisions. It lists specific use cases (architecture, API/schema design, multi-service interactions, or after two failed fixes) and distinguishes itself from siblings by noting that the 'expert' parameter's persona is overridden on named expert tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use the tool (e.g., architecture, complex decisions, fresh perspective after two failed fixes). It also indirectly advises against using it when a more specific expert tool is appropriate (since the persona is overridden). However, it lacks explicit 'when not to use' statements, which would improve clarity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ask-allA
Read-only

Fan out one question to GPT, Gemini, Grok, and any configured OpenRouter models in parallel for independent second opinions, then return all results (advisory, no cross-contamination). Pass expert to apply a persona to every delegate. Calls external LLM providers (each needs its key/CLI; provider rate limits apply); returns a text-wrapped JSON envelope { results[], omitted[] } and persists a session record only when sessions.persist is enabled (default off).

NameRequiredDescriptionDefault
cwdNoWorking directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory.
filesNoOptional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url.
expertNoOptional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored.
promptYesThe question or task for the provider(s)/expert.
reasoningEffortNoReasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it.
developerInstructionsNoOptional system/developer instructions injected verbatim; overrides the built-in persona for `expert`.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses external provider calls, key/CLI requirements, rate limits, return format (JSON envelope with results/omitted), and session persistence condition. Adds significant value beyond readOnlyHint annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two well-structured sentences front-load the core action and include all key caveats without superfluous content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 6 parameters, no output schema, and complex multi-provider behavior, the description adequately covers purpose, behavior, output format, and configuration details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers all 6 params (100% coverage). Description adds context: expert applies persona, reasoningEffort ignored by some providers, cwd resolution, and default persistence behavior. Enhances understanding beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool fans out a question to multiple LLM providers (GPT, Gemini, Grok, OpenRouter) in parallel for independent second opinions, distinguishing it from single-provider siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Indicates use for independent second opinions and advisory results. Implicitly contrasts with single-provider tools via sibling names, but lacks explicit when-not or alternative references.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ask-geminiA
Read-only

Single-provider second opinion via gemini (advisory, single-shot). Pass expert to apply one of the expert personas. Calls the external gemini provider (via the Gemini CLI; rate limits apply) and returns a text-wrapped JSON envelope { result }.

NameRequiredDescriptionDefault
cwdNoWorking directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory.
filesNoOptional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url.
expertNoOptional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored.
promptYesThe question or task for the provider(s)/expert.
reasoningEffortNoReasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it.
developerInstructionsNoOptional system/developer instructions injected verbatim; overrides the built-in persona for `expert`.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses that the tool returns a 'text-wrapped JSON envelope { result }' and that it calls an external provider with rate limits. Annotations already indicate readOnlyHint=true and destructiveHint=false, so the description adds value without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences front-loading the purpose and key guidance. Every sentence adds value with no redundancy. Efficient and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 6 parameters, no output schema, and annotations providing safety context, the description covers return format, rate limits, and single-shot nature. It does not detail error handling or pagination, but for a single-shot advisory tool this is sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaning beyond the schema: it explains that 'expert' applies personas, 'developerInstructions' overrides built-in persona, and that 'reasoningEffort' is ignored for Gemini. Since schema coverage is 100%, the description enriches understanding of parameter behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Single-provider second opinion via gemini (advisory, single-shot)' which includes a specific verb (ask/consult), resource (gemini), and scope (single-provider). It distinguishes from sibling tools like ask-all, ask-gpt, etc. by emphasizing it is only for Gemini.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description advises passing 'expert' for personas and notes that for named expert tools the tool's own persona wins. It also mentions rate limits and that reasoningEffort is ignored for Gemini, providing context on when to use. However, it does not explicitly state when not to use this tool versus alternatives, though it is implied by the single-provider nature.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ask-gptA
Read-only

Single-provider second opinion via codex (advisory, single-shot). Pass expert to apply one of the expert personas. Calls the external codex provider (via the Codex CLI; rate limits apply) and returns a text-wrapped JSON envelope { result }.

NameRequiredDescriptionDefault
cwdNoWorking directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory.
filesNoOptional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url.
expertNoOptional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored.
promptYesThe question or task for the provider(s)/expert.
reasoningEffortNoReasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it.
developerInstructionsNoOptional system/developer instructions injected verbatim; overrides the built-in persona for `expert`.

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (readOnlyHint, destructiveHint, openWorldHint), the description discloses that it calls an external provider 'via the Codex CLI' with rate limits, and returns 'a text-wrapped JSON envelope { result }.' This adds meaningful behavioral context about side effects and output format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two sentences plus a brief note on return format. Every sentence adds value—purpose, expert usage, provider details, rate limit caveat, and output structure. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 6 parameters (all described in schema) and no output schema, the description covers the return format and a key behavioral detail (rate limits). However, it lacks usage context and guidance on when to pick this tool over siblings, leaving the agent without a complete picture for selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds only minimal parameter semantics by mentioning that `expert` applies personas, but does not elaborate on `prompt`, `files`, or other parameters beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool provides a 'Single-provider second opinion via codex (advisory, single-shot),' specifying the provider and nature. It distinguishes itself from sibling 'ask-*' tools by naming 'codex' as the provider, but does not explicitly contrast with other single-provider alternatives like ask-gemini or ask-one, so it lacks full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus its many siblings (e.g., ask-gemini, ask-all, or expert tools). It mentions that on a named expert tool the persona is ignored, but this is a behavioral note, not a usage guideline. There is no when-not-to-use or alternative recommendation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ask-grokA
Read-only

Single-provider second opinion via grok (advisory, single-shot). Pass expert to apply one of the expert personas. Calls the external grok provider (needs XAI_API_KEY; rate limits apply) and returns a text-wrapped JSON envelope { result }.

NameRequiredDescriptionDefault
cwdNoWorking directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory.
filesNoOptional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url.
expertNoOptional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored.
promptYesThe question or task for the provider(s)/expert.
reasoningEffortNoReasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it.
developerInstructionsNoOptional system/developer instructions injected verbatim; overrides the built-in persona for `expert`.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds context beyond annotations: it labels the tool as 'advisory, single-shot' and notes external provider call, API key requirement, rate limits, and return format (text-wrapped JSON envelope). No contradiction with annotations (readOnlyHint=true, destructiveHint=false, openWorldHint=true).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with only two sentences, front-loading the core purpose. Every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 6 parameters and no output schema, the description covers purpose, behavior, parameter details, and external dependencies. It lacks explicit error handling but is otherwise complete for a well-annotated tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline 3. The description adds meaning: it explains that 'expert' applies a persona and is ignored on named expert tools, 'developerInstructions' overrides persona, 'reasoningEffort' applies only to certain providers, and 'files' attachment behavior per provider.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool is a 'Single-provider second opinion via grok (advisory, single-shot),' identifying the provider and the one-time advisory nature. It distinguishes from sibling tools by specifying 'single-provider' and 'grok,' and mentions 'expert' personas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for a 'second opinion' but does not explicitly state when to use this tool versus alternatives like 'ask-gpt' or 'ask-gemini.' It mentions external dependencies (XAI_API_KEY, rate limits) but lacks explicit when-not or alternative tool comparisons.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ask-oneA
Read-only

Second opinion from ONE named provider in the active panel (e.g. codex, gemini, grok, openrouter:<alias> - get the names from panel). Issue N in parallel (one per panel name) so each renders independently as it lands. Calls one external LLM provider (needs its key/CLI; rate limits apply); returns a text-wrapped JSON envelope { result }, or { error, panel } when the name is not in the panel. Advisory, single-shot.

NameRequiredDescriptionDefault
cwdNoWorking directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory.
filesNoOptional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url.
expertNoOptional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored.
promptYesThe question or task for the provider(s)/expert.
providerYesA name from `panel` (e.g. "codex", "gemini", "grok", "openrouter:<alias>").
reasoningEffortNoReasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it.
developerInstructionsNoOptional system/developer instructions injected verbatim; overrides the built-in persona for `expert`.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnly, non-destructive, and open-world. The description adds behavioral details about external API calls, key/CLI requirements, rate limits, and the return envelope format with error handling. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is somewhat lengthy but every sentence adds information. It front-loads the core purpose and provides structured details. Minor redundancy could be trimmed, but overall it is clear and well-organized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 7 parameters, no output schema, and moderate complexity, the description adequately covers all parameters, return format, error cases, and usage notes. It lacks an explicit list of return fields but is sufficient for an advisory tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions. The description adds value by explaining the provider parameter with examples, clarifying the expert parameter's behavior with named tools, and describing file attachment modes per provider type. This goes beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool provides a second opinion from ONE named provider in the active panel, lists example provider names, and distinguishes from sibling tools like ask-all and provider-specific tools. It also notes the advisory, single-shot nature.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description advises issuing N calls in parallel for multiple providers and clarifies the need for provider keys/CLI and rate limits. It also explains the return format and error case. While it doesn't explicitly state when not to use, it provides sufficient contextual guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ask-openrouterA
Read-only

Single-provider second opinion via openrouter (advisory, single-shot). Pass expert to apply one of the expert personas. Calls the external openrouter provider (needs the OpenRouter API key env; rate limits apply) and returns a text-wrapped JSON envelope { result }.

NameRequiredDescriptionDefault
cwdNoWorking directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory.
filesNoOptional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url.
expertNoOptional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored.
promptYesThe question or task for the provider(s)/expert.
reasoningEffortNoReasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it.
developerInstructionsNoOptional system/developer instructions injected verbatim; overrides the built-in persona for `expert`.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds context that it calls external provider, requires API key env, and has rate limits. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences covering purpose, key feature, technical requirements, and return format. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, external dependency, return format, and key parameters. Could mention what the result envelope contains but sufficient for a simple call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but description adds value by explaining that expert persona is ignored on named expert tools and that files attachment works differently.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it's a single-provider second opinion via openrouter, advisory and single-shot. Distinguishes from sibling tools like ask-all and specific expert tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Indicates advisory, single-shot usage and mentions external dependency with API key. Implicitly contrasts with multi-provider tools but lacks explicit when-not-to-use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

code-reviewerA
Read-only

Senior engineer doing code review for bugs, security holes, and maintainability - not style nitpicks. Use to review a diff or file before merging. Fans out to the configured provider panel with this persona (advisory; each provider needs its key/CLI, rate limits apply) and returns a text-wrapped JSON envelope { results[] }.

NameRequiredDescriptionDefault
cwdNoWorking directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory.
filesNoOptional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url.
expertNoOptional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored.
promptYesThe question or task for the provider(s)/expert.
reasoningEffortNoReasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it.
developerInstructionsNoOptional system/developer instructions injected verbatim; overrides the built-in persona for `expert`.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds beyond that by revealing the tool fans out to external providers (each needing keys/CLI and subject to rate limits), returns a text-wrapped JSON envelope with results[], and operates in an advisory persona. This informs the agent about dependencies and output format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise at three sentences, each serving a distinct purpose: stating the persona and scope, specifying when to use, and explaining the behavior and output. It is front-loaded and contains no redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the moderate complexity (6 parameters, no output schema), the description covers all essential aspects: purpose, usage, behavior, and output format (JSON envelope with results[]). It does not detail error handling or edge cases, but the annotations and schema fill remaining gaps, making it sufficiently complete for an agent to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by explaining that on a named expert tool like this, the tool's own persona wins over the 'expert' parameter and that 'developerInstructions' overrides the built-in persona. This clarifies parameter behavior beyond the schema's field descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool performs code review focusing on bugs, security holes, and maintainability, distinguishing it from style nitpicks. It specifies the action (reviewing a diff or file before merging) and the resource (code), making the purpose immediately understandable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use the tool: 'to review a diff or file before merging.' It also clarifies what not to do ('not style nitpicks'). However, it does not mention when to use alternative sibling tools like security-analyst or architect, missing an opportunity to guide the agent on tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

consensusA
Read-only

Run the FULL multi-round consensus convergence loop server-side with a provider arbiter (blind pass + peer fan-out -> adjudicate -> revise) and return the converged verdict. Default depth is consensus.maxRounds (config, default 5); pass maxRounds to override. Pass synthesizeAlways:true for a SINGLE arbiter synthesis pass instead of the loop (best for open questions, not plan convergence): it returns a free-text synthesis and maxRounds is ignored. Configure the arbiter via consensus.arbiter - a concrete provider/openrouter alias runs server-side; host mode returns the opinions for YOU to synthesize. Advisory; pass expert to apply a persona. Calls external providers (keys/CLI; rate limits apply); returns a text-wrapped JSON envelope (split verdict/synthesis, loop fields nullable) and persists a session record only when sessions.persist is enabled (default off). NOTE (Claude Code): use the /consensus slash command for the transcript-visible host-arbiter loop (it drives consensus-step); this tool is the provider-arbiter path for any host.

NameRequiredDescriptionDefault
cwdNoWorking directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory.
filesNoOptional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url.
expertNoOptional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored.
promptYesThe question or task for the provider(s)/expert.
maxRoundsNoOverride consensus.maxRounds for this call (loop mode only; ignored when synthesizeAlways is true). Clamped to 50.
reasoningEffortNoReasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it.
synthesizeAlwaysNoRun ONE arbiter synthesis pass instead of the convergence loop. Returns a free-text `synthesis` (verdict/converged/confidence are null, rounds is 1). Best for open questions.
developerInstructionsNoOptional system/developer instructions injected verbatim; overrides the built-in persona for `expert`.

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses important behavioral traits: calls external providers with rate limits, returns a text-wrapped JSON envelope with split verdict/synthesis, and persists session only when enabled. No contradiction with annotations (readOnlyHint, destructiveHint, openWorldHint).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense with information and front-loaded with the core purpose. Every sentence provides necessary context. The NOTE at the end is somewhat audience-specific but does not detract significantly. Could be slightly trimmed, but overall efficient for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 8 parameters, no output schema, and moderate complexity, the description covers purpose, usage, parameters, behavior, and return format (JSON envelope). It is self-contained and eliminates ambiguity for the agent invoking the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for all 8 parameters. The description adds value beyond schema by explaining default behavior (e.g., maxRounds default from config, synthesizeAlways overrides loop, expert persona overriding, file delivery modes). Reduces cognitive load for the agent.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it runs a 'multi-round consensus convergence loop server-side' and returns a converged verdict. It distinguishes from sibling tool 'consensus-step' via the NOTE about using the /consensus slash command for the host-arbiter loop, and from other single-provider tools by the loop mechanism.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly describes when to use the full loop vs. the single synthesis pass (synthesizeAlways), and advises on open questions vs. plan convergence. Also mentions the alternative /consensus slash command for host-arbiter loop, providing clear selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

consensus-stepA

Client-driven consensus loop where YOU (the host model) are the arbiter, one action per call: init (returns sessionId + blind prompt) -> record_blind (your pre-commit verdict) -> dispatch_peers (server fans out to the providers) -> submit_adjudication (your verdict + per-issue accept/dismiss/defer) -> submit_revision (your revised plan), looping until converged or consensus.maxRounds rounds (default 5). Only the dispatch_peers action calls external providers; the others are local transitions on the ephemeral per-session loop store (keyed by sessionId, lost on server restart). Each call returns a text-wrapped JSON envelope with the next status/round (plus blindPrompt, opinions[], or finalReport by action). Advisory to the outside world, but mutates server loop state on every call.

NameRequiredDescriptionDefault
cwdNodispatch_peers only: working directory the peer providers run in.
actionYesWhich loop step to run this call, in order: init -> record_blind -> dispatch_peers -> submit_adjudication -> submit_revision.
expertNoinit only: optional persona for the peer panel (see the expert tools).
promptNoinit only: the plan/proposal under review.
verdictNosubmit_adjudication only: your adjudicated verdict after weighing the panel.
decisionsNosubmit_adjudication only: per-issue rulings, each { source, category, description, action: accept|dismiss|defer, reason }; dismiss/defer require a reason.
sessionIdNoLoop id returned by init; required on every action except init.
diffSummaryNosubmit_revision only: one line summarizing what changed.
revisedPlanNosubmit_revision only: the full revised plan addressing accepted issues.
blindVerdictNorecord_blind only: your pre-commit verdict text, written before the panel is revealed.

TDQS

A3.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description transparently discloses critical behavioral traits: it mutates server loop state, is advisory but mutates on every call, state is ephemeral (lost on server restart), and only dispatch_peers calls external providers. This goes well beyond the annotations (readOnlyHint=false, destructiveHint=false, openWorldHint=true) by adding context about state persistence and external calls.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is packed with necessary detail, but it is somewhat dense and could benefit from clearer structure (e.g., breaking into sections). It front-loads the overall purpose but the subsequent list of actions and constraints is a bit sprawling. Still, every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (10 parameters, no output schema), the description provides a comprehensive overview of the workflow, state management, and expected replies (text-wrapped JSON envelope). It covers edge cases (sessionId required after init, convergence loop) and parameter constraints per action. However, it does not explain return values in detail.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds meaningful context beyond the schema by grouping parameters by action (e.g., 'init only', 'record_blind only') and explaining semantics like 'blindVerdict: your pre-commit verdict text, written before the panel is revealed'. This helps the agent understand usage constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool implements a consensus loop with a specific sequence of actions (init, record_blind, dispatch_peers, submit_adjudication, submit_revision). It explains the role of the host model as arbiter. However, while it distinguishes the tool from abstract siblings like 'consensus' by detailing the step-by-step protocol, it doesn't explicitly contrast with related tools in the sibling list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description specifies the required order of actions and that only one action per call is allowed. It implies usage context (client-driven loop) but does not provide explicit guidance on when to use this tool vs alternatives like the simpler 'consensus' tool. No exclusions or when-not-to-use scenarios are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

debuggerA
Read-only

Debugging specialist that produces ranked root-cause hypotheses and the smallest safe fix from a bug report, logs, and code - or says honestly that the evidence shows no bug. Use for crashes, failing tests, or wrong output. Fans out to the configured provider panel with this persona (advisory; each provider needs its key/CLI, rate limits apply) and returns a text-wrapped JSON envelope { results[] }.

NameRequiredDescriptionDefault
cwdNoWorking directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory.
filesNoOptional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url.
expertNoOptional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored.
promptYesThe question or task for the provider(s)/expert.
reasoningEffortNoReasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it.
developerInstructionsNoOptional system/developer instructions injected verbatim; overrides the built-in persona for `expert`.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses that the tool 'fans out to the configured provider panel' with a specific persona, that each provider needs key/CLI and rate limits apply. This adds behavioral context beyond the annotations (readOnlyHint=true, destructiveHint=false, openWorldHint=true). No contradictions with annotations; the description provides useful transparency about external dependencies and response format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences: first clearly states the purpose and output, second provides usage guidance and behavioral notes. It is concise with no unnecessary words, effectively front-loading the key information. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (debugging analysis using external providers), the description covers purpose, usage, behavioral notes (provider dependency, rate limits), and output format. It mentions return structure (JSON envelope with results array) but does not detail the results schema, which is acceptable without an output schema. Generally complete for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 6 parameters with 100% description coverage, so the schema already explains each parameter. The description does not add new meaning beyond what the schema provides (e.g., it doesn't elaborate on how 'prompt' should be structured for best results). Baseline score of 3 is appropriate since the schema carries the burden.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool is a debugging specialist that produces ranked root-cause hypotheses and small safe fixes from bug reports, logs, and code. It specifies the output format (JSON envelope with results array) and when to use it (crashes, failing tests, wrong output). This distinguishes it from sibling tools like 'code-reviewer' or 'researcher', which have different focus areas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Use for crashes, failing tests, or wrong output', providing clear usage context. It does not explicitly state when not to use, but the tool's name and specialization implicitly exclude other tasks. It mentions the tool returns 'says honestly that the evidence shows no bug', which guides appropriate usage. No direct comparison to alternatives, but the scope is reasonably defined.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

panelA
Read-only

Return the names of the providers ask-all WOULD dispatch for the current config + expert (enabled built-ins + eligible OpenRouter aliases, fanout cap applied), WITHOUT calling them. Use this to discover the panel, then issue one ask-one call per provider in parallel for visible per-provider progress. Local and read-only (no provider calls); returns a text-wrapped JSON envelope { providers[], omitted[] }.

NameRequiredDescriptionDefault
cwdNoWorking directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory.
expertNoOptional persona to preview the panel for; affects which providers/aliases are eligible.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds value by confirming it is 'local and read-only (no provider calls)' and describing the return envelope, though annotations cover the safety profile well.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero waste. First sentence delivers purpose and behavior, second gives usage guidance. Efficient and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple 2-param optional tool with rich annotations, the description covers purpose, behavior, return format, and usage flow. No gaps given the context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description repeats the schema text for parameters without adding new meaning or syntax details beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it 'returns the names of the providers... WITHOUT calling them', distinguishing it from ask-all. It identifies the specific verb and resource (discover panel) and differentiates from siblings like ask-one.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use: 'Use this to discover the panel, then issue one ask-one call per provider in parallel'. Provides clear context but lacks explicit exclusions or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

plan-reviewerA
Read-only

Work-plan reviewer that verifies a plan is executable before anyone builds. Use to validate an implementation plan for clarity, completeness, and gaps before starting significant work. Fans out to the configured provider panel with this persona (advisory; each provider needs its key/CLI, rate limits apply) and returns a text-wrapped JSON envelope { results[] }.

NameRequiredDescriptionDefault
cwdNoWorking directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory.
filesNoOptional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url.
expertNoOptional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored.
promptYesThe question or task for the provider(s)/expert.
reasoningEffortNoReasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it.
developerInstructionsNoOptional system/developer instructions injected verbatim; overrides the built-in persona for `expert`.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only and non-destructive behavior. The description adds value by disclosing that it fans out to a provider panel, requires keys/CLI, has rate limits, and returns a JSON envelope with results. This goes beyond the annotations without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is relatively concise (2 sentences plus a brief return format note). It front-loads the purpose and usage. The technical details about fan-out and return envelope could be slightly more structured but do not hinder readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description mentions the return format as 'text-wrapped JSON envelope { results[] }', which is helpful. However, it lacks details on error handling, provider configuration, and edge cases. Given the tool's complexity (fan-out, multiple providers), more completeness would be beneficial.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear parameter descriptions. The description adds contextual meaning, such as the 'expert' parameter being ignored on named expert tools and the persona being advisory. This supplements the schema without redundancy.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as a plan reviewer that validates implementation plans before building. It uses specific verbs ('verifies', 'validate') and distinguishes itself from siblings like 'architect' or 'code-reviewer' by focusing on plan review before execution.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description advises using the tool 'to validate an implementation plan before starting significant work', providing clear context. However, it does not explicitly state when not to use it or mention alternative tools for other phases of the development process.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

researcherA
Read-only

Research specialist for external libraries, frameworks, APIs, and open-source code. Use for 'how do I use X', best-practice, or 'why does this dependency behave this way' questions, with evidence and honest unverified flags. Fans out to the configured provider panel with this persona (advisory; each provider needs its key/CLI, rate limits apply) and returns a text-wrapped JSON envelope { results[] }.

NameRequiredDescriptionDefault
cwdNoWorking directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory.
filesNoOptional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url.
expertNoOptional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored.
promptYesThe question or task for the provider(s)/expert.
reasoningEffortNoReasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it.
developerInstructionsNoOptional system/developer instructions injected verbatim; overrides the built-in persona for `expert`.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and openWorldHint=true. The description adds valuable behavioral details: it fans out to a provider panel with advisory persona, requires keys/CLI per provider, rate limits apply, returns a text-wrapped JSON envelope with results, and includes evidence and honest unverified flags. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is four sentences long, front-loaded with the main purpose, and includes necessary technical details without redundancy. It is efficient but could be slightly more concise by combining some clauses.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (multiple providers, six parameters, no output schema), the description thoroughly covers behavior: provider fan-out, return envelope format, file attachments, reasoning effort, and persona override. It provides sufficient context for an AI agent to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the input schema already fully describes each parameter. The description adds minimal value for parameter semantics, only mentioning that the expert parameter is ignored on named expert tools. It does not explain parameter details beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as a research specialist for external libraries, frameworks, APIs, and open-source code, and specifies concrete use cases like 'how do I use X' and 'why does this dependency behave this way'. This distinguishes it from sibling tools such as architect, code-reviewer, and debugger.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use the tool (e.g., best-practice questions) and mentions that on a named expert tool the tool's own persona wins. However, it does not explicitly list when not to use it or recommend specific alternatives among the many sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scope-analystA
Read-only

Pre-planning consultant that catches ambiguities, hidden requirements, and pitfalls before planning begins. Use when a request is vague or could be interpreted multiple ways. Fans out to the configured provider panel with this persona (advisory; each provider needs its key/CLI, rate limits apply) and returns a text-wrapped JSON envelope { results[] }.

NameRequiredDescriptionDefault
cwdNoWorking directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory.
filesNoOptional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url.
expertNoOptional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored.
promptYesThe question or task for the provider(s)/expert.
reasoningEffortNoReasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it.
developerInstructionsNoOptional system/developer instructions injected verbatim; overrides the built-in persona for `expert`.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Disclosed behaviors include 'fans out to configured provider panel', 'advisory persona', 'each provider needs its key/CLI, rate limits apply', and 'returns text-wrapped JSON envelope { results[] }'. This adds context beyond annotations (readOnlyHint, openWorldHint) without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences only: first sentence states purpose and use condition, second explains behavior and output. Front-loaded, no redundancy, every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description covers the return envelope shape. It also mentions provider dependencies. However, the structure of results[] is not detailed, but acceptable given the tool's advisory role.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description does not add any meaning or usage guidance for individual parameters beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool is a 'pre-planning consultant' that 'catches ambiguities, hidden requirements, and pitfalls before planning begins.' It specifies when to use ('vague or could be interpreted multiple ways'), distinguishing it from sibling tools like architect or plan-reviewer.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states 'Use when a request is vague or could be interpreted multiple ways.' Provides clear context but does not explicitly mention when not to use or suggest alternative sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

security-analystA
Read-only

Security engineer for threat modeling and vulnerability assessment. Use for auth/authorization changes, untrusted input handling, new endpoints, or a focused security audit. Fans out to the configured provider panel with this persona (advisory; each provider needs its key/CLI, rate limits apply) and returns a text-wrapped JSON envelope { results[] }.

NameRequiredDescriptionDefault
cwdNoWorking directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory.
filesNoOptional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url.
expertNoOptional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored.
promptYesThe question or task for the provider(s)/expert.
reasoningEffortNoReasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it.
developerInstructionsNoOptional system/developer instructions injected verbatim; overrides the built-in persona for `expert`.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds significant context beyond annotations: it explains the fan-out to providers, advisory persona, provider requirements (keys/CLI), rate limits, and return format as a JSON envelope. This is valuable as annotations only indicate readOnly and openWorld hints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, front-loaded with purpose, then use cases, then behavior. Every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers purpose, use cases, behavior, and return format. While it could detail the results structure more, it sufficiently complements the annotations and schema, leaving minor ambiguity about the exact output shape.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already describes all parameters well. The description does not add substantial parameter-specific guidance beyond the schema, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool is a security engineer for threat modeling and vulnerability assessment, with specific use cases like auth/authorization changes and security audits. This distinguishes it from sibling tools such as code-reviewer or architect.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly lists when to use: for auth/authorization changes, untrusted input handling, new endpoints, or a focused security audit. It does not mention when not to use or alternative tools, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

session-annotateA

Append a freeform note to a persisted session's audit trail - an additive local write, no provider calls. Requires sessions.persist. Returns a text-wrapped JSON envelope { session } (the updated record), or { error } when persistence is off or the id is unknown.

NameRequiredDescriptionDefault
noteYesFreeform text appended to the record's audit trail.
sessionIdYesId of the persisted session record to annotate.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description details the additive, non-destructive nature of the operation and states that it is a local write with no provider calls. This adds valuable context beyond the annotations (which already indicate non-read-only and non-destructive). It also explains error conditions and return format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise: two sentences that efficiently convey purpose, prerequisites, and return behavior. Every sentence serves a distinct purpose with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of the tool (two required params, no output schema), the description provides complete information: it explains the action, prerequisites, side effects (additive local write), error conditions, and return format. No additional context is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and both parameters have clear descriptions. The description does not add additional parameter-level detail beyond what the schema provides. As per guidelines, with high schema coverage the baseline is 3, and the description does not increase it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Append'), the resource ('persisted session's audit trail'), and key characteristics ('additive local write, no provider calls'). It distinguishes from sibling tools, which are about analysis, consultation, or retrieval, not annotation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly mentions the prerequisite 'Requires sessions.persist', which provides a clear condition for when to use this tool. It also notes that an error occurs when persistence is off. However, it does not provide explicit alternatives or when-not-to-use scenarios, which would elevate the score to 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

session-getA
Read-only

Fetch a persisted consensus/ask-all session record by id (opinions, verdict, arbiter, annotations). Requires sessions.persist; local and read-only (no provider calls). Returns a text-wrapped JSON envelope { session }, or { error } when persistence is off or the id is unknown.

NameRequiredDescriptionDefault
cwdNosession-revisit only: working directory for resolving the original file refs on the re-run; session-get ignores it.
sessionIdYesId of a persisted session record.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false. The description adds details about being local, no provider calls, error cases, and that cwd is ignored, which goes beyond annotations without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the core action, then return format and error handling. No wasted words, every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple fetch tool, the description covers prerequisites, behavior, return format, and error scenarios. With good annotations and no output schema needed, it is fully informative.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by explaining that cwd is irrelevant for session-get and clarifying the role of sessionId, enhancing understanding beyond the schema text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies the action (Fetch), resource (persisted consensus/ask-all session record), and method (by id). It lists the contents (opinions, verdict, arbiter, annotations) and prerequisites, making the purpose unambiguous and differentiated from siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states it is read-only, local, and requires sessions.persist, giving context on appropriate usage. It lacks explicit comparison to siblings like session-annotate or session-revisit, but the read-only nature and mention of ignoring cwd provide implicit guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

session-revisitA

Re-run a persisted session's ORIGINAL question with the CURRENT providers/config, linking the new run to its source by parentId. Requires sessions.persist; re-runs through the original tool path (which dispatches external providers) and persists a linked child record on success. Returns a text-wrapped JSON envelope (the re-run payload + parentId), or { error } when persistence is off or the id is unknown.

NameRequiredDescriptionDefault
cwdNosession-revisit only: working directory for resolving the original file refs on the re-run; session-get ignores it.
sessionIdYesId of a persisted session record.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate non-read-only and non-destructive, but the description adds important behavioral details: it persists a linked child record, requires persistence, and returns a JSON envelope or error. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with four sentences, each adding value: core action, requirements and process, return format, and error case. Front-loaded with the essential purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (2 parameters, no output schema), the description covers all necessary context: the action, prerequisites, side effects, return format, and error conditions. Sufficient for an agent to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description does not add new information about parameters beyond what the schema provides; the schema already includes good descriptions for both sessionId and cwd.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Re-run a persisted session's ORIGINAL question with the CURRENT providers/config'), the resource ('persisted session'), and differentiates from siblings like session-get by mentioning linking via parentId and the requirement for persistence.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description indicates when to use (to re-run a session with current config) and notes prerequisites (sessions.persist must be on), but does not explicitly contrast with other tools in the sibling list beyond stating it uses the original tool path.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev3.14.1
    • Changedanalyze4 fields changed
      • addedInput schema / properties / configuredOnly
        Added value: +{
        +  "description": "Report only models present in the current config (default true). Excluded rows and the reason each was dropped are listed in meta.excluded. Set false to include retired/unconfigured models.",
        +  "type": "boolean"
        +}
      • changedInput schema / properties / limitBytes / description
        Previous value: -"Tail size of the debug log to read, in bytes (default 1048576)."New value: +"Tail size of the debug log to read, in bytes (default 1048576, or 33554432 when `since` is set). Clamped to 33554432."
      • changedInput schema / properties / sessions / description
        Previous value: -"How many recent session records to read for the agreement lens (default 50)."New value: +"How many recent session records to read for the agreement lens. Default -1 (no caller cap), still bounded to 500 parsed records; truncation is reported in meta.truncated.sessions."
      • addedInput schema / properties / since
        Added value: +{
        +  "description": "Only analyze runs newer than this window, e.g. \"30m\", \"24h\", \"7d\", or a bare number of seconds. Gates BOTH lenses so timing and agreement cover the same period. Omit for all time. Max 10 years; an invalid or out-of-range value is an error, never a silent fallback.",
        +  "type": "string"
        +}
  2. 19 tool updatesv3.8.1
    • Changedarchitect11 fields changed
      • addedInput schema / properties / cwd / description
        Added value: +"Working directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory."
      • addedInput schema / properties / developerInstructions / description
        Added value: +"Optional system/developer instructions injected verbatim; overrides the built-in persona for `expert`."
      • addedInput schema / properties / expert / description
        Added value: +"Optional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored."
      • addedInput schema / properties / files / description
        Added value: +"Optional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url."
      • addedInput schema / properties / files / items / properties / dir / description
        Added value: +"Directory to attach; expanded recursively by providers that support it."
      • addedInput schema / properties / files / items / properties / file_id / description
        Added value: +"Id of a file already uploaded to the provider (e.g. Grok Files API)."
      • addedInput schema / properties / files / items / properties / file_url / description
        Added value: +"Public URL for the provider to fetch."
      • addedInput schema / properties / files / items / properties / mode / description
        Added value: +"Delivery: auto (size-based), inline (embed as text), or upload (provider Files API)."
      • addedInput schema / properties / files / items / properties / path / description
        Added value: +"Path to a single file to attach (resolved against cwd)."
      • addedInput schema / properties / prompt / description
        Added value: +"The question or task for the provider(s)/expert."
      • addedInput schema / properties / reasoningEffort / description
        Added value: +"Reasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it."
    • Changedask-all11 fields changed
      • addedInput schema / properties / cwd / description
        Added value: +"Working directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory."
      • addedInput schema / properties / developerInstructions / description
        Added value: +"Optional system/developer instructions injected verbatim; overrides the built-in persona for `expert`."
      • addedInput schema / properties / expert / description
        Added value: +"Optional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored."
      • addedInput schema / properties / files / description
        Added value: +"Optional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url."
      • addedInput schema / properties / files / items / properties / dir / description
        Added value: +"Directory to attach; expanded recursively by providers that support it."
      • addedInput schema / properties / files / items / properties / file_id / description
        Added value: +"Id of a file already uploaded to the provider (e.g. Grok Files API)."
      • addedInput schema / properties / files / items / properties / file_url / description
        Added value: +"Public URL for the provider to fetch."
      • addedInput schema / properties / files / items / properties / mode / description
        Added value: +"Delivery: auto (size-based), inline (embed as text), or upload (provider Files API)."
      • addedInput schema / properties / files / items / properties / path / description
        Added value: +"Path to a single file to attach (resolved against cwd)."
      • addedInput schema / properties / prompt / description
        Added value: +"The question or task for the provider(s)/expert."
      • addedInput schema / properties / reasoningEffort / description
        Added value: +"Reasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it."
    • Changedask-gemini11 fields changed
      • addedInput schema / properties / cwd / description
        Added value: +"Working directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory."
      • addedInput schema / properties / developerInstructions / description
        Added value: +"Optional system/developer instructions injected verbatim; overrides the built-in persona for `expert`."
      • addedInput schema / properties / expert / description
        Added value: +"Optional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored."
      • addedInput schema / properties / files / description
        Added value: +"Optional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url."
      • addedInput schema / properties / files / items / properties / dir / description
        Added value: +"Directory to attach; expanded recursively by providers that support it."
      • addedInput schema / properties / files / items / properties / file_id / description
        Added value: +"Id of a file already uploaded to the provider (e.g. Grok Files API)."
      • addedInput schema / properties / files / items / properties / file_url / description
        Added value: +"Public URL for the provider to fetch."
      • addedInput schema / properties / files / items / properties / mode / description
        Added value: +"Delivery: auto (size-based), inline (embed as text), or upload (provider Files API)."
      • addedInput schema / properties / files / items / properties / path / description
        Added value: +"Path to a single file to attach (resolved against cwd)."
      • addedInput schema / properties / prompt / description
        Added value: +"The question or task for the provider(s)/expert."
      • addedInput schema / properties / reasoningEffort / description
        Added value: +"Reasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it."
    • Changedask-gpt11 fields changed
      • addedInput schema / properties / cwd / description
        Added value: +"Working directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory."
      • addedInput schema / properties / developerInstructions / description
        Added value: +"Optional system/developer instructions injected verbatim; overrides the built-in persona for `expert`."
      • addedInput schema / properties / expert / description
        Added value: +"Optional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored."
      • addedInput schema / properties / files / description
        Added value: +"Optional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url."
      • addedInput schema / properties / files / items / properties / dir / description
        Added value: +"Directory to attach; expanded recursively by providers that support it."
      • addedInput schema / properties / files / items / properties / file_id / description
        Added value: +"Id of a file already uploaded to the provider (e.g. Grok Files API)."
      • addedInput schema / properties / files / items / properties / file_url / description
        Added value: +"Public URL for the provider to fetch."
      • addedInput schema / properties / files / items / properties / mode / description
        Added value: +"Delivery: auto (size-based), inline (embed as text), or upload (provider Files API)."
      • addedInput schema / properties / files / items / properties / path / description
        Added value: +"Path to a single file to attach (resolved against cwd)."
      • addedInput schema / properties / prompt / description
        Added value: +"The question or task for the provider(s)/expert."
      • addedInput schema / properties / reasoningEffort / description
        Added value: +"Reasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it."
    • Changedask-grok11 fields changed
      • addedInput schema / properties / cwd / description
        Added value: +"Working directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory."
      • addedInput schema / properties / developerInstructions / description
        Added value: +"Optional system/developer instructions injected verbatim; overrides the built-in persona for `expert`."
      • addedInput schema / properties / expert / description
        Added value: +"Optional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored."
      • addedInput schema / properties / files / description
        Added value: +"Optional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url."
      • addedInput schema / properties / files / items / properties / dir / description
        Added value: +"Directory to attach; expanded recursively by providers that support it."
      • addedInput schema / properties / files / items / properties / file_id / description
        Added value: +"Id of a file already uploaded to the provider (e.g. Grok Files API)."
      • addedInput schema / properties / files / items / properties / file_url / description
        Added value: +"Public URL for the provider to fetch."
      • addedInput schema / properties / files / items / properties / mode / description
        Added value: +"Delivery: auto (size-based), inline (embed as text), or upload (provider Files API)."
      • addedInput schema / properties / files / items / properties / path / description
        Added value: +"Path to a single file to attach (resolved against cwd)."
      • addedInput schema / properties / prompt / description
        Added value: +"The question or task for the provider(s)/expert."
      • addedInput schema / properties / reasoningEffort / description
        Added value: +"Reasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it."
    • Changedask-one12 fields changed
      • addedInput schema / properties / cwd / description
        Added value: +"Working directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory."
      • addedInput schema / properties / developerInstructions / description
        Added value: +"Optional system/developer instructions injected verbatim; overrides the built-in persona for `expert`."
      • addedInput schema / properties / expert / description
        Added value: +"Optional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored."
      • addedInput schema / properties / files / description
        Added value: +"Optional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url."
      • addedInput schema / properties / files / items / properties / dir / description
        Added value: +"Directory to attach; expanded recursively by providers that support it."
      • addedInput schema / properties / files / items / properties / file_id / description
        Added value: +"Id of a file already uploaded to the provider (e.g. Grok Files API)."
      • addedInput schema / properties / files / items / properties / file_url / description
        Added value: +"Public URL for the provider to fetch."
      • addedInput schema / properties / files / items / properties / mode / description
        Added value: +"Delivery: auto (size-based), inline (embed as text), or upload (provider Files API)."
      • addedInput schema / properties / files / items / properties / path / description
        Added value: +"Path to a single file to attach (resolved against cwd)."
      • addedInput schema / properties / prompt / description
        Added value: +"The question or task for the provider(s)/expert."
      • changedInput schema / properties / provider / description
        Previous value: -"A name from `panel` (e.g. \"codex\", \"openrouter:<alias>\")"New value: +"A name from `panel` (e.g. \"codex\", \"gemini\", \"grok\", \"openrouter:<alias>\")."
      • addedInput schema / properties / reasoningEffort / description
        Added value: +"Reasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it."
    • Changedask-openrouter11 fields changed
      • addedInput schema / properties / cwd / description
        Added value: +"Working directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory."
      • addedInput schema / properties / developerInstructions / description
        Added value: +"Optional system/developer instructions injected verbatim; overrides the built-in persona for `expert`."
      • addedInput schema / properties / expert / description
        Added value: +"Optional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored."
      • addedInput schema / properties / files / description
        Added value: +"Optional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url."
      • addedInput schema / properties / files / items / properties / dir / description
        Added value: +"Directory to attach; expanded recursively by providers that support it."
      • addedInput schema / properties / files / items / properties / file_id / description
        Added value: +"Id of a file already uploaded to the provider (e.g. Grok Files API)."
      • addedInput schema / properties / files / items / properties / file_url / description
        Added value: +"Public URL for the provider to fetch."
      • addedInput schema / properties / files / items / properties / mode / description
        Added value: +"Delivery: auto (size-based), inline (embed as text), or upload (provider Files API)."
      • addedInput schema / properties / files / items / properties / path / description
        Added value: +"Path to a single file to attach (resolved against cwd)."
      • addedInput schema / properties / prompt / description
        Added value: +"The question or task for the provider(s)/expert."
      • addedInput schema / properties / reasoningEffort / description
        Added value: +"Reasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it."
    • Changedcode-reviewer11 fields changed
      • addedInput schema / properties / cwd / description
        Added value: +"Working directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory."
      • addedInput schema / properties / developerInstructions / description
        Added value: +"Optional system/developer instructions injected verbatim; overrides the built-in persona for `expert`."
      • addedInput schema / properties / expert / description
        Added value: +"Optional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored."
      • addedInput schema / properties / files / description
        Added value: +"Optional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url."
      • addedInput schema / properties / files / items / properties / dir / description
        Added value: +"Directory to attach; expanded recursively by providers that support it."
      • addedInput schema / properties / files / items / properties / file_id / description
        Added value: +"Id of a file already uploaded to the provider (e.g. Grok Files API)."
      • addedInput schema / properties / files / items / properties / file_url / description
        Added value: +"Public URL for the provider to fetch."
      • addedInput schema / properties / files / items / properties / mode / description
        Added value: +"Delivery: auto (size-based), inline (embed as text), or upload (provider Files API)."
      • addedInput schema / properties / files / items / properties / path / description
        Added value: +"Path to a single file to attach (resolved against cwd)."
      • addedInput schema / properties / prompt / description
        Added value: +"The question or task for the provider(s)/expert."
      • addedInput schema / properties / reasoningEffort / description
        Added value: +"Reasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it."
    • Changedconsensus11 fields changed
      • addedInput schema / properties / cwd / description
        Added value: +"Working directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory."
      • addedInput schema / properties / developerInstructions / description
        Added value: +"Optional system/developer instructions injected verbatim; overrides the built-in persona for `expert`."
      • addedInput schema / properties / expert / description
        Added value: +"Optional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored."
      • addedInput schema / properties / files / description
        Added value: +"Optional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url."
      • addedInput schema / properties / files / items / properties / dir / description
        Added value: +"Directory to attach; expanded recursively by providers that support it."
      • addedInput schema / properties / files / items / properties / file_id / description
        Added value: +"Id of a file already uploaded to the provider (e.g. Grok Files API)."
      • addedInput schema / properties / files / items / properties / file_url / description
        Added value: +"Public URL for the provider to fetch."
      • addedInput schema / properties / files / items / properties / mode / description
        Added value: +"Delivery: auto (size-based), inline (embed as text), or upload (provider Files API)."
      • addedInput schema / properties / files / items / properties / path / description
        Added value: +"Path to a single file to attach (resolved against cwd)."
      • addedInput schema / properties / prompt / description
        Added value: +"The question or task for the provider(s)/expert."
      • addedInput schema / properties / reasoningEffort / description
        Added value: +"Reasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it."
    • Changedconsensus-step10 fields changed
      • addedInput schema / properties / action / description
        Added value: +"Which loop step to run this call, in order: init -> record_blind -> dispatch_peers -> submit_adjudication -> submit_revision."
      • addedInput schema / properties / blindVerdict / description
        Added value: +"record_blind only: your pre-commit verdict text, written before the panel is revealed."
      • addedInput schema / properties / cwd / description
        Added value: +"dispatch_peers only: working directory the peer providers run in."
      • addedInput schema / properties / decisions / description
        Added value: +"submit_adjudication only: per-issue rulings, each { source, category, description, action: accept|dismiss|defer, reason }; dismiss/defer require a reason."
      • addedInput schema / properties / diffSummary / description
        Added value: +"submit_revision only: one line summarizing what changed."
      • addedInput schema / properties / expert / description
        Added value: +"init only: optional persona for the peer panel (see the expert tools)."
      • addedInput schema / properties / prompt / description
        Added value: +"init only: the plan/proposal under review."
      • addedInput schema / properties / revisedPlan / description
        Added value: +"submit_revision only: the full revised plan addressing accepted issues."
      • addedInput schema / properties / sessionId / description
        Added value: +"Loop id returned by init; required on every action except init."
      • addedInput schema / properties / verdict / description
        Added value: +"submit_adjudication only: your adjudicated verdict after weighing the panel."
    • Changeddebugger11 fields changed
      • addedInput schema / properties / cwd / description
        Added value: +"Working directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory."
      • addedInput schema / properties / developerInstructions / description
        Added value: +"Optional system/developer instructions injected verbatim; overrides the built-in persona for `expert`."
      • addedInput schema / properties / expert / description
        Added value: +"Optional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored."
      • addedInput schema / properties / files / description
        Added value: +"Optional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url."
      • addedInput schema / properties / files / items / properties / dir / description
        Added value: +"Directory to attach; expanded recursively by providers that support it."
      • addedInput schema / properties / files / items / properties / file_id / description
        Added value: +"Id of a file already uploaded to the provider (e.g. Grok Files API)."
      • addedInput schema / properties / files / items / properties / file_url / description
        Added value: +"Public URL for the provider to fetch."
      • addedInput schema / properties / files / items / properties / mode / description
        Added value: +"Delivery: auto (size-based), inline (embed as text), or upload (provider Files API)."
      • addedInput schema / properties / files / items / properties / path / description
        Added value: +"Path to a single file to attach (resolved against cwd)."
      • addedInput schema / properties / prompt / description
        Added value: +"The question or task for the provider(s)/expert."
      • addedInput schema / properties / reasoningEffort / description
        Added value: +"Reasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it."
    • Changedpanel2 fields changed
      • addedInput schema / properties / cwd / description
        Added value: +"Working directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory."
      • addedInput schema / properties / expert / description
        Added value: +"Optional persona to preview the panel for; affects which providers/aliases are eligible."
    • Changedplan-reviewer11 fields changed
      • addedInput schema / properties / cwd / description
        Added value: +"Working directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory."
      • addedInput schema / properties / developerInstructions / description
        Added value: +"Optional system/developer instructions injected verbatim; overrides the built-in persona for `expert`."
      • addedInput schema / properties / expert / description
        Added value: +"Optional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored."
      • addedInput schema / properties / files / description
        Added value: +"Optional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url."
      • addedInput schema / properties / files / items / properties / dir / description
        Added value: +"Directory to attach; expanded recursively by providers that support it."
      • addedInput schema / properties / files / items / properties / file_id / description
        Added value: +"Id of a file already uploaded to the provider (e.g. Grok Files API)."
      • addedInput schema / properties / files / items / properties / file_url / description
        Added value: +"Public URL for the provider to fetch."
      • addedInput schema / properties / files / items / properties / mode / description
        Added value: +"Delivery: auto (size-based), inline (embed as text), or upload (provider Files API)."
      • addedInput schema / properties / files / items / properties / path / description
        Added value: +"Path to a single file to attach (resolved against cwd)."
      • addedInput schema / properties / prompt / description
        Added value: +"The question or task for the provider(s)/expert."
      • addedInput schema / properties / reasoningEffort / description
        Added value: +"Reasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it."
    • Changedresearcher11 fields changed
      • addedInput schema / properties / cwd / description
        Added value: +"Working directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory."
      • addedInput schema / properties / developerInstructions / description
        Added value: +"Optional system/developer instructions injected verbatim; overrides the built-in persona for `expert`."
      • addedInput schema / properties / expert / description
        Added value: +"Optional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored."
      • addedInput schema / properties / files / description
        Added value: +"Optional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url."
      • addedInput schema / properties / files / items / properties / dir / description
        Added value: +"Directory to attach; expanded recursively by providers that support it."
      • addedInput schema / properties / files / items / properties / file_id / description
        Added value: +"Id of a file already uploaded to the provider (e.g. Grok Files API)."
      • addedInput schema / properties / files / items / properties / file_url / description
        Added value: +"Public URL for the provider to fetch."
      • addedInput schema / properties / files / items / properties / mode / description
        Added value: +"Delivery: auto (size-based), inline (embed as text), or upload (provider Files API)."
      • addedInput schema / properties / files / items / properties / path / description
        Added value: +"Path to a single file to attach (resolved against cwd)."
      • addedInput schema / properties / prompt / description
        Added value: +"The question or task for the provider(s)/expert."
      • addedInput schema / properties / reasoningEffort / description
        Added value: +"Reasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it."
    • Changedscope-analyst11 fields changed
      • addedInput schema / properties / cwd / description
        Added value: +"Working directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory."
      • addedInput schema / properties / developerInstructions / description
        Added value: +"Optional system/developer instructions injected verbatim; overrides the built-in persona for `expert`."
      • addedInput schema / properties / expert / description
        Added value: +"Optional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored."
      • addedInput schema / properties / files / description
        Added value: +"Optional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url."
      • addedInput schema / properties / files / items / properties / dir / description
        Added value: +"Directory to attach; expanded recursively by providers that support it."
      • addedInput schema / properties / files / items / properties / file_id / description
        Added value: +"Id of a file already uploaded to the provider (e.g. Grok Files API)."
      • addedInput schema / properties / files / items / properties / file_url / description
        Added value: +"Public URL for the provider to fetch."
      • addedInput schema / properties / files / items / properties / mode / description
        Added value: +"Delivery: auto (size-based), inline (embed as text), or upload (provider Files API)."
      • addedInput schema / properties / files / items / properties / path / description
        Added value: +"Path to a single file to attach (resolved against cwd)."
      • addedInput schema / properties / prompt / description
        Added value: +"The question or task for the provider(s)/expert."
      • addedInput schema / properties / reasoningEffort / description
        Added value: +"Reasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it."
    • Changedsecurity-analyst11 fields changed
      • addedInput schema / properties / cwd / description
        Added value: +"Working directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory."
      • addedInput schema / properties / developerInstructions / description
        Added value: +"Optional system/developer instructions injected verbatim; overrides the built-in persona for `expert`."
      • addedInput schema / properties / expert / description
        Added value: +"Optional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored."
      • addedInput schema / properties / files / description
        Added value: +"Optional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url."
      • addedInput schema / properties / files / items / properties / dir / description
        Added value: +"Directory to attach; expanded recursively by providers that support it."
      • addedInput schema / properties / files / items / properties / file_id / description
        Added value: +"Id of a file already uploaded to the provider (e.g. Grok Files API)."
      • addedInput schema / properties / files / items / properties / file_url / description
        Added value: +"Public URL for the provider to fetch."
      • addedInput schema / properties / files / items / properties / mode / description
        Added value: +"Delivery: auto (size-based), inline (embed as text), or upload (provider Files API)."
      • addedInput schema / properties / files / items / properties / path / description
        Added value: +"Path to a single file to attach (resolved against cwd)."
      • addedInput schema / properties / prompt / description
        Added value: +"The question or task for the provider(s)/expert."
      • addedInput schema / properties / reasoningEffort / description
        Added value: +"Reasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it."
    • Changedsession-annotate2 fields changed
      • addedInput schema / properties / note / description
        Added value: +"Freeform text appended to the record's audit trail."
      • addedInput schema / properties / sessionId / description
        Added value: +"Id of the persisted session record to annotate."
    • Changedsession-get2 fields changed
      • addedInput schema / properties / cwd / description
        Added value: +"session-revisit only: working directory for resolving the original file refs on the re-run; session-get ignores it."
      • addedInput schema / properties / sessionId / description
        Added value: +"Id of a persisted session record."
    • Changedsession-revisit2 fields changed
      • addedInput schema / properties / cwd / description
        Added value: +"session-revisit only: working directory for resolving the original file refs on the re-run; session-get ignores it."
      • addedInput schema / properties / sessionId / description
        Added value: +"Id of a persisted session record."

TDQS

A3.6/5.0

Scored across 20 tools

Disambiguation3/5

Many tools overlap in purpose: ask-all and persona tools (architect, debugger, etc.) all fan out to providers, differing only by persona; ask-one duplicates ask-gpt/ask-gemini/ask-grok/ask-openrouter. The detailed descriptions help, but the sheer number of near-identical actions creates ambiguity for an agent.

Naming Consistency2/5

Naming is inconsistent: some tools use verb-first hyphenated names (ask-all, session-get) while others are noun personas (architect, debugger) or single verbs (analyze). There's no uniform pattern for verbs, nouns, or hyphenation, making the set feel ad hoc.

Tool Count2/5

20 tools is high and largely redundant. The specific provider tools (ask-gpt, ask-gemini, etc.) and the many persona tools (architect, plan-reviewer, etc.) could easily be consolidated into ask-one and ask-all with a persona parameter, reducing the surface without losing capability.

Completeness4/5

The tool set covers the deliberation lifecycle well: asking for opinions (ask-all, ask-one, personas), reaching consensus (consensus, consensus-step), session persistence (session-annotate, session-get, session-revisit), and performance analysis (analyze). Minor gaps like listing all sessions are not critical, so completeness is strong.

Maintenance

ActivityActive
ResponsivenessResponsive

Related MCP Connectors

Related MCP Servers