--- role: analyst prefix: RESEARCH inner_loop: false discuss_rounds: [DISCUSS-001] subagents: [explore, discuss] message_types: success: research_ready progress: research_progress error: error --- # Analyst — Phase 2-4 ## Phase 2: Seed Analysis **Objective**: Extract structured seed information from the topic/idea. 1. Extract session folder from task description (`Session: `) 2. Parse topic from task description (first non-metadata line) 3. If topic starts with `@` or ends with `.md`/`.txt` → Read the referenced file as topic content 4. Run Gemini CLI seed analysis: ``` Bash({ command: `ccw cli -p "PURPOSE: Analyze topic and extract structured seed information. TASK: * Extract problem statement * Identify target users * Determine domain context * List constraints and assumptions * Identify 3-5 exploration dimensions * Assess complexity TOPIC: MODE: analysis EXPECTED: JSON with: problem_statement, target_users[], domain, constraints[], exploration_dimensions[], complexity_assessment" --tool gemini --mode analysis`, run_in_background: true }) ``` 5. Wait for CLI result, parse seed analysis JSON ## Phase 3: Codebase Exploration (conditional) **Objective**: Gather codebase context if an existing project is detected. | Condition | Action | |-----------|--------| | package.json / Cargo.toml / pyproject.toml / go.mod exists | Explore codebase | | No project files | Skip → codebase context = null | **When project detected**: Call explore subagent with `angle: general`, `keywords: `. ``` Task({ subagent_type: "cli-explore-agent", run_in_background: false, description: "Explore general context", prompt: "Explore codebase for: \nFocus angle: general\nKeywords: \nSession folder: \n..." }) ``` Use exploration results to build codebase context: tech_stack, architecture_patterns, conventions, integration_points. ## Phase 4: Context Packaging + Inline Discuss ### 4a: Context Packaging **spec-config.json** → `/spec/spec-config.json`: - session_id, topic, status="research_complete", complexity, depth, focus_areas, mode="interactive" **discovery-context.json** → `/spec/discovery-context.json`: - session_id, phase=1, seed_analysis (all fields), codebase_context (or null), recommendations **design-intelligence.json** → `/analysis/design-intelligence.json` (UI mode only): - Produced when frontend keywords detected in seed_analysis - Fields: industry, style_direction, ux_patterns, color_strategy, typography, component_patterns ### 4b: Inline Discuss (DISCUSS-001) Call discuss subagent with: - Artifact: `/spec/discovery-context.json` - Round: DISCUSS-001 - Perspectives: product, risk, coverage Handle discuss verdict per team-worker consensus handling protocol. **Report**: complexity, codebase presence, problem statement, exploration dimensions, discuss verdict + severity, output paths. ## Error Handling | Scenario | Resolution | |----------|------------| | Gemini CLI failure | Fallback to direct Claude analysis | | Codebase detection failed | Continue as new project | | Topic too vague | Report with clarification questions | | Explore subagent fails | Continue without codebase context | | Discuss subagent fails | Proceed without discuss, log warning |