array ( 'name' => 'analyst', 'desc' => 'Pre-planning consultant for requirements analysis (Opus)', 'source' => 'oh-my-claudecode', ), 1 => array ( 'name' => 'architect', 'desc' => 'Strategic Architecture & Debugging Advisor (Opus, READ-ONLY)', 'source' => 'oh-my-claudecode', ), 2 => array ( 'name' => 'code-reviewer', 'desc' => 'Expert code review specialist with severity-rated feedback, logic defect detection, SOLID principle checks, style, performance, and quality strategy', 'source' => 'oh-my-claudecode', ), 3 => array ( 'name' => 'code-simplifier', 'desc' => 'Simplifies and refines code for clarity, consistency, and maintainability while preserving all functionality. Focuses on recently modified code unless instructed otherwise.', 'source' => 'oh-my-claudecode', ), 4 => array ( 'name' => 'critic', 'desc' => 'Work plan and code review expert — thorough, structured, multi-perspective (Opus)', 'source' => 'oh-my-claudecode', ), 5 => array ( 'name' => 'debugger', 'desc' => 'Root-cause analysis, regression isolation, stack trace analysis, build/compilation error resolution', 'source' => 'oh-my-claudecode', ), 6 => array ( 'name' => 'designer', 'desc' => 'UI/UX Designer-Developer for stunning interfaces (Sonnet)', 'source' => 'oh-my-claudecode', ), 7 => array ( 'name' => 'document-specialist', 'desc' => 'External Documentation & Reference Specialist', 'source' => 'oh-my-claudecode', ), 8 => array ( 'name' => 'executor', 'desc' => 'Focused task executor for implementation work (Sonnet)', 'source' => 'oh-my-claudecode', ), 9 => array ( 'name' => 'explore', 'desc' => 'Codebase search specialist for finding files and code patterns', 'source' => 'oh-my-claudecode', ), 10 => array ( 'name' => 'git-master', 'desc' => 'Git expert for atomic commits, rebasing, and history management with style detection', 'source' => 'oh-my-claudecode', ), 11 => array ( 'name' => 'planner', 'desc' => 'Strategic planning consultant with interview workflow (Opus)', 'source' => 'oh-my-claudecode', ), 12 => array ( 'name' => 'qa-tester', 'desc' => 'Interactive CLI testing specialist using tmux for session management', 'source' => 'oh-my-claudecode', ), 13 => array ( 'name' => 'scientist', 'desc' => 'Data analysis and research execution specialist', 'source' => 'oh-my-claudecode', ), 14 => array ( 'name' => 'security-reviewer', 'desc' => 'Security vulnerability detection specialist (OWASP Top 10, secrets, unsafe patterns)', 'source' => 'oh-my-claudecode', ), 15 => array ( 'name' => 'test-engineer', 'desc' => 'Test strategy, integration/e2e coverage, flaky test hardening, TDD workflows', 'source' => 'oh-my-claudecode', ), 16 => array ( 'name' => 'tracer', 'desc' => 'Evidence-driven causal tracing with competing hypotheses, evidence for/against, uncertainty tracking, and next-probe recommendations', 'source' => 'oh-my-claudecode', ), 17 => array ( 'name' => 'verifier', 'desc' => 'Verification strategy, evidence-based completion checks, test adequacy', 'source' => 'oh-my-claudecode', ), 18 => array ( 'name' => 'writer', 'desc' => 'Technical documentation writer for README, API docs, and comments (Haiku)', 'source' => 'oh-my-claudecode', ), ); $q = $_GET["q"] ?? ""; if ($q) { $filtered = array_filter($agents, fn($a) => stripos($a["name"], $q) !== false || stripos($a["desc"], $q) !== false); echo json_encode(["ok" => true, "agents" => array_values($filtered)]); } else { echo json_encode(["ok" => true, "agents" => $agents, "count" => count($agents)]); }