{ "$schema": "https://opencode.ai/config.json", "description": "IT Team Agent Configuration Example — Copy ke opencode.json dan sesuaikan model sesuai kebutuhan", "note": "Opsional: Jika tidak set model per agent, subagent akan inherit dari primary (IT Leader). Untuk customize, uncomment model line per agent.", "formatter": true, "permission": { "read": { "*": "allow", "*.env": "deny", "*.env.*": "deny", "*.env.example": "allow" }, "edit": "allow", "glob": "allow", "grep": "allow", "list": "allow", "webfetch": "allow", "skill": "allow", "todowrite": "allow", "question": "allow", "doom_loop": "ask", "external_directory": { "*": "allow", "~/.ssh/**": "deny", "~/.aws/**": "deny", "~/.config/**": "deny", "~/secrets/**": "deny", "~/.gnupg/**": "deny", "~/.kube/**": "deny", "~/.docker/**": "deny", "/etc/**": "deny" }, "bash": { "*": "ask", "ls *": "allow", "pwd": "allow", "which *": "allow", "type *": "allow", "mkdir *": "allow", "cp *": "allow", "mv *": "allow", "echo *": "allow", "printf *": "allow", "date": "allow", "uname *": "allow", "whoami": "allow", "file *": "allow", "wc *": "allow", "du *": "allow", "df *": "allow" }, "agentmemory_*": "allow", "figma_*": "allow", "chrome-devtools_*": "allow", "agent-browser_*": "allow" }, "instructions": [ ".opencode/instructions/INSTRUCTIONS.md", ".opencode/skills/coding-standards/SKILL.md", ".opencode/skills/security-review/SKILL.md", ".opencode/skills/impeccable/SKILL.md", ".opencode/skills/it-leader-orchestration/SKILL.md", ".opencode/skills/eval-harness/SKILL.md", ".opencode/skills/verification-loop/SKILL.md", ".opencode/skills/strategic-compact/SKILL.md", ".opencode/skills/api-design/SKILL.md", ".opencode/skills/agent-task-workflow/SKILL.md", ".opencode/skills/agent-communication/SKILL.md", ".opencode/skills/agent-session-workflow/SKILL.md", ".opencode/skills/visual-dev-loop/SKILL.md" ], "mcp": { "nuxt": { "type": "remote", "url": "https://nuxt.com/mcp", "enabled": true, "description": "Nuxt documentation, blog posts, and deployment guides" }, "nuxt-ui": { "type": "remote", "url": "https://ui.nuxt.com/mcp", "enabled": true, "description": "Nuxt UI component documentation and examples" }, "figma": { "type": "remote", "url": "https://mcp.figma.com/mcp" }, "playwright": { "type": "stdio", "command": "npx", "args": ["-y", "@modelcontextprotocol/server-playwright"], "enabled": true, "description": "Browser automation and E2E testing with Playwright" }, "stitch": { "type": "remote", "url": "https://stitch.googleapis.com/mcp", "headers": { "X-Goog-Api-Key": "${STITCH_API_KEY}" }, "description": "Google Stitch AI design generation (requires STITCH_API_KEY)" }, "postman": { "type": "remote", "url": "https://mcp.postman.com/mcp", "headers": { "Authorization": "Bearer ${POSTMAN_API_KEY}" }, "enabled": true, "description": "Postman API management for collections, requests, and documentation" }, "sonarqube": { "type": "remote", "url": "https://sonarqube-mcp.sadigit.co.id/mcp", "enabled": true, "headers": { "Authorization": "Bearer ${SONARQUBE_TOKEN}", "SONARQUBE_TOOLSETS": "analysis,issues,security-hotspots,quality-gates,rules,duplications,measures,dependency-risks,coverage,sources,languages,portfolios,system,webhooks" } }, "agentmemory": { "type": "local", "command": ["node", ".opencode/hooks/agentmemory-start.mjs"], "enabled": true, "description": "Persistent cross-session memory with 53 tools (save, recall, smart search, sessions, file history, lessons)" }, "chrome-devtools": { "type": "local", "command": [ "npx", "-y", "chrome-devtools-mcp@latest", "--screenshot-format", "jpeg", "--screenshot-quality", "80", "--screenshot-max-width", "1200" ], "enabled": true, "description": "Chrome DevTools browser control: navigate, screenshot, inspect console/network/performance" }, "agent-browser": { "type": "local", "command": [ "npx", "-y", "agent-browser@latest", "mcp", "--tools", "core,network,react,tabs,debug" ], "enabled": true, "description": "Fast Rust-based browser automation: annotated screenshots, visual diff, React introspection" } }, "plugin": [".opencode/plugins/agentmemory-capture.ts", ".opencode/plugins/ponytail.mjs"], "agent": { "leader": { "description": "IT Leader & Technical Project Manager — analyzes requirements, designs architecture, decomposes tasks, delegates to subagents, and unifies outputs", "mode": "primary", "prompt": "{file:.opencode/prompts/agents/it-leader.md}", "model": "opencode/claude-opus-4.7", "temperature": 0.4, "color": "#8b5cf6", "permission": { "edit": "allow", "webfetch": "allow", "skill": "allow", "bash": { "*": "ask", "ls *": "allow", "pwd": "allow", "which *": "allow", "type *": "allow", "mkdir *": "allow", "cp *": "allow", "mv *": "allow", "echo *": "allow", "printf *": "allow", "date": "allow", "uname *": "allow", "whoami": "allow", "file *": "allow", "wc *": "allow", "du *": "allow", "df *": "allow", "npm *": "allow", "pnpm *": "allow", "bun *": "allow", "yarn *": "allow", "npx playwright*": "allow", "portless *": "allow", "npx agent-browser*": "allow" }, "task": { "*": "allow" }, "nuxt_*": "allow", "nuxt-ui_*": "allow", "playwright_*": "allow", "chrome-devtools_*": "allow", "postman_*": "allow", "sonarqube_*": "allow" } }, "frontend-nuxt": { "description": "Expert Vue/Nuxt frontend developer for Nuxt.js, Vue 3, Nuxt UI, and modern web technologies with MCP integration (subagent of IT Leader)", "mode": "subagent", "prompt": "{file:.opencode/prompts/agents/nuxt-frontend-developer.md}", "model": "opencode/claude-sonnet-4.5", "color": "#3b82f6", "permission": { "edit": "allow", "webfetch": "allow", "skill": "allow", "bash": { "*": "ask", "ls *": "allow", "pwd": "allow", "which *": "allow", "type *": "allow", "mkdir *": "allow", "cp *": "allow", "mv *": "allow", "echo *": "allow", "printf *": "allow", "date": "allow", "uname *": "allow", "whoami": "allow", "file *": "allow", "wc *": "allow", "du *": "allow", "df *": "allow", "npm *": "allow", "pnpm *": "allow", "bun *": "allow", "yarn *": "allow", "npx playwright*": "allow" }, "nuxt_*": "allow", "nuxt-ui_*": "allow", "playwright_*": "allow", "chrome-devtools_*": "allow" } }, "frontend-react": { "description": "Expert React/Next.js frontend developer for React 19, Next.js 15, Vite, shadcn/ui, and modern web technologies (subagent of IT Leader)", "mode": "subagent", "prompt": "{file:.opencode/prompts/agents/react-frontend-developer.md}", "model": "opencode/claude-sonnet-4.5", "color": "#06b6d4", "permission": { "edit": "allow", "webfetch": "allow", "skill": "allow", "bash": { "*": "ask", "ls *": "allow", "pwd": "allow", "which *": "allow", "type *": "allow", "mkdir *": "allow", "cp *": "allow", "mv *": "allow", "echo *": "allow", "printf *": "allow", "date": "allow", "uname *": "allow", "whoami": "allow", "file *": "allow", "wc *": "allow", "du *": "allow", "df *": "allow", "npm *": "allow", "pnpm *": "allow", "bun *": "allow", "yarn *": "allow", "npx playwright*": "allow" }, "playwright_*": "allow", "chrome-devtools_*": "allow" } }, "node-developer": { "description": "Expert Node.js backend developer for Express, Prisma, PostgreSQL, REST APIs, and JWT auth (subagent of IT Leader)", "mode": "subagent", "prompt": "{file:.opencode/prompts/agents/node-backend-developer.md}", "model": "opencode/claude-sonnet-4.5", "color": "#10b981", "permission": { "edit": "allow", "webfetch": "allow", "skill": "allow", "bash": { "*": "ask", "ls *": "allow", "pwd": "allow", "which *": "allow", "type *": "allow", "mkdir *": "allow", "cp *": "allow", "mv *": "allow", "echo *": "allow", "printf *": "allow", "date": "allow", "uname *": "allow", "whoami": "allow", "file *": "allow", "wc *": "allow", "du *": "allow", "df *": "allow", "npm *": "allow", "pnpm *": "allow", "bun *": "allow", "yarn *": "allow" }, "postman_*": "allow" } }, "ci3": { "description": "CodeIgniter 3 MVC fullstack developer for REST API, JWT, MySQL/PostgreSQL (subagent of IT Leader)", "mode": "subagent", "prompt": "{file:.opencode/prompts/agents/code-igniter-3-fullstack.md}", "model": "opencode/claude-sonnet-4.5", "color": "#84cc16", "permission": { "edit": "allow", "webfetch": "allow", "skill": "allow", "bash": { "*": "ask", "ls *": "allow", "pwd": "allow", "which *": "allow", "type *": "allow", "mkdir *": "allow", "cp *": "allow", "mv *": "allow", "echo *": "allow", "printf *": "allow", "date": "allow", "uname *": "allow", "whoami": "allow", "file *": "allow", "wc *": "allow", "du *": "allow", "df *": "allow", "git status": "allow", "git diff": "allow", "git log*": "allow" }, "postman_*": "allow" } }, "laravel": { "description": "Laravel backend engineer for REST API, Service/Repository, JWT, MySQL/PostgreSQL (subagent of IT Leader)", "mode": "subagent", "prompt": "{file:.opencode/prompts/agents/laravel-advanced.md}", "model": "opencode/claude-sonnet-4.5", "color": "#f97316", "permission": { "edit": "allow", "webfetch": "allow", "skill": "allow", "bash": { "*": "ask", "ls *": "allow", "pwd": "allow", "which *": "allow", "type *": "allow", "mkdir *": "allow", "cp *": "allow", "mv *": "allow", "echo *": "allow", "printf *": "allow", "date": "allow", "uname *": "allow", "whoami": "allow", "file *": "allow", "wc *": "allow", "du *": "allow", "df *": "allow", "git status": "allow", "git diff": "allow", "git log*": "allow" }, "postman_*": "allow" } }, "designer": { "description": "UI/UX Designer specializing in design systems, Google Stitch, Figma, accessibility, and design-to-code handoff (subagent of IT Leader)", "mode": "subagent", "prompt": "{file:.opencode/prompts/agents/ui-ux-designer.md}", "model": "opencode/claude-sonnet-4", "temperature": 0.5, "color": "#f59e0b", "permission": { "edit": "allow", "webfetch": "allow", "skill": "allow", "bash": { "*": "ask", "ls *": "allow", "pwd": "allow", "which *": "allow", "type *": "allow", "mkdir *": "allow", "cp *": "allow", "mv *": "allow", "echo *": "allow", "printf *": "allow", "date": "allow", "uname *": "allow", "whoami": "allow", "file *": "allow", "wc *": "allow", "du *": "allow", "df *": "allow", "git status": "allow", "git diff": "allow", "git log*": "allow" }, "stitch_*": "allow", "nuxt-ui_*": "allow", "chrome-devtools_*": "allow" } }, "reviewer": { "description": "Code Reviewer & QA Engineer specializing in code quality, security audit, testing strategy, and verification (subagent of IT Leader)", "mode": "subagent", "prompt": "{file:.opencode/prompts/agents/code-reviewer.md}", "model": "opencode/claude-opus-4.5", "color": "#ef4444", "permission": { "edit": "allow", "webfetch": "allow", "skill": "allow", "bash": { "*": "ask", "ls *": "allow", "pwd": "allow", "which *": "allow", "type *": "allow", "mkdir *": "allow", "cp *": "allow", "mv *": "allow", "echo *": "allow", "printf *": "allow", "date": "allow", "uname *": "allow", "whoami": "allow", "file *": "allow", "wc *": "allow", "du *": "allow", "df *": "allow", "npm *": "allow", "pnpm *": "allow", "bun *": "allow", "yarn *": "allow", "npx playwright*": "allow" }, "playwright_*": "allow", "chrome-devtools_*": "allow" } }, "database": { "description": "Database Specialist specializing in PostgreSQL schema design, query optimization, Prisma ORM, and migrations (subagent of IT Leader)", "mode": "subagent", "prompt": "{file:.opencode/prompts/agents/database-specialist.md}", "model": "opencode/claude-sonnet-4.5", "color": "#0891b2", "permission": { "edit": "allow", "webfetch": "allow", "skill": "allow", "bash": { "*": "ask", "ls *": "allow", "pwd": "allow", "which *": "allow", "type *": "allow", "mkdir *": "allow", "cp *": "allow", "mv *": "allow", "echo *": "allow", "printf *": "allow", "date": "allow", "uname *": "allow", "whoami": "allow", "file *": "allow", "wc *": "allow", "du *": "allow", "df *": "allow", "npm *": "allow", "pnpm *": "allow", "bun *": "allow", "yarn *": "allow" } } }, "devops": { "description": "DevOps Engineer specializing in CI/CD, deployment, Docker, monitoring, and infrastructure (subagent of IT Leader)", "mode": "subagent", "prompt": "{file:.opencode/prompts/agents/devops-specialist.md}", "model": "opencode/claude-haiku-4.5", "color": "#6366f1", "permission": { "edit": "allow", "webfetch": "allow", "skill": "allow", "bash": { "*": "ask", "ls *": "allow", "pwd": "allow", "which *": "allow", "type *": "allow", "mkdir *": "allow", "cp *": "allow", "mv *": "allow", "echo *": "allow", "printf *": "allow", "date": "allow", "uname *": "allow", "whoami": "allow", "file *": "allow", "wc *": "allow", "du *": "allow", "df *": "allow", "npm *": "allow", "pnpm *": "allow", "bun *": "allow", "yarn *": "allow", "docker *": "allow" } } }, "seo": { "description": "SEO Specialist specializing in meta tags, structured data, Core Web Vitals, and content optimization (subagent of IT Leader)", "mode": "subagent", "prompt": "{file:.opencode/prompts/agents/seo-specialist.md}", "model": "openai/gpt-5.1-codex-mini", "color": "#65a30d", "permission": { "edit": "allow", "webfetch": "allow", "skill": "allow", "bash": { "*": "ask", "ls *": "allow", "pwd": "allow", "which *": "allow", "type *": "allow", "mkdir *": "allow", "cp *": "allow", "mv *": "allow", "echo *": "allow", "printf *": "allow", "date": "allow", "uname *": "allow", "whoami": "allow", "file *": "allow", "wc *": "allow", "du *": "allow", "df *": "allow", "git status": "allow", "git diff": "allow", "git log*": "allow" }, "nuxt_*": "allow" } }, "android": { "description": "Expert Android developer for Kotlin, Jetpack Compose, XML, Material Design 3, and Google Play (subagent of IT Leader)", "mode": "subagent", "prompt": "{file:.opencode/prompts/agents/android-developer.md}", "model": "opencode/claude-sonnet-4.5", "color": "#22c55e", "permission": { "edit": "allow", "webfetch": "allow", "skill": "allow", "bash": { "*": "ask", "ls *": "allow", "pwd": "allow", "which *": "allow", "type *": "allow", "mkdir *": "allow", "cp *": "allow", "mv *": "allow", "echo *": "allow", "printf *": "allow", "date": "allow", "uname *": "allow", "whoami": "allow", "file *": "allow", "wc *": "allow", "du *": "allow", "df *": "allow", "./gradlew *": "allow", "gradle *": "allow" }, "playwright_*": "allow" } }, "flutter": { "description": "Expert Flutter developer for Dart, Flutter SDK, Material Design 3, Firebase, and cross-platform mobile apps (subagent of IT Leader)", "mode": "subagent", "prompt": "{file:.opencode/prompts/agents/flutter-developer.md}", "model": "opencode/claude-sonnet-4.5", "color": "#0284c7", "permission": { "edit": "allow", "webfetch": "allow", "skill": "allow", "bash": { "*": "ask", "ls *": "allow", "pwd": "allow", "which *": "allow", "type *": "allow", "mkdir *": "allow", "cp *": "allow", "mv *": "allow", "echo *": "allow", "printf *": "allow", "date": "allow", "uname *": "allow", "whoami": "allow", "file *": "allow", "wc *": "allow", "du *": "allow", "df *": "allow", "flutter *": "allow", "dart *": "allow" }, "playwright_*": "allow" } }, "sonarqube": { "description": "SonarQube Quality Auditor & Fix Orchestrator \u2014 scans codebases, categorizes findings, creates TODOs, and delegates fixes to domain subagents", "mode": "primary", "prompt": "{file:.opencode/prompts/agents/sonarqube-quality.md}", "model": "opencode/claude-sonnet-4.5", "color": "#eab308", "permission": { "edit": "allow", "webfetch": "allow", "skill": "allow", "bash": { "*": "ask", "ls *": "allow", "pwd": "allow", "which *": "allow", "type *": "allow", "mkdir *": "allow", "cp *": "allow", "mv *": "allow", "echo *": "allow", "printf *": "allow", "date": "allow", "uname *": "allow", "whoami": "allow", "file *": "allow", "wc *": "allow", "du *": "allow", "df *": "allow", "git status": "allow", "git diff": "allow", "git log*": "allow" }, "sonarqube_*": "allow" } }, "python": { "description": "Python developer for Django, FastAPI, data science, and ML engineering", "mode": "subagent", "prompt": "{file:.opencode/prompts/agents/python-developer.md}", "model": "opencode/claude-sonnet-4.5", "color": "#3776AB", "permission": { "edit": "allow", "webfetch": "allow", "skill": "allow", "bash": { "*": "ask", "ls *": "allow", "pwd": "allow", "which *": "allow", "type *": "allow", "mkdir *": "allow", "cp *": "allow", "mv *": "allow", "echo *": "allow", "printf *": "allow", "date": "allow", "uname *": "allow", "whoami": "allow", "file *": "allow", "wc *": "allow", "du *": "allow", "df *": "allow", "pip*": "allow", "poetry*": "allow", "uv*": "allow", "pytest*": "allow" } } }, "rust": { "description": "Rust systems programmer for performance-critical applications, CLI tools, and embedded systems", "mode": "subagent", "prompt": "{file:.opencode/prompts/agents/rust-developer.md}", "model": "opencode/claude-sonnet-4.5", "color": "#DEA584", "permission": { "edit": "allow", "webfetch": "allow", "skill": "allow", "bash": { "*": "ask", "ls *": "allow", "pwd": "allow", "which *": "allow", "type *": "allow", "mkdir *": "allow", "cp *": "allow", "mv *": "allow", "echo *": "allow", "printf *": "allow", "date": "allow", "uname *": "allow", "whoami": "allow", "file *": "allow", "wc *": "allow", "du *": "allow", "df *": "allow", "cargo*": "allow", "rustup*": "allow" } } }, "swift": { "description": "Swift/SwiftUI developer for iOS, macOS, and Apple platform applications", "mode": "subagent", "prompt": "{file:.opencode/prompts/agents/swift-developer.md}", "model": "opencode/claude-sonnet-4.5", "color": "#F05138", "permission": { "edit": "allow", "webfetch": "allow", "skill": "allow", "bash": { "*": "ask", "ls *": "allow", "pwd": "allow", "which *": "allow", "type *": "allow", "mkdir *": "allow", "cp *": "allow", "mv *": "allow", "echo *": "allow", "printf *": "allow", "date": "allow", "uname *": "allow", "whoami": "allow", "file *": "allow", "wc *": "allow", "du *": "allow", "df *": "allow", "swift*": "allow", "xcodebuild*": "allow" } } }, "dotnet": { "description": "C#/.NET/F# developer for ASP.NET Core, Blazor, MAUI, and Azure cloud applications", "mode": "subagent", "prompt": "{file:.opencode/prompts/agents/dotnet-developer.md}", "model": "opencode/claude-sonnet-4.5", "color": "#512BD4", "permission": { "edit": "allow", "webfetch": "allow", "skill": "allow", "bash": { "*": "ask", "ls *": "allow", "pwd": "allow", "which *": "allow", "type *": "allow", "mkdir *": "allow", "cp *": "allow", "mv *": "allow", "echo *": "allow", "printf *": "allow", "date": "allow", "uname *": "allow", "whoami": "allow", "file *": "allow", "wc *": "allow", "du *": "allow", "df *": "allow", "dotnet*": "allow" } } }, "angular": { "description": "Angular/TypeScript frontend developer for web applications with standalone components, NgRx, and RxJS", "mode": "subagent", "prompt": "{file:.opencode/prompts/agents/angular-developer.md}", "model": "opencode/claude-sonnet-4.5", "color": "#DD0031", "permission": { "edit": "allow", "webfetch": "allow", "skill": "allow", "bash": { "*": "ask", "ls *": "allow", "pwd": "allow", "which *": "allow", "type *": "allow", "mkdir *": "allow", "cp *": "allow", "mv *": "allow", "echo *": "allow", "printf *": "allow", "date": "allow", "uname *": "allow", "whoami": "allow", "file *": "allow", "wc *": "allow", "du *": "allow", "df *": "allow", "ng*": "allow", "npm*": "allow" } } }, "cpp": { "description": "C++ developer for modern C++17/20/23 systems programming, performance-critical applications, and embedded systems", "mode": "subagent", "prompt": "{file:.opencode/prompts/agents/cpp-developer.md}", "model": "opencode/claude-sonnet-4.5", "color": "#00599C", "permission": { "edit": "allow", "webfetch": "allow", "skill": "allow", "bash": { "*": "ask", "ls *": "allow", "pwd": "allow", "which *": "allow", "type *": "allow", "mkdir *": "allow", "cp *": "allow", "mv *": "allow", "echo *": "allow", "printf *": "allow", "date": "allow", "uname *": "allow", "whoami": "allow", "file *": "allow", "wc *": "allow", "du *": "allow", "df *": "allow", "cmake*": "allow", "make*": "allow", "g++*": "allow", "clang*": "allow" } } }, "java-developer": { "description": "Java/Spring Boot developer for REST APIs, JPA/Hibernate, microservices, and JVM ecosystem (subagent of IT Leader)", "mode": "subagent", "prompt": "{file:.opencode/prompts/agents/java-developer.md}", "model": "opencode/claude-sonnet-4.5", "color": "#ED8B00", "permission": { "edit": "allow", "webfetch": "allow", "skill": "allow", "bash": { "*": "ask", "ls *": "allow", "pwd": "allow", "which *": "allow", "type *": "allow", "mkdir *": "allow", "cp *": "allow", "mv *": "allow", "echo *": "allow", "printf *": "allow", "date": "allow", "uname *": "allow", "whoami": "allow", "file *": "allow", "wc *": "allow", "du *": "allow", "df *": "allow", "mvn*": "allow", "gradle*": "allow", "java*": "allow" } } }, "go-developer": { "description": "Go developer for REST APIs, microservices, CLI tools, and concurrent systems (subagent of IT Leader)", "mode": "subagent", "prompt": "{file:.opencode/prompts/agents/go-developer.md}", "model": "opencode/claude-sonnet-4.5", "color": "#00ADD8", "permission": { "edit": "allow", "webfetch": "allow", "skill": "allow", "bash": { "*": "ask", "ls *": "allow", "pwd": "allow", "which *": "allow", "type *": "allow", "mkdir *": "allow", "cp *": "allow", "mv *": "allow", "echo *": "allow", "printf *": "allow", "date": "allow", "uname *": "allow", "whoami": "allow", "file *": "allow", "wc *": "allow", "du *": "allow", "df *": "allow", "go*": "allow" } } }, "python-reviewer": { "description": "Python code review specialist — reviews Python code for type safety, PEP 8, Django/FastAPI patterns, and security", "mode": "subagent", "prompt": "{file:.opencode/prompts/agents/python-reviewer.md}", "model": "opencode/claude-opus-4.5", "color": "#306998", "permission": { "edit": "allow", "webfetch": "allow", "skill": "allow", "bash": { "*": "ask", "ls *": "allow", "pwd": "allow", "which *": "allow", "type *": "allow", "mkdir *": "allow", "cp *": "allow", "mv *": "allow", "echo *": "allow", "printf *": "allow", "date": "allow", "uname *": "allow", "whoami": "allow", "file *": "allow", "wc *": "allow", "du *": "allow", "df *": "allow", "pip*": "allow", "pytest*": "allow", "ruff*": "allow", "mypy*": "allow" } } }, "rust-reviewer": { "description": "Rust code review specialist — reviews Rust code for memory safety, ownership, concurrency, and idiomatic patterns", "mode": "subagent", "prompt": "{file:.opencode/prompts/agents/rust-reviewer.md}", "model": "opencode/claude-opus-4.5", "color": "#C67D4B", "permission": { "edit": "allow", "webfetch": "allow", "skill": "allow", "bash": { "*": "ask", "ls *": "allow", "pwd": "allow", "which *": "allow", "type *": "allow", "mkdir *": "allow", "cp *": "allow", "mv *": "allow", "echo *": "allow", "printf *": "allow", "date": "allow", "uname *": "allow", "whoami": "allow", "file *": "allow", "wc *": "allow", "du *": "allow", "df *": "allow", "cargo*": "allow", "rustup*": "allow" } } }, "cpp-reviewer": { "description": "C++ code review specialist — reviews C++ code for memory safety, RAII, modern C++ patterns, and performance", "mode": "subagent", "prompt": "{file:.opencode/prompts/agents/cpp-reviewer.md}", "model": "opencode/claude-opus-4.5", "color": "#004477", "permission": { "edit": "allow", "webfetch": "allow", "skill": "allow", "bash": { "*": "ask", "ls *": "allow", "pwd": "allow", "which *": "allow", "type *": "allow", "mkdir *": "allow", "cp *": "allow", "mv *": "allow", "echo *": "allow", "printf *": "allow", "date": "allow", "uname *": "allow", "whoami": "allow", "file *": "allow", "wc *": "allow", "du *": "allow", "df *": "allow", "cmake*": "allow", "make*": "allow", "clang*": "allow" } } }, "java-reviewer": { "description": "Java/Spring Boot code review specialist — reviews Java code for JPA, Spring patterns, concurrency, and security", "mode": "subagent", "prompt": "{file:.opencode/prompts/agents/java-reviewer.md}", "model": "opencode/claude-opus-4.5", "color": "#CC7700", "permission": { "edit": "allow", "webfetch": "allow", "skill": "allow", "bash": { "*": "ask", "ls *": "allow", "pwd": "allow", "which *": "allow", "type *": "allow", "mkdir *": "allow", "cp *": "allow", "mv *": "allow", "echo *": "allow", "printf *": "allow", "date": "allow", "uname *": "allow", "whoami": "allow", "file *": "allow", "wc *": "allow", "du *": "allow", "df *": "allow", "mvn*": "allow", "gradle*": "allow", "java*": "allow" } } }, "php-reviewer": { "description": "PHP/Laravel code review specialist — reviews PHP code for PSR standards, Laravel patterns, Eloquent, and security", "mode": "subagent", "prompt": "{file:.opencode/prompts/agents/php-reviewer.md}", "model": "opencode/claude-opus-4.5", "color": "#777BB4", "permission": { "edit": "allow", "webfetch": "allow", "skill": "allow", "bash": { "*": "ask", "ls *": "allow", "pwd": "allow", "which *": "allow", "type *": "allow", "mkdir *": "allow", "cp *": "allow", "mv *": "allow", "echo *": "allow", "printf *": "allow", "date": "allow", "uname *": "allow", "whoami": "allow", "file *": "allow", "wc *": "allow", "du *": "allow", "df *": "allow", "composer*": "allow", "php*": "allow", "artisan*": "allow" } } }, "kotlin-reviewer": { "description": "Kotlin/Android code review specialist — reviews Kotlin code for coroutines, Compose, clean architecture, and Android security", "mode": "subagent", "prompt": "{file:.opencode/prompts/agents/kotlin-reviewer.md}", "model": "opencode/claude-opus-4.5", "color": "#7F52FF", "permission": { "edit": "allow", "webfetch": "allow", "skill": "allow", "bash": { "*": "ask", "ls *": "allow", "pwd": "allow", "which *": "allow", "type *": "allow", "mkdir *": "allow", "cp *": "allow", "mv *": "allow", "echo *": "allow", "printf *": "allow", "date": "allow", "uname *": "allow", "whoami": "allow", "file *": "allow", "wc *": "allow", "du *": "allow", "df *": "allow", "gradle*": "allow", "java*": "allow" } } }, "go-reviewer": { "description": "Go code review specialist — reviews Go code for error handling, concurrency, idiomatic patterns, and security", "mode": "subagent", "prompt": "{file:.opencode/prompts/agents/go-reviewer.md}", "model": "opencode/claude-opus-4.5", "color": "#0088AA", "permission": { "edit": "allow", "webfetch": "allow", "skill": "allow", "bash": { "*": "ask", "ls *": "allow", "pwd": "allow", "which *": "allow", "type *": "allow", "mkdir *": "allow", "cp *": "allow", "mv *": "allow", "echo *": "allow", "printf *": "allow", "date": "allow", "uname *": "allow", "whoami": "allow", "file *": "allow", "wc *": "allow", "du *": "allow", "df *": "allow", "go*": "allow" } } }, "harness-optimizer": { "description": "Agent harness optimizer — analyzes and improves agent configuration for reliability, cost efficiency, and throughput", "mode": "subagent", "prompt": "{file:.opencode/prompts/agents/harness-optimizer.md}", "model": "opencode/claude-sonnet-4.5", "color": "#7C4FE0", "permission": { "edit": "allow", "webfetch": "allow", "skill": "allow", "bash": { "*": "ask", "ls *": "allow", "pwd": "allow", "which *": "allow", "type *": "allow", "mkdir *": "allow", "cp *": "allow", "mv *": "allow", "echo *": "allow", "printf *": "allow", "date": "allow", "uname *": "allow", "whoami": "allow", "file *": "allow", "wc *": "allow", "du *": "allow", "df *": "allow" } } }, "loop-operator": { "description": "Autonomous loop operator — operates, monitors, and intervenes in autonomous agent loops with quality gates", "mode": "subagent", "prompt": "{file:.opencode/prompts/agents/loop-operator.md}", "model": "opencode/claude-haiku-4.5", "color": "#EC4899", "permission": { "edit": "allow", "webfetch": "allow", "skill": { "*": "allow" }, "bash": { "*": "ask", "ls *": "allow", "pwd": "allow", "which *": "allow", "type *": "allow", "mkdir *": "allow", "cp *": "allow", "mv *": "allow", "echo *": "allow", "printf *": "allow", "date": "allow", "uname *": "allow", "whoami": "allow", "file *": "allow", "wc *": "allow", "du *": "allow", "df *": "allow" } } }, "docs-lookup": { "description": "Documentation lookup specialist — fetches current library and API documentation via MCP with code examples", "mode": "subagent", "prompt": "{file:.opencode/prompts/agents/docs-lookup.md}", "model": "opencode/claude-haiku-4.5", "color": "#4F52B0", "permission": { "edit": "allow", "webfetch": "allow", "skill": "allow", "bash": { "*": "ask", "ls *": "allow", "pwd": "allow", "which *": "allow", "type *": "allow", "mkdir *": "allow", "cp *": "allow", "mv *": "allow", "echo *": "allow", "printf *": "allow", "date": "allow", "uname *": "allow", "whoami": "allow", "file *": "allow", "wc *": "allow", "du *": "allow", "df *": "allow" } } }, "agent-engineer": { "description": "AI Agent Engineer — builds agent orchestration systems, evaluation harnesses, autonomous loops, and safety guardrails", "mode": "subagent", "prompt": "{file:.opencode/prompts/agents/agent-engineer.md}", "model": "opencode/claude-sonnet-4.5", "color": "#6D28D9", "permission": { "edit": "allow", "webfetch": "allow", "skill": "allow", "bash": { "*": "ask", "ls *": "allow", "pwd": "allow", "which *": "allow", "type *": "allow", "mkdir *": "allow", "cp *": "allow", "mv *": "allow", "echo *": "allow", "printf *": "allow", "date": "allow", "uname *": "allow", "whoami": "allow", "file *": "allow", "wc *": "allow", "du *": "allow", "df *": "allow", "agentmemory*": "allow" } } } } }