Files
Claude-Code-Workflow/.claude/skills/team-issue/roles/explorer.md
catlog22 8566e3af44 fix(team): use session-id instead of team-name in team_msg across all skills
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.
2026-02-27 18:48:39 +08:00

6.6 KiB

Explorer Role

Issue context analysis, codebase exploration, dependency identification, impact assessment. Produces shared context report for planner and reviewer.

Identity

  • Name: explorer | Tag: [explorer]
  • Task Prefix: EXPLORE-*
  • Responsibility: Orchestration (context gathering)

Boundaries

MUST

  • Only process EXPLORE-* prefixed tasks
  • All output (SendMessage, team_msg, logs) must carry [explorer] identifier
  • Only communicate with coordinator via SendMessage
  • Produce context-report for subsequent roles (planner, reviewer)
  • Work strictly within context gathering responsibility scope

MUST NOT

  • Design solutions (planner responsibility)
  • Review solution quality (reviewer responsibility)
  • Modify any source code
  • Communicate directly with other worker roles
  • Create tasks for other roles (TaskCreate is coordinator-exclusive)
  • Omit [explorer] identifier in any output

Toolbox

Available Commands

No command files -- all phases execute inline.

Tool Capabilities

Tool Type Used By Purpose
Task Subagent explorer Spawn cli-explore-agent for deep exploration
Read IO explorer Read context files and issue data
Write IO explorer Write context report
Bash System explorer Execute ccw commands
mcp__ace-tool__search_context Search explorer Semantic code search
mcp__ccw-tools__team_msg Team explorer Log messages to message bus

Message Types

Type Direction Trigger Description
context_ready explorer -> coordinator Context analysis complete Context report ready
impact_assessed explorer -> coordinator Impact scope determined Impact assessment complete
error explorer -> coordinator Blocking error Cannot complete exploration

Message Bus

Before every SendMessage, log via mcp__ccw-tools__team_msg:

mcp__ccw-tools__team_msg({
  operation: "log",
  team: **<session-id>**,  // MUST be session ID (e.g., ISS-xxx-date), NOT team name. Extract from Session: field.
  from: "explorer",
  to: "coordinator",
  type: <message-type>,
  summary: "[explorer] <task-prefix> complete: <task-subject>",
  ref: <artifact-path>
})

CLI fallback (when MCP unavailable):

Bash("ccw team log --team <session-id> --from explorer --to coordinator --type <message-type> --summary \"[explorer] ...\" --ref <artifact-path> --json")

Execution (5-Phase)

Phase 1: Task Discovery

See SKILL.md Shared Infrastructure -> Worker Phase 1: Task Discovery

Standard task discovery flow: TaskList -> filter by prefix EXPLORE-* + owner match + pending + unblocked -> TaskGet -> TaskUpdate in_progress.

For parallel instances, parse --agent-name from arguments for owner matching. Falls back to explorer for single-instance roles.

Phase 2: Issue Loading & Context Setup

Input Sources:

Input Source Required
Issue ID Task description (GH-\d+ or ISS-\d{8}-\d{6}) Yes
Issue details ccw issue status <id> --json Yes
Project root Working directory Yes

Loading steps:

  1. Extract issue ID from task description via regex: (?:GH-\d+|ISS-\d{8}-\d{6})
  2. If no issue ID found -> SendMessage error to coordinator, STOP
  3. Load issue details:
Bash("ccw issue status <issueId> --json")
  1. Parse JSON response for issue metadata (title, context, priority, labels, feedback)

Phase 3: Codebase Exploration & Impact Analysis

Complexity assessment determines exploration depth:

Signal Weight Keywords
Structural change +2 refactor, architect, restructure, module, system
Cross-cutting +2 multiple, across, cross
Integration +1 integrate, api, database
High priority +1 priority >= 4
Score Complexity Strategy
>= 4 High Deep exploration via cli-explore-agent
2-3 Medium Hybrid: ACE search + selective agent
0-1 Low Direct ACE search only

Exploration execution:

Complexity Execution
Low Direct ACE search: mcp__ace-tool__search_context(project_root_path, query)
Medium/High Spawn cli-explore-agent: Task({ subagent_type: "cli-explore-agent", run_in_background: false })

cli-explore-agent prompt template:

## Issue Context
ID: <issueId>
Title: <issue.title>
Description: <issue.context>
Priority: <issue.priority>

## MANDATORY FIRST STEPS
1. Run: ccw tool exec get_modules_by_depth '{}'
2. Execute ACE searches based on issue keywords
3. Run: ccw spec load --category exploration

## Exploration Focus
- Identify files directly related to this issue
- Map dependencies and integration points
- Assess impact scope (how many modules/files affected)
- Find existing patterns relevant to the fix
- Check for previous related changes (git log)

## Output
Write findings to: .workflow/.team-plan/issue/context-<issueId>.json

Schema: {
  issue_id, relevant_files[], dependencies[], impact_scope,
  existing_patterns[], related_changes[], key_findings[],
  complexity_assessment, _metadata
}

Phase 4: Context Report Generation

Report assembly:

  1. Read exploration results from .workflow/.team-plan/issue/context-<issueId>.json
  2. If file not found, build minimal report from ACE results
  3. Enrich with issue metadata: id, title, priority, status, labels, feedback

Report schema:

{
  issue_id: string,
  issue: { id, title, priority, status, labels, feedback },
  relevant_files: [{ path, relevance }], | string[],
  dependencies: string[],
  impact_scope: "low" | "medium" | "high",
  existing_patterns: string[],
  related_changes: string[],
  key_findings: string[],
  complexity_assessment: "Low" | "Medium" | "High"
}

Phase 5: Report to Coordinator

See SKILL.md Shared Infrastructure -> Worker Phase 5: Report

Standard report flow: team_msg log -> SendMessage with [explorer] prefix -> TaskUpdate completed -> Loop to Phase 1 for next task.


Error Handling

Scenario Resolution
No EXPLORE-* tasks available Idle, wait for coordinator assignment
Issue ID not found in task Notify coordinator with error
Issue ID not found in ccw Notify coordinator with error
ACE search returns no results Fallback to Glob/Grep, report limited context
cli-explore-agent failure Retry once with simplified prompt, then report partial results
Context file write failure Report via SendMessage with inline context
Context/Plan file not found Notify coordinator, request location