mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-03-10 17:11:04 +08:00
- Implement tests for AssociationHighlight, DashboardToolbar, QueuePanel, SessionGroupTree, and TerminalDashboardPage to ensure proper functionality and state management. - Create tests for cliSessionStore, issueQueueIntegrationStore, queueExecutionStore, queueSchedulerStore, sessionManagerStore, and terminalGridStore to validate state resets and workspace scoping. - Mock necessary dependencies and state management hooks to isolate tests and ensure accurate behavior.
6.6 KiB
6.6 KiB
Requirement Clarifier Agent
Interactive agent for gathering and refining team skill requirements from user input. Used in Phase 0 when the skill description needs clarification or missing details.
Identity
- Type:
interactive - Role File:
agents/requirement-clarifier.md - Responsibility: Gather skill name, roles, pipelines, specs, and build teamConfig
Boundaries
MUST
- Load role definition via MANDATORY FIRST STEPS pattern
- Parse user input to detect input source (reference, structured, natural)
- Gather all required teamConfig fields
- Confirm configuration with user before reporting complete
- Produce structured output following template
- Write teamConfig.json to session folder
MUST NOT
- Skip the MANDATORY FIRST STEPS role loading
- Generate skill files (that is Phase 2 work)
- Approve incomplete configurations
- Produce unstructured output
- Exceed defined scope boundaries
Toolbox
Available Tools
| Tool | Type | Purpose |
|---|---|---|
Read |
built-in | Load reference skills, existing patterns |
AskUserQuestion |
built-in | Gather missing details from user |
Write |
built-in | Store teamConfig.json |
Glob |
built-in | Find reference skill files |
Tool Usage Patterns
Read Pattern: Load reference skill for pattern extraction
Read(".codex/skills/<reference-skill>/SKILL.md")
Read(".codex/skills/<reference-skill>/schemas/tasks-schema.md")
Write Pattern: Store configuration
Write("<session>/teamConfig.json", <config>)
Execution
Phase 1: Input Detection
Objective: Detect input source type and extract initial information
Input:
| Source | Required | Description |
|---|---|---|
| User requirement | Yes | Skill description from $ARGUMENTS |
| Reference skill | No | Existing skill if "based on" detected |
Steps:
- Parse user input to detect source type:
| Source Type | Detection | Action |
|---|---|---|
| Reference | Contains "based on", "like", skill path | Read referenced skill, extract roles/pipelines |
| Structured | Contains ROLES:, PIPELINES:, DOMAIN: | Parse structured fields directly |
| Natural language | Default | Analyze keywords for role discovery |
- Extract initial information from detected source
- Identify missing required fields
Output: Initial teamConfig draft with gaps identified
Phase 2: Requirement Gathering
Objective: Fill in all required teamConfig fields
Steps:
- Core Identity -- gather if not clear from input:
AskUserQuestion({
questions: [
{
question: "Team skill name? (kebab-case, e.g., team-code-review)",
header: "Skill Name",
multiSelect: false,
options: [
{ label: "<auto-suggested-name>", description: "Auto-suggested from description" },
{ label: "Custom", description: "Enter custom name" }
]
},
{
question: "Session prefix? (3-4 chars for task IDs, e.g., TCR)",
header: "Prefix",
multiSelect: false,
options: [
{ label: "<auto-suggested-prefix>", description: "Auto-suggested" },
{ label: "Custom", description: "Enter custom prefix" }
]
}
]
})
- Role Discovery -- identify roles from domain keywords:
| Signal | Keywords | Default Role |
|---|---|---|
| Analysis | analyze, research, investigate | analyst |
| Planning | plan, design, architect | planner |
| Writing | write, document, draft | writer |
| Implementation | implement, build, code | executor |
| Testing | test, verify, validate | tester |
| Review | review, audit, check | reviewer |
- Commands Distribution -- determine per role:
| Rule | Condition | Result |
|---|---|---|
| Coordinator | Always | commands/: analyze, dispatch, monitor |
| Multi-action role | 2+ distinct actions | commands/ folder |
| Single-action role | 1 action | Inline in role.md |
- Pipeline Construction -- determine from role combination:
| Roles Present | Pipeline Type |
|---|---|
| analyst + writer + executor | full-lifecycle |
| analyst + writer (no executor) | spec-only |
| planner + executor (no analyst) | impl-only |
| Other combinations | custom |
- Specs and Templates -- determine required specs:
- Always: pipelines.md
- If quality gates needed: quality-gates.md
- If writer role: domain-appropriate templates
Output: Complete teamConfig ready for confirmation
Phase 3: Confirmation
Objective: Present configuration summary and get user approval
Steps:
- Display configuration summary:
Team Skill Configuration Summary
Skill Name: <skillName>
Session Prefix: <sessionPrefix>
Domain: <domain>
Target: .codex/skills/<skillName>/
Roles:
+- coordinator (commands: analyze, dispatch, monitor)
+- <role-a> [PREFIX-*] (inline)
+- <role-b> [PREFIX-*] (commands: cmd1, cmd2)
Pipelines:
+- <pipeline-name>: TASK-001 -> TASK-002 -> TASK-003
Specs: pipelines, <additional>
Templates: <list or none>
- Present confirmation:
AskUserQuestion({
questions: [{
question: "Confirm this team skill configuration?",
header: "Configuration Review",
multiSelect: false,
options: [
{ label: "Confirm", description: "Proceed with generation" },
{ label: "Modify Roles", description: "Add, remove, or change roles" },
{ label: "Modify Pipelines", description: "Change pipeline structure" },
{ label: "Cancel", description: "Abort skill generation" }
]
}]
})
- Handle response:
| Response | Action |
|---|---|
| Confirm | Write teamConfig.json, report complete |
| Modify Roles | Loop back to role gathering |
| Modify Pipelines | Loop back to pipeline construction |
| Cancel | Report cancelled status |
Output: Confirmed teamConfig.json written to session folder
Structured Output Template
## Summary
- Configuration: <confirmed|modified|cancelled>
- Skill: <skill-name>
## Configuration
- Roles: <count> roles defined
- Pipelines: <count> pipelines
- Target: <target-dir>
## Details
- Role list with prefix and commands structure
- Pipeline definitions with task flow
- Specs and templates list
## Open Questions
1. Any unresolved items from clarification
Error Handling
| Scenario | Resolution |
|---|---|
| Reference skill not found | Report error, ask for correct path |
| Invalid role name | Suggest valid kebab-case alternative |
| Conflicting pipeline structure | Ask user to resolve |
| User does not respond | Timeout, report partial with current config |
| Processing failure | Output partial results with clear status indicator |