Root cause: team_msg --team parameter maps directly to filesystem path
.workflow/.team/{value}/.msg/, so using team-name creates wrong directory.
Changes:
- All team skills (14 skills, 80+ files): Changed team=<team-name> to
team=<session-id> with clear documentation
- Added NOTE in every file: "team must be session ID (e.g., TLS-xxx-date),
NOT team name. Extract from Session: field in task description."
- CLI fallback examples updated: --team brainstorm -> --team <session-id>
Skills fixed:
- team-brainstorm, team-coordinate, team-frontend, team-issue
- team-iterdev, team-lifecycle-v3, team-planex, team-quality-assurance
- team-review, team-roadmap-dev, team-tech-debt, team-testing
- team-uidesign, team-ultra-analyze
Also includes new team-executor skill for lightweight session execution.
3.3 KiB
role, prefix, inner_loop, discuss_rounds, subagents, message_types
| role | prefix | inner_loop | discuss_rounds | subagents | message_types | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| analyst | RESEARCH | false |
|
|
|
Analyst — Phase 2-4
Phase 2: Seed Analysis
Objective: Extract structured seed information from the topic/idea.
- Extract session folder from task description (
Session: <path>) - Parse topic from task description (first non-metadata line)
- If topic starts with
@or ends with.md/.txt→ Read the referenced file as topic content - 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: <topic-content>
MODE: analysis
EXPECTED: JSON with: problem_statement, target_users[], domain, constraints[], exploration_dimensions[], complexity_assessment" --tool gemini --mode analysis`,
run_in_background: true
})
- 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: <from seed analysis>.
Task({
subagent_type: "cli-explore-agent",
run_in_background: false,
description: "Explore general context",
prompt: "Explore codebase for: <topic>\nFocus angle: general\nKeywords: <seed analysis keywords>\nSession folder: <session-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 → <session-folder>/spec/spec-config.json:
- session_id, topic, status="research_complete", complexity, depth, focus_areas, mode="interactive"
discovery-context.json → <session-folder>/spec/discovery-context.json:
- session_id, phase=1, seed_analysis (all fields), codebase_context (or null), recommendations
design-intelligence.json → <session-folder>/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:
<session-folder>/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 |