Collaborative AI triage for code, plans and architecture — Claude, Gemini and Codex independently analyze your codebase then merge findings with consensus scoring. Security audits, bug hunts, plan reviews, second opinions. Claude Code skill + MCP server.
The triage tool has a well-structured Zod schema with all parameters properly typed and described. Tool name is clear and verb-based ('triage'). However, descriptions are generic and lack LLM-optimized guidance on when to use this tool vs. similar ones. Output schema is not explicitly documented in the visible source, only Markdown/JSON format options are mentioned without field-level documentation. The tool performs multiple related but distinct operations (model orchestration, consensus detection, memory saving) which violates single-responsibility patterns. Error handling guidance is present but minimal. The description length (308 chars) is adequate but could be more action-oriented.
Run multi-model code triage using Claude, Gemini and Codex in parallel. Analyzes code for bugs, security issues, performance problems and more. Models run concurrently and findings are merged with consensus detection.
Output schema not documented. Tool description mentions 'md' and 'json' formats but does not specify the structure of fields returned (e.g., what fields exist in a JSON output, what markdown sections appear). LLMs cannot plan downstream operations without knowing what data is available.
Tool combines multiple concerns: code scanning, multi-model orchestration, consensus detection, and optional memory persistence. This violates single-responsibility principle. Consider splitting into separate tools (e.g., 'analyze_code_with_models', 'save_findings_to_memory') so agents can compose them independently.
Description lacks LLM guidance on WHEN to use this tool. Current text focuses on WHAT it does but doesn't address: When should an agent call triage vs. other code analysis tools? What preconditions must be met? Does it require a git repo? Can it work on code snippets? This forces the LLM to guess.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 65 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Parameter 'models' accepts free-form comma-separated strings with no enum constraint. The description lists 'default: claude,gemini,codex' as examples, but LLMs will hallucinate unsupported model names (e.g., 'gpt-4', 'llama'). Use an enum or validate with clear error messages indicating valid options.
The 'remember' parameter saves findings to hardcoded memory files (CLAUDE.md, GEMINI.md, AGENTS.md) with no documentation of where these files are stored, what format they use, or how the agent can later retrieve them. This breaks the tool-chaining model, the agent cannot plan downstream operations using saved findings.
Error handling is present (via try-catch and error appending as Notes) but error responses do not guide recovery. If a model times out or fails, the error is logged but the LLM receives no actionable guidance: Should it retry? Skip that model? Reduce timeout? See error-classification pattern.