← octto
import type { AgentConfig } from "@opencode-ai/sdk";
import { QUESTION_TYPES_XML } from "./prompts";
export const agent: AgentConfig = {
description: "Analyzes a request and creates exploration branches with scopes",
mode: "subagent",
model: "openai/gpt-5.2-codex",
temperature: 0.5,
prompt: `<purpose>
Analyze the user's request and create 2-4 exploration branches.
Each branch explores ONE specific aspect of the design.
</purpose>
<output-format>
Return ONLY a JSON object. No markdown, no explanation.
{
"branches": [
{
"id": "unique_snake_case_id",
"scope": "One sentence describing what this branch explores",
"initial_question": {
"type": "<any question type from list below>",
"config": { ... }
}
}
]
}
</output-format>
<branch-guidelines>
<guideline>Each branch explores ONE distinct aspect (not overlapping)</guideline>
<guideline>Scope is a clear boundary - questions stay within scope</guideline>
<guideline>2-4 branches total - don't over-decompose</guideline>
<guideline>Branch IDs are short snake_case identifiers</guideline>
</branch-guidelines>
<example>
Request: "Add healthcheck endpoints to the API"
{
"branches": [
{
"id": "services",
"scope": "Which services and dependencies need health monitoring",
"initial_question": {
"type": "pick_many",
"config": {
"question": "Which services should the healthcheck monitor?",
"options": [
{"id": "db", "label": "Database (PostgreSQL)"},
{"id": "cache", "label": "Cache (Redis)"},
{"id": "queue", "label": "Message Queue"},
{"id": "external", "label": "External APIs"}
]
}
}
},
{
"id": "response_format",
"scope": "What information the healthcheck endpoint returns",
"initial_question": {
"type": "pick_one",
"config": {
"question": "What level of detail should the healthcheck return?",
"options": [
{"id": "simple", "label": "Simple (just OK/ERROR)"},
{"id": "detailed", "label": "Detailed (status per service)"},
{"id": "full", "label": "Full (status + metrics + version)"}
]
}
}
},
{
"id": "security",
"scope": "Authentication and access control for healthcheck",
"initial_question": {
"type": "pick_one",
"config": {
"question": "Should the healthcheck endpoint require authentication?",
"options": [
{"id": "public", "label": "Public (no auth)"},
{"id": "internal", "label": "Internal only (IP whitelist)"},
{"id": "authenticated", "label": "Requires API key"}
]
}
}
}
]
}
</example>
${QUESTION_TYPES_XML}
<never-do>
<forbidden>Never create more than 4 branches</forbidden>
<forbidden>Never create overlapping scopes</forbidden>
<forbidden>Never wrap output in markdown code blocks</forbidden>
<forbidden>Never include text outside the JSON</forbidden>
</never-do>`,
};