mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-02-06 01:54:11 +08:00
Compare commits
39 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bd9ae8b200 | ||
|
|
da908d8db4 | ||
|
|
3068c2ca83 | ||
|
|
ee7ffdae67 | ||
|
|
1f070638b4 | ||
|
|
57fa379e45 | ||
|
|
ef187d3a4b | ||
|
|
9cc2994509 | ||
|
|
db8f90428e | ||
|
|
047d809e23 | ||
|
|
69a654170a | ||
|
|
b9fc1ea8e1 | ||
|
|
a73a51355e | ||
|
|
12d010c1d8 | ||
|
|
d9cee7f17a | ||
|
|
598efea8f6 | ||
|
|
8b8c2e1208 | ||
|
|
d3f8d012a1 | ||
|
|
6fdcf9b8cc | ||
|
|
632a6e474a | ||
|
|
6a321c5ad6 | ||
|
|
e3a6c885db | ||
|
|
eb9b10c96b | ||
|
|
804617d8cd | ||
|
|
b6c1880abf | ||
|
|
7783ee0ac5 | ||
|
|
de3dc35c5b | ||
|
|
c640cfefe8 | ||
|
|
d3ddfadf16 | ||
|
|
2072ddfa6e | ||
|
|
9e584d911b | ||
|
|
b30a5269d2 | ||
|
|
5046565d4c | ||
|
|
8ebae76b74 | ||
|
|
83664cb777 | ||
|
|
360a2b9edc | ||
|
|
5123675fbf | ||
|
|
967490dcf6 | ||
|
|
e15da0e461 |
@@ -26,7 +26,7 @@ You are a pure execution agent specialized in creating actionable implementation
|
||||
- `session_id`: Workflow session identifier (WFS-[topic])
|
||||
- `session_metadata`: Session configuration and state
|
||||
- `analysis_results`: Analysis recommendations and task breakdown
|
||||
- `artifacts_inventory`: Detected brainstorming outputs (synthesis-spec, topic-framework, role analyses)
|
||||
- `artifacts_inventory`: Detected brainstorming outputs (role analyses, guidance-specification, role analyses)
|
||||
- `context_package`: Project context and assets
|
||||
- `mcp_capabilities`: Available MCP tools (code-index, exa-code, exa-web)
|
||||
- `mcp_analysis`: Optional pre-executed MCP analysis results
|
||||
@@ -77,8 +77,8 @@ Phase 2: Document Generation (Autonomous Output)
|
||||
"dependencies": [...]
|
||||
},
|
||||
"artifacts_inventory": {
|
||||
"synthesis_specification": ".workflow/WFS-auth/.brainstorming/synthesis-specification.md",
|
||||
"topic_framework": ".workflow/WFS-auth/.brainstorming/topic-framework.md",
|
||||
"synthesis_specification": ".workflow/WFS-auth/.brainstorming/role analysis documents",
|
||||
"topic_framework": ".workflow/WFS-auth/.brainstorming/guidance-specification.md",
|
||||
"role_analyses": [
|
||||
".workflow/WFS-auth/.brainstorming/system-architect/analysis.md",
|
||||
".workflow/WFS-auth/.brainstorming/subject-matter-expert/analysis.md"
|
||||
@@ -194,17 +194,17 @@ Generate individual `.task/IMPL-*.json` files with:
|
||||
"implementation_approach": [
|
||||
{
|
||||
"step": 1,
|
||||
"title": "Load and analyze synthesis specification",
|
||||
"description": "Load synthesis specification from artifacts and extract requirements",
|
||||
"modification_points": ["Load synthesis specification", "Extract requirements and design patterns"],
|
||||
"logic_flow": ["Read synthesis specification from artifacts", "Parse architecture decisions", "Extract implementation requirements"],
|
||||
"title": "Load and analyze role analyses",
|
||||
"description": "Load role analyses from artifacts and extract requirements",
|
||||
"modification_points": ["Load role analyses", "Extract requirements and design patterns"],
|
||||
"logic_flow": ["Read role analyses from artifacts", "Parse architecture decisions", "Extract implementation requirements"],
|
||||
"depends_on": [],
|
||||
"output": "synthesis_requirements"
|
||||
},
|
||||
{
|
||||
"step": 2,
|
||||
"title": "Implement following specification",
|
||||
"description": "Implement task requirements following consolidated synthesis specification",
|
||||
"description": "Implement task requirements following consolidated role analyses",
|
||||
"modification_points": ["Apply requirements from [synthesis_requirements]", "Modify target files", "Integrate with existing code"],
|
||||
"logic_flow": ["Apply changes based on [synthesis_requirements]", "Implement core logic", "Validate against acceptance criteria"],
|
||||
"depends_on": [1],
|
||||
|
||||
@@ -172,9 +172,17 @@ score = 0
|
||||
"analyze" → "Code understanding and pattern identification"
|
||||
```
|
||||
|
||||
|
||||
**2. Context Assembly**:
|
||||
```bash
|
||||
CONTEXT: @{CLAUDE.md} @{discovered_file1} @{discovered_file2} ...
|
||||
# Default: comprehensive context
|
||||
CONTEXT: @**/*
|
||||
|
||||
# Or specific patterns
|
||||
CONTEXT: @CLAUDE.md @{discovered_file1} @{discovered_file2} ...
|
||||
|
||||
# Cross-directory references (requires --include-directories)
|
||||
CONTEXT: @**/* @../shared/**/* @../types/**/*
|
||||
|
||||
## Discovered Context
|
||||
- **Project Structure**: {module_summary}
|
||||
@@ -187,6 +195,12 @@ CONTEXT: @{CLAUDE.md} @{discovered_file1} @{discovered_file2} ...
|
||||
{optional_best_practices_from_exa}
|
||||
```
|
||||
|
||||
**Context Pattern Guidelines**:
|
||||
- **Default**: Use `@**/*` for comprehensive context
|
||||
- **Specific files**: `@src/**/*` or `@*.ts @*.tsx`
|
||||
- **With docs**: `@CLAUDE.md @**/*CLAUDE.md`
|
||||
- **Cross-directory**: Must use `--include-directories` parameter (see Command Construction)
|
||||
|
||||
**3. Template Selection**:
|
||||
```
|
||||
intent=analyze → ~/.claude/workflows/cli-templates/prompts/analysis/pattern.txt
|
||||
@@ -194,6 +208,14 @@ intent=execute + complex → ~/.claude/workflows/cli-templates/prompts/developme
|
||||
intent=plan → ~/.claude/workflows/cli-templates/prompts/planning/task-breakdown.txt
|
||||
```
|
||||
|
||||
**3a. RULES Field Guidelines**:
|
||||
|
||||
When using `$(cat ...)` for template loading:
|
||||
- **Template reference only**: Use `$(cat ...)` directly, do NOT read template content first
|
||||
- **NEVER use escape characters**: `\$`, `\"`, `\'` will break command substitution
|
||||
- **Correct**: `RULES: $(cat ~/.claude/workflows/cli-templates/prompts/analysis/pattern.txt)`
|
||||
- **Wrong**: `RULES: \$(cat ...)` or `RULES: $(cat \"...\")`
|
||||
|
||||
**4. Structured Prompt**:
|
||||
```bash
|
||||
PURPOSE: {enhanced_intent}
|
||||
@@ -234,36 +256,91 @@ ELSE IF intent = 'discuss':
|
||||
# User --tool flag overrides auto-selection
|
||||
```
|
||||
|
||||
### Model Selection
|
||||
|
||||
**Gemini Models**:
|
||||
- `gemini-2.5-pro` - Analysis tasks (default)
|
||||
- `gemini-2.5-flash` - Documentation updates
|
||||
|
||||
**Qwen Models**:
|
||||
- `coder-model` - Code analysis (default, -m optional)
|
||||
- `vision-model` - Image analysis (rare usage)
|
||||
|
||||
**Codex Models**:
|
||||
- `gpt-5` - Analysis & execution (default)
|
||||
- `gpt5-codex` - Large context tasks
|
||||
|
||||
**Parameter Position**: `-m` must be placed AFTER prompt string
|
||||
|
||||
### Command Construction
|
||||
|
||||
**Gemini/Qwen (Analysis Mode)**:
|
||||
```bash
|
||||
cd {directory} && ~/.claude/scripts/{tool}-wrapper -p "
|
||||
# Use 'gemini' (primary) or 'qwen' (fallback)
|
||||
cd {directory} && gemini -p "
|
||||
{enhanced_prompt}
|
||||
"
|
||||
|
||||
# With model selection (NOTE: -m placed AFTER prompt)
|
||||
cd {directory} && gemini -p "{enhanced_prompt}" -m gemini-2.5-pro
|
||||
cd {directory} && qwen -p "{enhanced_prompt}" # coder-model default
|
||||
```
|
||||
|
||||
**Gemini/Qwen (Write Mode)**:
|
||||
```bash
|
||||
cd {directory} && ~/.claude/scripts/{tool}-wrapper --approval-mode yolo -p "
|
||||
# NOTE: --approval-mode yolo must be placed AFTER the prompt
|
||||
cd {directory} && gemini -p "
|
||||
{enhanced_prompt}
|
||||
"
|
||||
" -m gemini-2.5-flash --approval-mode yolo
|
||||
|
||||
# Fallback to Qwen
|
||||
cd {directory} && qwen -p "{enhanced_prompt}" --approval-mode yolo
|
||||
```
|
||||
|
||||
**Codex (Auto Mode)**:
|
||||
```bash
|
||||
# NOTE: -m, --skip-git-repo-check and -s danger-full-access must be placed at command END
|
||||
codex -C {directory} --full-auto exec "
|
||||
{enhanced_prompt}
|
||||
" --skip-git-repo-check -s danger-full-access
|
||||
" -m gpt-5 --skip-git-repo-check -s danger-full-access
|
||||
```
|
||||
|
||||
**Codex (Resume for Related Tasks)**:
|
||||
```bash
|
||||
# Parameter Position: resume --last must be placed AFTER prompt at command END
|
||||
codex --full-auto exec "
|
||||
{continuation_prompt}
|
||||
" resume --last --skip-git-repo-check -s danger-full-access
|
||||
```
|
||||
|
||||
**Cross-Directory Context (Gemini/Qwen)**:
|
||||
```bash
|
||||
# When CONTEXT references external directories, use --include-directories
|
||||
# TWO-STEP REQUIREMENT:
|
||||
# Step 1: Reference in CONTEXT (@../shared/**/*)
|
||||
# Step 2: Add --include-directories parameter
|
||||
cd src/auth && gemini -p "
|
||||
PURPOSE: {goal}
|
||||
CONTEXT: @**/* @../shared/**/* @../types/**/*
|
||||
...
|
||||
" --include-directories ../shared,../types
|
||||
```
|
||||
|
||||
### Directory Scope Rules
|
||||
|
||||
**Once `cd` to a directory**:
|
||||
- **@ references ONLY apply to current directory and its subdirectories**
|
||||
- `@**/*` = All files within current directory tree
|
||||
- `@*.ts` = TypeScript files in current directory tree
|
||||
- `@src/**/*` = Files within src subdirectory (if exists)
|
||||
- **CANNOT reference parent or sibling directories via @ alone**
|
||||
|
||||
**To reference files outside current directory**:
|
||||
- **Step 1**: Add `--include-directories` parameter
|
||||
- **Step 2**: Explicitly reference in CONTEXT field with @ patterns
|
||||
- **⚠️ BOTH steps are MANDATORY**
|
||||
- **Rule**: If CONTEXT contains `@../dir/**/*`, command MUST include `--include-directories ../dir`
|
||||
|
||||
### Timeout Configuration
|
||||
|
||||
```javascript
|
||||
|
||||
@@ -33,6 +33,14 @@ You are a code execution specialist focused on implementing high-quality, produc
|
||||
- User-provided task description and context
|
||||
- Existing documentation and code examples
|
||||
- Project CLAUDE.md standards
|
||||
- **context-package.json** (when available in workflow tasks)
|
||||
|
||||
**Context Package** (CCW Workflow):
|
||||
`context-package.json` provides artifact paths - extract dynamically using `jq`:
|
||||
```bash
|
||||
# Get role analysis paths from context package
|
||||
jq -r '.brainstorm_artifacts.role_analyses[].files[].path' context-package.json
|
||||
```
|
||||
|
||||
**Pre-Analysis: Smart Tech Stack Loading**:
|
||||
```bash
|
||||
|
||||
@@ -14,11 +14,11 @@ description: |
|
||||
Examples:
|
||||
- Context: Auto brainstorm assigns system-architect role
|
||||
auto.md: Assigns dedicated agent with ASSIGNED_ROLE: system-architect
|
||||
agent: "I'll execute system-architect analysis for this topic, creating architecture-focused conceptual analysis in .brainstorming/system-architect/ directory"
|
||||
agent: "I'll execute system-architect analysis for this topic, creating architecture-focused conceptual analysis in OUTPUT_LOCATION"
|
||||
|
||||
- Context: Auto brainstorm assigns ui-designer role
|
||||
auto.md: Assigns dedicated agent with ASSIGNED_ROLE: ui-designer
|
||||
agent: "I'll execute ui-designer analysis for this topic, creating UX-focused conceptual analysis in .brainstorming/ui-designer/ directory"
|
||||
agent: "I'll execute ui-designer analysis for this topic, creating UX-focused conceptual analysis in OUTPUT_LOCATION"
|
||||
|
||||
color: purple
|
||||
---
|
||||
@@ -99,7 +99,7 @@ This agent processes **simplified inline [FLOW_CONTROL]** format from brainstorm
|
||||
### Flow Control Steps
|
||||
1. **load_topic_framework**
|
||||
- Action: Load structured topic framework
|
||||
- Command: Read(.workflow/WFS-{session}/.brainstorming/topic-framework.md)
|
||||
- Command: Read(.workflow/WFS-{session}/.brainstorming/guidance-specification.md)
|
||||
- Output: topic_framework
|
||||
|
||||
2. **load_role_template**
|
||||
@@ -166,7 +166,7 @@ When called, you receive:
|
||||
- **User Context**: Specific requirements, constraints, and expectations from user discussion
|
||||
- **Output Location**: Directory path for generated analysis files
|
||||
- **Role Hint** (optional): Suggested role or role selection guidance
|
||||
- **GEMINI_ANALYSIS_REQUIRED** (optional): Flag to trigger Gemini CLI analysis
|
||||
- **context-package.json** (CCW Workflow): Artifact paths catalog - extract using `jq -r '.brainstorm_artifacts.role_analyses[].files[].path'`
|
||||
- **ASSIGNED_ROLE** (optional): Specific role assignment
|
||||
- **ANALYSIS_DIMENSIONS** (optional): Role-specific analysis dimensions
|
||||
|
||||
@@ -231,6 +231,7 @@ Generate documents according to loaded role template specifications:
|
||||
|
||||
**Required Files**:
|
||||
- **analysis.md**: Main role perspective analysis incorporating user context and role template
|
||||
- **Auto-split if large**: If content >800 lines, split to `analysis-1.md`, `analysis-2.md` (or `analysis-3.md` if >1600 lines, max 3 files)
|
||||
- **recommendations.md**: Role-specific strategic recommendations and action items
|
||||
- **[role-deliverables]/**: Directory for specialized role outputs as defined in planning role template
|
||||
|
||||
|
||||
@@ -53,8 +53,7 @@ You are an expert technical documentation specialist. Your responsibility is to
|
||||
{
|
||||
"step": "analyze_module_structure",
|
||||
"action": "Deep analysis of module structure and API",
|
||||
"command": "bash(cd src/auth && ~/.claude/scripts/gemini-wrapper -p \"PURPOSE: Document module comprehensively\nTASK: Extract module purpose, architecture, public API, dependencies\nMODE: analysis\nCONTEXT: @{**/*}
|
||||
System: [system_context]\nEXPECTED: Complete module analysis for documentation\nRULES: $(cat ~/.claude/workflows/cli-templates/prompts/documentation/module-documentation.txt)\")",
|
||||
"command": "bash(cd src/auth && gemini \"PURPOSE: Document module comprehensively\nTASK: Extract module purpose, architecture, public API, dependencies\nMODE: analysis\nCONTEXT: @**/* System: [system_context]\nEXPECTED: Complete module analysis for documentation\nRULES: $(cat ~/.claude/workflows/cli-templates/prompts/documentation/module-documentation.txt)\")",
|
||||
"output_to": "module_analysis",
|
||||
"on_error": "fail"
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
name: general-purpose
|
||||
name: universal-executor
|
||||
description: |
|
||||
Versatile execution agent for implementing any task efficiently. Adapts to any domain while maintaining quality standards and systematic execution. Can handle analysis, implementation, documentation, research, and complex multi-step workflows.
|
||||
|
||||
|
||||
@@ -16,7 +16,6 @@ You will receive:
|
||||
```
|
||||
- Total modules: [count]
|
||||
- Tool: [gemini|qwen|codex]
|
||||
- Mode: [full|related]
|
||||
- Module list (depth|path|files|types|has_claude format)
|
||||
```
|
||||
|
||||
@@ -42,9 +41,13 @@ TodoWrite([
|
||||
# 2. Extract module paths for current depth
|
||||
# 3. Launch parallel jobs (max 4)
|
||||
|
||||
# Depth 5 example:
|
||||
~/.claude/scripts/update_module_claude.sh "./.claude/workflows/cli-templates/prompts/analysis" "full" "gemini" &
|
||||
~/.claude/scripts/update_module_claude.sh "./.claude/workflows/cli-templates/prompts/development" "full" "gemini" &
|
||||
# Depth 5 example (Layer 3 - use multi-layer):
|
||||
~/.claude/scripts/update_module_claude.sh "multi-layer" "./.claude/workflows/cli-templates/prompts/analysis" "gemini" &
|
||||
~/.claude/scripts/update_module_claude.sh "multi-layer" "./.claude/workflows/cli-templates/prompts/development" "gemini" &
|
||||
|
||||
# Depth 1 example (Layer 2 - use single-layer):
|
||||
~/.claude/scripts/update_module_claude.sh "single-layer" "./src/auth" "gemini" &
|
||||
~/.claude/scripts/update_module_claude.sh "single-layer" "./src/api" "gemini" &
|
||||
# ... up to 4 concurrent jobs
|
||||
|
||||
# 4. Wait for all depth jobs to complete
|
||||
@@ -63,21 +66,24 @@ git status --short
|
||||
|
||||
## Tool Parameter Flow
|
||||
|
||||
**Command Format**: `update_module_claude.sh <path> <mode> <tool>`
|
||||
**Command Format**: `update_module_claude.sh <strategy> <path> <tool>`
|
||||
|
||||
Examples:
|
||||
- Gemini: `update_module_claude.sh "./.claude/agents" "full" "gemini" &`
|
||||
- Qwen: `update_module_claude.sh "./src/api" "full" "qwen" &`
|
||||
- Codex: `update_module_claude.sh "./tests" "full" "codex" &`
|
||||
- Layer 3 (depth ≥3): `update_module_claude.sh "multi-layer" "./.claude/agents" "gemini" &`
|
||||
- Layer 2 (depth 1-2): `update_module_claude.sh "single-layer" "./src/api" "qwen" &`
|
||||
- Layer 1 (depth 0): `update_module_claude.sh "single-layer" "./tests" "codex" &`
|
||||
|
||||
## Execution Rules
|
||||
|
||||
1. **Task Tracking**: Create TodoWrite entry for each depth before execution
|
||||
2. **Parallelism**: Max 4 jobs per depth, sequential across depths
|
||||
3. **Tool Passing**: Always pass tool parameter as 3rd argument
|
||||
4. **Path Accuracy**: Extract exact path from `depth:N|path:X|...` format
|
||||
5. **Completion**: Mark todo completed only after all depth jobs finish
|
||||
6. **No Skipping**: Process every module from input list
|
||||
3. **Strategy Assignment**: Assign strategy based on depth:
|
||||
- Depth ≥3 (Layer 3): Use "multi-layer" strategy
|
||||
- Depth 0-2 (Layers 1-2): Use "single-layer" strategy
|
||||
4. **Tool Passing**: Always pass tool parameter as 3rd argument
|
||||
5. **Path Accuracy**: Extract exact path from `depth:N|path:X|...` format
|
||||
6. **Completion**: Mark todo completed only after all depth jobs finish
|
||||
7. **No Skipping**: Process every module from input list
|
||||
|
||||
## Concise Output
|
||||
|
||||
|
||||
@@ -68,6 +68,7 @@ When task JSON contains implementation_approach array:
|
||||
### 1. Context Assessment & Test Discovery
|
||||
- Analyze task context to identify test files and source code paths
|
||||
- Load test framework configuration (Jest, Pytest, Mocha, etc.)
|
||||
- **context-package.json** (CCW Workflow): Extract artifact paths using `jq -r '.brainstorm_artifacts.role_analyses[].files[].path'`
|
||||
- Identify test command from project configuration
|
||||
|
||||
```bash
|
||||
|
||||
@@ -35,7 +35,7 @@ You are a specialized **UI Design Agent** that executes design generation tasks
|
||||
### 2. Layout Strategy Generation
|
||||
|
||||
**Invoked by**: `consolidate.md` Phase 2.5
|
||||
**Input**: Project context from synthesis-specification.md
|
||||
**Input**: Project context from role analysis documents
|
||||
**Task**: Research and generate adaptive layout strategies via Exa MCP (2024-2025 trends)
|
||||
|
||||
**Output**: layout-strategies.json with strategy definitions and rationale
|
||||
|
||||
@@ -67,24 +67,24 @@ The agent handles all phases internally (understanding, discovery, enhancement,
|
||||
|
||||
## File Pattern Auto-Detection
|
||||
|
||||
Keywords trigger specific file patterns:
|
||||
- "auth" → `@{**/*auth*,**/*user*}`
|
||||
- "component" → `@{src/components/**/*,**/*.component.*}`
|
||||
- "API" → `@{**/api/**/*,**/routes/**/*}`
|
||||
- "test" → `@{**/*.test.*,**/*.spec.*}`
|
||||
- "config" → `@{*.config.*,**/config/**/*}`
|
||||
- Generic → `@{src/**/*}`
|
||||
Keywords trigger specific file patterns (each @ references one pattern):
|
||||
- "auth" → `@**/*auth* @**/*user*`
|
||||
- "component" → `@src/components/**/* @**/*.component.*`
|
||||
- "API" → `@**/api/**/* @**/routes/**/*`
|
||||
- "test" → `@**/*.test.* @**/*.spec.*`
|
||||
- "config" → `@*.config.* @**/config/**/*`
|
||||
- Generic → `@src/**/*`
|
||||
|
||||
For complex patterns, use `rg` or MCP tools to discover files first, then execute CLI with precise file references.
|
||||
|
||||
## Command Template
|
||||
|
||||
```bash
|
||||
cd . && ~/.claude/scripts/gemini-wrapper -p "
|
||||
cd . && gemini -p "
|
||||
PURPOSE: [analysis goal from target]
|
||||
TASK: [auto-detected analysis type]
|
||||
MODE: analysis
|
||||
CONTEXT: @{CLAUDE.md} [auto-detected file patterns]
|
||||
CONTEXT: @CLAUDE.md [auto-detected file patterns]
|
||||
EXPECTED: Insights, patterns, recommendations (NO code modification)
|
||||
RULES: [auto-selected template] | Focus on [analysis aspect]
|
||||
"
|
||||
@@ -112,7 +112,7 @@ RULES: [auto-selected template] | Focus on [analysis aspect]
|
||||
|
||||
**Architecture Analysis**:
|
||||
```bash
|
||||
/cli:analyze --tool qwen "component architecture"
|
||||
/cli:analyze --tool qwen -p "component architecture"
|
||||
# Executes: Qwen with component file patterns
|
||||
# Returns: Architecture review, design patterns, improvement suggestions
|
||||
```
|
||||
|
||||
@@ -27,7 +27,6 @@ Direct Q&A interaction with CLI tools for codebase analysis. **Analysis only - d
|
||||
- `--agent` - Use cli-execution-agent for automated context discovery (5-phase intelligent mode)
|
||||
- `--tool <codex|gemini|qwen>` - Select CLI tool (default: gemini, ignored in agent mode)
|
||||
- `--enhance` - Enhance inquiry with `/enhance-prompt` first
|
||||
- `--all-files` - Include entire codebase in context
|
||||
- `--save-session` - Save interaction to workflow session
|
||||
|
||||
## Execution Flow
|
||||
@@ -36,7 +35,7 @@ Direct Q&A interaction with CLI tools for codebase analysis. **Analysis only - d
|
||||
|
||||
1. Parse tool selection (default: gemini)
|
||||
2. If `--enhance`: Execute `/enhance-prompt` to expand user intent
|
||||
3. Assemble context: `@{CLAUDE.md}` + user-specified files or `--all-files`
|
||||
3. Assemble context: `@CLAUDE.md` + user-specified files or `@**/*` for entire codebase
|
||||
4. Execute CLI tool with assembled context (read-only, analysis mode)
|
||||
5. Return explanations and insights (NO code changes)
|
||||
6. Optionally save to workflow session
|
||||
@@ -54,7 +53,6 @@ Task(
|
||||
Task: ${inquiry}
|
||||
Mode: analyze (Q&A)
|
||||
Tool Preference: ${tool_flag || 'auto-select'}
|
||||
${all_files_flag ? 'Scope: all-files' : ''}
|
||||
|
||||
Agent will autonomously:
|
||||
- Discover files relevant to the question
|
||||
@@ -69,22 +67,24 @@ The agent handles all phases internally.
|
||||
|
||||
## Context Assembly
|
||||
|
||||
**Always included**: `@{CLAUDE.md,**/*CLAUDE.md}` (project guidelines)
|
||||
**Always included**: `@CLAUDE.md @**/*CLAUDE.md` (project guidelines, space-separated)
|
||||
|
||||
**Optional**:
|
||||
- User-explicit files from inquiry keywords
|
||||
- `--all-files` flag includes entire codebase (`--all-files` wrapper parameter)
|
||||
- Use `@**/*` in CONTEXT for entire codebase
|
||||
|
||||
For targeted analysis, use `rg` or MCP tools to discover relevant files first, then build precise CONTEXT field.
|
||||
|
||||
## Command Template
|
||||
|
||||
```bash
|
||||
cd . && ~/.claude/scripts/gemini-wrapper -p "
|
||||
INQUIRY: [user question]
|
||||
CONTEXT: @{CLAUDE.md,**/*CLAUDE.md} [inferred or --all-files]
|
||||
cd . && gemini -p "
|
||||
PURPOSE: Answer user inquiry about codebase
|
||||
TASK: [user question]
|
||||
MODE: analysis
|
||||
RESPONSE: Direct answer, explanation, insights (NO code modification)
|
||||
CONTEXT: @CLAUDE.md @**/*CLAUDE.md [inferred files or @**/* for all files]
|
||||
EXPECTED: Direct answer, explanation, insights (NO code modification)
|
||||
RULES: Focus on clarity and accuracy
|
||||
"
|
||||
```
|
||||
|
||||
@@ -110,7 +110,7 @@ RESPONSE: Direct answer, explanation, insights (NO code modification)
|
||||
|
||||
**Architecture Question**:
|
||||
```bash
|
||||
/cli:chat --tool qwen "how does React component optimization work here"
|
||||
/cli:chat --tool qwen -p "how does React component optimization work here"
|
||||
# Executes: Qwen architecture analysis
|
||||
# Returns: Component structure explanation, optimization patterns used
|
||||
```
|
||||
@@ -130,13 +130,6 @@ RESPONSE: Direct answer, explanation, insights (NO code modification)
|
||||
# Returns: Detailed explanation of login flow and potential issues
|
||||
```
|
||||
|
||||
**Broad Context**:
|
||||
```bash
|
||||
/cli:chat --all-files "find all API endpoints"
|
||||
# Executes: Analysis across entire codebase
|
||||
# Returns: List and explanation of API endpoints (NO code generation)
|
||||
```
|
||||
|
||||
## Output Routing
|
||||
|
||||
**Output Destination Logic**:
|
||||
|
||||
@@ -32,7 +32,7 @@ Creates tool-specific configuration directories:
|
||||
- `.gemini/settings.json`:
|
||||
```json
|
||||
{
|
||||
"contextfilename": "CLAUDE.md"
|
||||
"contextfilename": ["CLAUDE.md","GEMINI.md"]
|
||||
}
|
||||
```
|
||||
|
||||
@@ -40,7 +40,7 @@ Creates tool-specific configuration directories:
|
||||
- `.qwen/settings.json`:
|
||||
```json
|
||||
{
|
||||
"contextfilename": "CLAUDE.md"
|
||||
"contextfilename": ["CLAUDE.md","QWEN.md"]
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
@@ -130,7 +130,7 @@ git status --short
|
||||
codex -C [dir] --full-auto exec "
|
||||
PURPOSE: [group goal]
|
||||
TASK: [subtask description - first in group]
|
||||
CONTEXT: @{relevant_files} @{CLAUDE.md}
|
||||
CONTEXT: @{relevant_files} @CLAUDE.md
|
||||
EXPECTED: [specific deliverables]
|
||||
RULES: [constraints]
|
||||
Group [X]: [group name] - Subtask 1 of N in this group
|
||||
@@ -164,7 +164,7 @@ git add -A
|
||||
codex -C [dir] --full-auto exec "
|
||||
PURPOSE: [new group goal]
|
||||
TASK: [subtask description - first in new group]
|
||||
CONTEXT: @{different_files} @{CLAUDE.md}
|
||||
CONTEXT: @{different_files} @CLAUDE.md
|
||||
EXPECTED: [specific deliverables]
|
||||
RULES: [constraints]
|
||||
Group [Y]: [new group name] - Subtask 1 of N in this group
|
||||
|
||||
@@ -69,11 +69,11 @@ Gemini analyzes the topic and proposes preliminary plan.
|
||||
```bash
|
||||
# Round 1: CONTEXT_INPUT is the initial topic
|
||||
# Subsequent rounds: CONTEXT_INPUT is the synthesis from previous round
|
||||
~/.claude/scripts/gemini-wrapper -p "
|
||||
gemini -p "
|
||||
PURPOSE: Analyze and propose a plan for '[topic]'
|
||||
TASK: Provide initial analysis, identify key modules, and draft implementation plan
|
||||
MODE: analysis
|
||||
CONTEXT: @{CLAUDE.md} [auto-detected files]
|
||||
CONTEXT: @CLAUDE.md [auto-detected files]
|
||||
INPUT: [CONTEXT_INPUT]
|
||||
EXPECTED: Structured analysis and draft plan for discussion
|
||||
RULES: Focus on technical depth and practical considerations
|
||||
@@ -90,7 +90,7 @@ codex --full-auto exec "
|
||||
PURPOSE: Critically review technical plan
|
||||
TASK: Review the provided plan, identify weaknesses, suggest alternatives, reason about trade-offs
|
||||
MODE: analysis
|
||||
CONTEXT: @{CLAUDE.md} [relevant files]
|
||||
CONTEXT: @CLAUDE.md [relevant files]
|
||||
INPUT_PLAN: [Output from Gemini's analysis]
|
||||
EXPECTED: Critical review with alternative ideas and risk analysis
|
||||
RULES: Focus on architectural soundness and implementation feasibility
|
||||
|
||||
@@ -45,11 +45,11 @@ Auto-approves: file pattern inference, execution, **file modifications**, summar
|
||||
|
||||
### Context Inference
|
||||
|
||||
Auto-selects files based on keywords and technology:
|
||||
- "auth" → `@{**/*auth*,**/*user*}`
|
||||
- "React" → `@{src/**/*.{jsx,tsx}}`
|
||||
- "api" → `@{**/api/**/*,**/routes/**/*}`
|
||||
- Always includes: `@{CLAUDE.md,**/*CLAUDE.md}`
|
||||
Auto-selects files based on keywords and technology (each @ references one pattern):
|
||||
- "auth" → `@**/*auth* @**/*user*`
|
||||
- "React" → `@src/**/*.jsx @src/**/*.tsx`
|
||||
- "api" → `@**/api/**/* @**/routes/**/*`
|
||||
- Always includes: `@CLAUDE.md @**/*CLAUDE.md`
|
||||
|
||||
For precise file targeting, use `rg` or MCP tools to discover files first.
|
||||
|
||||
@@ -111,11 +111,11 @@ Use `resume --last` when current task extends/relates to previous execution. See
|
||||
### Standard Mode (Default)
|
||||
```bash
|
||||
# Gemini/Qwen: MODE=write with --approval-mode yolo
|
||||
cd . && ~/.claude/scripts/gemini-wrapper --approval-mode yolo -p "
|
||||
cd . && gemini --approval-mode yolo "
|
||||
PURPOSE: [implementation goal]
|
||||
TASK: [specific implementation]
|
||||
MODE: write
|
||||
CONTEXT: @{CLAUDE.md} [auto-detected files]
|
||||
CONTEXT: @CLAUDE.md [auto-detected files]
|
||||
EXPECTED: Working implementation with code changes
|
||||
RULES: [constraints] | Auto-approve all changes
|
||||
"
|
||||
|
||||
@@ -79,11 +79,11 @@ The agent handles all phases internally.
|
||||
## Command Template
|
||||
|
||||
```bash
|
||||
cd [directory] && ~/.claude/scripts/gemini-wrapper --all-files -p "
|
||||
cd [directory] && gemini -p "
|
||||
PURPOSE: [bug analysis goal]
|
||||
TASK: Systematic bug analysis and fix recommendations
|
||||
MODE: analysis
|
||||
CONTEXT: @{CLAUDE.md,**/*CLAUDE.md} [entire codebase in directory]
|
||||
CONTEXT: @CLAUDE.md @**/*CLAUDE.md [entire codebase in directory]
|
||||
EXPECTED: Root cause analysis, code path tracing, targeted fix suggestions
|
||||
RULES: $(cat ~/.claude/prompt-templates/bug-fix.md) | Bug: [description]
|
||||
"
|
||||
@@ -111,11 +111,11 @@ RULES: $(cat ~/.claude/prompt-templates/bug-fix.md) | Bug: [description]
|
||||
|
||||
**Standard Template Example**:
|
||||
```bash
|
||||
cd . && ~/.claude/scripts/gemini-wrapper --all-files -p "
|
||||
cd . && gemini -p "
|
||||
PURPOSE: Debug authentication null pointer error
|
||||
TASK: Identify root cause and provide fix recommendations
|
||||
MODE: analysis
|
||||
CONTEXT: @{CLAUDE.md,**/*CLAUDE.md}
|
||||
CONTEXT: @CLAUDE.md @**/*CLAUDE.md
|
||||
EXPECTED: Root cause, code path, minimal fix suggestion, impact assessment
|
||||
RULES: $(cat ~/.claude/prompt-templates/bug-fix.md) | Bug: null pointer in login flow
|
||||
"
|
||||
@@ -123,11 +123,11 @@ RULES: $(cat ~/.claude/prompt-templates/bug-fix.md) | Bug: null pointer in login
|
||||
|
||||
**Directory-Specific**:
|
||||
```bash
|
||||
cd src/auth && ~/.claude/scripts/gemini-wrapper --all-files -p "
|
||||
cd src/auth && gemini -p "
|
||||
PURPOSE: Fix token validation failure
|
||||
TASK: Analyze token validation bug in auth module
|
||||
MODE: analysis
|
||||
CONTEXT: @{CLAUDE.md,**/*CLAUDE.md}
|
||||
CONTEXT: @CLAUDE.md @**/*CLAUDE.md
|
||||
EXPECTED: Validation logic analysis, fix recommendation with minimal changes
|
||||
RULES: $(cat ~/.claude/prompt-templates/bug-fix.md) | Bug: token validation fails intermittently
|
||||
"
|
||||
@@ -138,7 +138,7 @@ RULES: $(cat ~/.claude/prompt-templates/bug-fix.md) | Bug: token validation fail
|
||||
```bash
|
||||
# 1. Find bug-related files
|
||||
rg "error_keyword" --files-with-matches
|
||||
mcp__code-index__search_code_advanced(pattern="error|exception", file_pattern="*.ts")
|
||||
rg "error|exception" -g "*.ts"
|
||||
|
||||
# 2. Execute bug analysis with focused context (analysis only, no code changes)
|
||||
/cli:mode:bug-index --cd "src/module" "specific error description"
|
||||
@@ -161,4 +161,4 @@ mcp__code-index__search_code_advanced(pattern="error|exception", file_pattern="*
|
||||
- Command templates and file patterns: see intelligent-tools-strategy.md (loaded in memory)
|
||||
- Scratchpad directory details: see workflow-architecture.md
|
||||
- Template path: `~/.claude/prompt-templates/bug-fix.md`
|
||||
- Always uses `--all-files` for comprehensive codebase context
|
||||
- Uses `@**/*` for in CONTEXT field for comprehensive codebase context
|
||||
|
||||
@@ -82,11 +82,11 @@ The agent handles all phases internally.
|
||||
## Command Template
|
||||
|
||||
```bash
|
||||
cd [directory] && ~/.claude/scripts/gemini-wrapper --all-files -p "
|
||||
cd [directory] && gemini -p "
|
||||
PURPOSE: [analysis goal]
|
||||
TASK: Systematic code analysis and execution path tracing
|
||||
MODE: analysis
|
||||
CONTEXT: @{CLAUDE.md,**/*CLAUDE.md} [entire codebase in directory]
|
||||
CONTEXT: @CLAUDE.md @**/*CLAUDE.md [entire codebase in directory]
|
||||
EXPECTED: Execution trace, call flow diagram, debugging insights
|
||||
RULES: $(cat ~/.claude/prompt-templates/code-analysis.md) | Focus on [aspect]
|
||||
"
|
||||
@@ -114,11 +114,11 @@ RULES: $(cat ~/.claude/prompt-templates/code-analysis.md) | Focus on [aspect]
|
||||
|
||||
**Standard Template Example**:
|
||||
```bash
|
||||
cd . && ~/.claude/scripts/gemini-wrapper --all-files -p "
|
||||
cd . && gemini -p "
|
||||
PURPOSE: Trace authentication execution flow
|
||||
TASK: Analyze complete auth flow from request to response
|
||||
MODE: analysis
|
||||
CONTEXT: @{CLAUDE.md,**/*CLAUDE.md}
|
||||
CONTEXT: @CLAUDE.md @**/*CLAUDE.md
|
||||
EXPECTED: Step-by-step execution trace with call diagram, variable states
|
||||
RULES: $(cat ~/.claude/prompt-templates/code-analysis.md) | Focus on control flow
|
||||
"
|
||||
@@ -126,11 +126,11 @@ RULES: $(cat ~/.claude/prompt-templates/code-analysis.md) | Focus on control flo
|
||||
|
||||
**Directory-Specific Analysis**:
|
||||
```bash
|
||||
cd src/auth && ~/.claude/scripts/gemini-wrapper --all-files -p "
|
||||
cd src/auth && gemini -p "
|
||||
PURPOSE: Understand JWT token validation logic
|
||||
TASK: Trace JWT validation from middleware to service layer
|
||||
MODE: analysis
|
||||
CONTEXT: @{CLAUDE.md,**/*CLAUDE.md}
|
||||
CONTEXT: @CLAUDE.md @**/*CLAUDE.md
|
||||
EXPECTED: Validation flow diagram, token lifecycle analysis
|
||||
RULES: $(cat ~/.claude/prompt-templates/code-analysis.md) | Focus on security
|
||||
"
|
||||
@@ -141,7 +141,7 @@ RULES: $(cat ~/.claude/prompt-templates/code-analysis.md) | Focus on security
|
||||
```bash
|
||||
# 1. Find entry points and related files
|
||||
rg "function.*authenticate|class.*AuthService" --files-with-matches
|
||||
mcp__code-index__search_code_advanced(pattern="authenticate|login", file_pattern="*.ts")
|
||||
rg "authenticate|login" -g "*.ts"
|
||||
|
||||
# 2. Build call graph understanding
|
||||
# entry → middleware → service → repository
|
||||
@@ -167,4 +167,4 @@ mcp__code-index__search_code_advanced(pattern="authenticate|login", file_pattern
|
||||
- Command templates and file patterns: see intelligent-tools-strategy.md (loaded in memory)
|
||||
- Scratchpad directory details: see workflow-architecture.md
|
||||
- Template path: `~/.claude/prompt-templates/code-analysis.md`
|
||||
- Always uses `--all-files` for comprehensive code context
|
||||
- Uses `@**/*` for in CONTEXT field for comprehensive code context
|
||||
|
||||
@@ -80,11 +80,11 @@ The agent handles all phases internally.
|
||||
## Command Template
|
||||
|
||||
```bash
|
||||
cd [directory] && ~/.claude/scripts/gemini-wrapper --all-files -p "
|
||||
cd [directory] && gemini -p "
|
||||
PURPOSE: [planning goal from topic]
|
||||
TASK: Comprehensive planning and architecture analysis
|
||||
MODE: analysis
|
||||
CONTEXT: @{CLAUDE.md,**/*CLAUDE.md} [entire codebase in directory]
|
||||
CONTEXT: @CLAUDE.md @**/*CLAUDE.md [entire codebase in directory]
|
||||
EXPECTED: Strategic insights, implementation recommendations, key decisions
|
||||
RULES: $(cat ~/.claude/prompt-templates/plan.md) | Focus on [topic area]
|
||||
"
|
||||
@@ -112,11 +112,11 @@ RULES: $(cat ~/.claude/prompt-templates/plan.md) | Focus on [topic area]
|
||||
|
||||
**Standard Template Example**:
|
||||
```bash
|
||||
cd . && ~/.claude/scripts/gemini-wrapper --all-files -p "
|
||||
cd . && gemini -p "
|
||||
PURPOSE: Design user dashboard architecture
|
||||
TASK: Plan dashboard component structure and data flow
|
||||
MODE: analysis
|
||||
CONTEXT: @{CLAUDE.md,**/*CLAUDE.md}
|
||||
CONTEXT: @CLAUDE.md @**/*CLAUDE.md
|
||||
EXPECTED: Architecture recommendations, component design, data flow diagram
|
||||
RULES: $(cat ~/.claude/prompt-templates/plan.md) | Focus on scalability
|
||||
"
|
||||
@@ -124,11 +124,11 @@ RULES: $(cat ~/.claude/prompt-templates/plan.md) | Focus on scalability
|
||||
|
||||
**Directory-Specific Planning**:
|
||||
```bash
|
||||
cd src/api && ~/.claude/scripts/gemini-wrapper --all-files -p "
|
||||
cd src/api && gemini -p "
|
||||
PURPOSE: Plan API refactoring strategy
|
||||
TASK: Analyze current API structure and recommend improvements
|
||||
MODE: analysis
|
||||
CONTEXT: @{CLAUDE.md,**/*CLAUDE.md}
|
||||
CONTEXT: @CLAUDE.md @**/*CLAUDE.md
|
||||
EXPECTED: Refactoring roadmap, breaking change analysis, migration plan
|
||||
RULES: $(cat ~/.claude/prompt-templates/plan.md) | Maintain backward compatibility
|
||||
"
|
||||
@@ -139,7 +139,7 @@ RULES: $(cat ~/.claude/prompt-templates/plan.md) | Maintain backward compatibili
|
||||
```bash
|
||||
# 1. Discover project structure
|
||||
~/.claude/scripts/get_modules_by_depth.sh
|
||||
mcp__code-index__find_files(pattern="*.ts")
|
||||
find . -name "*.ts" -type f
|
||||
|
||||
# 2. Gather existing architecture info
|
||||
rg "architecture|design" --files-with-matches
|
||||
@@ -165,4 +165,4 @@ rg "architecture|design" --files-with-matches
|
||||
- Command templates and file patterns: see intelligent-tools-strategy.md (loaded in memory)
|
||||
- Scratchpad directory details: see workflow-architecture.md
|
||||
- Template path: `~/.claude/prompt-templates/plan.md`
|
||||
- Always uses `--all-files` for comprehensive project context
|
||||
- Uses `@**/*` for in CONTEXT field for comprehensive project context
|
||||
|
||||
@@ -9,9 +9,10 @@ argument-hint: "[path] [--tool <gemini|qwen|codex>] [--mode <full|partial>] [--c
|
||||
## Overview
|
||||
Lightweight planner that analyzes project structure, decomposes documentation work into tasks, and generates execution plans. Does NOT generate documentation content itself - delegates to doc-generator agent.
|
||||
|
||||
**Documentation Output**: All generated documentation is placed in `.workflow/docs/` directory with **mirrored project structure**. For example:
|
||||
- Source: `src/modules/auth/index.ts` → Docs: `.workflow/docs/src/modules/auth/API.md`
|
||||
- Source: `lib/core/utils.js` → Docs: `.workflow/docs/lib/core/README.md`
|
||||
**Documentation Output**: All generated documentation is placed in `.workflow/docs/{project_name}/` directory with **mirrored project structure**. For example:
|
||||
- Project: `my_app`
|
||||
- Source: `my_app/src/core/` → Docs: `.workflow/docs/my_app/src/core/API.md`
|
||||
- Source: `my_app/src/modules/auth/` → Docs: `.workflow/docs/my_app/src/modules/auth/API.md`
|
||||
|
||||
**Two Execution Modes**:
|
||||
- **Default**: CLI analyzes in `pre_analysis` (MODE=analysis), agent writes docs in `implementation_approach`
|
||||
@@ -19,14 +20,13 @@ Lightweight planner that analyzes project structure, decomposes documentation wo
|
||||
|
||||
## Path Mirroring Strategy
|
||||
|
||||
**Principle**: Documentation structure **mirrors** source code structure.
|
||||
**Principle**: Documentation structure **mirrors** source code structure under project-specific directory.
|
||||
|
||||
| Source Path | Documentation Path |
|
||||
|------------|-------------------|
|
||||
| `src/modules/auth/index.ts` | `.workflow/docs/src/modules/auth/API.md` |
|
||||
| `src/modules/auth/middleware/` | `.workflow/docs/src/modules/auth/middleware/README.md` |
|
||||
| `lib/core/utils.js` | `.workflow/docs/lib/core/API.md` |
|
||||
| `lib/core/helpers/` | `.workflow/docs/lib/core/helpers/README.md` |
|
||||
| Source Path | Project Name | Documentation Path |
|
||||
|------------|--------------|-------------------|
|
||||
| `my_app/src/core/` | `my_app` | `.workflow/docs/my_app/src/core/API.md` |
|
||||
| `my_app/src/modules/auth/` | `my_app` | `.workflow/docs/my_app/src/modules/auth/API.md` |
|
||||
| `another_project/lib/utils/` | `another_project` | `.workflow/docs/another_project/lib/utils/API.md` |
|
||||
|
||||
**Benefits**:
|
||||
- Easy to locate documentation for any source file
|
||||
@@ -92,6 +92,9 @@ bash(
|
||||
target_path=$(cd "$path" 2>/dev/null && pwd || echo "$PWD/$path")
|
||||
fi
|
||||
|
||||
# Extract project name from target_path
|
||||
project_name=$(basename "$target_path")
|
||||
|
||||
# Create session
|
||||
timestamp=$(date +%Y%m%d-%H%M%S)
|
||||
session="WFS-docs-${timestamp}"
|
||||
@@ -106,6 +109,7 @@ bash(
|
||||
"path": "${path}",
|
||||
"target_path": "${target_path}",
|
||||
"project_root": "${project_root}",
|
||||
"project_name": "${project_name}",
|
||||
"mode": "${mode}",
|
||||
"tool": "${tool}",
|
||||
"cli_generate": ${cli_generate}
|
||||
@@ -129,9 +133,11 @@ EOF
|
||||
|
||||
### Phase 2: Analyze Structure
|
||||
|
||||
**Smart filter**: Auto-detect and skip tests/build/config/vendor based on project tech stack (Node.js/Python/Go/Rust/etc).
|
||||
|
||||
#### Step 1: Discover and Classify Folders
|
||||
```bash
|
||||
# Run analysis pipeline (module discovery + folder classification)
|
||||
# Run analysis pipeline (module discovery + folder classification + smart filtering)
|
||||
bash(~/.claude/scripts/get_modules_by_depth.sh | ~/.claude/scripts/classify-folders.sh > .workflow/WFS-docs-20240120/.process/folder-analysis.txt)
|
||||
```
|
||||
|
||||
@@ -142,6 +148,12 @@ bash(~/.claude/scripts/get_modules_by_depth.sh | ~/.claude/scripts/classify-fold
|
||||
./src/utils|navigation|code:0|dirs:4
|
||||
```
|
||||
|
||||
**Auto-skipped**:
|
||||
- Tests: `**/test/**`, `**/*.test.*`, `**/__tests__/**`
|
||||
- Build: `**/node_modules/**`, `**/dist/**`, `**/build/**`
|
||||
- Config: Root-level config files (package.json, tsconfig.json, etc)
|
||||
- Vendor: Language-specific dependency directories
|
||||
|
||||
#### Step 2: Extract Top-Level Directories
|
||||
```bash
|
||||
# Group folders by top-level directory
|
||||
@@ -183,41 +195,48 @@ bash(jq '. + {analysis: {total: "15", code: "8", navigation: "7", top_level: "3"
|
||||
|
||||
### Phase 3: Detect Update Mode
|
||||
|
||||
#### Step 1: Count Existing Documentation in .workflow/docs/
|
||||
#### Step 1: Count Existing Documentation in .workflow/docs/{project_name}/
|
||||
```bash
|
||||
# Check .workflow/docs/ directory and count existing files
|
||||
bash(if [[ -d ".workflow/docs" ]]; then
|
||||
find .workflow/docs -name "*.md" 2>/dev/null | wc -l
|
||||
else
|
||||
echo "0"
|
||||
fi)
|
||||
# Check .workflow/docs/{project_name}/ directory and count existing files
|
||||
bash(
|
||||
project_name=$(jq -r '.project_name' .workflow/WFS-docs-20240120/.process/config.json)
|
||||
if [[ -d ".workflow/docs/${project_name}" ]]; then
|
||||
find .workflow/docs/${project_name} -name "*.md" 2>/dev/null | wc -l
|
||||
else
|
||||
echo "0"
|
||||
fi
|
||||
)
|
||||
```
|
||||
|
||||
**Output**: `5` (existing docs in .workflow/docs/)
|
||||
**Output**: `5` (existing docs in .workflow/docs/{project_name}/)
|
||||
|
||||
#### Step 2: List Existing Documentation
|
||||
```bash
|
||||
# List existing files in .workflow/docs/ (for task context)
|
||||
bash(if [[ -d ".workflow/docs" ]]; then
|
||||
find .workflow/docs -name "*.md" 2>/dev/null > .workflow/WFS-docs-20240120/.process/existing-docs.txt
|
||||
else
|
||||
touch .workflow/WFS-docs-20240120/.process/existing-docs.txt
|
||||
fi)
|
||||
# List existing files in .workflow/docs/{project_name}/ (for task context)
|
||||
bash(
|
||||
project_name=$(jq -r '.project_name' .workflow/WFS-docs-20240120/.process/config.json)
|
||||
if [[ -d ".workflow/docs/${project_name}" ]]; then
|
||||
find .workflow/docs/${project_name} -name "*.md" 2>/dev/null > .workflow/WFS-docs-20240120/.process/existing-docs.txt
|
||||
else
|
||||
touch .workflow/WFS-docs-20240120/.process/existing-docs.txt
|
||||
fi
|
||||
)
|
||||
```
|
||||
|
||||
**Output** (existing-docs.txt):
|
||||
```
|
||||
.workflow/docs/src/modules/auth/API.md
|
||||
.workflow/docs/src/modules/auth/README.md
|
||||
.workflow/docs/lib/core/README.md
|
||||
.workflow/docs/README.md
|
||||
.workflow/docs/my_app/src/modules/auth/API.md
|
||||
.workflow/docs/my_app/src/modules/auth/README.md
|
||||
.workflow/docs/my_app/lib/core/README.md
|
||||
.workflow/docs/my_app/README.md
|
||||
```
|
||||
|
||||
#### Step 3: Update Config with Update Status
|
||||
```bash
|
||||
# Determine update status (create or update) and update config
|
||||
bash(
|
||||
existing_count=$(find .workflow/docs -name "*.md" 2>/dev/null | wc -l)
|
||||
project_name=$(jq -r '.project_name' .workflow/WFS-docs-20240120/.process/config.json)
|
||||
existing_count=$(find .workflow/docs/${project_name} -name "*.md" 2>/dev/null | wc -l)
|
||||
if [[ $existing_count -gt 0 ]]; then
|
||||
jq ". + {update_mode: \"update\", existing_docs: $existing_count}" .workflow/WFS-docs-20240120/.process/config.json > .workflow/WFS-docs-20240120/.process/config.json.tmp && mv .workflow/WFS-docs-20240120/.process/config.json.tmp .workflow/WFS-docs-20240120/.process/config.json
|
||||
else
|
||||
@@ -345,7 +364,8 @@ bash(
|
||||
if [[ "$tool" == "codex" ]]; then
|
||||
echo "codex -C \${dir} --full-auto exec \"...\" --skip-git-repo-check -s danger-full-access"
|
||||
else
|
||||
echo "bash(cd \${dir} && ~/.claude/scripts/${tool}-wrapper ${approval_flag} -p \"...\")"
|
||||
echo "bash(cd \${dir} && ${tool} ${approval_flag} -p \"...\")"
|
||||
# Direct CLI commands for gemini/qwen
|
||||
fi
|
||||
)
|
||||
```
|
||||
@@ -354,7 +374,10 @@ bash(
|
||||
|
||||
### Level 1: Module Tree Task
|
||||
|
||||
**Path Mapping**: Source `src/modules/` → Output `.workflow/docs/src/modules/`
|
||||
**Path Mapping**:
|
||||
- Project: `{project_name}` (extracted from target_path)
|
||||
- Source: `{project_name}/src/modules/`
|
||||
- Output: `.workflow/docs/{project_name}/src/modules/`
|
||||
|
||||
**Default Mode (cli_generate=false)**:
|
||||
```json
|
||||
@@ -368,12 +391,12 @@ bash(
|
||||
"tool": "gemini",
|
||||
"cli_generate": false,
|
||||
"source_path": "src/modules",
|
||||
"output_path": ".workflow/docs/src/modules"
|
||||
"output_path": ".workflow/docs/${project_name}/src/modules"
|
||||
},
|
||||
"context": {
|
||||
"requirements": [
|
||||
"Analyze source code in src/modules/",
|
||||
"Generate docs to .workflow/docs/src/modules/ (mirrored structure)",
|
||||
"Generate docs to .workflow/docs/${project_name}/src/modules/ (mirrored structure)",
|
||||
"For code folders: generate API.md + README.md",
|
||||
"For navigation folders: generate README.md only"
|
||||
],
|
||||
@@ -384,7 +407,7 @@ bash(
|
||||
"pre_analysis": [
|
||||
{
|
||||
"step": "load_existing_docs",
|
||||
"command": "bash(find .workflow/docs/${top_dir} -name '*.md' 2>/dev/null | xargs cat || echo 'No existing docs')",
|
||||
"command": "bash(find .workflow/docs/${project_name}/${top_dir} -name '*.md' 2>/dev/null | xargs cat || echo 'No existing docs')",
|
||||
"output_to": "existing_module_docs"
|
||||
},
|
||||
{
|
||||
@@ -394,7 +417,7 @@ bash(
|
||||
},
|
||||
{
|
||||
"step": "analyze_module_tree",
|
||||
"command": "bash(cd src/modules && ~/.claude/scripts/gemini-wrapper -p \"PURPOSE: Analyze module structure\\nTASK: Generate documentation outline\\nMODE: analysis\\nCONTEXT: @{**/*} [target_folders]\\nEXPECTED: Structure outline\\nRULES: Analyze only\")",
|
||||
"command": "bash(cd src/modules && gemini \"PURPOSE: Analyze module structure\\nTASK: Generate documentation outline\\nMODE: analysis\\nCONTEXT: @**/* [target_folders]\\nEXPECTED: Structure outline\\nRULES: Analyze only\")",
|
||||
"output_to": "tree_outline",
|
||||
"note": "CLI for analysis only"
|
||||
}
|
||||
@@ -407,7 +430,7 @@ bash(
|
||||
"modification_points": [
|
||||
"Parse folder types from [target_folders]",
|
||||
"Parse structure from [tree_outline]",
|
||||
"For src/modules/auth/ → write to .workflow/docs/src/modules/auth/",
|
||||
"For src/modules/auth/ → write to .workflow/docs/${project_name}/src/modules/auth/",
|
||||
"Generate API.md for code folders",
|
||||
"Generate README.md for all folders"
|
||||
],
|
||||
@@ -415,7 +438,7 @@ bash(
|
||||
"Parse [target_folders] to get folder types",
|
||||
"Parse [tree_outline] for structure",
|
||||
"For each folder in source:",
|
||||
" - Map source_path to .workflow/docs/{source_path}",
|
||||
" - Map source_path to .workflow/docs/${project_name}/{source_path}",
|
||||
" - If type == 'code': Generate API.md + README.md",
|
||||
" - Elif type == 'navigation': Generate README.md only"
|
||||
],
|
||||
@@ -424,8 +447,8 @@ bash(
|
||||
}
|
||||
],
|
||||
"target_files": [
|
||||
".workflow/docs/${top_dir}/*/API.md",
|
||||
".workflow/docs/${top_dir}/*/README.md"
|
||||
".workflow/docs/${project_name}/${top_dir}/*/API.md",
|
||||
".workflow/docs/${project_name}/${top_dir}/*/README.md"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -443,12 +466,12 @@ bash(
|
||||
"tool": "gemini",
|
||||
"cli_generate": true,
|
||||
"source_path": "src/modules",
|
||||
"output_path": ".workflow/docs/src/modules"
|
||||
"output_path": ".workflow/docs/${project_name}/src/modules"
|
||||
},
|
||||
"context": {
|
||||
"requirements": [
|
||||
"Analyze source code in src/modules/",
|
||||
"Generate docs to .workflow/docs/src/modules/ (mirrored structure)",
|
||||
"Generate docs to .workflow/docs/${project_name}/src/modules/ (mirrored structure)",
|
||||
"CLI generates documentation files directly"
|
||||
],
|
||||
"focus_paths": ["src/modules"]
|
||||
@@ -457,7 +480,7 @@ bash(
|
||||
"pre_analysis": [
|
||||
{
|
||||
"step": "load_existing_docs",
|
||||
"command": "bash(find .workflow/docs/${top_dir} -name '*.md' 2>/dev/null | xargs cat || echo 'No existing docs')",
|
||||
"command": "bash(find .workflow/docs/${project_name}/${top_dir} -name '*.md' 2>/dev/null | xargs cat || echo 'No existing docs')",
|
||||
"output_to": "existing_module_docs"
|
||||
},
|
||||
{
|
||||
@@ -482,22 +505,22 @@ bash(
|
||||
"description": "Call CLI to generate docs to .workflow/docs/ with mirrored structure using MODE=write",
|
||||
"modification_points": [
|
||||
"Execute CLI generation command",
|
||||
"Generate files to .workflow/docs/src/modules/ (mirrored path)",
|
||||
"Generate files to .workflow/docs/${project_name}/src/modules/ (mirrored path)",
|
||||
"Generate API.md and README.md files"
|
||||
],
|
||||
"logic_flow": [
|
||||
"CLI analyzes source code in src/modules/",
|
||||
"CLI writes documentation to .workflow/docs/src/modules/",
|
||||
"CLI writes documentation to .workflow/docs/${project_name}/src/modules/",
|
||||
"Maintains directory structure mirroring"
|
||||
],
|
||||
"command": "bash(cd src/modules && ~/.claude/scripts/gemini-wrapper --approval-mode yolo -p \"PURPOSE: Generate module docs\\nTASK: Create documentation files in .workflow/docs/src/modules/\\nMODE: write\\nCONTEXT: @{**/*} [target_folders] [existing_module_docs]\\nEXPECTED: API.md and README.md in .workflow/docs/src/modules/\\nRULES: Mirror source structure, generate complete docs\")",
|
||||
"command": "bash(cd src/modules && gemini --approval-mode yolo \"PURPOSE: Generate module docs\\nTASK: Create documentation files in .workflow/docs/${project_name}/src/modules/\\nMODE: write\\nCONTEXT: @**/* [target_folders] [existing_module_docs]\\nEXPECTED: API.md and README.md in .workflow/docs/${project_name}/src/modules/\\nRULES: Mirror source structure, generate complete docs\")",
|
||||
"depends_on": [1],
|
||||
"output": "generated_docs"
|
||||
}
|
||||
],
|
||||
"target_files": [
|
||||
".workflow/docs/${top_dir}/*/API.md",
|
||||
".workflow/docs/${top_dir}/*/README.md"
|
||||
".workflow/docs/${project_name}/${top_dir}/*/API.md",
|
||||
".workflow/docs/${project_name}/${top_dir}/*/README.md"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -522,18 +545,18 @@ bash(
|
||||
"pre_analysis": [
|
||||
{
|
||||
"step": "load_existing_readme",
|
||||
"command": "bash(cat .workflow/docs/README.md 2>/dev/null || echo 'No existing README')",
|
||||
"command": "bash(cat .workflow/docs/${project_name}/README.md 2>/dev/null || echo 'No existing README')",
|
||||
"output_to": "existing_readme"
|
||||
},
|
||||
{
|
||||
"step": "load_module_docs",
|
||||
"command": "bash(find .workflow/docs -type f -name '*.md' ! -path '.workflow/docs/README.md' ! -path '.workflow/docs/ARCHITECTURE.md' ! -path '.workflow/docs/EXAMPLES.md' ! -path '.workflow/docs/api/*' | xargs cat)",
|
||||
"command": "bash(find .workflow/docs/${project_name} -type f -name '*.md' ! -path '.workflow/docs/${project_name}/README.md' ! -path '.workflow/docs/${project_name}/ARCHITECTURE.md' ! -path '.workflow/docs/${project_name}/EXAMPLES.md' ! -path '.workflow/docs/${project_name}/api/*' | xargs cat)",
|
||||
"output_to": "all_module_docs",
|
||||
"note": "Load all module docs from mirrored structure"
|
||||
},
|
||||
{
|
||||
"step": "analyze_project",
|
||||
"command": "bash(~/.claude/scripts/gemini-wrapper -p \"PURPOSE: Analyze project structure\\nTASK: Extract overview from modules\\nMODE: analysis\\nCONTEXT: [all_module_docs]\\nEXPECTED: Project outline\")",
|
||||
"command": "bash(gemini \"PURPOSE: Analyze project structure\\nTASK: Extract overview from modules\\nMODE: analysis\\nCONTEXT: [all_module_docs]\\nEXPECTED: Project outline\")",
|
||||
"output_to": "project_outline"
|
||||
}
|
||||
],
|
||||
@@ -548,7 +571,7 @@ bash(
|
||||
"output": "project_readme"
|
||||
}
|
||||
],
|
||||
"target_files": [".workflow/docs/README.md"]
|
||||
"target_files": [".workflow/docs/${project_name}/README.md"]
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -572,18 +595,18 @@ bash(
|
||||
"pre_analysis": [
|
||||
{
|
||||
"step": "load_existing_docs",
|
||||
"command": "bash(cat .workflow/docs/ARCHITECTURE.md 2>/dev/null || echo 'No existing ARCHITECTURE'; echo '---SEPARATOR---'; cat .workflow/docs/EXAMPLES.md 2>/dev/null || echo 'No existing EXAMPLES')",
|
||||
"command": "bash(cat .workflow/docs/${project_name}/ARCHITECTURE.md 2>/dev/null || echo 'No existing ARCHITECTURE'; echo '---SEPARATOR---'; cat .workflow/docs/${project_name}/EXAMPLES.md 2>/dev/null || echo 'No existing EXAMPLES')",
|
||||
"output_to": "existing_arch_examples"
|
||||
},
|
||||
{
|
||||
"step": "load_all_docs",
|
||||
"command": "bash(cat .workflow/docs/README.md && find .workflow/docs -type f -name '*.md' ! -path '.workflow/docs/README.md' ! -path '.workflow/docs/ARCHITECTURE.md' ! -path '.workflow/docs/EXAMPLES.md' ! -path '.workflow/docs/api/*' | xargs cat)",
|
||||
"command": "bash(cat .workflow/docs/${project_name}/README.md && find .workflow/docs/${project_name} -type f -name '*.md' ! -path '.workflow/docs/${project_name}/README.md' ! -path '.workflow/docs/${project_name}/ARCHITECTURE.md' ! -path '.workflow/docs/${project_name}/EXAMPLES.md' ! -path '.workflow/docs/${project_name}/api/*' | xargs cat)",
|
||||
"output_to": "all_docs",
|
||||
"note": "Load README + all module docs from mirrored structure"
|
||||
},
|
||||
{
|
||||
"step": "analyze_architecture_and_examples",
|
||||
"command": "bash(~/.claude/scripts/gemini-wrapper -p \"PURPOSE: Analyze system architecture and generate examples\\nTASK: Synthesize architectural overview and usage patterns\\nMODE: analysis\\nCONTEXT: [all_docs]\\nEXPECTED: Architecture outline + Examples outline\")",
|
||||
"command": "bash(gemini \"PURPOSE: Analyze system architecture and generate examples\\nTASK: Synthesize architectural overview and usage patterns\\nMODE: analysis\\nCONTEXT: [all_docs]\\nEXPECTED: Architecture outline + Examples outline\")",
|
||||
"output_to": "arch_examples_outline"
|
||||
}
|
||||
],
|
||||
@@ -609,8 +632,8 @@ bash(
|
||||
}
|
||||
],
|
||||
"target_files": [
|
||||
".workflow/docs/ARCHITECTURE.md",
|
||||
".workflow/docs/EXAMPLES.md"
|
||||
".workflow/docs/${project_name}/ARCHITECTURE.md",
|
||||
".workflow/docs/${project_name}/EXAMPLES.md"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -635,17 +658,17 @@ bash(
|
||||
"pre_analysis": [
|
||||
{
|
||||
"step": "discover_api_endpoints",
|
||||
"command": "mcp__code-index__search_code_advanced(pattern='router\\.|@(Get|Post)', file_pattern='*.{ts,js}')",
|
||||
"command": "bash(rg 'router\\.| @(Get|Post)' -g '*.{ts,js}')",
|
||||
"output_to": "endpoint_discovery"
|
||||
},
|
||||
{
|
||||
"step": "load_existing_api_docs",
|
||||
"command": "bash(cat .workflow/docs/api/README.md 2>/dev/null || echo 'No existing API docs')",
|
||||
"command": "bash(cat .workflow/docs/${project_name}/api/README.md 2>/dev/null || echo 'No existing API docs')",
|
||||
"output_to": "existing_api_docs"
|
||||
},
|
||||
{
|
||||
"step": "analyze_api",
|
||||
"command": "bash(~/.claude/scripts/gemini-wrapper -p \"PURPOSE: Document HTTP API\\nTASK: Analyze API endpoints\\nMODE: analysis\\nCONTEXT: @{src/api/**/*} [endpoint_discovery]\\nEXPECTED: API outline\")",
|
||||
"command": "bash(gemini \"PURPOSE: Document HTTP API\\nTASK: Analyze API endpoints\\nMODE: analysis\\nCONTEXT: @src/api/**/* [endpoint_discovery]\\nEXPECTED: API outline\")",
|
||||
"output_to": "api_outline"
|
||||
}
|
||||
],
|
||||
@@ -660,7 +683,7 @@ bash(
|
||||
"output": "api_docs"
|
||||
}
|
||||
],
|
||||
"target_files": [".workflow/docs/api/README.md"]
|
||||
"target_files": [".workflow/docs/${project_name}/api/README.md"]
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -693,8 +716,9 @@ bash(
|
||||
"session_id": "WFS-docs-20240120-143022",
|
||||
"timestamp": "2024-01-20T14:30:22+08:00",
|
||||
"path": ".",
|
||||
"target_path": "/d/Claude_dms3",
|
||||
"project_root": "/d/Claude_dms3",
|
||||
"target_path": "/home/user/projects/my_app",
|
||||
"project_root": "/home/user/projects",
|
||||
"project_name": "my_app",
|
||||
"mode": "full",
|
||||
"tool": "gemini",
|
||||
"cli_generate": false,
|
||||
@@ -711,33 +735,34 @@ bash(
|
||||
|
||||
## Generated Documentation
|
||||
|
||||
**Structure mirrors project source directories**:
|
||||
**Structure mirrors project source directories under project-specific folder**:
|
||||
|
||||
```
|
||||
.workflow/docs/
|
||||
├── src/ # Mirrors src/ directory
|
||||
│ ├── modules/ # Level 1 output
|
||||
│ │ ├── README.md # Navigation for src/modules/
|
||||
│ │ ├── auth/
|
||||
│ │ │ ├── API.md # Auth module API signatures
|
||||
│ │ │ ├── README.md # Auth module documentation
|
||||
│ │ │ └── middleware/
|
||||
│ │ │ ├── API.md # Middleware API
|
||||
│ │ │ └── README.md # Middleware docs
|
||||
│ │ └── api/
|
||||
│ │ ├── API.md # API module signatures
|
||||
│ │ └── README.md # API module docs
|
||||
│ └── utils/ # Level 1 output
|
||||
│ └── README.md # Utils navigation
|
||||
├── lib/ # Mirrors lib/ directory
|
||||
│ └── core/
|
||||
│ ├── API.md
|
||||
│ └── README.md
|
||||
├── README.md # Level 2 output (root only)
|
||||
├── ARCHITECTURE.md # Level 3 output (root only)
|
||||
├── EXAMPLES.md # Level 3 output (root only)
|
||||
└── api/ # Level 3 output (optional)
|
||||
└── README.md # HTTP API reference
|
||||
└── {project_name}/ # Project-specific root (e.g., my_app/)
|
||||
├── src/ # Mirrors src/ directory
|
||||
│ ├── modules/ # Level 1 output
|
||||
│ │ ├── README.md # Navigation for src/modules/
|
||||
│ │ ├── auth/
|
||||
│ │ │ ├── API.md # Auth module API signatures
|
||||
│ │ │ ├── README.md # Auth module documentation
|
||||
│ │ │ └── middleware/
|
||||
│ │ │ ├── API.md # Middleware API
|
||||
│ │ │ └── README.md # Middleware docs
|
||||
│ │ └── api/
|
||||
│ │ ├── API.md # API module signatures
|
||||
│ │ └── README.md # API module docs
|
||||
│ └── utils/ # Level 1 output
|
||||
│ └── README.md # Utils navigation
|
||||
├── lib/ # Mirrors lib/ directory
|
||||
│ └── core/
|
||||
│ ├── API.md
|
||||
│ └── README.md
|
||||
├── README.md # Level 2 output (project root only)
|
||||
├── ARCHITECTURE.md # Level 3 output (project root only)
|
||||
├── EXAMPLES.md # Level 3 output (project root only)
|
||||
└── api/ # Level 3 output (optional)
|
||||
└── README.md # HTTP API reference
|
||||
```
|
||||
|
||||
## Execution Commands
|
||||
@@ -784,11 +809,11 @@ bash(ls .workflow/WFS-docs-20240120/.task/*.json)
|
||||
# Discover and classify folders (scans project source)
|
||||
bash(~/.claude/scripts/get_modules_by_depth.sh | ~/.claude/scripts/classify-folders.sh)
|
||||
|
||||
# Count existing docs (in .workflow/docs/ directory)
|
||||
bash(if [[ -d ".workflow/docs" ]]; then find .workflow/docs -name "*.md" 2>/dev/null | wc -l; else echo "0"; fi)
|
||||
# Count existing docs (in .workflow/docs/{project_name}/ directory)
|
||||
bash(if [[ -d ".workflow/docs/${project_name}" ]]; then find .workflow/docs/${project_name} -name "*.md" 2>/dev/null | wc -l; else echo "0"; fi)
|
||||
|
||||
# List existing documentation (in .workflow/docs/ directory)
|
||||
bash(if [[ -d ".workflow/docs" ]]; then find .workflow/docs -name "*.md" 2>/dev/null; fi)
|
||||
# List existing documentation (in .workflow/docs/{project_name}/ directory)
|
||||
bash(if [[ -d ".workflow/docs/${project_name}" ]]; then find .workflow/docs/${project_name} -name "*.md" 2>/dev/null; fi)
|
||||
```
|
||||
|
||||
## Template Reference
|
||||
|
||||
@@ -5,17 +5,17 @@ argument-hint: "[--tool gemini|qwen] \"task context description\""
|
||||
allowed-tools: Task(*), Bash(*)
|
||||
examples:
|
||||
- /memory:load "在当前前端基础上开发用户认证功能"
|
||||
- /memory:load --tool qwen "重构支付模块API"
|
||||
- /memory:load --tool qwen -p "重构支付模块API"
|
||||
---
|
||||
|
||||
# Memory Load Command (/memory:load)
|
||||
|
||||
## 1. Overview
|
||||
|
||||
The `memory:load` command **delegates to a general-purpose agent** to analyze the project and return a structured "Core Content Pack". This pack is loaded into the main thread's memory, providing essential context for subsequent agent operations while minimizing token consumption.
|
||||
The `memory:load` command **delegates to a universal-executor agent** to analyze the project and return a structured "Core Content Pack". This pack is loaded into the main thread's memory, providing essential context for subsequent agent operations while minimizing token consumption.
|
||||
|
||||
**Core Philosophy**:
|
||||
- **Agent-Driven**: Fully delegates execution to general-purpose agent
|
||||
- **Agent-Driven**: Fully delegates execution to universal-executor agent
|
||||
- **Read-Only Analysis**: Does not modify code, only extracts context
|
||||
- **Structured Output**: Returns standardized JSON content package
|
||||
- **Memory Optimization**: Package loaded directly into main thread memory
|
||||
@@ -34,7 +34,7 @@ The `memory:load` command **delegates to a general-purpose agent** to analyze th
|
||||
|
||||
## 3. Agent-Driven Execution Flow
|
||||
|
||||
The command fully delegates to **general-purpose agent**, which autonomously:
|
||||
The command fully delegates to **universal-executor agent**, which autonomously:
|
||||
|
||||
1. **Analyzes Project Structure**: Executes `get_modules_by_depth.sh` to understand architecture
|
||||
2. **Loads Documentation**: Reads CLAUDE.md, README.md and other key docs
|
||||
@@ -94,7 +94,7 @@ The command fully delegates to **general-purpose agent**, which autonomously:
|
||||
|
||||
```javascript
|
||||
Task(
|
||||
subagent_type="general-purpose",
|
||||
subagent_type="universal-executor",
|
||||
description="Load project memory: ${task_description}",
|
||||
prompt=`
|
||||
## Mission: Load Project Memory Context
|
||||
@@ -121,14 +121,14 @@ Task(
|
||||
### Step 2: Keyword Extraction & File Discovery
|
||||
|
||||
1. Extract core keywords from task description
|
||||
2. Discover relevant files using MCP code-index or rg:
|
||||
\`\`\`javascript
|
||||
// Prefer MCP tools
|
||||
mcp__code-index__find_files(pattern="*{keyword}*")
|
||||
mcp__code-index__search_code_advanced(pattern="{keyword}", context_lines=2)
|
||||
2. Discover relevant files using ripgrep and find:
|
||||
\`\`\`bash
|
||||
# Find files by name
|
||||
find . -name "*{keyword}*" -type f
|
||||
|
||||
// Fallback: use rg
|
||||
bash(rg -l "{keyword}" --type ts --type md)
|
||||
# Search content with ripgrep
|
||||
rg "{keyword}" --type ts --type md -C 2
|
||||
rg -l "{keyword}" --type ts --type md # List files only
|
||||
\`\`\`
|
||||
|
||||
### Step 3: Deep Analysis via CLI
|
||||
@@ -136,11 +136,11 @@ Task(
|
||||
Execute Gemini/Qwen CLI for deep analysis (saves main thread tokens):
|
||||
|
||||
\`\`\`bash
|
||||
cd . && ~/.claude/scripts/${tool}-wrapper -p "
|
||||
cd . && ${tool} -p "
|
||||
PURPOSE: Extract project core context for task: ${task_description}
|
||||
TASK: Analyze project architecture, tech stack, key patterns, relevant files
|
||||
MODE: analysis
|
||||
CONTEXT: @{CLAUDE.md,README.md,${discovered_files}}
|
||||
CONTEXT: @CLAUDE.md,README.md @${discovered_files}
|
||||
EXPECTED: Structured project summary and integration point analysis
|
||||
RULES:
|
||||
- Focus on task-relevant core information
|
||||
@@ -212,7 +212,7 @@ Before returning:
|
||||
### Example 2: Using Qwen Tool
|
||||
|
||||
```bash
|
||||
/memory:load --tool qwen "重构支付模块API"
|
||||
/memory:load --tool qwen -p "重构支付模块API"
|
||||
```
|
||||
|
||||
Agent uses Qwen CLI for analysis, returns same structured package.
|
||||
|
||||
333
.claude/commands/memory/update-full.md
Normal file
333
.claude/commands/memory/update-full.md
Normal file
@@ -0,0 +1,333 @@
|
||||
---
|
||||
name: update-full
|
||||
description: Complete project-wide CLAUDE.md documentation update with agent-based parallel execution and tool fallback
|
||||
argument-hint: "[--tool gemini|qwen|codex] [--path <directory>]"
|
||||
---
|
||||
|
||||
# Full Documentation Update (/memory:update-full)
|
||||
|
||||
## Overview
|
||||
|
||||
Orchestrates project-wide CLAUDE.md updates using batched agent execution with automatic tool fallback and 3-layer architecture support.
|
||||
|
||||
**Parameters**:
|
||||
- `--tool <gemini|qwen|codex>`: Primary tool (default: gemini)
|
||||
- `--path <directory>`: Target specific directory (default: entire project)
|
||||
|
||||
**Execution Flow**: Discovery → Plan Presentation → Execution → Safety Verification
|
||||
|
||||
## 3-Layer Architecture & Auto-Strategy Selection
|
||||
|
||||
### Layer Definition & Strategy Assignment
|
||||
|
||||
| Layer | Depth | Strategy | Purpose | Context Pattern |
|
||||
|-------|-------|----------|---------|----------------|
|
||||
| **Layer 3** (Deepest) | ≥3 | `multi-layer` | Handle unstructured files, generate docs for all subdirectories | `@**/*` (all files) |
|
||||
| **Layer 2** (Middle) | 1-2 | `single-layer` | Aggregate from children + current code | `@*/CLAUDE.md @*.{ts,tsx,js,...}` |
|
||||
| **Layer 1** (Top) | 0 | `single-layer` | Aggregate from children + current code | `@*/CLAUDE.md @*.{ts,tsx,js,...}` |
|
||||
|
||||
**Update Direction**: Layer 3 → Layer 2 → Layer 1 (bottom-up dependency flow)
|
||||
|
||||
**Strategy Auto-Selection**: Strategies are automatically determined by directory depth - no user configuration needed.
|
||||
|
||||
### Strategy Details
|
||||
|
||||
#### Multi-Layer Strategy (Layer 3 Only)
|
||||
- **Use Case**: Deepest directories with unstructured file layouts
|
||||
- **Behavior**: Generates CLAUDE.md for current directory AND each subdirectory containing files
|
||||
- **Context**: All files in current directory tree (`@**/*`)
|
||||
- **Benefits**: Creates foundation documentation for upper layers to reference
|
||||
|
||||
#### Single-Layer Strategy (Layers 1-2)
|
||||
- **Use Case**: Upper layers that aggregate from existing documentation
|
||||
- **Behavior**: Generates CLAUDE.md only for current directory
|
||||
- **Context**: Direct children CLAUDE.md files + current directory code files
|
||||
- **Benefits**: Minimal context consumption, clear layer separation
|
||||
|
||||
### Example Flow
|
||||
```
|
||||
src/auth/handlers/ (depth 3) → MULTI-LAYER STRATEGY
|
||||
CONTEXT: @**/* (all files in handlers/ and subdirs)
|
||||
GENERATES: ./CLAUDE.md + CLAUDE.md in each subdir with files
|
||||
↓
|
||||
src/auth/ (depth 2) → SINGLE-LAYER STRATEGY
|
||||
CONTEXT: @*/CLAUDE.md @*.ts (handlers/CLAUDE.md + current code)
|
||||
GENERATES: ./CLAUDE.md only
|
||||
↓
|
||||
src/ (depth 1) → SINGLE-LAYER STRATEGY
|
||||
CONTEXT: @*/CLAUDE.md (auth/CLAUDE.md, utils/CLAUDE.md)
|
||||
GENERATES: ./CLAUDE.md only
|
||||
↓
|
||||
./ (depth 0) → SINGLE-LAYER STRATEGY
|
||||
CONTEXT: @*/CLAUDE.md (src/CLAUDE.md, tests/CLAUDE.md)
|
||||
GENERATES: ./CLAUDE.md only
|
||||
```
|
||||
|
||||
## Core Execution Rules
|
||||
|
||||
1. **Analyze First**: Git cache + module discovery before updates
|
||||
2. **Wait for Approval**: Present plan, no execution without user confirmation
|
||||
3. **Execution Strategy**:
|
||||
- **<20 modules**: Direct parallel execution (max 4 concurrent per layer)
|
||||
- **≥20 modules**: Agent batch processing (4 modules/agent, 73% overhead reduction)
|
||||
4. **Tool Fallback**: Auto-retry with fallback tools on failure
|
||||
5. **Layer Sequential**: Process layers 3→2→1 (bottom-up), parallel batches within layer
|
||||
6. **Safety Check**: Verify only CLAUDE.md files modified
|
||||
7. **Layer-based Grouping**: Group modules by LAYER (not depth) for execution
|
||||
|
||||
## Tool Fallback Hierarchy
|
||||
|
||||
```javascript
|
||||
--tool gemini → [gemini, qwen, codex] // default
|
||||
--tool qwen → [qwen, gemini, codex]
|
||||
--tool codex → [codex, gemini, qwen]
|
||||
```
|
||||
|
||||
**Trigger**: Non-zero exit code from update script
|
||||
|
||||
| Tool | Best For | Fallback To |
|
||||
|--------|--------------------------------|----------------|
|
||||
| gemini | Documentation, patterns | qwen → codex |
|
||||
| qwen | Architecture, system design | gemini → codex |
|
||||
| codex | Implementation, code quality | gemini → qwen |
|
||||
|
||||
## Execution Phases
|
||||
|
||||
### Phase 1: Discovery & Analysis
|
||||
|
||||
```bash
|
||||
# Cache git changes
|
||||
bash(git add -A 2>/dev/null || true)
|
||||
|
||||
# Get module structure
|
||||
bash(~/.claude/scripts/get_modules_by_depth.sh list)
|
||||
# OR with --path
|
||||
bash(cd <target-path> && ~/.claude/scripts/get_modules_by_depth.sh list)
|
||||
```
|
||||
|
||||
**Parse output** `depth:N|path:<PATH>|...` to extract module paths and count.
|
||||
|
||||
**Smart filter**: Auto-detect and skip tests/build/config/docs based on project tech stack.
|
||||
|
||||
### Phase 2: Plan Presentation
|
||||
|
||||
**For <20 modules**:
|
||||
```
|
||||
Update Plan:
|
||||
Tool: gemini (fallback: qwen → codex)
|
||||
Total: 7 modules
|
||||
Execution: Direct parallel (< 20 modules threshold)
|
||||
|
||||
Will update:
|
||||
- ./core/interfaces (12 files) - depth 2 [Layer 2] - single-layer strategy
|
||||
- ./core (22 files) - depth 1 [Layer 2] - single-layer strategy
|
||||
- ./models (9 files) - depth 1 [Layer 2] - single-layer strategy
|
||||
- ./utils (12 files) - depth 1 [Layer 2] - single-layer strategy
|
||||
- . (5 files) - depth 0 [Layer 1] - single-layer strategy
|
||||
|
||||
Context Strategy (Auto-Selected):
|
||||
- Layer 2 (depth 1-2): @*/CLAUDE.md + current code files
|
||||
- Layer 1 (depth 0): @*/CLAUDE.md + current code files
|
||||
|
||||
Auto-skipped: ./tests, __pycache__, setup.py (15 paths)
|
||||
Execution order: Layer 2 → Layer 1
|
||||
Estimated time: ~5-10 minutes
|
||||
|
||||
Confirm execution? (y/n)
|
||||
```
|
||||
|
||||
**For ≥20 modules**:
|
||||
```
|
||||
Update Plan:
|
||||
Tool: gemini (fallback: qwen → codex)
|
||||
Total: 31 modules
|
||||
Execution: Agent batch processing (4 modules/agent)
|
||||
|
||||
Will update:
|
||||
- ./src/features/auth (12 files) - depth 3 [Layer 3] - multi-layer strategy
|
||||
- ./.claude/commands/cli (6 files) - depth 3 [Layer 3] - multi-layer strategy
|
||||
- ./src/utils (8 files) - depth 2 [Layer 2] - single-layer strategy
|
||||
...
|
||||
|
||||
Context Strategy (Auto-Selected):
|
||||
- Layer 3 (depth ≥3): @**/* (all files)
|
||||
- Layer 2 (depth 1-2): @*/CLAUDE.md + current code files
|
||||
- Layer 1 (depth 0): @*/CLAUDE.md + current code files
|
||||
|
||||
Auto-skipped: ./tests, __pycache__, setup.py (15 paths)
|
||||
Execution order: Layer 2 → Layer 1
|
||||
Estimated time: ~5-10 minutes
|
||||
|
||||
Agent allocation (by LAYER):
|
||||
- Layer 3 (14 modules, depth ≥3): 4 agents [4, 4, 4, 2]
|
||||
- Layer 2 (15 modules, depth 1-2): 4 agents [4, 4, 4, 3]
|
||||
- Layer 1 (2 modules, depth 0): 1 agent [2]
|
||||
|
||||
Estimated time: ~15-25 minutes
|
||||
|
||||
Confirm execution? (y/n)
|
||||
```
|
||||
|
||||
### Phase 3A: Direct Execution (<20 modules)
|
||||
|
||||
**Strategy**: Parallel execution within layer (max 4 concurrent), no agent overhead.
|
||||
|
||||
```javascript
|
||||
// Group modules by LAYER (not depth)
|
||||
let modules_by_layer = group_by_layer(module_list);
|
||||
let tool_order = construct_tool_order(primary_tool);
|
||||
|
||||
// Process by LAYER (3 → 2 → 1), not by depth
|
||||
for (let layer of [3, 2, 1]) {
|
||||
if (modules_by_layer[layer].length === 0) continue;
|
||||
|
||||
let batches = batch_modules(modules_by_layer[layer], 4);
|
||||
|
||||
for (let batch of batches) {
|
||||
let parallel_tasks = batch.map(module => {
|
||||
return async () => {
|
||||
// Auto-determine strategy based on depth
|
||||
let strategy = module.depth >= 3 ? "multi-layer" : "single-layer";
|
||||
|
||||
for (let tool of tool_order) {
|
||||
let exit_code = bash(`cd ${module.path} && ~/.claude/scripts/update_module_claude.sh "${strategy}" "." "${tool}"`);
|
||||
if (exit_code === 0) {
|
||||
report(`✅ ${module.path} (Layer ${layer}) updated with ${tool}`);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
report(`❌ FAILED: ${module.path} (Layer ${layer}) failed all tools`);
|
||||
return false;
|
||||
};
|
||||
});
|
||||
|
||||
await Promise.all(parallel_tasks.map(task => task()));
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Phase 3B: Agent Batch Execution (≥20 modules)
|
||||
|
||||
**Strategy**: Batch modules into groups of 4, spawn memory-bridge agents per batch.
|
||||
|
||||
```javascript
|
||||
// Group modules by LAYER and batch within each layer
|
||||
let modules_by_layer = group_by_layer(module_list);
|
||||
let tool_order = construct_tool_order(primary_tool);
|
||||
|
||||
for (let layer of [3, 2, 1]) {
|
||||
if (modules_by_layer[layer].length === 0) continue;
|
||||
|
||||
let batches = batch_modules(modules_by_layer[layer], 4);
|
||||
let worker_tasks = [];
|
||||
|
||||
for (let batch of batches) {
|
||||
worker_tasks.push(
|
||||
Task(
|
||||
subagent_type="memory-bridge",
|
||||
description=`Update ${batch.length} modules in Layer ${layer}`,
|
||||
prompt=generate_batch_worker_prompt(batch, tool_order, layer)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
await parallel_execute(worker_tasks);
|
||||
}
|
||||
```
|
||||
|
||||
**Batch Worker Prompt Template**:
|
||||
```
|
||||
PURPOSE: Update CLAUDE.md for assigned modules with tool fallback
|
||||
|
||||
TASK: Update documentation for assigned modules using specified strategies.
|
||||
|
||||
MODULES:
|
||||
{{module_path_1}} (strategy: {{strategy_1}})
|
||||
{{module_path_2}} (strategy: {{strategy_2}})
|
||||
...
|
||||
|
||||
TOOLS (try in order): {{tool_1}}, {{tool_2}}, {{tool_3}}
|
||||
|
||||
EXECUTION SCRIPT: ~/.claude/scripts/update_module_claude.sh
|
||||
- Accepts strategy parameter: multi-layer | single-layer
|
||||
- Tool execution via direct CLI commands (gemini/qwen/codex)
|
||||
|
||||
EXECUTION FLOW (for each module):
|
||||
1. Tool fallback loop (exit on first success):
|
||||
for tool in {{tool_1}} {{tool_2}} {{tool_3}}; do
|
||||
bash(cd "{{module_path}}" && ~/.claude/scripts/update_module_claude.sh "{{strategy}}" "." "${tool}")
|
||||
exit_code=$?
|
||||
|
||||
if [ $exit_code -eq 0 ]; then
|
||||
report "✅ {{module_path}} updated with $tool"
|
||||
break
|
||||
else
|
||||
report "⚠️ {{module_path}} failed with $tool, trying next..."
|
||||
continue
|
||||
fi
|
||||
done
|
||||
|
||||
2. Handle complete failure (all tools failed):
|
||||
if [ $exit_code -ne 0 ]; then
|
||||
report "❌ FAILED: {{module_path}} - all tools exhausted"
|
||||
# Continue to next module (do not abort batch)
|
||||
fi
|
||||
|
||||
FAILURE HANDLING:
|
||||
- Module-level isolation: One module's failure does not affect others
|
||||
- Exit code detection: Non-zero exit code triggers next tool
|
||||
- Exhaustion reporting: Log modules where all tools failed
|
||||
- Batch continuation: Always process remaining modules
|
||||
|
||||
REPORTING FORMAT:
|
||||
Per-module status:
|
||||
✅ path/to/module updated with {tool}
|
||||
⚠️ path/to/module failed with {tool}, trying next...
|
||||
❌ FAILED: path/to/module - all tools exhausted
|
||||
```
|
||||
### Phase 4: Safety Verification
|
||||
|
||||
```bash
|
||||
# Check only CLAUDE.md modified
|
||||
bash(git diff --cached --name-only | grep -v "CLAUDE.md" || echo "Only CLAUDE.md files modified")
|
||||
|
||||
# Display status
|
||||
bash(git status --short)
|
||||
```
|
||||
|
||||
**Result Summary**:
|
||||
```
|
||||
Update Summary:
|
||||
Total: 31 | Success: 29 | Failed: 2
|
||||
Tool usage: gemini: 25, qwen: 4, codex: 0
|
||||
Failed: path1, path2
|
||||
```
|
||||
|
||||
## Error Handling
|
||||
|
||||
**Batch Worker**: Tool fallback per module, batch isolation, clear status reporting
|
||||
**Coordinator**: Invalid path abort, user decline handling, safety check with auto-revert
|
||||
**Fallback Triggers**: Non-zero exit code, script timeout, unexpected output
|
||||
|
||||
## Usage Examples
|
||||
|
||||
```bash
|
||||
# Full project update (auto-strategy selection)
|
||||
/memory:update-full
|
||||
|
||||
# Target specific directory
|
||||
/memory:update-full --path .claude
|
||||
/memory:update-full --path src/features/auth
|
||||
|
||||
# Use specific tool
|
||||
/memory:update-full --tool qwen
|
||||
/memory:update-full --path .claude --tool qwen
|
||||
```
|
||||
|
||||
## Key Advantages
|
||||
|
||||
- **Efficiency**: 30 modules → 8 agents (73% reduction from sequential)
|
||||
- **Resilience**: 3-tier tool fallback per module
|
||||
- **Performance**: Parallel batches, no concurrency limits
|
||||
- **Observability**: Per-module tool usage, batch-level metrics
|
||||
- **Automation**: Zero configuration - strategy auto-selected by directory depth
|
||||
@@ -1,330 +0,0 @@
|
||||
---
|
||||
name: update-full
|
||||
description: Complete project-wide CLAUDE.md documentation update
|
||||
argument-hint: "[--tool gemini|qwen|codex] [--path <directory>]"
|
||||
---
|
||||
|
||||
# Full Documentation Update (/memory:update-full)
|
||||
|
||||
## Coordinator Role
|
||||
|
||||
**This command orchestrates project-wide CLAUDE.md updates** using depth-parallel execution strategy with intelligent complexity detection.
|
||||
|
||||
**Execution Model**:
|
||||
|
||||
1. **Initial Analysis**: Cache git changes, discover module structure
|
||||
2. **Complexity Detection**: Analyze module count, determine strategy
|
||||
3. **Plan Presentation**: Show user exactly what will be updated
|
||||
4. **Depth-Parallel Execution**: Update modules by depth (highest to lowest)
|
||||
5. **Safety Verification**: Ensure only CLAUDE.md files modified
|
||||
|
||||
**Tool Selection**:
|
||||
- `--tool gemini` (default): Documentation generation, pattern recognition
|
||||
- `--tool qwen`: Architecture analysis, system design docs
|
||||
- `--tool codex`: Implementation validation, code quality analysis
|
||||
|
||||
**Path Parameter**:
|
||||
- `--path <directory>` (optional): Target specific directory for updates
|
||||
- If not specified: Updates entire project from current directory
|
||||
- If specified: Changes to target directory before discovery
|
||||
|
||||
## Core Rules
|
||||
|
||||
1. **Analyze First**: Run git cache and module discovery before any updates
|
||||
2. **Scope Control**: Use --path to target specific directories, default is entire project
|
||||
3. **Wait for Approval**: Present plan, no execution without user confirmation
|
||||
4. **Depth-Parallel**: Same depth runs parallel (max 4 jobs), different depths sequential
|
||||
5. **Safety Check**: Verify only CLAUDE.md files modified, revert if source files touched
|
||||
6. **Independent Commands**: Each update is a separate bash() call
|
||||
7. **No Background Bash Tool**: Never use `run_in_background` parameter in bash() calls; use shell `&` for parallelism
|
||||
|
||||
## Execution Workflow
|
||||
|
||||
### Phase 1: Discovery & Analysis
|
||||
|
||||
**Cache git changes:**
|
||||
```bash
|
||||
bash(git add -A 2>/dev/null || true)
|
||||
```
|
||||
|
||||
**Get module structure:**
|
||||
|
||||
*If no --path parameter:*
|
||||
```bash
|
||||
bash(~/.claude/scripts/get_modules_by_depth.sh list)
|
||||
```
|
||||
|
||||
*If --path parameter specified:*
|
||||
```bash
|
||||
bash(cd <target-path> && ~/.claude/scripts/get_modules_by_depth.sh list)
|
||||
```
|
||||
|
||||
**Example with path:**
|
||||
```bash
|
||||
# Update only .claude directory
|
||||
bash(cd .claude && ~/.claude/scripts/get_modules_by_depth.sh list)
|
||||
|
||||
# Update specific feature directory
|
||||
bash(cd src/features/auth && ~/.claude/scripts/get_modules_by_depth.sh list)
|
||||
```
|
||||
|
||||
**Parse Output**:
|
||||
- Extract module paths from `depth:N|path:<PATH>|...` format
|
||||
- Count total modules
|
||||
- Identify which modules have/need CLAUDE.md
|
||||
|
||||
**Example output:**
|
||||
```
|
||||
depth:5|path:./.claude/workflows/cli-templates/prompts/analysis|files:5|has_claude:no
|
||||
depth:4|path:./.claude/commands/cli/mode|files:3|has_claude:no
|
||||
depth:3|path:./.claude/commands/cli|files:6|has_claude:no
|
||||
depth:0|path:.|files:14|has_claude:yes
|
||||
```
|
||||
|
||||
**Validation**:
|
||||
- If --path specified, directory exists and is accessible
|
||||
- Module list contains depth and path information
|
||||
- At least one module exists
|
||||
- All paths are relative to target directory (if --path used)
|
||||
|
||||
---
|
||||
|
||||
### Phase 2: Plan Presentation
|
||||
|
||||
**Decision Logic**:
|
||||
- **Simple projects (≤20 modules)**: Present plan to user, wait for approval
|
||||
- **Complex projects (>20 modules)**: Delegate to memory-bridge agent
|
||||
|
||||
**Plan format:**
|
||||
```
|
||||
📋 Update Plan:
|
||||
Tool: gemini
|
||||
Total modules: 31
|
||||
|
||||
NEW CLAUDE.md files (30):
|
||||
- ./.claude/workflows/cli-templates/prompts/analysis/CLAUDE.md
|
||||
- ./.claude/commands/cli/mode/CLAUDE.md
|
||||
- ... (28 more)
|
||||
|
||||
UPDATE existing CLAUDE.md files (1):
|
||||
- ./CLAUDE.md
|
||||
|
||||
⚠️ Confirm execution? (y/n)
|
||||
```
|
||||
|
||||
**User Confirmation Required**: No execution without explicit approval
|
||||
|
||||
---
|
||||
|
||||
### Phase 3: Depth-Parallel Execution
|
||||
|
||||
**Pattern**: Process highest depth first, parallel within depth, sequential across depths.
|
||||
|
||||
**Command structure:**
|
||||
```bash
|
||||
bash(cd <module-path> && ~/.claude/scripts/update_module_claude.sh "." "full" "<tool>" &)
|
||||
```
|
||||
|
||||
**Example - Depth 5 (8 modules):**
|
||||
```bash
|
||||
bash(cd ./.claude/workflows/cli-templates/prompts/analysis && ~/.claude/scripts/update_module_claude.sh "." "full" "gemini" &)
|
||||
```
|
||||
```bash
|
||||
bash(cd ./.claude/workflows/cli-templates/prompts/development && ~/.claude/scripts/update_module_claude.sh "." "full" "gemini" &)
|
||||
```
|
||||
```bash
|
||||
bash(cd ./.claude/workflows/cli-templates/prompts/documentation && ~/.claude/scripts/update_module_claude.sh "." "full" "gemini" &)
|
||||
```
|
||||
```bash
|
||||
bash(cd ./.claude/workflows/cli-templates/prompts/implementation && ~/.claude/scripts/update_module_claude.sh "." "full" "gemini" &)
|
||||
```
|
||||
|
||||
*Wait for depth 5 completion...*
|
||||
|
||||
**Example - Depth 4 (7 modules):**
|
||||
```bash
|
||||
bash(cd ./.claude/commands/cli/mode && ~/.claude/scripts/update_module_claude.sh "." "full" "gemini" &)
|
||||
```
|
||||
```bash
|
||||
bash(cd ./.claude/commands/workflow/brainstorm && ~/.claude/scripts/update_module_claude.sh "." "full" "gemini" &)
|
||||
```
|
||||
|
||||
*Continue for remaining depths (3 → 2 → 1 → 0)...*
|
||||
|
||||
**Execution Rules**:
|
||||
- Each command is separate bash() call
|
||||
- Up to 4 concurrent jobs per depth
|
||||
- Wait for all jobs in current depth before proceeding
|
||||
- Extract path from `depth:N|path:<PATH>|...` format
|
||||
- All paths relative to target directory (current dir or --path value)
|
||||
|
||||
**Path Context**:
|
||||
- Without --path: Paths relative to current directory
|
||||
- With --path: Paths relative to specified target directory
|
||||
- Module discovery runs in target directory context
|
||||
|
||||
---
|
||||
|
||||
### Phase 4: Safety Verification
|
||||
|
||||
**Check modified files:**
|
||||
```bash
|
||||
bash(git diff --cached --name-only | grep -v "CLAUDE.md" || echo "✅ Only CLAUDE.md files modified")
|
||||
```
|
||||
|
||||
**Expected output:**
|
||||
```
|
||||
✅ Only CLAUDE.md files modified
|
||||
```
|
||||
|
||||
**If non-CLAUDE.md files detected:**
|
||||
```
|
||||
⚠️ Warning: Non-CLAUDE.md files were modified
|
||||
Modified files: src/index.ts, package.json
|
||||
→ Run: git restore --staged .
|
||||
```
|
||||
|
||||
**Display final status:**
|
||||
```bash
|
||||
bash(git status --short)
|
||||
```
|
||||
|
||||
**Example output:**
|
||||
```
|
||||
A .claude/workflows/cli-templates/prompts/analysis/CLAUDE.md
|
||||
A .claude/commands/cli/mode/CLAUDE.md
|
||||
M CLAUDE.md
|
||||
... (30 more files)
|
||||
```
|
||||
|
||||
## Command Pattern Reference
|
||||
|
||||
**Single module update:**
|
||||
```bash
|
||||
bash(cd <module-path> && ~/.claude/scripts/update_module_claude.sh "." "full" "<tool>" &)
|
||||
```
|
||||
|
||||
**Components**:
|
||||
- `cd <module-path>` - Navigate to module (from `path:` field)
|
||||
- `&&` - Ensure cd succeeds
|
||||
- `update_module_claude.sh` - Update script
|
||||
- `"."` - Current directory
|
||||
- `"full"` - Full update mode
|
||||
- `"<tool>"` - gemini/qwen/codex
|
||||
- `&` - Background execution
|
||||
|
||||
**Path extraction:**
|
||||
```bash
|
||||
# From: depth:5|path:./src/auth|files:10|has_claude:no
|
||||
# Extract: ./src/auth
|
||||
# Command: bash(cd ./src/auth && ~/.claude/scripts/update_module_claude.sh "." "full" "gemini" &)
|
||||
```
|
||||
|
||||
## Complex Projects Strategy
|
||||
|
||||
For projects >20 modules, delegate to memory-bridge agent:
|
||||
|
||||
```javascript
|
||||
Task(
|
||||
subagent_type="memory-bridge",
|
||||
description="Complex project full update",
|
||||
prompt=`
|
||||
CONTEXT:
|
||||
- Total modules: ${module_count}
|
||||
- Tool: ${tool}
|
||||
- Mode: full
|
||||
|
||||
MODULE LIST:
|
||||
${modules_output}
|
||||
|
||||
REQUIREMENTS:
|
||||
1. Use TodoWrite to track each depth level
|
||||
2. Process depths N→0 sequentially, max 4 parallel per depth
|
||||
3. Command: cd "<path>" && update_module_claude.sh "." "full" "${tool}" &
|
||||
4. Extract path from "depth:N|path:<PATH>|..." format
|
||||
5. Verify all modules processed
|
||||
6. Run safety check
|
||||
7. Display git status
|
||||
`
|
||||
)
|
||||
```
|
||||
|
||||
## Error Handling
|
||||
|
||||
- **Invalid path parameter**: Report error if --path directory doesn't exist, abort execution
|
||||
- **Module discovery failure**: Report error, abort execution
|
||||
- **User declines approval**: Abort execution, no changes made
|
||||
- **Safety check failure**: Automatic staging revert, report modified files
|
||||
- **Update script failure**: Report failed modules, continue with remaining
|
||||
|
||||
## Coordinator Checklist
|
||||
|
||||
✅ Parse `--tool` parameter (default: gemini)
|
||||
✅ Parse `--path` parameter (optional, default: current directory)
|
||||
✅ Execute git cache in current directory
|
||||
✅ Execute module discovery (with cd if --path specified)
|
||||
✅ Parse module list, count total modules
|
||||
✅ Determine strategy based on module count (≤20 vs >20)
|
||||
✅ Present plan with exact file paths
|
||||
✅ **Wait for user confirmation** (simple projects only)
|
||||
✅ Organize modules by depth
|
||||
✅ For each depth (highest to lowest):
|
||||
- Launch up to 5 parallel updates
|
||||
- Wait for depth completion
|
||||
- Proceed to next depth
|
||||
✅ Run safety check after all updates
|
||||
✅ Display git status
|
||||
✅ Report completion summary
|
||||
|
||||
|
||||
|
||||
## Tool Parameter Reference
|
||||
|
||||
**Gemini** (default):
|
||||
- Best for: Documentation generation, pattern recognition, architecture review
|
||||
- Context window: Large, handles complex codebases
|
||||
- Output style: Comprehensive, detailed explanations
|
||||
|
||||
**Qwen**:
|
||||
- Best for: Architecture analysis, system design documentation
|
||||
- Context window: Large, similar to Gemini
|
||||
- Output style: Structured, systematic analysis
|
||||
|
||||
**Codex**:
|
||||
- Best for: Implementation validation, code quality analysis
|
||||
- Capabilities: Mathematical reasoning, autonomous development
|
||||
- Output style: Technical, implementation-focused
|
||||
|
||||
## Path Parameter Reference
|
||||
|
||||
**Use Cases**:
|
||||
|
||||
**Update configuration directory only:**
|
||||
```bash
|
||||
/memory:update-full --path .claude
|
||||
```
|
||||
- Updates only .claude directory and subdirectories
|
||||
- Useful after workflow or command modifications
|
||||
- Faster than full project update
|
||||
|
||||
**Update specific feature module:**
|
||||
```bash
|
||||
/memory:update-full --path src/features/auth
|
||||
```
|
||||
- Updates authentication feature and sub-modules
|
||||
- Ideal for feature-specific documentation
|
||||
- Isolates scope for targeted updates
|
||||
|
||||
**Update nested structure:**
|
||||
```bash
|
||||
/memory:update-full --path .claude/workflows/cli-templates
|
||||
```
|
||||
- Updates deeply nested directory tree
|
||||
- Maintains relative path structure in output
|
||||
- All module paths relative to specified directory
|
||||
|
||||
**Best Practices**:
|
||||
- Use `--path` when working on specific features/modules
|
||||
- Omit `--path` for project-wide architectural changes
|
||||
- Combine with `--tool` for specialized documentation needs
|
||||
- Verify directory exists before execution (automatic validation)
|
||||
@@ -1,306 +0,0 @@
|
||||
---
|
||||
name: update-related
|
||||
description: Context-aware CLAUDE.md documentation updates based on recent changes
|
||||
argument-hint: "[--tool gemini|qwen|codex]"
|
||||
---
|
||||
|
||||
# Related Documentation Update (/memory:update-related)
|
||||
|
||||
## Coordinator Role
|
||||
|
||||
**This command orchestrates context-aware CLAUDE.md updates** for modules affected by recent changes using intelligent change detection.
|
||||
|
||||
**Execution Model**:
|
||||
|
||||
1. **Change Detection**: Analyze git changes to identify affected modules
|
||||
2. **Complexity Analysis**: Evaluate change count and determine strategy
|
||||
3. **Plan Presentation**: Show user which modules need updates
|
||||
4. **Depth-Parallel Execution**: Update affected modules by depth (highest to lowest)
|
||||
5. **Safety Verification**: Ensure only CLAUDE.md files modified
|
||||
|
||||
**Tool Selection**:
|
||||
- `--tool gemini` (default): Documentation generation, pattern recognition
|
||||
- `--tool qwen`: Architecture analysis, system design docs
|
||||
- `--tool codex`: Implementation validation, code quality analysis
|
||||
|
||||
## Core Rules
|
||||
|
||||
1. **Detect Changes First**: Use git diff to identify affected modules before updates
|
||||
2. **Wait for Approval**: Present plan, no execution without user confirmation
|
||||
3. **Related Mode**: Update only changed modules and their parent contexts
|
||||
4. **Depth-Parallel**: Same depth runs parallel (max 4 jobs), different depths sequential
|
||||
5. **Safety Check**: Verify only CLAUDE.md files modified, revert if source files touched
|
||||
6. **No Background Bash Tool**: Never use `run_in_background` parameter in bash() calls; use shell `&` for parallelism
|
||||
|
||||
## Execution Workflow
|
||||
|
||||
### Phase 1: Change Detection & Analysis
|
||||
|
||||
**Refresh code index:**
|
||||
```bash
|
||||
bash(mcp__code-index__refresh_index)
|
||||
```
|
||||
|
||||
**Detect changed modules:**
|
||||
```bash
|
||||
bash(~/.claude/scripts/detect_changed_modules.sh list)
|
||||
```
|
||||
|
||||
**Cache git changes:**
|
||||
```bash
|
||||
bash(git add -A 2>/dev/null || true)
|
||||
```
|
||||
|
||||
**Parse Output**:
|
||||
- Extract changed module paths from `depth:N|path:<PATH>|...` format
|
||||
- Count affected modules
|
||||
- Identify which modules have/need CLAUDE.md updates
|
||||
|
||||
**Example output:**
|
||||
```
|
||||
depth:3|path:./src/api/auth|files:5|types:[ts]|has_claude:no|change:new
|
||||
depth:2|path:./src/api|files:12|types:[ts]|has_claude:yes|change:modified
|
||||
depth:1|path:./src|files:8|types:[ts]|has_claude:yes|change:parent
|
||||
depth:0|path:.|files:14|has_claude:yes|change:parent
|
||||
```
|
||||
|
||||
**Fallback behavior**:
|
||||
- If no git changes detected, use recent modules (first 10 by depth)
|
||||
|
||||
**Validation**:
|
||||
- Changed module list contains valid paths
|
||||
- At least one affected module exists
|
||||
|
||||
---
|
||||
|
||||
### Phase 2: Plan Presentation
|
||||
|
||||
**Decision Logic**:
|
||||
- **Simple changes (≤15 modules)**: Present plan to user, wait for approval
|
||||
- **Complex changes (>15 modules)**: Delegate to memory-bridge agent
|
||||
|
||||
**Plan format:**
|
||||
```
|
||||
📋 Related Update Plan:
|
||||
Tool: gemini
|
||||
Changed modules: 4
|
||||
|
||||
NEW CLAUDE.md files (1):
|
||||
- ./src/api/auth/CLAUDE.md [new module]
|
||||
|
||||
UPDATE existing CLAUDE.md files (3):
|
||||
- ./src/api/CLAUDE.md [parent of changed auth/]
|
||||
- ./src/CLAUDE.md [parent context]
|
||||
- ./CLAUDE.md [root level]
|
||||
|
||||
⚠️ Confirm execution? (y/n)
|
||||
```
|
||||
|
||||
**User Confirmation Required**: No execution without explicit approval
|
||||
|
||||
---
|
||||
|
||||
### Phase 3: Depth-Parallel Execution
|
||||
|
||||
**Pattern**: Process highest depth first, parallel within depth, sequential across depths.
|
||||
|
||||
**Command structure:**
|
||||
```bash
|
||||
bash(cd <module-path> && ~/.claude/scripts/update_module_claude.sh "." "related" "<tool>" &)
|
||||
```
|
||||
|
||||
**Example - Depth 3 (new module):**
|
||||
```bash
|
||||
bash(cd ./src/api/auth && ~/.claude/scripts/update_module_claude.sh "." "related" "gemini" &)
|
||||
```
|
||||
|
||||
*Wait for depth 3 completion...*
|
||||
|
||||
**Example - Depth 2 (modified parent):**
|
||||
```bash
|
||||
bash(cd ./src/api && ~/.claude/scripts/update_module_claude.sh "." "related" "gemini" &)
|
||||
```
|
||||
|
||||
*Wait for depth 2 completion...*
|
||||
|
||||
**Example - Depth 1 & 0 (parent contexts):**
|
||||
```bash
|
||||
bash(cd ./src && ~/.claude/scripts/update_module_claude.sh "." "related" "gemini" &)
|
||||
```
|
||||
```bash
|
||||
bash(cd . && ~/.claude/scripts/update_module_claude.sh "." "related" "gemini" &)
|
||||
```
|
||||
|
||||
*Wait for all depths completion...*
|
||||
|
||||
**Execution Rules**:
|
||||
- Each command is separate bash() call
|
||||
- Up to 4 concurrent jobs per depth
|
||||
- Wait for all jobs in current depth before proceeding
|
||||
- Use "related" mode (not "full") for context-aware updates
|
||||
- Extract path from `depth:N|path:<PATH>|...` format
|
||||
|
||||
**Related Mode Behavior**:
|
||||
- Updates module based on recent git changes
|
||||
- Includes parent context for better documentation coherence
|
||||
- More efficient than full updates for iterative development
|
||||
|
||||
---
|
||||
|
||||
### Phase 4: Safety Verification
|
||||
|
||||
**Check modified files:**
|
||||
```bash
|
||||
bash(git diff --cached --name-only | grep -v "CLAUDE.md" || echo "✅ Only CLAUDE.md files modified")
|
||||
```
|
||||
|
||||
**Expected output:**
|
||||
```
|
||||
✅ Only CLAUDE.md files modified
|
||||
```
|
||||
|
||||
**If non-CLAUDE.md files detected:**
|
||||
```
|
||||
⚠️ Warning: Non-CLAUDE.md files were modified
|
||||
Modified files: src/api/auth/index.ts, package.json
|
||||
→ Run: git restore --staged .
|
||||
```
|
||||
|
||||
**Display final statistics:**
|
||||
```bash
|
||||
bash(git diff --stat)
|
||||
```
|
||||
|
||||
**Example output:**
|
||||
```
|
||||
.claude/workflows/cli-templates/prompts/analysis/CLAUDE.md | 45 +++++++++++++++++++++
|
||||
src/api/CLAUDE.md | 23 +++++++++--
|
||||
src/CLAUDE.md | 12 ++++--
|
||||
CLAUDE.md | 8 ++--
|
||||
4 files changed, 82 insertions(+), 6 deletions(-)
|
||||
```
|
||||
|
||||
## Command Pattern Reference
|
||||
|
||||
**Single module update:**
|
||||
```bash
|
||||
bash(cd <module-path> && ~/.claude/scripts/update_module_claude.sh "." "related" "<tool>" &)
|
||||
```
|
||||
|
||||
**Components**:
|
||||
- `cd <module-path>` - Navigate to module (from `path:` field)
|
||||
- `&&` - Ensure cd succeeds
|
||||
- `update_module_claude.sh` - Update script
|
||||
- `"."` - Current directory
|
||||
- `"related"` - Related mode (context-aware, change-based)
|
||||
- `"<tool>"` - gemini/qwen/codex
|
||||
- `&` - Background execution
|
||||
|
||||
**Path extraction:**
|
||||
```bash
|
||||
# From: depth:3|path:./src/api/auth|files:5|change:new|has_claude:no
|
||||
# Extract: ./src/api/auth
|
||||
# Command: bash(cd ./src/api/auth && ~/.claude/scripts/update_module_claude.sh "." "related" "gemini" &)
|
||||
```
|
||||
|
||||
**Mode comparison:**
|
||||
- `"full"` - Complete module documentation regeneration
|
||||
- `"related"` - Context-aware update based on recent changes (faster)
|
||||
|
||||
## Complex Changes Strategy
|
||||
|
||||
For changes affecting >15 modules, delegate to memory-bridge agent:
|
||||
|
||||
```javascript
|
||||
Task(
|
||||
subagent_type="memory-bridge",
|
||||
description="Complex project related update",
|
||||
prompt=`
|
||||
CONTEXT:
|
||||
- Total modules: ${change_count}
|
||||
- Tool: ${tool}
|
||||
- Mode: related
|
||||
|
||||
MODULE LIST:
|
||||
${changed_modules_output}
|
||||
|
||||
REQUIREMENTS:
|
||||
1. Use TodoWrite to track each depth level
|
||||
2. Process depths N→0 sequentially, max 4 parallel per depth
|
||||
3. Command: cd "<path>" && update_module_claude.sh "." "related" "${tool}" &
|
||||
4. Extract path from "depth:N|path:<PATH>|..." format
|
||||
5. Verify all ${change_count} modules processed
|
||||
6. Run safety check
|
||||
7. Display git diff --stat
|
||||
`
|
||||
)
|
||||
```
|
||||
|
||||
## Error Handling
|
||||
|
||||
- **No changes detected**: Use fallback mode (recent 10 modules)
|
||||
- **Change detection failure**: Report error, abort execution
|
||||
- **User declines approval**: Abort execution, no changes made
|
||||
- **Safety check failure**: Automatic staging revert, report modified files
|
||||
- **Update script failure**: Report failed modules, continue with remaining
|
||||
|
||||
## Coordinator Checklist
|
||||
|
||||
✅ Parse `--tool` parameter (default: gemini)
|
||||
✅ Refresh code index for accurate change detection
|
||||
✅ Detect changed modules via detect_changed_modules.sh
|
||||
✅ Cache git changes to protect current state
|
||||
✅ Parse changed module list, count affected modules
|
||||
✅ Apply fallback if no changes detected (recent 10 modules)
|
||||
✅ Determine strategy based on change count (≤15 vs >15)
|
||||
✅ Present plan with exact file paths and change types
|
||||
✅ **Wait for user confirmation** (simple changes only)
|
||||
✅ Organize modules by depth
|
||||
✅ For each depth (highest to lowest):
|
||||
- Launch up to 4 parallel updates with "related" mode
|
||||
- Wait for depth completion
|
||||
- Proceed to next depth
|
||||
✅ Run safety check after all updates
|
||||
✅ Display git diff statistics
|
||||
✅ Report completion summary
|
||||
|
||||
## Usage Examples
|
||||
|
||||
```bash
|
||||
# Daily development update (default: gemini)
|
||||
/memory:update-related
|
||||
|
||||
# After feature work with specific tool
|
||||
/memory:update-related --tool qwen
|
||||
|
||||
# Code quality review after implementation
|
||||
/memory:update-related --tool codex
|
||||
```
|
||||
|
||||
## Tool Parameter Reference
|
||||
|
||||
**Gemini** (default):
|
||||
- Best for: Documentation generation, pattern recognition
|
||||
- Use case: Daily development updates, feature documentation
|
||||
- Output style: Comprehensive, contextual explanations
|
||||
|
||||
**Qwen**:
|
||||
- Best for: Architecture analysis, system design
|
||||
- Use case: Structural changes, API design updates
|
||||
- Output style: Structured, systematic documentation
|
||||
|
||||
**Codex**:
|
||||
- Best for: Implementation validation, code quality
|
||||
- Use case: After implementation, refactoring work
|
||||
- Output style: Technical, implementation-focused
|
||||
|
||||
## Comparison with Full Update
|
||||
|
||||
| Aspect | Related Update | Full Update |
|
||||
|--------|----------------|-------------|
|
||||
| **Scope** | Changed modules only | All project modules |
|
||||
| **Speed** | Fast (minutes) | Slower (10-30 min) |
|
||||
| **Use case** | Daily development | Major refactoring |
|
||||
| **Mode** | `"related"` | `"full"` |
|
||||
| **Trigger** | After commits | After major changes |
|
||||
| **Complexity threshold** | ≤15 modules | ≤20 modules |
|
||||
349
.claude/commands/memory/update-related.md
Normal file
349
.claude/commands/memory/update-related.md
Normal file
@@ -0,0 +1,349 @@
|
||||
---
|
||||
name: update-related
|
||||
description: Context-aware CLAUDE.md documentation updates based on recent changes with agent-based execution and tool fallback
|
||||
argument-hint: "[--tool gemini|qwen|codex]"
|
||||
---
|
||||
|
||||
# Related Documentation Update (/memory:update-related)
|
||||
|
||||
## Overview
|
||||
|
||||
Orchestrates context-aware CLAUDE.md updates for changed modules using batched agent execution with automatic tool fallback (gemini→qwen→codex).
|
||||
|
||||
**Parameters**:
|
||||
- `--tool <gemini|qwen|codex>`: Primary tool (default: gemini)
|
||||
|
||||
**Execution Flow**:
|
||||
1. Change Detection → 2. Plan Presentation → 3. Batched Agent Execution → 4. Safety Verification
|
||||
|
||||
## Core Rules
|
||||
|
||||
1. **Detect Changes First**: Use git diff to identify affected modules
|
||||
2. **Wait for Approval**: Present plan, no execution without user confirmation
|
||||
3. **Execution Strategy**:
|
||||
- <15 modules: Direct parallel execution (max 4 concurrent per depth, no agent overhead)
|
||||
- ≥15 modules: Agent batch processing (4 modules/agent, 73% overhead reduction)
|
||||
4. **Tool Fallback**: Auto-retry with fallback tools on failure
|
||||
5. **Depth Sequential**: Process depths N→0, parallel batches within depth (both modes)
|
||||
6. **Related Mode**: Update only changed modules and their parent contexts
|
||||
|
||||
## Tool Fallback Hierarchy
|
||||
|
||||
```javascript
|
||||
--tool gemini → [gemini, qwen, codex] // default
|
||||
--tool qwen → [qwen, gemini, codex]
|
||||
--tool codex → [codex, gemini, qwen]
|
||||
```
|
||||
|
||||
**Trigger**: Non-zero exit code from update script
|
||||
|
||||
## Phase 1: Change Detection & Analysis
|
||||
|
||||
```bash
|
||||
# Detect changed modules (no index refresh needed)
|
||||
bash(~/.claude/scripts/detect_changed_modules.sh list)
|
||||
|
||||
# Cache git changes
|
||||
bash(git add -A 2>/dev/null || true)
|
||||
```
|
||||
|
||||
**Parse output** `depth:N|path:<PATH>|change:<TYPE>` to extract affected modules.
|
||||
|
||||
**Smart filter**: Auto-detect and skip tests/build/config/docs based on project tech stack (Node.js/Python/Go/Rust/etc).
|
||||
|
||||
**Fallback**: If no changes detected, use recent modules (first 10 by depth).
|
||||
|
||||
## Phase 2: Plan Presentation
|
||||
|
||||
**Present filtered plan**:
|
||||
```
|
||||
Related Update Plan:
|
||||
Tool: gemini (fallback: qwen → codex)
|
||||
Changed: 4 modules | Batching: 4 modules/agent
|
||||
|
||||
Will update:
|
||||
- ./src/api/auth (5 files) [new module]
|
||||
- ./src/api (12 files) [parent of changed auth/]
|
||||
- ./src (8 files) [parent context]
|
||||
- . (14 files) [root level]
|
||||
|
||||
Auto-skipped (12 paths):
|
||||
- Tests: ./src/api/auth.test.ts (8 paths)
|
||||
- Config: tsconfig.json (3 paths)
|
||||
- Other: node_modules (1 path)
|
||||
|
||||
Agent allocation:
|
||||
- Depth 3 (1 module): 1 agent [1]
|
||||
- Depth 2 (1 module): 1 agent [1]
|
||||
- Depth 1 (1 module): 1 agent [1]
|
||||
- Depth 0 (1 module): 1 agent [1]
|
||||
|
||||
Confirm execution? (y/n)
|
||||
```
|
||||
|
||||
**Decision logic**:
|
||||
- User confirms "y": Proceed with execution
|
||||
- User declines "n": Abort, no changes
|
||||
- <15 modules: Direct execution
|
||||
- ≥15 modules: Agent batch execution
|
||||
|
||||
## Phase 3A: Direct Execution (<15 modules)
|
||||
|
||||
**Strategy**: Parallel execution within depth (max 4 concurrent), no agent overhead, tool fallback per module.
|
||||
|
||||
```javascript
|
||||
let modules_by_depth = group_by_depth(changed_modules);
|
||||
let tool_order = construct_tool_order(primary_tool);
|
||||
|
||||
for (let depth of sorted_depths.reverse()) { // N → 0
|
||||
let modules = modules_by_depth[depth];
|
||||
let batches = batch_modules(modules, 4); // Split into groups of 4
|
||||
|
||||
for (let batch of batches) {
|
||||
// Execute batch in parallel (max 4 concurrent)
|
||||
let parallel_tasks = batch.map(module => {
|
||||
return async () => {
|
||||
let success = false;
|
||||
for (let tool of tool_order) {
|
||||
let exit_code = bash(cd ${module.path} && ~/.claude/scripts/update_module_claude.sh "single-layer" "." "${tool}");
|
||||
if (exit_code === 0) {
|
||||
report("${module.path} updated with ${tool}");
|
||||
success = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!success) {
|
||||
report("FAILED: ${module.path} failed all tools");
|
||||
}
|
||||
};
|
||||
});
|
||||
|
||||
await Promise.all(parallel_tasks.map(task => task())); // Run batch in parallel
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Benefits**:
|
||||
- No agent startup overhead
|
||||
- Parallel execution within depth (max 4 concurrent)
|
||||
- Tool fallback still applies per module
|
||||
- Faster for small changesets (<15 modules)
|
||||
- Same batching strategy as Phase 3B but without agent layer
|
||||
|
||||
---
|
||||
|
||||
## Phase 3B: Agent Batch Execution (≥15 modules)
|
||||
|
||||
### Batching Strategy
|
||||
|
||||
```javascript
|
||||
// Batch modules into groups of 4
|
||||
function batch_modules(modules, batch_size = 4) {
|
||||
let batches = [];
|
||||
for (let i = 0; i < modules.length; i += batch_size) {
|
||||
batches.push(modules.slice(i, i + batch_size));
|
||||
}
|
||||
return batches;
|
||||
}
|
||||
// Examples: 10→[4,4,2] | 8→[4,4] | 3→[3]
|
||||
```
|
||||
|
||||
### Coordinator Orchestration
|
||||
|
||||
```javascript
|
||||
let modules_by_depth = group_by_depth(changed_modules);
|
||||
let tool_order = construct_tool_order(primary_tool);
|
||||
|
||||
for (let depth of sorted_depths.reverse()) { // N → 0
|
||||
let batches = batch_modules(modules_by_depth[depth], 4);
|
||||
let worker_tasks = [];
|
||||
|
||||
for (let batch of batches) {
|
||||
worker_tasks.push(
|
||||
Task(
|
||||
subagent_type="memory-bridge",
|
||||
description=`Update ${batch.length} modules at depth ${depth}`,
|
||||
prompt=generate_batch_worker_prompt(batch, tool_order, "related")
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
await parallel_execute(worker_tasks); // Batches run in parallel
|
||||
}
|
||||
```
|
||||
|
||||
### Batch Worker Prompt Template
|
||||
|
||||
```
|
||||
PURPOSE: Update CLAUDE.md for assigned modules with tool fallback (related mode)
|
||||
|
||||
TASK:
|
||||
Update documentation for the following modules based on recent changes. For each module, try tools in order until success.
|
||||
|
||||
MODULES:
|
||||
{{module_path_1}}
|
||||
{{module_path_2}}
|
||||
{{module_path_3}}
|
||||
{{module_path_4}}
|
||||
|
||||
TOOLS (try in order):
|
||||
1. {{tool_1}}
|
||||
2. {{tool_2}}
|
||||
3. {{tool_3}}
|
||||
|
||||
EXECUTION:
|
||||
For each module above:
|
||||
1. cd "{{module_path}}"
|
||||
2. Try tool 1:
|
||||
bash(cd "{{module_path}}" && ~/.claude/scripts/update_module_claude.sh "single-layer" "." "{{tool_1}}")
|
||||
→ Success: Report "{{module_path}} updated with {{tool_1}}", proceed to next module
|
||||
→ Failure: Try tool 2
|
||||
3. Try tool 2:
|
||||
bash(cd "{{module_path}}" && ~/.claude/scripts/update_module_claude.sh "single-layer" "." "{{tool_2}}")
|
||||
→ Success: Report "{{module_path}} updated with {{tool_2}}", proceed to next module
|
||||
→ Failure: Try tool 3
|
||||
4. Try tool 3:
|
||||
bash(cd "{{module_path}}" && ~/.claude/scripts/update_module_claude.sh "single-layer" "." "{{tool_3}}")
|
||||
→ Success: Report "{{module_path}} updated with {{tool_3}}", proceed to next module
|
||||
→ Failure: Report "FAILED: {{module_path}} failed all tools", proceed to next module
|
||||
|
||||
REPORTING:
|
||||
Report final summary with:
|
||||
- Total processed: X modules
|
||||
- Successful: Y modules
|
||||
- Failed: Z modules
|
||||
- Tool usage: {{tool_1}}:X, {{tool_2}}:Y, {{tool_3}}:Z
|
||||
- Detailed results for each module
|
||||
```
|
||||
|
||||
### Example Execution
|
||||
|
||||
**Depth 3 (new module)**:
|
||||
```javascript
|
||||
Task(subagent_type="memory-bridge", batch=[./src/api/auth], mode="related")
|
||||
```
|
||||
|
||||
**Benefits**:
|
||||
- 4 modules → 1 agent (75% reduction)
|
||||
- Parallel batches, sequential within batch
|
||||
- Each module gets full fallback chain
|
||||
- Context-aware updates based on git changes
|
||||
|
||||
## Phase 4: Safety Verification
|
||||
|
||||
```bash
|
||||
# Check only CLAUDE.md modified
|
||||
bash(git diff --cached --name-only | grep -v "CLAUDE.md" || echo "Only CLAUDE.md files modified")
|
||||
|
||||
# Display statistics
|
||||
bash(git diff --stat)
|
||||
```
|
||||
|
||||
**Aggregate results**:
|
||||
```
|
||||
Update Summary:
|
||||
Total: 4 | Success: 4 | Failed: 0
|
||||
|
||||
Tool usage:
|
||||
- gemini: 4 modules
|
||||
- qwen: 0 modules (fallback)
|
||||
- codex: 0 modules
|
||||
|
||||
Changes:
|
||||
src/api/auth/CLAUDE.md | 45 +++++++++++++++++++++
|
||||
src/api/CLAUDE.md | 23 +++++++++--
|
||||
src/CLAUDE.md | 12 ++++--
|
||||
CLAUDE.md | 8 ++--
|
||||
4 files changed, 82 insertions(+), 6 deletions(-)
|
||||
```
|
||||
|
||||
## Execution Summary
|
||||
|
||||
**Module Count Threshold**:
|
||||
- **<15 modules**: Coordinator executes Phase 3A (Direct Execution)
|
||||
- **≥15 modules**: Coordinator executes Phase 3B (Agent Batch Execution)
|
||||
|
||||
**Agent Hierarchy** (for ≥15 modules):
|
||||
- **Coordinator**: Handles batch division, spawns worker agents per depth
|
||||
- **Worker Agents**: Each processes 4 modules with tool fallback (related mode)
|
||||
|
||||
## Error Handling
|
||||
|
||||
**Batch Worker**:
|
||||
- Tool fallback per module (auto-retry)
|
||||
- Batch isolation (failures don't propagate)
|
||||
- Clear per-module status reporting
|
||||
|
||||
**Coordinator**:
|
||||
- No changes: Use fallback (recent 10 modules)
|
||||
- User decline: No execution
|
||||
- Safety check fail: Auto-revert staging
|
||||
- Partial failures: Continue execution, report failed modules
|
||||
|
||||
**Fallback Triggers**:
|
||||
- Non-zero exit code
|
||||
- Script timeout
|
||||
- Unexpected output
|
||||
|
||||
## Tool Reference
|
||||
|
||||
| Tool | Best For | Fallback To |
|
||||
|--------|--------------------------------|----------------|
|
||||
| gemini | Documentation, patterns | qwen → codex |
|
||||
| qwen | Architecture, system design | gemini → codex |
|
||||
| codex | Implementation, code quality | gemini → qwen |
|
||||
|
||||
## Usage Examples
|
||||
|
||||
```bash
|
||||
# Daily development update
|
||||
/memory:update-related
|
||||
|
||||
# After feature work with specific tool
|
||||
/memory:update-related --tool qwen
|
||||
|
||||
# Code quality review after implementation
|
||||
/memory:update-related --tool codex
|
||||
```
|
||||
|
||||
## Key Advantages
|
||||
|
||||
**Efficiency**: 30 modules → 8 agents (73% reduction)
|
||||
**Resilience**: 3-tier fallback per module
|
||||
**Performance**: Parallel batches, no concurrency limits
|
||||
**Context-aware**: Updates based on actual git changes
|
||||
**Fast**: Only affected modules, not entire project
|
||||
|
||||
## Coordinator Checklist
|
||||
|
||||
- Parse `--tool` (default: gemini)
|
||||
- Refresh code index for accurate change detection
|
||||
- Detect changed modules via detect_changed_modules.sh
|
||||
- **Smart filter modules** (auto-detect tech stack, skip tests/build/config/docs)
|
||||
- Cache git changes
|
||||
- Apply fallback if no changes (recent 10 modules)
|
||||
- Construct tool fallback order
|
||||
- **Present filtered plan** with skip reasons and change types
|
||||
- **Wait for y/n confirmation**
|
||||
- Determine execution mode:
|
||||
- **<15 modules**: Direct execution (Phase 3A)
|
||||
- For each depth (N→0): Sequential module updates with tool fallback
|
||||
- **≥15 modules**: Agent batch execution (Phase 3B)
|
||||
- For each depth (N→0): Batch modules (4 per batch), spawn batch workers in parallel
|
||||
- Wait for depth/batch completion
|
||||
- Aggregate results
|
||||
- Safety check (only CLAUDE.md modified)
|
||||
- Display git diff statistics + summary
|
||||
|
||||
## Comparison with Full Update
|
||||
|
||||
| Aspect | Related Update | Full Update |
|
||||
|--------|----------------|-------------|
|
||||
| **Scope** | Changed modules only | All project modules |
|
||||
| **Speed** | Fast (minutes) | Slower (10-30 min) |
|
||||
| **Use case** | Daily development | Major refactoring |
|
||||
| **Mode** | `"related"` | `"full"` |
|
||||
| **Trigger** | After commits | After major changes |
|
||||
| **Batching** | 4 modules/agent | 4 modules/agent |
|
||||
| **Fallback** | gemini→qwen→codex | gemini→qwen→codex |
|
||||
| **Complexity threshold** | ≤15 modules | ≤20 modules |
|
||||
@@ -99,7 +99,7 @@ Files updated: .task/IMPL-1.json + 2 subtask files + TODO_LIST.md
|
||||
- **Implementation** → `@code-developer`
|
||||
- **Testing** → `@code-developer` (type: "test-gen")
|
||||
- **Test Validation** → `@test-fix-agent` (type: "test-fix")
|
||||
- **Review** → `@general-purpose` (optional)
|
||||
- **Review** → `@universal-executor` (optional)
|
||||
|
||||
### Context Inheritance
|
||||
- Subtasks inherit parent requirements
|
||||
|
||||
@@ -104,7 +104,7 @@ Based on task type and title keywords:
|
||||
- **Design/Plan** → @planning-agent
|
||||
- **Test Generation** → @code-developer (type: "test-gen")
|
||||
- **Test Execution/Fix** → @test-fix-agent (type: "test-fix")
|
||||
- **Review/Audit** → @general-purpose (optional, only when explicitly requested)
|
||||
- **Review/Audit** → @universal-executor (optional, only when explicitly requested)
|
||||
|
||||
## Validation Rules
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ argument-hint: "task-id"
|
||||
- Executes step-by-step, requiring user confirmation at each checkpoint.
|
||||
- Allows for dynamic adjustments and manual review during the process.
|
||||
- **review**
|
||||
- Optional manual review using `@general-purpose`.
|
||||
- Optional manual review using `@universal-executor`.
|
||||
- Used only when explicitly requested by user.
|
||||
|
||||
### 🤖 **Agent Selection Logic**
|
||||
@@ -45,7 +45,7 @@ FUNCTION select_agent(task, agent_override):
|
||||
WHEN CONTAINS "Execute tests", "Fix tests", "Validate":
|
||||
RETURN "@test-fix-agent" // type: test-fix
|
||||
WHEN CONTAINS "Review code":
|
||||
RETURN "@general-purpose" // Optional manual review
|
||||
RETURN "@universal-executor" // Optional manual review
|
||||
DEFAULT:
|
||||
RETURN "@code-developer" // Default agent
|
||||
END CASE
|
||||
@@ -236,7 +236,7 @@ Different agents receive context tailored to their function, including implement
|
||||
- Error conditions to validate from implementation.context_notes.error_handling
|
||||
- Performance requirements from implementation.context_notes.performance_considerations
|
||||
|
||||
**`@general-purpose`**:
|
||||
**`@universal-executor`**:
|
||||
- Used for optional manual reviews when explicitly requested
|
||||
- Code quality standards and implementation patterns
|
||||
- Security considerations from implementation.context_notes.risks
|
||||
|
||||
@@ -15,13 +15,13 @@ You **MUST** consider the user input before proceeding (if not empty).
|
||||
|
||||
## Goal
|
||||
|
||||
Identify inconsistencies, duplications, ambiguities, and underspecified items between action planning artifacts (`IMPL_PLAN.md`, `task.json`) and brainstorming artifacts (`synthesis-specification.md`) before implementation. This command MUST run only after `/workflow:plan` has successfully produced complete `IMPL_PLAN.md` and task JSON files.
|
||||
Identify inconsistencies, duplications, ambiguities, and underspecified items between action planning artifacts (`IMPL_PLAN.md`, `task.json`) and brainstorming artifacts (`role analysis documents`) before implementation. This command MUST run only after `/workflow:plan` has successfully produced complete `IMPL_PLAN.md` and task JSON files.
|
||||
|
||||
## Operating Constraints
|
||||
|
||||
**STRICTLY READ-ONLY**: Do **not** modify any files. Output a structured analysis report. Offer an optional remediation plan (user must explicitly approve before any follow-up editing commands).
|
||||
|
||||
**Synthesis Authority**: The `synthesis-specification.md` is **authoritative** for requirements and design decisions. Any conflicts between IMPL_PLAN/tasks and synthesis are automatically CRITICAL and require adjustment of the plan/tasks—not reinterpretation of requirements.
|
||||
**Synthesis Authority**: The `role analysis documents` is **authoritative** for requirements and design decisions. Any conflicts between IMPL_PLAN/tasks and synthesis are automatically CRITICAL and require adjustment of the plan/tasks—not reinterpretation of requirements.
|
||||
|
||||
## Execution Steps
|
||||
|
||||
@@ -45,13 +45,13 @@ brainstorm_dir = session_dir/.brainstorming
|
||||
task_dir = session_dir/.task
|
||||
|
||||
# Validate required artifacts
|
||||
SYNTHESIS = brainstorm_dir/synthesis-specification.md
|
||||
SYNTHESIS = brainstorm_dir/role analysis documents
|
||||
IMPL_PLAN = session_dir/IMPL_PLAN.md
|
||||
TASK_FILES = Glob(task_dir/*.json)
|
||||
|
||||
# Abort if missing
|
||||
IF NOT EXISTS(SYNTHESIS):
|
||||
ERROR: "synthesis-specification.md not found. Run /workflow:brainstorm:synthesis first"
|
||||
ERROR: "role analysis documents not found. Run /workflow:brainstorm:synthesis first"
|
||||
EXIT
|
||||
|
||||
IF NOT EXISTS(IMPL_PLAN):
|
||||
@@ -72,7 +72,7 @@ Load only minimal necessary context from each artifact:
|
||||
- User's stated goals and objectives
|
||||
- User's scope definition
|
||||
|
||||
**From synthesis-specification.md**:
|
||||
**From role analysis documents**:
|
||||
- Functional Requirements (IDs, descriptions, acceptance criteria)
|
||||
- Non-Functional Requirements (IDs, targets)
|
||||
- Business Requirements (IDs, success metrics)
|
||||
@@ -210,7 +210,7 @@ Output a Markdown report (no file writes) with the following structure:
|
||||
|
||||
**Session**: WFS-{session-id}
|
||||
**Generated**: {timestamp}
|
||||
**Artifacts Analyzed**: synthesis-specification.md, IMPL_PLAN.md, {N} task files
|
||||
**Artifacts Analyzed**: role analysis documents, IMPL_PLAN.md, {N} task files
|
||||
|
||||
---
|
||||
|
||||
@@ -324,44 +324,40 @@ Output a Markdown report (no file writes) with the following structure:
|
||||
|
||||
**If CRITICAL Issues Exist**:
|
||||
- ❌ **BLOCK EXECUTION** - Resolve critical issues before proceeding
|
||||
- Use `/task:create` for missing requirements coverage
|
||||
- Use TodoWrite to track all required fixes
|
||||
- Fix broken dependencies and circular references
|
||||
|
||||
**If Only HIGH/MEDIUM/LOW Issues**:
|
||||
- ⚠️ **PROCEED WITH CAUTION** - Fix high-priority issues first
|
||||
- Use batch replan mode to apply all task improvements systematically
|
||||
- Use TodoWrite to systematically track and complete all improvements
|
||||
|
||||
#### Batch Remediation
|
||||
#### TodoWrite-Based Remediation Workflow
|
||||
|
||||
**Report Location**: `.workflow/WFS-{session}/.process/ACTION_PLAN_VERIFICATION.md`
|
||||
|
||||
**Apply All Task Improvements** (Recommended):
|
||||
```bash
|
||||
# Batch process all task replan recommendations
|
||||
/task:replan --batch .workflow/WFS-{session}/.process/ACTION_PLAN_VERIFICATION.md
|
||||
**Recommended Workflow**:
|
||||
1. **Create TodoWrite Task List**: Extract all findings from report
|
||||
2. **Process by Priority**: CRITICAL → HIGH → MEDIUM → LOW
|
||||
3. **Complete Each Fix**: Mark tasks as in_progress/completed as you work
|
||||
4. **Validate Changes**: Verify each modification against requirements
|
||||
|
||||
# Or with auto-confirmation (no prompts)
|
||||
/task:replan --batch ACTION_PLAN_VERIFICATION.md --auto-confirm
|
||||
```
|
||||
|
||||
**Manual Selective Fixes**:
|
||||
```bash
|
||||
# Fix critical coverage gaps first
|
||||
/task:create "Implement user authentication (FR-03)"
|
||||
/task:create "Add performance optimization (NFR-01)"
|
||||
|
||||
# Then apply task refinements individually
|
||||
/task:replan IMPL-1.2 "Add context.artifacts and target_files"
|
||||
**TodoWrite Task Structure Example**:
|
||||
```markdown
|
||||
Priority Order:
|
||||
1. Fix coverage gaps (CRITICAL)
|
||||
2. Resolve consistency conflicts (CRITICAL/HIGH)
|
||||
3. Add missing specifications (MEDIUM)
|
||||
4. Improve task quality (LOW)
|
||||
```
|
||||
|
||||
**Notes**:
|
||||
- Batch mode extracts all `/task:replan` commands from report
|
||||
- Processes by priority: CRITICAL → HIGH → MEDIUM → LOW
|
||||
- Creates TodoWrite tracking for all modifications
|
||||
- TodoWrite provides real-time progress tracking
|
||||
- Each finding becomes a trackable todo item
|
||||
- User can monitor progress throughout remediation
|
||||
- Architecture drift in IMPL_PLAN requires manual editing
|
||||
```
|
||||
|
||||
### 7. Save Report and Provide Remediation Options
|
||||
### 7. Save Report and Execute TodoWrite-Based Remediation
|
||||
|
||||
**Save Analysis Report**:
|
||||
```bash
|
||||
@@ -369,14 +365,53 @@ report_path = ".workflow/WFS-{session}/.process/ACTION_PLAN_VERIFICATION.md"
|
||||
Write(report_path, full_report_content)
|
||||
```
|
||||
|
||||
At end of report, provide batch remediation guidance:
|
||||
**After Report Generation**:
|
||||
|
||||
1. **Extract Findings**: Parse all issues by severity
|
||||
2. **Create TodoWrite Task List**: Convert findings to actionable todos
|
||||
3. **Execute Fixes**: Process each todo systematically
|
||||
4. **Update Task Files**: Apply modifications directly to task JSON files
|
||||
5. **Update IMPL_PLAN**: Apply strategic changes if needed
|
||||
|
||||
At end of report, provide remediation guidance:
|
||||
|
||||
```markdown
|
||||
### 🔧 Remediation Options
|
||||
### 🔧 Remediation Workflow
|
||||
|
||||
**Recommended Workflow**:
|
||||
1. **TodoWrite Tracking**: Create task list for all fixes
|
||||
2. **Agent-Based Fixes**: Call action-planning-agent to regenerate task files
|
||||
3. **User Confirmation**: Wait for approval before executing fixes
|
||||
**Recommended Approach**:
|
||||
1. **Initialize TodoWrite**: Create comprehensive task list from all findings
|
||||
2. **Process by Severity**: Start with CRITICAL, then HIGH, MEDIUM, LOW
|
||||
3. **Apply Fixes Directly**: Modify task.json files and IMPL_PLAN.md as needed
|
||||
4. **Track Progress**: Mark todos as completed after each fix
|
||||
|
||||
**Note**: All fixes require explicit user confirmation.
|
||||
**TodoWrite Execution Pattern**:
|
||||
```bash
|
||||
# Step 1: Create task list from verification report
|
||||
TodoWrite([
|
||||
{ content: "Fix FR-03 coverage gap - add authentication task", status: "pending", activeForm: "Fixing FR-03 coverage gap" },
|
||||
{ content: "Fix IMPL-1.2 consistency - align with ADR-02", status: "pending", activeForm: "Fixing IMPL-1.2 consistency" },
|
||||
{ content: "Add context.artifacts to IMPL-1.2", status: "pending", activeForm: "Adding context.artifacts to IMPL-1.2" },
|
||||
# ... additional todos for each finding
|
||||
])
|
||||
|
||||
# Step 2: Process each todo systematically
|
||||
# Mark as in_progress when starting
|
||||
# Apply fix using Read/Edit tools
|
||||
# Mark as completed when done
|
||||
# Move to next priority item
|
||||
```
|
||||
|
||||
**File Modification Workflow**:
|
||||
```bash
|
||||
# For task JSON modifications:
|
||||
1. Read(.workflow/WFS-{session}/.task/IMPL-X.Y.json)
|
||||
2. Edit() to apply fixes
|
||||
3. Mark todo as completed
|
||||
|
||||
# For IMPL_PLAN modifications:
|
||||
1. Read(.workflow/WFS-{session}/IMPL_PLAN.md)
|
||||
2. Edit() to apply strategic changes
|
||||
3. Mark todo as completed
|
||||
```
|
||||
|
||||
**Note**: All fixes execute immediately after user confirmation without additional commands.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: api-designer
|
||||
description: Generate or update api-designer/analysis.md addressing topic-framework discussion points
|
||||
description: Generate or update api-designer/analysis.md addressing guidance-specification discussion points
|
||||
argument-hint: "optional topic - uses existing framework if available"
|
||||
allowed-tools: Task(conceptual-planning-agent), TodoWrite(*), Read(*), Write(*)
|
||||
---
|
||||
@@ -8,10 +8,10 @@ allowed-tools: Task(conceptual-planning-agent), TodoWrite(*), Read(*), Write(*)
|
||||
## 🔌 **API Designer Analysis Generator**
|
||||
|
||||
### Purpose
|
||||
**Specialized command for generating api-designer/analysis.md** that addresses topic-framework.md discussion points from backend API design perspective. Creates or updates role-specific analysis with framework references.
|
||||
**Specialized command for generating api-designer/analysis.md** that addresses guidance-specification.md discussion points from backend API design perspective. Creates or updates role-specific analysis with framework references.
|
||||
|
||||
### Core Function
|
||||
- **Framework-based Analysis**: Address each discussion point in topic-framework.md
|
||||
- **Framework-based Analysis**: Address each discussion point in guidance-specification.md
|
||||
- **API Design Focus**: RESTful/GraphQL API design, endpoint structure, and contract definition
|
||||
- **Update Mechanism**: Create new or update existing analysis.md
|
||||
- **Agent Delegation**: Use conceptual-planning-agent for analysis generation
|
||||
@@ -51,7 +51,7 @@ IF active_session EXISTS:
|
||||
session_id = get_active_session()
|
||||
brainstorm_dir = .workflow/WFS-{session}/.brainstorming/
|
||||
|
||||
CHECK: brainstorm_dir/topic-framework.md
|
||||
CHECK: brainstorm_dir/guidance-specification.md
|
||||
IF EXISTS:
|
||||
framework_mode = true
|
||||
load_framework = true
|
||||
@@ -78,20 +78,20 @@ ELSE:
|
||||
```
|
||||
|
||||
### Phase 3: Agent Task Generation
|
||||
**Framework-Based Analysis** (when topic-framework.md exists):
|
||||
**Framework-Based Analysis** (when guidance-specification.md exists):
|
||||
```bash
|
||||
Task(subagent_type="conceptual-planning-agent",
|
||||
prompt="Generate API designer analysis addressing topic framework
|
||||
|
||||
## Framework Integration Required
|
||||
**MANDATORY**: Load and address topic-framework.md discussion points
|
||||
**Framework Reference**: @{session.brainstorm_dir}/topic-framework.md
|
||||
**MANDATORY**: Load and address guidance-specification.md discussion points
|
||||
**Framework Reference**: @{session.brainstorm_dir}/guidance-specification.md
|
||||
**Output Location**: {session.brainstorm_dir}/api-designer/analysis.md
|
||||
|
||||
## Analysis Requirements
|
||||
1. **Load Topic Framework**: Read topic-framework.md completely
|
||||
1. **Load Topic Framework**: Read guidance-specification.md completely
|
||||
2. **Address Each Discussion Point**: Respond to all 5 framework sections from API design perspective
|
||||
3. **Include Framework Reference**: Start analysis.md with @../topic-framework.md
|
||||
3. **Include Framework Reference**: Start analysis.md with @../guidance-specification.md
|
||||
4. **API Design Focus**: Emphasize endpoint structure, data contracts, versioning strategies
|
||||
5. **Structured Response**: Use framework structure for analysis organization
|
||||
|
||||
@@ -106,7 +106,7 @@ Task(subagent_type="conceptual-planning-agent",
|
||||
```markdown
|
||||
# API Designer Analysis: [Topic]
|
||||
|
||||
**Framework Reference**: @../topic-framework.md
|
||||
**Framework Reference**: @../guidance-specification.md
|
||||
**Role Focus**: Backend API Design and Contract Definition
|
||||
|
||||
## Core Requirements Analysis
|
||||
@@ -140,14 +140,14 @@ IF update_mode = "incremental":
|
||||
|
||||
## Current Analysis Context
|
||||
**Existing Analysis**: @{session.brainstorm_dir}/api-designer/analysis.md
|
||||
**Framework Reference**: @{session.brainstorm_dir}/topic-framework.md
|
||||
**Framework Reference**: @{session.brainstorm_dir}/guidance-specification.md
|
||||
|
||||
## Update Requirements
|
||||
1. **Preserve Structure**: Maintain existing analysis structure
|
||||
2. **Add New Insights**: Integrate new API design insights and recommendations
|
||||
3. **Framework Alignment**: Ensure continued alignment with topic framework
|
||||
4. **API Updates**: Add new endpoint patterns, versioning strategies, documentation improvements
|
||||
5. **Maintain References**: Keep @../topic-framework.md reference
|
||||
5. **Maintain References**: Keep @../guidance-specification.md reference
|
||||
|
||||
## Update Instructions
|
||||
- Read existing analysis completely
|
||||
@@ -163,14 +163,14 @@ IF update_mode = "incremental":
|
||||
### Output Files
|
||||
```
|
||||
.workflow/WFS-[topic]/.brainstorming/
|
||||
├── topic-framework.md # Input: Framework (if exists)
|
||||
├── guidance-specification.md # Input: Framework (if exists)
|
||||
└── api-designer/
|
||||
└── analysis.md # ★ OUTPUT: Framework-based analysis
|
||||
```
|
||||
|
||||
### Analysis Structure
|
||||
**Required Elements**:
|
||||
- **Framework Reference**: @../topic-framework.md (if framework exists)
|
||||
- **Framework Reference**: @../guidance-specification.md (if framework exists)
|
||||
- **Role Focus**: Backend API Design and Contract Definition perspective
|
||||
- **5 Framework Sections**: Address each framework discussion point
|
||||
- **API Design Recommendations**: Endpoint-specific insights and solutions
|
||||
|
||||
@@ -1,229 +1,556 @@
|
||||
---
|
||||
name: artifacts
|
||||
description: Generate role-specific topic-framework.md dynamically based on selected roles
|
||||
argument-hint: "topic or challenge description for framework generation"
|
||||
allowed-tools: TodoWrite(*), Read(*), Write(*), Bash(*), Glob(*)
|
||||
description: Multi-phase clarification workflow generating confirmed guidance specification
|
||||
argument-hint: "topic or challenge description for clarification"
|
||||
allowed-tools: TodoWrite(*), Read(*), Write(*), AskUserQuestion(*), Bash(*), Glob(*)
|
||||
---
|
||||
|
||||
# Topic Framework Generator Command
|
||||
# Brainstorm Clarification Command
|
||||
|
||||
## Usage
|
||||
## 📖 Overview
|
||||
|
||||
### Purpose
|
||||
**Multi-phase interactive clarification workflow** that collects user decisions through intelligent questioning, generating a **confirmed guidance specification** (declarative statements) rather than open-ended questions (interrogative sentences).
|
||||
|
||||
### Core Philosophy Change
|
||||
- ❌ **OLD**: Generate guidance-specification.md with open questions ("What are...?", "How should...?")
|
||||
- ✅ **NEW**: Multi-step clarification → Generate guidance-specification.md with confirmed decisions
|
||||
|
||||
### User Intent Preservation
|
||||
Topic description is stored in session metadata and serves as authoritative reference throughout workflow lifecycle.
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Usage
|
||||
|
||||
### Basic Command
|
||||
```bash
|
||||
/workflow:brainstorm:artifacts "<topic>" [--roles "role1,role2,role3"]
|
||||
/workflow:brainstorm:artifacts "<topic>"
|
||||
```
|
||||
|
||||
**Recommended Structured Format**:
|
||||
### Recommended Structured Format
|
||||
```bash
|
||||
/workflow:brainstorm:artifacts "GOAL: [objective] SCOPE: [boundaries] CONTEXT: [background]" [--roles "..."]
|
||||
/workflow:brainstorm:artifacts "GOAL: [objective] SCOPE: [boundaries] CONTEXT: [background]"
|
||||
```
|
||||
|
||||
## Purpose
|
||||
**Generate dynamic topic-framework.md tailored to selected roles**. Creates role-specific discussion frameworks that address relevant perspectives. If no roles specified, generates comprehensive framework covering common analysis areas.
|
||||
|
||||
**⚠️ User Intent Preservation**: Topic description is stored in session metadata and serves as authoritative reference throughout workflow lifecycle.
|
||||
|
||||
## Role-Based Framework Generation
|
||||
|
||||
**Dynamic Generation**: Framework content adapts based on selected roles
|
||||
- **With roles**: Generate targeted discussion points for specified roles only
|
||||
- **Without roles**: Generate comprehensive framework covering all common areas
|
||||
|
||||
## Core Workflow
|
||||
|
||||
### Topic Framework Generation Process
|
||||
|
||||
**Phase 1: Session Management** ⚠️ FIRST STEP
|
||||
- **Active session detection**: Check `.workflow/.active-*` markers
|
||||
- **Session selection**: Prompt user if multiple active sessions found
|
||||
- **Auto-creation**: Create `WFS-[topic-slug]` only if no active session exists
|
||||
- **Framework check**: Check if `topic-framework.md` exists (update vs create mode)
|
||||
|
||||
**Phase 2: Role Analysis** ⚠️ NEW
|
||||
- **Parse roles parameter**: Extract roles from `--roles "role1,role2,role3"` if provided
|
||||
- **Role validation**: Verify each role is valid (matches available role commands)
|
||||
- **Store role list**: Save selected roles to session metadata for reference
|
||||
- **Default behavior**: If no roles specified, use comprehensive coverage
|
||||
|
||||
**Phase 3: Dynamic Topic Analysis**
|
||||
- **Scope definition**: Define topic boundaries and objectives
|
||||
- **Stakeholder identification**: Identify key users and stakeholders based on selected roles
|
||||
- **Requirements gathering**: Extract requirements relevant to selected roles
|
||||
- **Context collection**: Gather context appropriate for role perspectives
|
||||
|
||||
**Phase 4: Role-Specific Framework Generation**
|
||||
- **Discussion points creation**: Generate 3-5 discussion areas **tailored to selected roles**
|
||||
- **Role-targeted questions**: Create questions specifically for chosen roles
|
||||
- **Framework document**: Generate `topic-framework.md` with role-specific sections
|
||||
- **Validation check**: Ensure framework addresses all selected role perspectives
|
||||
|
||||
**Phase 5: Metadata Storage**
|
||||
- **Save role assignment**: Store selected roles in session metadata
|
||||
- **Framework versioning**: Track which roles framework addresses
|
||||
- **Update tracking**: Maintain role evolution if framework updated
|
||||
|
||||
## Implementation Standards
|
||||
|
||||
### Discussion-Driven Analysis
|
||||
**Interactive Approach**: Direct conversation and exploration without predefined role constraints
|
||||
|
||||
**Process Flow**:
|
||||
1. **Topic introduction**: Understanding scope and context
|
||||
2. **Exploratory questioning**: Open-ended investigation
|
||||
3. **Component identification**: Breaking down into manageable pieces
|
||||
4. **Relationship analysis**: Understanding connections and dependencies
|
||||
5. **Documentation generation**: Structured capture of insights
|
||||
|
||||
**Key Areas of Investigation**:
|
||||
- **Functional aspects**: What the topic needs to accomplish
|
||||
- **Technical considerations**: Implementation constraints and requirements
|
||||
- **User perspectives**: How different stakeholders are affected
|
||||
- **Business implications**: Cost, timeline, and strategic considerations
|
||||
- **Risk assessment**: Potential challenges and mitigation strategies
|
||||
|
||||
### Document Generation Standards
|
||||
|
||||
**Always Created**:
|
||||
- **discussion-summary.md**: Main conversation points and key insights
|
||||
- **component-analysis.md**: Detailed breakdown of topic components
|
||||
|
||||
## Document Generation
|
||||
|
||||
**Primary Output**: Single structured `topic-framework.md` document
|
||||
|
||||
**Document Structure**:
|
||||
### Example
|
||||
```bash
|
||||
/workflow:brainstorm:artifacts "GOAL: Build real-time collaboration platform SCOPE: Support 100 concurrent users CONTEXT: Existing monolithic architecture needs refactoring"
|
||||
```
|
||||
.workflow/WFS-[topic]/.brainstorming/
|
||||
└── topic-framework.md # ★ STRUCTURED FRAMEWORK DOCUMENT
|
||||
```
|
||||
|
||||
**Note**: `workflow-session.json` is located at `.workflow/WFS-[topic]/workflow-session.json` (session root), not inside `.brainstorming/`.
|
||||
|
||||
## Framework Template Structures
|
||||
|
||||
### Dynamic Role-Based Framework
|
||||
|
||||
Framework content adapts based on `--roles` parameter:
|
||||
|
||||
#### Option 1: Specific Roles Provided
|
||||
```markdown
|
||||
# [Topic] - Discussion Framework
|
||||
|
||||
## Topic Overview
|
||||
- **Scope**: [Topic boundaries relevant to selected roles]
|
||||
- **Objectives**: [Goals from perspective of selected roles]
|
||||
- **Context**: [Background focusing on role-specific concerns]
|
||||
- **Target Roles**: ui-designer, system-architect, subject-matter-expert
|
||||
|
||||
## Role-Specific Discussion Points
|
||||
|
||||
### For UI Designer
|
||||
1. **User Interface Requirements**
|
||||
- What interface components are needed?
|
||||
- What user interactions must be supported?
|
||||
- What visual design considerations apply?
|
||||
|
||||
2. **User Experience Challenges**
|
||||
- What are the key user journeys?
|
||||
- What accessibility requirements exist?
|
||||
- How to balance aesthetics with functionality?
|
||||
|
||||
### For System Architect
|
||||
1. **Architecture Decisions**
|
||||
- What architectural patterns fit this solution?
|
||||
- What scalability requirements exist?
|
||||
- How does this integrate with existing systems?
|
||||
|
||||
2. **Technical Implementation**
|
||||
- What technology stack is appropriate?
|
||||
- What are the performance requirements?
|
||||
- What dependencies must be managed?
|
||||
|
||||
### For Subject Matter Expert
|
||||
1. **Domain Expertise & Standards**
|
||||
- What industry standards and best practices apply?
|
||||
- What regulatory compliance requirements exist?
|
||||
- What domain-specific patterns should be followed?
|
||||
|
||||
2. **Technical Quality & Risk**
|
||||
- What technical debt considerations exist?
|
||||
- What scalability and maintenance implications apply?
|
||||
- What knowledge transfer and documentation is needed?
|
||||
|
||||
## Cross-Role Integration Points
|
||||
- How do UI decisions impact architecture?
|
||||
- How does architecture constrain UI possibilities?
|
||||
- What domain standards affect both UI and architecture?
|
||||
|
||||
## Framework Usage
|
||||
**For Role Agents**: Address your specific section + integration points
|
||||
**Reference Format**: @../topic-framework.md in your analysis.md
|
||||
**Update Process**: Use /workflow:brainstorm:artifacts to update
|
||||
|
||||
---
|
||||
*Generated for roles: ui-designer, system-architect, subject-matter-expert*
|
||||
*Last updated: [timestamp]*
|
||||
|
||||
## 🔄 Multi-Phase Workflow
|
||||
|
||||
### Workflow Diagram
|
||||
|
||||
```
|
||||
Phase 1: Intent Classification
|
||||
│ (Understand project type and focus)
|
||||
│ → 2-3 questions, 3 choices each
|
||||
↓
|
||||
Phase 2: Role Selection
|
||||
│ (Determine participating roles)
|
||||
│ → Recommend 3-5 roles, multiSelect
|
||||
↓
|
||||
Phase 3: Role-Specific Questions
|
||||
│ (Collect professional domain decisions)
|
||||
│ → 3-5 questions per role, 3 choices each
|
||||
↓
|
||||
Phase 4: Cross-Role Clarification
|
||||
│ (Ensure inter-role consistency)
|
||||
│ → 1-2 questions per role from related role perspectives
|
||||
↓
|
||||
Phase 5: Generate Guidance Specification
|
||||
│ (Create confirmed guidance document)
|
||||
└─→ guidance-specification.md (declarative statements)
|
||||
```
|
||||
|
||||
#### Option 2: No Roles Specified (Comprehensive)
|
||||
```markdown
|
||||
# [Topic] - Discussion Framework
|
||||
|
||||
## Topic Overview
|
||||
- **Scope**: [Comprehensive topic boundaries]
|
||||
- **Objectives**: [All-encompassing goals]
|
||||
- **Context**: [Full background and constraints]
|
||||
- **Stakeholders**: [All relevant parties]
|
||||
|
||||
## Core Discussion Areas
|
||||
|
||||
### 1. Requirements & Objectives
|
||||
- What are the fundamental requirements?
|
||||
- What are the critical success factors?
|
||||
- What constraints must be considered?
|
||||
|
||||
### 2. Technical & Architecture
|
||||
- What are the technical challenges?
|
||||
- What architectural decisions are needed?
|
||||
- What integration points exist?
|
||||
|
||||
### 3. User Experience & Design
|
||||
- Who are the primary users?
|
||||
- What are the key user journeys?
|
||||
- What usability requirements exist?
|
||||
|
||||
### 4. Security & Compliance
|
||||
- What security requirements exist?
|
||||
- What compliance considerations apply?
|
||||
- What data protection is needed?
|
||||
|
||||
### 5. Implementation & Operations
|
||||
- What are the implementation risks?
|
||||
- What resources are required?
|
||||
- How will this be maintained?
|
||||
|
||||
## Available Role Perspectives
|
||||
Framework supports analysis from any of these roles:
|
||||
- **Technical**: system-architect, data-architect, subject-matter-expert
|
||||
- **Product & Design**: ui-designer, ux-expert, product-manager, product-owner
|
||||
- **Agile & Quality**: scrum-master, test-strategist
|
||||
|
||||
---
|
||||
*Comprehensive framework - adaptable to any role*
|
||||
*Last updated: [timestamp]*
|
||||
|
||||
## 📋 Phase 1: Intent Classification
|
||||
|
||||
### Purpose
|
||||
Understand project type and focus areas to customize subsequent questions.
|
||||
|
||||
### Implementation
|
||||
Use **AskUserQuestion** tool to intelligently generate 2-3 classification questions based on user's topic description.
|
||||
|
||||
### Question Types (Intelligently Generated)
|
||||
1. **Project Type**: New feature / Optimization / Refactoring
|
||||
2. **Value Focus**: UX-driven / Technical capability / Business value
|
||||
3. **System Scale**: Small (MVP) / Medium / Large (Enterprise)
|
||||
|
||||
### Output
|
||||
- **intent_context**: Classification results
|
||||
- Stored in session metadata for Phase 2-4 customization
|
||||
|
||||
### Example Flow
|
||||
```javascript
|
||||
AskUserQuestion({
|
||||
questions: [{
|
||||
question: "What is the project type?",
|
||||
header: "Project Type",
|
||||
multiSelect: false,
|
||||
options: [
|
||||
{label: "New Feature Development", description: "Build new features or products from scratch"},
|
||||
{label: "System Optimization", description: "Improve performance, experience, or architecture"},
|
||||
{label: "Architecture Migration", description: "Technology stack upgrade or system migration"}
|
||||
]
|
||||
}]
|
||||
// ... Generate 2-3 classification questions similarly
|
||||
})
|
||||
```
|
||||
|
||||
## Role-Specific Content Generation
|
||||
---
|
||||
|
||||
### Available Roles and Their Focus Areas
|
||||
## 👥 Phase 2: Role Selection
|
||||
|
||||
### Purpose
|
||||
Determine which roles should participate in analysis.
|
||||
|
||||
### Implementation Steps
|
||||
|
||||
**1. Analyze Topic + Phase 1 Results**
|
||||
Intelligently recommend 3-5 relevant roles based on keywords.
|
||||
|
||||
**2. Role Recommendation Logic**
|
||||
- **Technical keywords** (architecture, system, performance, database)
|
||||
→ system-architect, data-architect, subject-matter-expert
|
||||
- **API/Backend keywords** (api, endpoint, rest, graphql, service)
|
||||
→ api-designer, system-architect, data-architect
|
||||
- **UX keywords** (user, ui, ux, design, experience)
|
||||
→ ui-designer, ux-expert, product-manager
|
||||
- **Business keywords** (business, process, workflow, cost)
|
||||
→ product-manager, product-owner
|
||||
- **Agile keywords** (sprint, scrum, team, delivery)
|
||||
→ scrum-master, product-owner
|
||||
|
||||
**3. Present to User**
|
||||
Use AskUserQuestion with multiSelect for role selection.
|
||||
|
||||
### Available Roles
|
||||
|
||||
**Technical**: `system-architect`, `data-architect`, `subject-matter-expert`, `api-designer`
|
||||
**Product & Design**: `ui-designer`, `ux-expert`, `product-manager`, `product-owner`
|
||||
**Agile & Quality**: `scrum-master`, `test-strategist`
|
||||
|
||||
**Detailed role descriptions**: See "Reference Information > Available Roles Reference"
|
||||
|
||||
### Output
|
||||
- **selected_roles**: List of user-selected roles
|
||||
- Stored in session metadata
|
||||
|
||||
---
|
||||
|
||||
## 🎓 Phase 3: Role-Specific Professional Questions
|
||||
|
||||
### Purpose
|
||||
Collect decisions for each role's professional domain.
|
||||
|
||||
### Implementation
|
||||
For each selected role, **intelligently generate 3-5 core questions** based on:
|
||||
- Role's professional expertise area
|
||||
- User's topic description
|
||||
- Phase 1 intent context
|
||||
|
||||
### Question Generation Rules
|
||||
1. **Exactly 3 options** per question (MECE principle)
|
||||
2. **Concrete and actionable** options
|
||||
3. **Avoid vague options** like "depends on situation"
|
||||
4. **Use AskUserQuestion** with multiSelect: false
|
||||
|
||||
### Role Question Focus Areas
|
||||
|
||||
**system-architect**:
|
||||
- Architecture style (microservices/monolith/hybrid)
|
||||
- Data consistency (strong/eventual/hybrid)
|
||||
- Performance priority (latency/throughput/resource)
|
||||
- Deployment model (cloud-native/VM/serverless)
|
||||
|
||||
**ui-designer**:
|
||||
- Visual style (minimalist/rich/professional)
|
||||
- Component complexity (simple/moderate/complex)
|
||||
- Design system maturity (full/basic/lightweight)
|
||||
- Responsive strategy (mobile-first/desktop-first/adaptive)
|
||||
|
||||
**ux-expert**:
|
||||
- User persona (novice/intermediate/expert)
|
||||
- Interaction complexity (simple/rich/professional)
|
||||
- Accessibility level (WCAG AA/AAA/basic)
|
||||
- Testing strategy (comprehensive/targeted/minimal)
|
||||
|
||||
**product-manager**:
|
||||
- MVP scope (minimal core/core+hooks/full feature set)
|
||||
- Timeline expectation (fast iteration/standard/robust)
|
||||
- Priority strategy (user value/technical debt/innovation)
|
||||
- Success metrics (usage/satisfaction/revenue)
|
||||
|
||||
**data-architect**:
|
||||
- Storage technology (relational/NoSQL/polyglot)
|
||||
- Data model complexity (simple/moderate/complex domain)
|
||||
- Analytics needs (basic/moderate/advanced)
|
||||
- Compliance requirements (GDPR/HIPAA/none)
|
||||
|
||||
**Other roles** (api-designer, product-owner, scrum-master, subject-matter-expert, test-strategist):
|
||||
Similar 3-5 questions tailored to their domains.
|
||||
|
||||
### Example: System Architect Questions
|
||||
|
||||
For topic "Build real-time collaboration platform":
|
||||
|
||||
```javascript
|
||||
AskUserQuestion({
|
||||
questions: [
|
||||
{
|
||||
question: "System architecture style preference?",
|
||||
header: "Architecture Style",
|
||||
multiSelect: false,
|
||||
options: [
|
||||
{label: "Microservices", description: "Independent service deployment, suitable for large teams"},
|
||||
{label: "Modular Monolith", description: "Single deployment unit, suitable for small to medium teams"},
|
||||
{label: "Hybrid Architecture", description: "Core monolith + partial microservices"}
|
||||
]
|
||||
}
|
||||
// ... Generate 3-5 questions similarly
|
||||
]
|
||||
})
|
||||
```
|
||||
|
||||
**Other roles**: Generate similarly based on professional domains (see "Role Question Focus Areas")
|
||||
|
||||
### Output
|
||||
- **role_decisions**: Map of {role: [answers]} for all selected roles
|
||||
- Stored in session metadata
|
||||
|
||||
---
|
||||
|
||||
## 🔗 Phase 4: Cross-Role Clarification Questions
|
||||
|
||||
### Purpose
|
||||
Ensure consistency across roles and identify potential conflicts.
|
||||
|
||||
### Implementation
|
||||
For each selected role, **intelligently generate 1-2 cross-role questions** from perspectives of 2-3 related roles.
|
||||
|
||||
### Cross-Role Relationship Matrix
|
||||
|
||||
| Current Role | Question from Role Perspectives | Question Topics |
|
||||
|---------|------------------|---------|
|
||||
| system-architect | ui-designer, product-manager, data-architect | Frontend stack, MVP scope, storage choice |
|
||||
| ui-designer | ux-expert, system-architect, product-owner | Design system, technical constraints, feature priority |
|
||||
| product-manager | system-architect, ux-expert, scrum-master | Technical feasibility, user pain points, delivery rhythm |
|
||||
| ux-expert | ui-designer, product-manager, subject-matter-expert | Visual style, user goals, industry norms |
|
||||
| data-architect | system-architect, subject-matter-expert, api-designer | Integration patterns, compliance requirements, API design |
|
||||
|
||||
### Example: Cross-Role Question
|
||||
|
||||
System-architect asking from ui-designer perspective:
|
||||
|
||||
```javascript
|
||||
AskUserQuestion({
|
||||
questions: [{
|
||||
question: "Frontend technology stack choice? (Impacts frontend-backend separation strategy)",
|
||||
header: "Frontend Stack",
|
||||
multiSelect: false,
|
||||
options: [
|
||||
{label: "Modern Framework (React/Vue)", description: "Requires dedicated frontend team"},
|
||||
{label: "Server-Side Rendering (Next.js)", description: "SEO-friendly"},
|
||||
{label: "Lightweight (jQuery)", description: "Backend-driven"}
|
||||
]
|
||||
}]
|
||||
// ... 1-2 cross-role questions per role
|
||||
})
|
||||
```
|
||||
|
||||
### Output
|
||||
- **cross_role_decisions**: Map of {role: {from_role: [answers]}}
|
||||
- Stored in session metadata
|
||||
|
||||
---
|
||||
|
||||
## 📄 Phase 5: Generate Guidance Specification
|
||||
|
||||
### Purpose
|
||||
Based on all user choices, generate a confirmed guidance document with **declarative statements**, not questions.
|
||||
|
||||
### Implementation
|
||||
1. **Consolidate all decisions**:
|
||||
- intent_context (Phase 1)
|
||||
- selected_roles (Phase 2)
|
||||
- role_decisions (Phase 3)
|
||||
- cross_role_decisions (Phase 4)
|
||||
|
||||
2. **Generate guidance-specification.md** with confirmed decisions
|
||||
|
||||
### Output Document Structure
|
||||
|
||||
See **"Output Specification"** section below for complete template.
|
||||
|
||||
### Output Location
|
||||
```
|
||||
.workflow/WFS-[topic]/.brainstorming/guidance-specification.md
|
||||
```
|
||||
|
||||
**Detailed file structure**: See "Reference Information > File Structure"
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Implementation Details
|
||||
|
||||
### Session Management ⚠️ CRITICAL
|
||||
|
||||
**⚡ First Step**: Check `.workflow/.active-*` markers
|
||||
|
||||
**Logic**:
|
||||
- Multiple active sessions → Prompt user to select
|
||||
- Single active session → Use that session
|
||||
- No active session → Create new `WFS-[topic-slug]`
|
||||
|
||||
**Session Data Storage**:
|
||||
- Decision data: `workflow-session.json`
|
||||
- Output file: `.brainstorming/guidance-specification.md`
|
||||
|
||||
### Implementation Workflow
|
||||
|
||||
**Execution Flow**:
|
||||
1. **Session Management**: Detect or create session
|
||||
2. **Phase 1**: Intent classification (2-3 questions)
|
||||
3. **Phase 2**: Role selection (recommendations + multiSelect)
|
||||
4. **Phase 3**: Role professional questions (3-5 questions per role)
|
||||
5. **Phase 4**: Cross-role clarification (1-2 questions per role)
|
||||
6. **Phase 5**: Generate guidance-specification.md
|
||||
7. **Update Metadata**: Save all decisions to session
|
||||
|
||||
**TodoWrite tracking**: Update progress at each Phase
|
||||
|
||||
**Decision storage**: All user choices saved to `workflow-session.json`
|
||||
|
||||
---
|
||||
|
||||
## 🤖 Intelligent Question Generation
|
||||
|
||||
### Core Principle
|
||||
All questions are **intelligently generated by Claude** based on:
|
||||
- Role professional domain
|
||||
- User's topic description
|
||||
- Previous decision context
|
||||
- Phase 1 intent classification
|
||||
|
||||
**No Template Library Required**: Questions are dynamically created to fit specific task context.
|
||||
|
||||
### Question Generation Guidelines
|
||||
|
||||
**For Phase 3 (Role Questions)**:
|
||||
```
|
||||
INPUT: role + topic + intent_context
|
||||
OUTPUT: 3-5 questions, each with 3 MECE options
|
||||
|
||||
Example:
|
||||
- Role: system-architect
|
||||
- Topic: "Build real-time collaboration platform"
|
||||
- Intent: {type: "new_feature", scale: "medium", focus: "technical"}
|
||||
|
||||
Generated Questions:
|
||||
1. Architecture style? [Microservices/Modular Monolith/Hybrid]
|
||||
2. Real-time communication tech? [WebSocket/SSE/Polling]
|
||||
3. Data consistency? [Strong/Eventual/Hybrid]
|
||||
4. Deployment model? [Cloud-native/Traditional VM/Serverless]
|
||||
```
|
||||
|
||||
**For Phase 4 (Cross-Role Questions)**:
|
||||
```
|
||||
INPUT: current_role + related_role + role_decisions + topic
|
||||
OUTPUT: 1-2 questions from related_role perspective
|
||||
|
||||
Example:
|
||||
- Current: system-architect
|
||||
- Related: ui-designer
|
||||
- Topic: "Build real-time collaboration platform"
|
||||
- Context: ui-designer chose "Modern Framework (React)"
|
||||
|
||||
Generated Question:
|
||||
"Frontend technology stack choice? (Impacts frontend-backend separation strategy)"
|
||||
[Modern Framework/Server-Side Rendering/Lightweight]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ✅ Validation & Quality Assurance
|
||||
|
||||
### Output Validation
|
||||
|
||||
**Guidance Specification Must Contain**:
|
||||
- ✅ **All declarative statements**: No question marks in decision sections
|
||||
- ✅ **Clear decisions**: Every decision point has explicit choice
|
||||
- ✅ **Decision traceability**: Can trace back to user answers
|
||||
- ✅ **Cross-role consistency**: Conflicts resolved or noted
|
||||
- ✅ **Actionability**: Next steps are clear
|
||||
|
||||
### Validation Checklist
|
||||
|
||||
The generated guidance-specification.md must pass these checks:
|
||||
|
||||
✅ **No interrogative sentences**: Decision sections should not end with question marks
|
||||
✅ **Clear decisions**: Every decision point has explicit choice (not "TBD"/"Pending")
|
||||
✅ **Traceable**: Every decision can be traced back to user answers
|
||||
✅ **Cross-role consistency**: Cross-role decision count ≥ number of selected roles
|
||||
✅ **Actionable**: "Next steps" are clear and specific
|
||||
|
||||
**Automatic validation**: Execute checks after generation, prompt if issues found
|
||||
|
||||
---
|
||||
|
||||
## 📝 Output Specification
|
||||
|
||||
### Document Structure Overview
|
||||
|
||||
**Output file**: `.workflow/WFS-[topic]/.brainstorming/guidance-specification.md`
|
||||
|
||||
### Template Structure
|
||||
|
||||
```markdown
|
||||
# [Project] - Confirmed Guidance Specification
|
||||
|
||||
**Metadata**: [timestamp, type, focus, roles]
|
||||
|
||||
## 1. Project Positioning & Goals
|
||||
**CONFIRMED**: [objectives, success criteria]
|
||||
|
||||
## 2-5. Role-Specific Decisions
|
||||
Each participating role has one section containing:
|
||||
- **SELECTED**: [confirmed choices]
|
||||
- **Rationale**: [reasoning]
|
||||
- **Constraints/Impact**: [implications]
|
||||
- **Cross-Role Confirmed**: [dependencies]
|
||||
|
||||
## 6. Cross-Role Integration
|
||||
**CONFIRMED**: [API style, data format, auth, collaboration model]
|
||||
|
||||
## 7. Risks & Constraints
|
||||
**Identified**: [risks with mitigation, constraints]
|
||||
|
||||
## 8. Next Steps
|
||||
**Immediate Actions**: [action items]
|
||||
**Role Assignments**: [tasks per role]
|
||||
|
||||
## Appendix: Decision Tracking
|
||||
**Key Decisions**: [table]
|
||||
**Open Items**: [list]
|
||||
```
|
||||
|
||||
**Core principles**:
|
||||
- All decisions use declarative statements (CONFIRMED/SELECTED)
|
||||
- Every decision is traceable to user answers
|
||||
- Cross-role decisions ensure consistency
|
||||
- Next steps are clear and specific
|
||||
|
||||
---
|
||||
|
||||
## 🔄 Update Mechanism
|
||||
|
||||
### Existing Guidance Update
|
||||
|
||||
```bash
|
||||
IF guidance-specification.md EXISTS:
|
||||
SHOW current guidance summary to user
|
||||
ASK: "Guidance exists. Do you want to:"
|
||||
OPTIONS:
|
||||
1. "Regenerate completely" → Start full clarification flow
|
||||
2. "Update specific sections" → Target specific roles/decisions
|
||||
3. "Cancel" → Exit without changes
|
||||
ELSE:
|
||||
CREATE new guidance through full clarification
|
||||
```
|
||||
|
||||
**Update Strategies**:
|
||||
1. **Complete Regeneration**: Backup existing → Full clarification flow
|
||||
2. **Targeted Update**: Update specific role sections or cross-role decisions
|
||||
3. **Incremental Addition**: Add new roles or decision areas
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ Error Handling
|
||||
|
||||
| Error Type | Handling Strategy |
|
||||
|-----------|-------------------|
|
||||
| Session creation failed | Error details + retry option + check permissions |
|
||||
| AskUserQuestion timeout | Save progress + allow resumption + provide instructions |
|
||||
| Incomplete clarification | Mark open items + suggest follow-up clarification |
|
||||
| Conflicting decisions | Highlight conflicts + show disagreeing roles + suggest resolution |
|
||||
|
||||
---
|
||||
|
||||
## 🔗 Integration with Downstream Workflow
|
||||
|
||||
### Core Principles & Governance Rules
|
||||
|
||||
**GOVERNANCE_RULES** for guidance-specification.md output:
|
||||
|
||||
✅ **Declarative Statements Only**
|
||||
- All decisions MUST use CONFIRMED/SELECTED format
|
||||
- NO interrogative sentences (no "?" in decision sections)
|
||||
- NO open questions or TBD items in confirmed decisions
|
||||
|
||||
✅ **Decision Traceability**
|
||||
- Every decision MUST trace back to specific user answer
|
||||
- Cross-reference to Phase 1-4 clarification responses
|
||||
- Document rationale for each confirmed choice
|
||||
|
||||
✅ **Cross-Role Consistency**
|
||||
- Cross-role decisions count ≥ number of selected roles
|
||||
- Conflicts MUST be resolved or explicitly documented
|
||||
- Dependencies between roles clearly stated
|
||||
|
||||
✅ **Actionability Requirements**
|
||||
- Next steps MUST be concrete and specific
|
||||
- Role assignments clearly defined
|
||||
- Success criteria measurable and verifiable
|
||||
|
||||
✅ **Session Integrity**
|
||||
- All decisions stored in `workflow-session.json`
|
||||
- Topic description preserved as authoritative reference
|
||||
- Session lifecycle properly managed (active markers, metadata)
|
||||
|
||||
**CRITICAL**: Generated guidance is the **single source of truth** for all downstream workflow phases. Any ambiguity violates governance rules and MUST be resolved before proceeding.
|
||||
|
||||
---
|
||||
|
||||
### Next Steps After Guidance Generation
|
||||
|
||||
**Standard Workflow**:
|
||||
```bash
|
||||
/workflow:concept-clarify --session WFS-{session-id} # Optional: Further clarification
|
||||
/workflow:plan --session WFS-{session-id} # Generate IMPL_PLAN.md and tasks
|
||||
/workflow:action-plan-verify --session WFS-{session-id} # Optional: Verify plan quality
|
||||
/workflow:execute --session WFS-{session-id} # Start implementation
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📚 Reference Information
|
||||
|
||||
### File Structure
|
||||
```
|
||||
.workflow/WFS-[topic]/
|
||||
├── workflow-session.json # Session metadata with all decisions
|
||||
└── .brainstorming/
|
||||
├── guidance-specification.md # ★ PRIMARY OUTPUT (declarative statements)
|
||||
└── [role]/
|
||||
└── analysis.md # Role deepening analysis (generated later)
|
||||
```
|
||||
|
||||
### Available Roles Reference
|
||||
|
||||
**Technical Roles**:
|
||||
- `system-architect`: Architecture patterns, scalability, technology stack, integration
|
||||
- `data-architect`: Data modeling, processing workflows, analytics, storage
|
||||
- `subject-matter-expert`: Domain expertise, industry standards, compliance, best practices
|
||||
- `data-architect`: Data modeling, storage workflows, analytics, compliance
|
||||
- `subject-matter-expert`: Domain expertise, industry standards, best practices
|
||||
- `api-designer`: API design, versioning, contracts, authentication
|
||||
|
||||
**Product & Design Roles**:
|
||||
- `ui-designer`: User interface, visual design, interaction patterns, accessibility
|
||||
- `ux-expert`: User experience optimization, usability testing, interaction design, design systems
|
||||
- `ui-designer`: User interface, visual design, components, accessibility
|
||||
- `ux-expert`: User experience, usability testing, interaction design, design systems
|
||||
- `product-manager`: Business value, feature prioritization, market positioning, roadmap
|
||||
- `product-owner`: Backlog management, user stories, acceptance criteria, stakeholder alignment
|
||||
|
||||
@@ -231,143 +558,13 @@ Framework supports analysis from any of these roles:
|
||||
- `scrum-master`: Sprint planning, team dynamics, process optimization, delivery management
|
||||
- `test-strategist`: Testing strategies, quality assurance, test automation, validation approaches
|
||||
|
||||
### Dynamic Discussion Point Generation
|
||||
### Architecture Reference
|
||||
- **Workflow Architecture**: @~/.claude/workflows/workflow-architecture.md
|
||||
- **Clarification Plan**: @~/.claude/workflows/brainstorm-clarification-plan.md
|
||||
|
||||
**For each selected role, generate**:
|
||||
1. **2-3 core discussion areas** specific to that role's perspective
|
||||
2. **3-5 targeted questions** per discussion area
|
||||
3. **Cross-role integration points** showing how roles interact
|
||||
|
||||
**Example mapping**:
|
||||
```javascript
|
||||
// If roles = ["ui-designer", "system-architect"]
|
||||
Generate:
|
||||
- UI Designer section: UI Requirements, UX Challenges
|
||||
- System Architect section: Architecture Decisions, Technical Implementation
|
||||
- Integration Points: UI↔Architecture dependencies
|
||||
```
|
||||
|
||||
### Framework Generation Examples
|
||||
|
||||
#### Example 1: Architecture-Heavy Topic
|
||||
```bash
|
||||
/workflow:brainstorm:artifacts "Design scalable microservices platform" --roles "system-architect,data-architect,subject-matter-expert"
|
||||
```
|
||||
**Generated framework focuses on**:
|
||||
- Service architecture and communication patterns
|
||||
- Data flow and storage strategies
|
||||
- Domain standards and best practices
|
||||
|
||||
#### Example 2: User-Focused Topic
|
||||
```bash
|
||||
/workflow:brainstorm:artifacts "Improve user onboarding experience" --roles "ui-designer,ux-expert,product-manager"
|
||||
```
|
||||
**Generated framework focuses on**:
|
||||
- Onboarding flow and UI components
|
||||
- User experience optimization and usability
|
||||
- Business value and success metrics
|
||||
|
||||
#### Example 3: Agile Delivery Topic
|
||||
```bash
|
||||
/workflow:brainstorm:artifacts "Optimize sprint delivery process" --roles "scrum-master,product-owner,test-strategist"
|
||||
```
|
||||
**Generated framework focuses on**:
|
||||
- Sprint planning and team collaboration
|
||||
- Backlog management and prioritization
|
||||
- Quality assurance and testing strategies
|
||||
|
||||
#### Example 4: Comprehensive Analysis
|
||||
```bash
|
||||
/workflow:brainstorm:artifacts "Build real-time collaboration feature"
|
||||
```
|
||||
**Generated framework covers** all aspects (no roles specified)
|
||||
|
||||
## Session Management ⚠️ CRITICAL
|
||||
- **⚡ FIRST ACTION**: Check for all `.workflow/.active-*` markers before processing
|
||||
- **Multiple sessions support**: Different Claude instances can have different active sessions
|
||||
- **User selection**: If multiple active sessions found, prompt user to select which one to work with
|
||||
- **Auto-session creation**: `WFS-[topic-slug]` only if no active session exists
|
||||
- **Session continuity**: MUST use selected active session for all processing
|
||||
- **Context preservation**: All discussion and analysis stored in session directory
|
||||
- **Session isolation**: Each session maintains independent state
|
||||
|
||||
## Discussion Areas
|
||||
|
||||
### Core Investigation Topics
|
||||
- **Purpose & Goals**: What are we trying to achieve?
|
||||
- **Scope & Boundaries**: What's included and excluded?
|
||||
- **Success Criteria**: How do we measure success?
|
||||
- **Constraints**: What limitations exist?
|
||||
- **Stakeholders**: Who is affected or involved?
|
||||
|
||||
### Technical Considerations
|
||||
- **Requirements**: What must the solution provide?
|
||||
- **Dependencies**: What does it rely on?
|
||||
- **Integration**: How does it connect to existing systems?
|
||||
- **Performance**: What are the speed/scale requirements?
|
||||
- **Security**: What protection is needed?
|
||||
|
||||
### Implementation Factors
|
||||
- **Timeline**: When is it needed?
|
||||
- **Resources**: What people/budget/tools are available?
|
||||
- **Risks**: What could go wrong?
|
||||
- **Alternatives**: What other approaches exist?
|
||||
- **Migration**: How do we transition from current state?
|
||||
|
||||
## Update Mechanism ⚠️ SMART UPDATES
|
||||
|
||||
### Framework Update Logic
|
||||
```bash
|
||||
# Check existing framework
|
||||
IF topic-framework.md EXISTS:
|
||||
SHOW current framework to user
|
||||
ASK: "Framework exists. Do you want to:"
|
||||
OPTIONS:
|
||||
1. "Replace completely" → Generate new framework
|
||||
2. "Add discussion points" → Append to existing
|
||||
3. "Refine existing points" → Interactive editing
|
||||
4. "Cancel" → Exit without changes
|
||||
ELSE:
|
||||
CREATE new framework
|
||||
```
|
||||
|
||||
### Update Strategies
|
||||
|
||||
**1. Complete Replacement**
|
||||
- Backup existing framework as `topic-framework-[timestamp].md.backup`
|
||||
- Generate completely new framework
|
||||
- Preserve role-specific analysis points from previous version
|
||||
|
||||
**2. Incremental Addition**
|
||||
- Load existing framework
|
||||
- Identify new discussion areas through user interaction
|
||||
- Add new sections while preserving existing structure
|
||||
- Update framework usage instructions
|
||||
|
||||
**3. Refinement Mode**
|
||||
- Interactive editing of existing discussion points
|
||||
- Allow modification of scope, objectives, and questions
|
||||
- Preserve framework structure and role assignments
|
||||
- Update timestamp and version info
|
||||
|
||||
### Version Control
|
||||
- **Backup Creation**: Always backup before major changes
|
||||
- **Change Tracking**: Include change summary in framework footer
|
||||
- **Rollback Support**: Keep previous version accessible
|
||||
|
||||
## Error Handling
|
||||
- **Session creation failure**: Provide clear error message and retry option
|
||||
- **Discussion stalling**: Offer structured prompts to continue exploration
|
||||
- **Documentation issues**: Graceful handling of file creation problems
|
||||
- **Missing context**: Prompt for additional information when needed
|
||||
|
||||
## Reference Information
|
||||
|
||||
### File Structure Reference
|
||||
**Architecture**: @~/.claude/workflows/workflow-architecture.md
|
||||
**Session Management**: Standard workflow session protocols
|
||||
|
||||
### Integration Points
|
||||
- **Compatible with**: Other brainstorming commands in the same session
|
||||
- **Builds foundation for**: More detailed planning and implementation phases
|
||||
- **Outputs used by**: `/workflow:brainstorm:synthesis` command for cross-analysis integration
|
||||
### Related Commands
|
||||
- `/workflow:brainstorm:auto-parallel` - Parallel role analysis execution
|
||||
- `/workflow:brainstorm:synthesis` - Synthesize role analyses
|
||||
- `/workflow:brainstorm:[role]` - Individual role analysis commands
|
||||
- `/workflow:concept-clarify` - Further concept clarification
|
||||
- `/workflow:plan` - Generate implementation plan
|
||||
|
||||
@@ -156,65 +156,66 @@ END IF
|
||||
### Task Agent Invocation Template
|
||||
|
||||
|
||||
```bash
|
||||
```python
|
||||
Task(subagent_type="conceptual-planning-agent",
|
||||
prompt="Execute brainstorming analysis: {role-name} perspective for {topic}
|
||||
prompt="""Execute brainstorming analysis: {role-name} perspective for {topic}
|
||||
|
||||
## Role Assignment
|
||||
**ASSIGNED_ROLE**: {role-name}
|
||||
**TOPIC**: {user-provided-topic}
|
||||
**OUTPUT_LOCATION**: .workflow/WFS-{topic}/.brainstorming/{role}/
|
||||
## Role Assignment
|
||||
**ASSIGNED_ROLE**: {role-name}
|
||||
**TOPIC**: {user-provided-topic}
|
||||
**OUTPUT_LOCATION**: .workflow/WFS-{topic}/.brainstorming/{role}/
|
||||
|
||||
## Execution Instructions
|
||||
[FLOW_CONTROL]
|
||||
## Execution Instructions
|
||||
[FLOW_CONTROL]
|
||||
|
||||
### Flow Control Steps
|
||||
**AGENT RESPONSIBILITY**: Execute these pre_analysis steps sequentially with context accumulation:
|
||||
### Flow Control Steps
|
||||
**AGENT RESPONSIBILITY**: Execute these pre_analysis steps sequentially with context accumulation:
|
||||
|
||||
1. **load_topic_framework**
|
||||
- Action: Load structured topic discussion framework
|
||||
- Command: bash(cat .workflow/WFS-{topic}/.brainstorming/topic-framework.md 2>/dev/null || echo 'Topic framework not found')
|
||||
- Output: topic_framework
|
||||
1. **load_topic_framework**
|
||||
- Action: Load structured topic discussion framework
|
||||
- Command: Read(.workflow/WFS-{topic}/.brainstorming/guidance-specification.md)
|
||||
- Output: topic_framework
|
||||
- Fallback: Continue with session metadata if file not found
|
||||
|
||||
2. **load_role_template**
|
||||
- Action: Load {role-name} planning template
|
||||
- Command: bash($(cat "~/.claude/workflows/cli-templates/planning-roles/{role}.md"))
|
||||
- Output: role_template
|
||||
2. **load_role_template**
|
||||
- Action: Load {role-name} planning template
|
||||
- Command: Read(~/.claude/workflows/cli-templates/planning-roles/{role}.md)
|
||||
- Output: role_template
|
||||
|
||||
3. **load_session_metadata**
|
||||
- Action: Load session metadata and original user intent
|
||||
- Command: bash(cat .workflow/WFS-{topic}/workflow-session.json 2>/dev/null || echo '{}')
|
||||
- Output: session_metadata (contains original user prompt in 'project' or 'description' field)
|
||||
3. **load_session_metadata**
|
||||
- Action: Load session metadata and original user intent
|
||||
- Command: Read(.workflow/WFS-{topic}/workflow-session.json)
|
||||
- Output: session_metadata (contains original user prompt in 'project' or 'description' field)
|
||||
|
||||
### Implementation Context
|
||||
**⚠️ User Intent Authority**: Original user prompt from session_metadata.project is PRIMARY reference
|
||||
**Topic Framework**: Use loaded topic-framework.md for structured analysis
|
||||
**Role Focus**: {role-name} domain expertise and perspective aligned with user intent
|
||||
**Analysis Type**: Address framework discussion points from role perspective, filtered by user objectives
|
||||
**Template Framework**: Combine role template with topic framework structure
|
||||
**Structured Approach**: Create analysis.md addressing all topic framework points relevant to user's goals
|
||||
### Implementation Context
|
||||
**User Intent Authority**: Original user prompt from session_metadata.project is PRIMARY reference
|
||||
**Topic Framework**: Use loaded guidance-specification.md for structured analysis
|
||||
**Role Focus**: {role-name} domain expertise and perspective aligned with user intent
|
||||
**Analysis Type**: Address framework discussion points from role perspective, filtered by user objectives
|
||||
**Template Framework**: Combine role template with topic framework structure
|
||||
**Structured Approach**: Create analysis.md addressing all topic framework points relevant to user's goals
|
||||
|
||||
### Session Context
|
||||
**Workflow Directory**: .workflow/WFS-{topic}/.brainstorming/
|
||||
**Output Directory**: .workflow/WFS-{topic}/.brainstorming/{role}/
|
||||
**Session JSON**: .workflow/WFS-{topic}/workflow-session.json
|
||||
### Session Context
|
||||
**Workflow Directory**: .workflow/WFS-{topic}/.brainstorming/
|
||||
**Output Directory**: .workflow/WFS-{topic}/.brainstorming/{role}/
|
||||
**Session JSON**: .workflow/WFS-{topic}/workflow-session.json
|
||||
|
||||
### Dependencies & Context
|
||||
**Topic**: {user-provided-topic}
|
||||
**Role Template**: "~/.claude/workflows/cli-templates/planning-roles/{role}.md"
|
||||
**User Requirements**: To be gathered through interactive questioning
|
||||
### Dependencies & Context
|
||||
**Topic**: {user-provided-topic}
|
||||
**Role Template**: ~/.claude/workflows/cli-templates/planning-roles/{role}.md
|
||||
**User Requirements**: To be gathered through interactive questioning
|
||||
|
||||
## Completion Requirements
|
||||
1. Execute all flow control steps in sequence (load topic framework, role template, session metadata with user intent)
|
||||
2. **⚠️ User Intent Alignment**: Validate analysis aligns with original user objectives from session_metadata
|
||||
3. **Address Topic Framework**: Respond to all discussion points in topic-framework.md from role perspective
|
||||
4. **Filter by User Goals**: Prioritize insights directly relevant to user's stated objectives
|
||||
5. Apply role template guidelines within topic framework structure
|
||||
6. Generate structured role analysis addressing framework points aligned with user intent
|
||||
7. Create single comprehensive deliverable in OUTPUT_LOCATION:
|
||||
- analysis.md (structured analysis addressing all topic framework points with role-specific insights filtered by user goals)
|
||||
8. Include framework reference: @../topic-framework.md in analysis.md
|
||||
9. Update workflow-session.json with completion status",
|
||||
## Completion Requirements
|
||||
1. Execute all flow control steps in sequence (load topic framework, role template, session metadata with user intent)
|
||||
2. User Intent Alignment: Validate analysis aligns with original user objectives from session_metadata
|
||||
3. Address Topic Framework: Respond to all discussion points in guidance-specification.md from role perspective
|
||||
4. Filter by User Goals: Prioritize insights directly relevant to user's stated objectives
|
||||
5. Apply role template guidelines within topic framework structure
|
||||
6. Generate structured role analysis addressing framework points aligned with user intent
|
||||
7. Create single comprehensive deliverable in OUTPUT_LOCATION:
|
||||
- analysis.md (structured analysis addressing all topic framework points with role-specific insights filtered by user goals)
|
||||
8. Include framework reference: @../guidance-specification.md in analysis.md
|
||||
9. Update workflow-session.json with completion status""",
|
||||
description="Execute {role-name} brainstorming analysis")
|
||||
```
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: data-architect
|
||||
description: Generate or update data-architect/analysis.md addressing topic-framework discussion points
|
||||
description: Generate or update data-architect/analysis.md addressing guidance-specification discussion points
|
||||
argument-hint: "optional topic - uses existing framework if available"
|
||||
allowed-tools: Task(conceptual-planning-agent), TodoWrite(*), Read(*), Write(*)
|
||||
---
|
||||
@@ -8,10 +8,10 @@ allowed-tools: Task(conceptual-planning-agent), TodoWrite(*), Read(*), Write(*)
|
||||
## 📊 **Data Architect Analysis Generator**
|
||||
|
||||
### Purpose
|
||||
**Specialized command for generating data-architect/analysis.md** that addresses topic-framework.md discussion points from data architecture perspective. Creates or updates role-specific analysis with framework references.
|
||||
**Specialized command for generating data-architect/analysis.md** that addresses guidance-specification.md discussion points from data architecture perspective. Creates or updates role-specific analysis with framework references.
|
||||
|
||||
### Core Function
|
||||
- **Framework-based Analysis**: Address each discussion point in topic-framework.md
|
||||
- **Framework-based Analysis**: Address each discussion point in guidance-specification.md
|
||||
- **Data Architecture Focus**: Data models, pipelines, governance, and analytics perspective
|
||||
- **Update Mechanism**: Create new or update existing analysis.md
|
||||
- **Agent Delegation**: Use conceptual-planning-agent for analysis generation
|
||||
@@ -52,7 +52,7 @@ IF active_session EXISTS:
|
||||
session_id = get_active_session()
|
||||
brainstorm_dir = .workflow/WFS-{session}/.brainstorming/
|
||||
|
||||
CHECK: brainstorm_dir/topic-framework.md
|
||||
CHECK: brainstorm_dir/guidance-specification.md
|
||||
IF EXISTS:
|
||||
framework_mode = true
|
||||
load_framework = true
|
||||
@@ -93,7 +93,7 @@ ANALYSIS_MODE: {framework_mode ? "framework_based" : "standalone"}
|
||||
## Flow Control Steps
|
||||
1. **load_topic_framework**
|
||||
- Action: Load structured topic discussion framework
|
||||
- Command: Read(.workflow/WFS-{session}/.brainstorming/topic-framework.md)
|
||||
- Command: Read(.workflow/WFS-{session}/.brainstorming/guidance-specification.md)
|
||||
- Output: topic_framework_content
|
||||
|
||||
2. **load_role_template**
|
||||
@@ -107,17 +107,17 @@ ANALYSIS_MODE: {framework_mode ? "framework_based" : "standalone"}
|
||||
- Output: session_context
|
||||
|
||||
## Analysis Requirements
|
||||
**Framework Reference**: Address all discussion points in topic-framework.md from data architecture perspective
|
||||
**Framework Reference**: Address all discussion points in guidance-specification.md from data architecture perspective
|
||||
**Role Focus**: Data models, pipelines, governance, analytics platforms
|
||||
**Structured Approach**: Create analysis.md addressing framework discussion points
|
||||
**Template Integration**: Apply role template guidelines within framework structure
|
||||
|
||||
## Expected Deliverables
|
||||
1. **analysis.md**: Comprehensive data architecture analysis addressing all framework discussion points
|
||||
2. **Framework Reference**: Include @../topic-framework.md reference in analysis
|
||||
2. **Framework Reference**: Include @../guidance-specification.md reference in analysis
|
||||
|
||||
## Completion Criteria
|
||||
- Address each discussion point from topic-framework.md with data architecture expertise
|
||||
- Address each discussion point from guidance-specification.md with data architecture expertise
|
||||
- Provide data model designs, pipeline architectures, and governance strategies
|
||||
- Include scalability, performance, and quality considerations
|
||||
- Reference framework document using @ notation for integration
|
||||
@@ -136,7 +136,7 @@ TodoWrite({
|
||||
activeForm: "Detecting session and framework"
|
||||
},
|
||||
{
|
||||
content: "Load topic-framework.md and session metadata for context",
|
||||
content: "Load guidance-specification.md and session metadata for context",
|
||||
status: "pending",
|
||||
activeForm: "Loading framework and session context"
|
||||
},
|
||||
@@ -164,7 +164,7 @@ TodoWrite({
|
||||
### Framework-Based Analysis
|
||||
```
|
||||
.workflow/WFS-{session}/.brainstorming/data-architect/
|
||||
└── analysis.md # Structured analysis addressing topic-framework.md discussion points
|
||||
└── analysis.md # Structured analysis addressing guidance-specification.md discussion points
|
||||
```
|
||||
|
||||
### Analysis Document Structure
|
||||
@@ -172,11 +172,11 @@ TodoWrite({
|
||||
# Data Architect Analysis: [Topic from Framework]
|
||||
|
||||
## Framework Reference
|
||||
**Topic Framework**: @../topic-framework.md
|
||||
**Topic Framework**: @../guidance-specification.md
|
||||
**Role Focus**: Data Architecture perspective
|
||||
|
||||
## Discussion Points Analysis
|
||||
[Address each point from topic-framework.md with data architecture expertise]
|
||||
[Address each point from guidance-specification.md with data architecture expertise]
|
||||
|
||||
### Core Requirements (from framework)
|
||||
[Data architecture perspective on requirements]
|
||||
@@ -209,12 +209,12 @@ TodoWrite({
|
||||
"status": "completed",
|
||||
"framework_addressed": true,
|
||||
"output_location": ".workflow/WFS-{session}/.brainstorming/data-architect/analysis.md",
|
||||
"framework_reference": "@../topic-framework.md"
|
||||
"framework_reference": "@../guidance-specification.md"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Integration Points
|
||||
- **Framework Reference**: @../topic-framework.md for structured discussion points
|
||||
- **Framework Reference**: @../guidance-specification.md for structured discussion points
|
||||
- **Cross-Role Synthesis**: Data architecture insights available for synthesis-report.md integration
|
||||
- **Agent Autonomy**: Independent execution with framework guidance
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: product-manager
|
||||
description: Generate or update product-manager/analysis.md addressing topic-framework discussion points
|
||||
description: Generate or update product-manager/analysis.md addressing guidance-specification discussion points
|
||||
argument-hint: "optional topic - uses existing framework if available"
|
||||
allowed-tools: Task(conceptual-planning-agent), TodoWrite(*), Read(*), Write(*)
|
||||
---
|
||||
@@ -8,10 +8,10 @@ allowed-tools: Task(conceptual-planning-agent), TodoWrite(*), Read(*), Write(*)
|
||||
## 🎯 **Product Manager Analysis Generator**
|
||||
|
||||
### Purpose
|
||||
**Specialized command for generating product-manager/analysis.md** that addresses topic-framework.md discussion points from product strategy perspective. Creates or updates role-specific analysis with framework references.
|
||||
**Specialized command for generating product-manager/analysis.md** that addresses guidance-specification.md discussion points from product strategy perspective. Creates or updates role-specific analysis with framework references.
|
||||
|
||||
### Core Function
|
||||
- **Framework-based Analysis**: Address each discussion point in topic-framework.md
|
||||
- **Framework-based Analysis**: Address each discussion point in guidance-specification.md
|
||||
- **Product Strategy Focus**: User needs, business value, and market positioning
|
||||
- **Update Mechanism**: Create new or update existing analysis.md
|
||||
- **Agent Delegation**: Use conceptual-planning-agent for analysis generation
|
||||
@@ -32,7 +32,7 @@ IF active_session EXISTS:
|
||||
session_id = get_active_session()
|
||||
brainstorm_dir = .workflow/WFS-{session}/.brainstorming/
|
||||
|
||||
CHECK: brainstorm_dir/topic-framework.md
|
||||
CHECK: brainstorm_dir/guidance-specification.md
|
||||
IF EXISTS:
|
||||
framework_mode = true
|
||||
load_framework = true
|
||||
@@ -73,7 +73,7 @@ ANALYSIS_MODE: {framework_mode ? "framework_based" : "standalone"}
|
||||
## Flow Control Steps
|
||||
1. **load_topic_framework**
|
||||
- Action: Load structured topic discussion framework
|
||||
- Command: Read(.workflow/WFS-{session}/.brainstorming/topic-framework.md)
|
||||
- Command: Read(.workflow/WFS-{session}/.brainstorming/guidance-specification.md)
|
||||
- Output: topic_framework_content
|
||||
|
||||
2. **load_role_template**
|
||||
@@ -87,17 +87,17 @@ ANALYSIS_MODE: {framework_mode ? "framework_based" : "standalone"}
|
||||
- Output: session_context
|
||||
|
||||
## Analysis Requirements
|
||||
**Framework Reference**: Address all discussion points in topic-framework.md from product strategy perspective
|
||||
**Framework Reference**: Address all discussion points in guidance-specification.md from product strategy perspective
|
||||
**Role Focus**: User value, business impact, market positioning, product strategy
|
||||
**Structured Approach**: Create analysis.md addressing framework discussion points
|
||||
**Template Integration**: Apply role template guidelines within framework structure
|
||||
|
||||
## Expected Deliverables
|
||||
1. **analysis.md**: Comprehensive product strategy analysis addressing all framework discussion points
|
||||
2. **Framework Reference**: Include @../topic-framework.md reference in analysis
|
||||
2. **Framework Reference**: Include @../guidance-specification.md reference in analysis
|
||||
|
||||
## Completion Criteria
|
||||
- Address each discussion point from topic-framework.md with product management expertise
|
||||
- Address each discussion point from guidance-specification.md with product management expertise
|
||||
- Provide actionable business strategies and user value propositions
|
||||
- Include market analysis and competitive positioning insights
|
||||
- Reference framework document using @ notation for integration
|
||||
@@ -116,7 +116,7 @@ TodoWrite({
|
||||
activeForm: "Detecting session and framework"
|
||||
},
|
||||
{
|
||||
content: "Load topic-framework.md and session metadata for context",
|
||||
content: "Load guidance-specification.md and session metadata for context",
|
||||
status: "pending",
|
||||
activeForm: "Loading framework and session context"
|
||||
},
|
||||
@@ -144,7 +144,7 @@ TodoWrite({
|
||||
### Framework-Based Analysis
|
||||
```
|
||||
.workflow/WFS-{session}/.brainstorming/product-manager/
|
||||
└── analysis.md # Structured analysis addressing topic-framework.md discussion points
|
||||
└── analysis.md # Structured analysis addressing guidance-specification.md discussion points
|
||||
```
|
||||
|
||||
### Analysis Document Structure
|
||||
@@ -152,11 +152,11 @@ TodoWrite({
|
||||
# Product Manager Analysis: [Topic from Framework]
|
||||
|
||||
## Framework Reference
|
||||
**Topic Framework**: @../topic-framework.md
|
||||
**Topic Framework**: @../guidance-specification.md
|
||||
**Role Focus**: Product Strategy perspective
|
||||
|
||||
## Discussion Points Analysis
|
||||
[Address each point from topic-framework.md with product management expertise]
|
||||
[Address each point from guidance-specification.md with product management expertise]
|
||||
|
||||
### Core Requirements (from framework)
|
||||
[Product strategy perspective on user needs and requirements]
|
||||
@@ -189,12 +189,12 @@ TodoWrite({
|
||||
"status": "completed",
|
||||
"framework_addressed": true,
|
||||
"output_location": ".workflow/WFS-{session}/.brainstorming/product-manager/analysis.md",
|
||||
"framework_reference": "@../topic-framework.md"
|
||||
"framework_reference": "@../guidance-specification.md"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Integration Points
|
||||
- **Framework Reference**: @../topic-framework.md for structured discussion points
|
||||
- **Framework Reference**: @../guidance-specification.md for structured discussion points
|
||||
- **Cross-Role Synthesis**: Product strategy insights available for synthesis-report.md integration
|
||||
- **Agent Autonomy**: Independent execution with framework guidance
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: product-owner
|
||||
description: Generate or update product-owner/analysis.md addressing topic-framework discussion points
|
||||
description: Generate or update product-owner/analysis.md addressing guidance-specification discussion points
|
||||
argument-hint: "optional topic - uses existing framework if available"
|
||||
allowed-tools: Task(conceptual-planning-agent), TodoWrite(*), Read(*), Write(*)
|
||||
---
|
||||
@@ -8,10 +8,10 @@ allowed-tools: Task(conceptual-planning-agent), TodoWrite(*), Read(*), Write(*)
|
||||
## 🎯 **Product Owner Analysis Generator**
|
||||
|
||||
### Purpose
|
||||
**Specialized command for generating product-owner/analysis.md** that addresses topic-framework.md discussion points from product backlog and feature prioritization perspective. Creates or updates role-specific analysis with framework references.
|
||||
**Specialized command for generating product-owner/analysis.md** that addresses guidance-specification.md discussion points from product backlog and feature prioritization perspective. Creates or updates role-specific analysis with framework references.
|
||||
|
||||
### Core Function
|
||||
- **Framework-based Analysis**: Address each discussion point in topic-framework.md
|
||||
- **Framework-based Analysis**: Address each discussion point in guidance-specification.md
|
||||
- **Product Backlog Focus**: Feature prioritization, user stories, and acceptance criteria
|
||||
- **Update Mechanism**: Create new or update existing analysis.md
|
||||
- **Agent Delegation**: Use conceptual-planning-agent for analysis generation
|
||||
@@ -32,7 +32,7 @@ IF active_session EXISTS:
|
||||
session_id = get_active_session()
|
||||
brainstorm_dir = .workflow/WFS-{session}/.brainstorming/
|
||||
|
||||
CHECK: brainstorm_dir/topic-framework.md
|
||||
CHECK: brainstorm_dir/guidance-specification.md
|
||||
IF EXISTS:
|
||||
framework_mode = true
|
||||
load_framework = true
|
||||
@@ -73,7 +73,7 @@ ANALYSIS_MODE: {framework_mode ? "framework_based" : "standalone"}
|
||||
## Flow Control Steps
|
||||
1. **load_topic_framework**
|
||||
- Action: Load structured topic discussion framework
|
||||
- Command: Read(.workflow/WFS-{session}/.brainstorming/topic-framework.md)
|
||||
- Command: Read(.workflow/WFS-{session}/.brainstorming/guidance-specification.md)
|
||||
- Output: topic_framework_content
|
||||
|
||||
2. **load_role_template**
|
||||
@@ -87,17 +87,17 @@ ANALYSIS_MODE: {framework_mode ? "framework_based" : "standalone"}
|
||||
- Output: session_context
|
||||
|
||||
## Analysis Requirements
|
||||
**Framework Reference**: Address all discussion points in topic-framework.md from product backlog and feature prioritization perspective
|
||||
**Framework Reference**: Address all discussion points in guidance-specification.md from product backlog and feature prioritization perspective
|
||||
**Role Focus**: Backlog management, stakeholder alignment, feature prioritization, acceptance criteria
|
||||
**Structured Approach**: Create analysis.md addressing framework discussion points
|
||||
**Template Integration**: Apply role template guidelines within framework structure
|
||||
|
||||
## Expected Deliverables
|
||||
1. **analysis.md**: Comprehensive product ownership analysis addressing all framework discussion points
|
||||
2. **Framework Reference**: Include @../topic-framework.md reference in analysis
|
||||
2. **Framework Reference**: Include @../guidance-specification.md reference in analysis
|
||||
|
||||
## Completion Criteria
|
||||
- Address each discussion point from topic-framework.md with product ownership expertise
|
||||
- Address each discussion point from guidance-specification.md with product ownership expertise
|
||||
- Provide actionable user stories and acceptance criteria definitions
|
||||
- Include feature prioritization and stakeholder alignment strategies
|
||||
- Reference framework document using @ notation for integration
|
||||
@@ -116,7 +116,7 @@ TodoWrite({
|
||||
activeForm: "Detecting session and framework"
|
||||
},
|
||||
{
|
||||
content: "Load topic-framework.md and session metadata for context",
|
||||
content: "Load guidance-specification.md and session metadata for context",
|
||||
status: "pending",
|
||||
activeForm: "Loading framework and session context"
|
||||
},
|
||||
@@ -144,7 +144,7 @@ TodoWrite({
|
||||
### Framework-Based Analysis
|
||||
```
|
||||
.workflow/WFS-{session}/.brainstorming/product-owner/
|
||||
└── analysis.md # Structured analysis addressing topic-framework.md discussion points
|
||||
└── analysis.md # Structured analysis addressing guidance-specification.md discussion points
|
||||
```
|
||||
|
||||
### Analysis Document Structure
|
||||
@@ -152,11 +152,11 @@ TodoWrite({
|
||||
# Product Owner Analysis: [Topic from Framework]
|
||||
|
||||
## Framework Reference
|
||||
**Topic Framework**: @../topic-framework.md
|
||||
**Topic Framework**: @../guidance-specification.md
|
||||
**Role Focus**: Product Backlog & Feature Prioritization perspective
|
||||
|
||||
## Discussion Points Analysis
|
||||
[Address each point from topic-framework.md with product ownership expertise]
|
||||
[Address each point from guidance-specification.md with product ownership expertise]
|
||||
|
||||
### Core Requirements (from framework)
|
||||
[User story formulation and backlog refinement perspective]
|
||||
@@ -189,12 +189,12 @@ TodoWrite({
|
||||
"status": "completed",
|
||||
"framework_addressed": true,
|
||||
"output_location": ".workflow/WFS-{session}/.brainstorming/product-owner/analysis.md",
|
||||
"framework_reference": "@../topic-framework.md"
|
||||
"framework_reference": "@../guidance-specification.md"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Integration Points
|
||||
- **Framework Reference**: @../topic-framework.md for structured discussion points
|
||||
- **Framework Reference**: @../guidance-specification.md for structured discussion points
|
||||
- **Cross-Role Synthesis**: Product ownership insights available for synthesis-report.md integration
|
||||
- **Agent Autonomy**: Independent execution with framework guidance
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: scrum-master
|
||||
description: Generate or update scrum-master/analysis.md addressing topic-framework discussion points
|
||||
description: Generate or update scrum-master/analysis.md addressing guidance-specification discussion points
|
||||
argument-hint: "optional topic - uses existing framework if available"
|
||||
allowed-tools: Task(conceptual-planning-agent), TodoWrite(*), Read(*), Write(*)
|
||||
---
|
||||
@@ -8,10 +8,10 @@ allowed-tools: Task(conceptual-planning-agent), TodoWrite(*), Read(*), Write(*)
|
||||
## 🎯 **Scrum Master Analysis Generator**
|
||||
|
||||
### Purpose
|
||||
**Specialized command for generating scrum-master/analysis.md** that addresses topic-framework.md discussion points from agile process and team collaboration perspective. Creates or updates role-specific analysis with framework references.
|
||||
**Specialized command for generating scrum-master/analysis.md** that addresses guidance-specification.md discussion points from agile process and team collaboration perspective. Creates or updates role-specific analysis with framework references.
|
||||
|
||||
### Core Function
|
||||
- **Framework-based Analysis**: Address each discussion point in topic-framework.md
|
||||
- **Framework-based Analysis**: Address each discussion point in guidance-specification.md
|
||||
- **Agile Process Focus**: Sprint planning, team dynamics, and delivery optimization
|
||||
- **Update Mechanism**: Create new or update existing analysis.md
|
||||
- **Agent Delegation**: Use conceptual-planning-agent for analysis generation
|
||||
@@ -32,7 +32,7 @@ IF active_session EXISTS:
|
||||
session_id = get_active_session()
|
||||
brainstorm_dir = .workflow/WFS-{session}/.brainstorming/
|
||||
|
||||
CHECK: brainstorm_dir/topic-framework.md
|
||||
CHECK: brainstorm_dir/guidance-specification.md
|
||||
IF EXISTS:
|
||||
framework_mode = true
|
||||
load_framework = true
|
||||
@@ -73,7 +73,7 @@ ANALYSIS_MODE: {framework_mode ? "framework_based" : "standalone"}
|
||||
## Flow Control Steps
|
||||
1. **load_topic_framework**
|
||||
- Action: Load structured topic discussion framework
|
||||
- Command: Read(.workflow/WFS-{session}/.brainstorming/topic-framework.md)
|
||||
- Command: Read(.workflow/WFS-{session}/.brainstorming/guidance-specification.md)
|
||||
- Output: topic_framework_content
|
||||
|
||||
2. **load_role_template**
|
||||
@@ -87,17 +87,17 @@ ANALYSIS_MODE: {framework_mode ? "framework_based" : "standalone"}
|
||||
- Output: session_context
|
||||
|
||||
## Analysis Requirements
|
||||
**Framework Reference**: Address all discussion points in topic-framework.md from agile process and team collaboration perspective
|
||||
**Framework Reference**: Address all discussion points in guidance-specification.md from agile process and team collaboration perspective
|
||||
**Role Focus**: Sprint planning, team dynamics, process optimization, delivery management
|
||||
**Structured Approach**: Create analysis.md addressing framework discussion points
|
||||
**Template Integration**: Apply role template guidelines within framework structure
|
||||
|
||||
## Expected Deliverables
|
||||
1. **analysis.md**: Comprehensive agile process analysis addressing all framework discussion points
|
||||
2. **Framework Reference**: Include @../topic-framework.md reference in analysis
|
||||
2. **Framework Reference**: Include @../guidance-specification.md reference in analysis
|
||||
|
||||
## Completion Criteria
|
||||
- Address each discussion point from topic-framework.md with scrum mastery expertise
|
||||
- Address each discussion point from guidance-specification.md with scrum mastery expertise
|
||||
- Provide actionable sprint planning and team facilitation strategies
|
||||
- Include process optimization and impediment removal insights
|
||||
- Reference framework document using @ notation for integration
|
||||
@@ -116,7 +116,7 @@ TodoWrite({
|
||||
activeForm: "Detecting session and framework"
|
||||
},
|
||||
{
|
||||
content: "Load topic-framework.md and session metadata for context",
|
||||
content: "Load guidance-specification.md and session metadata for context",
|
||||
status: "pending",
|
||||
activeForm: "Loading framework and session context"
|
||||
},
|
||||
@@ -144,7 +144,7 @@ TodoWrite({
|
||||
### Framework-Based Analysis
|
||||
```
|
||||
.workflow/WFS-{session}/.brainstorming/scrum-master/
|
||||
└── analysis.md # Structured analysis addressing topic-framework.md discussion points
|
||||
└── analysis.md # Structured analysis addressing guidance-specification.md discussion points
|
||||
```
|
||||
|
||||
### Analysis Document Structure
|
||||
@@ -152,11 +152,11 @@ TodoWrite({
|
||||
# Scrum Master Analysis: [Topic from Framework]
|
||||
|
||||
## Framework Reference
|
||||
**Topic Framework**: @../topic-framework.md
|
||||
**Topic Framework**: @../guidance-specification.md
|
||||
**Role Focus**: Agile Process & Team Collaboration perspective
|
||||
|
||||
## Discussion Points Analysis
|
||||
[Address each point from topic-framework.md with scrum mastery expertise]
|
||||
[Address each point from guidance-specification.md with scrum mastery expertise]
|
||||
|
||||
### Core Requirements (from framework)
|
||||
[Sprint planning and iteration breakdown perspective]
|
||||
@@ -189,12 +189,12 @@ TodoWrite({
|
||||
"status": "completed",
|
||||
"framework_addressed": true,
|
||||
"output_location": ".workflow/WFS-{session}/.brainstorming/scrum-master/analysis.md",
|
||||
"framework_reference": "@../topic-framework.md"
|
||||
"framework_reference": "@../guidance-specification.md"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Integration Points
|
||||
- **Framework Reference**: @../topic-framework.md for structured discussion points
|
||||
- **Framework Reference**: @../guidance-specification.md for structured discussion points
|
||||
- **Cross-Role Synthesis**: Agile process insights available for synthesis-report.md integration
|
||||
- **Agent Autonomy**: Independent execution with framework guidance
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: subject-matter-expert
|
||||
description: Generate or update subject-matter-expert/analysis.md addressing topic-framework discussion points
|
||||
description: Generate or update subject-matter-expert/analysis.md addressing guidance-specification discussion points
|
||||
argument-hint: "optional topic - uses existing framework if available"
|
||||
allowed-tools: Task(conceptual-planning-agent), TodoWrite(*), Read(*), Write(*)
|
||||
---
|
||||
@@ -8,10 +8,10 @@ allowed-tools: Task(conceptual-planning-agent), TodoWrite(*), Read(*), Write(*)
|
||||
## 🎯 **Subject Matter Expert Analysis Generator**
|
||||
|
||||
### Purpose
|
||||
**Specialized command for generating subject-matter-expert/analysis.md** that addresses topic-framework.md discussion points from domain knowledge and technical expertise perspective. Creates or updates role-specific analysis with framework references.
|
||||
**Specialized command for generating subject-matter-expert/analysis.md** that addresses guidance-specification.md discussion points from domain knowledge and technical expertise perspective. Creates or updates role-specific analysis with framework references.
|
||||
|
||||
### Core Function
|
||||
- **Framework-based Analysis**: Address each discussion point in topic-framework.md
|
||||
- **Framework-based Analysis**: Address each discussion point in guidance-specification.md
|
||||
- **Domain Expertise Focus**: Deep technical knowledge, industry standards, and best practices
|
||||
- **Update Mechanism**: Create new or update existing analysis.md
|
||||
- **Agent Delegation**: Use conceptual-planning-agent for analysis generation
|
||||
@@ -32,7 +32,7 @@ IF active_session EXISTS:
|
||||
session_id = get_active_session()
|
||||
brainstorm_dir = .workflow/WFS-{session}/.brainstorming/
|
||||
|
||||
CHECK: brainstorm_dir/topic-framework.md
|
||||
CHECK: brainstorm_dir/guidance-specification.md
|
||||
IF EXISTS:
|
||||
framework_mode = true
|
||||
load_framework = true
|
||||
@@ -73,7 +73,7 @@ ANALYSIS_MODE: {framework_mode ? "framework_based" : "standalone"}
|
||||
## Flow Control Steps
|
||||
1. **load_topic_framework**
|
||||
- Action: Load structured topic discussion framework
|
||||
- Command: Read(.workflow/WFS-{session}/.brainstorming/topic-framework.md)
|
||||
- Command: Read(.workflow/WFS-{session}/.brainstorming/guidance-specification.md)
|
||||
- Output: topic_framework_content
|
||||
|
||||
2. **load_role_template**
|
||||
@@ -87,17 +87,17 @@ ANALYSIS_MODE: {framework_mode ? "framework_based" : "standalone"}
|
||||
- Output: session_context
|
||||
|
||||
## Analysis Requirements
|
||||
**Framework Reference**: Address all discussion points in topic-framework.md from domain expertise and technical standards perspective
|
||||
**Framework Reference**: Address all discussion points in guidance-specification.md from domain expertise and technical standards perspective
|
||||
**Role Focus**: Domain knowledge, technical standards, risk assessment, knowledge transfer
|
||||
**Structured Approach**: Create analysis.md addressing framework discussion points
|
||||
**Template Integration**: Apply role template guidelines within framework structure
|
||||
|
||||
## Expected Deliverables
|
||||
1. **analysis.md**: Comprehensive domain expertise analysis addressing all framework discussion points
|
||||
2. **Framework Reference**: Include @../topic-framework.md reference in analysis
|
||||
2. **Framework Reference**: Include @../guidance-specification.md reference in analysis
|
||||
|
||||
## Completion Criteria
|
||||
- Address each discussion point from topic-framework.md with subject matter expertise
|
||||
- Address each discussion point from guidance-specification.md with subject matter expertise
|
||||
- Provide actionable technical standards and best practices recommendations
|
||||
- Include risk assessment and compliance considerations
|
||||
- Reference framework document using @ notation for integration
|
||||
@@ -116,7 +116,7 @@ TodoWrite({
|
||||
activeForm: "Detecting session and framework"
|
||||
},
|
||||
{
|
||||
content: "Load topic-framework.md and session metadata for context",
|
||||
content: "Load guidance-specification.md and session metadata for context",
|
||||
status: "pending",
|
||||
activeForm: "Loading framework and session context"
|
||||
},
|
||||
@@ -144,7 +144,7 @@ TodoWrite({
|
||||
### Framework-Based Analysis
|
||||
```
|
||||
.workflow/WFS-{session}/.brainstorming/subject-matter-expert/
|
||||
└── analysis.md # Structured analysis addressing topic-framework.md discussion points
|
||||
└── analysis.md # Structured analysis addressing guidance-specification.md discussion points
|
||||
```
|
||||
|
||||
### Analysis Document Structure
|
||||
@@ -152,11 +152,11 @@ TodoWrite({
|
||||
# Subject Matter Expert Analysis: [Topic from Framework]
|
||||
|
||||
## Framework Reference
|
||||
**Topic Framework**: @../topic-framework.md
|
||||
**Topic Framework**: @../guidance-specification.md
|
||||
**Role Focus**: Domain Expertise & Technical Standards perspective
|
||||
|
||||
## Discussion Points Analysis
|
||||
[Address each point from topic-framework.md with subject matter expertise]
|
||||
[Address each point from guidance-specification.md with subject matter expertise]
|
||||
|
||||
### Core Requirements (from framework)
|
||||
[Domain-specific requirements and industry standards perspective]
|
||||
@@ -189,12 +189,12 @@ TodoWrite({
|
||||
"status": "completed",
|
||||
"framework_addressed": true,
|
||||
"output_location": ".workflow/WFS-{session}/.brainstorming/subject-matter-expert/analysis.md",
|
||||
"framework_reference": "@../topic-framework.md"
|
||||
"framework_reference": "@../guidance-specification.md"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Integration Points
|
||||
- **Framework Reference**: @../topic-framework.md for structured discussion points
|
||||
- **Framework Reference**: @../guidance-specification.md for structured discussion points
|
||||
- **Cross-Role Synthesis**: Domain expertise insights available for synthesis-report.md integration
|
||||
- **Agent Autonomy**: Independent execution with framework guidance
|
||||
|
||||
@@ -1,378 +1,451 @@
|
||||
---
|
||||
name: synthesis
|
||||
description: Generate synthesis-specification.md from topic-framework and role analyses with @ references using conceptual-planning-agent
|
||||
description: Clarify and refine role analyses through intelligent Q&A and targeted updates
|
||||
argument-hint: "[optional: --session session-id]"
|
||||
allowed-tools: Task(conceptual-planning-agent), TodoWrite(*), Read(*), Write(*)
|
||||
allowed-tools: Task(conceptual-planning-agent), TodoWrite(*), Read(*), Write(*), Edit(*), Glob(*), AskUserQuestion(*)
|
||||
---
|
||||
|
||||
## 🧩 **Synthesis Document Generator**
|
||||
## Overview
|
||||
|
||||
### Core Function
|
||||
**Specialized command for generating synthesis-specification.md** that integrates topic-framework.md and all role analysis.md files using @ reference system. Creates comprehensive implementation specification with cross-role insights.
|
||||
Three-phase workflow to eliminate ambiguities and enhance conceptual depth in role analyses:
|
||||
|
||||
**Dynamic Role Discovery**: Automatically detects which roles participated in brainstorming by scanning for `*/analysis.md` files. Synthesizes only actual participating roles, not predefined lists.
|
||||
**Phase 1-2 (Main Flow)**: Session detection → File discovery → Path preparation
|
||||
|
||||
### Primary Capabilities
|
||||
- **Dynamic Role Discovery**: Automatically identifies participating roles at runtime
|
||||
- **Framework Integration**: Reference topic-framework.md discussion points across all discovered roles
|
||||
- **Role Analysis Integration**: Consolidate all discovered role/analysis.md files using @ references
|
||||
- **Cross-Framework Comparison**: Compare how each participating role addressed framework discussion points
|
||||
- **@ Reference System**: Create structured references to source documents
|
||||
- **Update Detection**: Smart updates when new role analyses are added
|
||||
- **Flexible Participation**: Supports any subset of available roles (1 to 9+)
|
||||
**Phase 3A (Analysis Agent)**: Cross-role analysis → CLI concept enhancement → Generate recommendations
|
||||
|
||||
### Document Integration Model
|
||||
**Three-Document Reference System**:
|
||||
1. **topic-framework.md** → Structured discussion framework (input)
|
||||
2. **[role]/analysis.md** → Role-specific analyses addressing framework (input)
|
||||
3. **synthesis-specification.md** → Complete integrated specification (output)
|
||||
**Phase 4 (Main Flow)**: User selects enhancements → User answers clarifications → Build update plan
|
||||
|
||||
## ⚙️ **Execution Protocol**
|
||||
**Phase 5 (Parallel Update Agents)**: Each agent updates ONE role document → Parallel execution
|
||||
|
||||
### ⚠️ Agent Execution with Flow Control
|
||||
**Execution Model**: Uses conceptual-planning-agent for synthesis generation with structured file loading.
|
||||
**Phase 6 (Main Flow)**: Metadata update → Completion report
|
||||
|
||||
**Rationale**:
|
||||
- **Autonomous Execution**: Agent independently loads and processes all required documents
|
||||
- **Flow Control**: Structured document loading ensures systematic analysis
|
||||
- **Complex Cognitive Analysis**: Leverages agent's analytical capabilities for cross-role synthesis
|
||||
- **Conceptual Focus**: Agent specializes in conceptual analysis and multi-perspective integration
|
||||
**Key Features**:
|
||||
- Multi-agent architecture (analysis agent + parallel update agents)
|
||||
- Clear separation: Agent analysis vs Main flow interaction
|
||||
- CLI-powered concept enhancement (Gemini)
|
||||
- Parallel document updates (one agent per role)
|
||||
- User intent alignment validation
|
||||
|
||||
**Agent Responsibility**: All file reading and synthesis generation performed by conceptual-planning-agent with FLOW_CONTROL instructions.
|
||||
**Document Flow**:
|
||||
- Input: `[role]/analysis*.md`, `guidance-specification.md`, session metadata
|
||||
- Output: Updated `[role]/analysis*.md` with Enhancements + Clarifications sections
|
||||
|
||||
## Task Tracking
|
||||
|
||||
### 📋 Task Tracking Protocol
|
||||
Initialize synthesis task tracking using TodoWrite at command start:
|
||||
```json
|
||||
[
|
||||
{"content": "Detect active session and validate topic-framework.md existence", "status": "in_progress", "activeForm": "Detecting session and validating framework"},
|
||||
{"content": "Discover participating role analyses dynamically", "status": "pending", "activeForm": "Discovering role analyses"},
|
||||
{"content": "Check existing synthesis and confirm user action", "status": "pending", "activeForm": "Checking update mechanism"},
|
||||
{"content": "Execute synthesis generation using conceptual-planning-agent with FLOW_CONTROL", "status": "pending", "activeForm": "Executing agent-based synthesis generation"},
|
||||
{"content": "Agent performs cross-role analysis and generates synthesis-specification.md", "status": "pending", "activeForm": "Agent analyzing and generating synthesis"},
|
||||
{"content": "Update workflow-session.json with synthesis completion status", "status": "pending", "activeForm": "Updating session metadata"}
|
||||
{"content": "Detect session and validate analyses", "status": "in_progress", "activeForm": "Detecting session"},
|
||||
{"content": "Discover role analysis file paths", "status": "pending", "activeForm": "Discovering paths"},
|
||||
{"content": "Execute analysis agent (cross-role + CLI enhancement)", "status": "pending", "activeForm": "Executing analysis agent"},
|
||||
{"content": "Present enhancements for user selection", "status": "pending", "activeForm": "Presenting enhancements"},
|
||||
{"content": "Generate and present clarification questions", "status": "pending", "activeForm": "Clarifying with user"},
|
||||
{"content": "Build update plan from user input", "status": "pending", "activeForm": "Building update plan"},
|
||||
{"content": "Execute parallel update agents (one per role)", "status": "pending", "activeForm": "Updating documents in parallel"},
|
||||
{"content": "Update session metadata and generate report", "status": "pending", "activeForm": "Finalizing session"}
|
||||
]
|
||||
```
|
||||
|
||||
### Phase 1: Document Discovery & Validation
|
||||
```bash
|
||||
# Detect active brainstorming session
|
||||
IF --session parameter provided:
|
||||
session_id = provided session
|
||||
ELSE:
|
||||
CHECK: .workflow/.active-* marker files
|
||||
IF active_session EXISTS:
|
||||
session_id = get_active_session()
|
||||
ELSE:
|
||||
ERROR: "No active brainstorming session found"
|
||||
EXIT
|
||||
## Execution Phases
|
||||
|
||||
brainstorm_dir = .workflow/WFS-{session}/.brainstorming/
|
||||
### Phase 1: Discovery & Validation
|
||||
|
||||
# Validate required documents
|
||||
CHECK: brainstorm_dir/topic-framework.md
|
||||
IF NOT EXISTS:
|
||||
ERROR: "topic-framework.md not found. Run /workflow:brainstorm:artifacts first"
|
||||
EXIT
|
||||
1. **Detect Session**: Use `--session` parameter or `.workflow/.active-*` marker
|
||||
2. **Validate Files**:
|
||||
- `guidance-specification.md` (optional, warn if missing)
|
||||
- `*/analysis*.md` (required, error if empty)
|
||||
3. **Load User Intent**: Extract from `workflow-session.json` (project/description field)
|
||||
|
||||
# Load user's original prompt from session metadata
|
||||
session_metadata = Read(.workflow/WFS-{session}/workflow-session.json)
|
||||
original_user_prompt = session_metadata.project || session_metadata.description
|
||||
IF NOT original_user_prompt:
|
||||
WARN: "No original user prompt found in session metadata"
|
||||
original_user_prompt = "Not available"
|
||||
```
|
||||
### Phase 2: Role Discovery & Path Preparation
|
||||
|
||||
### Phase 2: Role Analysis Discovery
|
||||
```bash
|
||||
# Dynamically discover available role analyses
|
||||
SCAN_DIRECTORY: .workflow/WFS-{session}/.brainstorming/
|
||||
FIND_ANALYSES: [
|
||||
Scan all subdirectories for */analysis.md files
|
||||
Extract role names from directory names
|
||||
]
|
||||
**Main flow prepares file paths for Agent**:
|
||||
|
||||
# Available roles (for reference, actual participation is dynamic):
|
||||
# - product-manager
|
||||
# - product-owner
|
||||
# - scrum-master
|
||||
# - system-architect
|
||||
# - ui-designer
|
||||
# - ux-expert
|
||||
# - data-architect
|
||||
# - subject-matter-expert
|
||||
# - test-strategist
|
||||
1. **Discover Analysis Files**:
|
||||
- Glob(.workflow/WFS-{session}/.brainstorming/*/analysis*.md)
|
||||
- Supports: analysis.md, analysis-1.md, analysis-2.md, analysis-3.md
|
||||
- Validate: At least one file exists (error if empty)
|
||||
|
||||
LOAD_DOCUMENTS: {
|
||||
"original_user_prompt": original_user_prompt (from session metadata),
|
||||
"topic_framework": topic-framework.md,
|
||||
"role_analyses": [dynamically discovered analysis.md files],
|
||||
"participating_roles": [extract role names from discovered directories],
|
||||
"existing_synthesis": synthesis-specification.md (if exists)
|
||||
}
|
||||
2. **Extract Role Information**:
|
||||
- `role_analysis_paths`: Relative paths from brainstorm_dir
|
||||
- `participating_roles`: Role names extracted from directory paths
|
||||
|
||||
# Note: Not all roles participate in every brainstorming session
|
||||
# Only synthesize roles that actually produced analysis.md files
|
||||
# CRITICAL: Original user prompt MUST be primary reference for synthesis
|
||||
```
|
||||
3. **Pass to Agent** (Phase 3):
|
||||
- `session_id`
|
||||
- `brainstorm_dir`: .workflow/WFS-{session}/.brainstorming/
|
||||
- `role_analysis_paths`: ["product-manager/analysis.md", "system-architect/analysis-1.md", ...]
|
||||
- `participating_roles`: ["product-manager", "system-architect", ...]
|
||||
|
||||
### Phase 3: Update Mechanism Check
|
||||
```bash
|
||||
# Check for existing synthesis
|
||||
IF synthesis-specification.md EXISTS:
|
||||
SHOW current synthesis summary to user
|
||||
ASK: "Synthesis exists. Do you want to:"
|
||||
OPTIONS:
|
||||
1. "Regenerate completely" → Create new synthesis
|
||||
2. "Update with new analyses" → Integrate new role analyses
|
||||
3. "Preserve existing" → Exit without changes
|
||||
ELSE:
|
||||
CREATE new synthesis
|
||||
```
|
||||
**Main Flow Responsibility**: File discovery and path preparation only (NO file content reading)
|
||||
|
||||
### Phase 4: Agent Execution with Flow Control
|
||||
**Synthesis Generation using conceptual-planning-agent**
|
||||
### Phase 3A: Analysis & Enhancement Agent
|
||||
|
||||
Delegate synthesis generation to conceptual-planning-agent with structured file loading:
|
||||
**First agent call**: Cross-role analysis and generate enhancement recommendations
|
||||
|
||||
```bash
|
||||
Task(conceptual-planning-agent): "
|
||||
## Agent Mission
|
||||
Analyze role documents, identify conflicts/gaps, and generate enhancement recommendations
|
||||
|
||||
## Input from Main Flow
|
||||
- brainstorm_dir: {brainstorm_dir}
|
||||
- role_analysis_paths: {role_analysis_paths}
|
||||
- participating_roles: {participating_roles}
|
||||
|
||||
## Execution Instructions
|
||||
[FLOW_CONTROL]
|
||||
|
||||
Execute comprehensive synthesis generation from topic framework and role analyses
|
||||
### Flow Control Steps
|
||||
**AGENT RESPONSIBILITY**: Execute these analysis steps sequentially with context accumulation:
|
||||
|
||||
## Context Loading
|
||||
OUTPUT_FILE: synthesis-specification.md
|
||||
OUTPUT_PATH: .workflow/WFS-{session}/.brainstorming/synthesis-specification.md
|
||||
SESSION_ID: {session_id}
|
||||
ANALYSIS_MODE: cross_role_synthesis
|
||||
1. **load_session_metadata**
|
||||
- Action: Load original user intent as primary reference
|
||||
- Command: Read({brainstorm_dir}/../workflow-session.json)
|
||||
- Output: original_user_intent (from project/description field)
|
||||
|
||||
## ⚠️ CRITICAL: User Intent Authority
|
||||
**ORIGINAL USER PROMPT IS THE PRIMARY REFERENCE**: {original_user_prompt}
|
||||
All synthesis MUST align with user's original intent. Topic framework and role analyses are supplementary context.
|
||||
2. **load_role_analyses**
|
||||
- Action: Load all role analysis documents
|
||||
- Command: For each path in role_analysis_paths: Read({brainstorm_dir}/{path})
|
||||
- Output: role_analyses_content_map = {role_name: content}
|
||||
|
||||
## Flow Control Steps
|
||||
1. **load_original_user_prompt**
|
||||
- Action: Load user's original intent from session metadata
|
||||
- Command: Read(.workflow/WFS-{session}/workflow-session.json)
|
||||
- Extract: project field or description field
|
||||
- Output: original_user_prompt (PRIMARY REFERENCE)
|
||||
- Priority: HIGHEST - This is the authoritative source of user intent
|
||||
3. **cross_role_analysis**
|
||||
- Action: Identify consensus themes, conflicts, gaps, underspecified areas
|
||||
- Output: consensus_themes, conflicting_views, gaps_list, ambiguities
|
||||
|
||||
2. **load_topic_framework**
|
||||
- Action: Load structured topic discussion framework
|
||||
- Command: Read(.workflow/WFS-{session}/.brainstorming/topic-framework.md)
|
||||
- Output: topic_framework_content
|
||||
- Note: Validate alignment with original_user_prompt
|
||||
4. **cli_concept_enhancement**
|
||||
- Action: Execute intelligent CLI analysis with fallback chain
|
||||
- Dynamic Prompt: \"PURPOSE: Cross-role synthesis | TASK: conflicts/gaps/enhancements | MODE: analysis | CONTEXT: @**/* | EXPECTED: EP-001,EP-002,... | RULES: Eliminate ambiguities\"
|
||||
- Fallback Chain: `cd {brainstorm_dir} && gemini -p \"$PROMPT\" -m gemini-2.5-pro` → (if fail) `qwen -p \"$PROMPT\"` → (if fail) `codex -C {brainstorm_dir} --full-auto exec \"$PROMPT\" -m gpt-5`
|
||||
- Error Handling: Gemini 429 OK if results exist | 40min timeout | One attempt per tool
|
||||
- Output: cli_enhancement_points
|
||||
|
||||
3. **discover_role_analyses**
|
||||
- Action: Dynamically discover all participating role analysis files
|
||||
- Command: Glob(.workflow/WFS-{session}/.brainstorming/*/analysis.md)
|
||||
- Output: role_analysis_paths, participating_roles
|
||||
5. **generate_recommendations**
|
||||
- Action: Combine cross-role analysis + CLI enhancements into structured recommendations
|
||||
- Format: EP-001, EP-002, ... (sequential numbering)
|
||||
- Fields: id, title, affected_roles, category, current_state, enhancement, rationale, priority
|
||||
- Taxonomy: Map to 9 categories (User Intent, Requirements, Architecture, UX, Feasibility, Risk, Process, Decisions, Terminology)
|
||||
- Output: enhancement_recommendations (JSON array)
|
||||
|
||||
4. **load_role_analyses**
|
||||
- Action: Load all discovered role analysis documents
|
||||
- Command: Read(each path from role_analysis_paths)
|
||||
- Output: role_analyses_content
|
||||
- Note: Filter insights relevant to original_user_prompt
|
||||
### Output to Main Flow
|
||||
Return JSON array:
|
||||
[
|
||||
{
|
||||
\"id\": \"EP-001\",
|
||||
\"title\": \"API Contract Specification\",
|
||||
\"affected_roles\": [\"system-architect\", \"api-designer\"],
|
||||
\"category\": \"Architecture\",
|
||||
\"current_state\": \"High-level API descriptions\",
|
||||
\"enhancement\": \"Add detailed contract definitions with request/response schemas\",
|
||||
\"rationale\": \"Enables precise implementation and testing\",
|
||||
\"priority\": \"High\"
|
||||
},
|
||||
...
|
||||
]
|
||||
|
||||
5. **check_existing_synthesis**
|
||||
- Action: Check if synthesis-specification.md already exists
|
||||
- Command: Read(.workflow/WFS-{session}/.brainstorming/synthesis-specification.md) [if exists]
|
||||
- Output: existing_synthesis_content [optional]
|
||||
|
||||
6. **load_synthesis_template**
|
||||
- Action: Load synthesis role template for structure and guidelines
|
||||
- Command: Read(~/.claude/workflows/cli-templates/planning-roles/synthesis-role.md)
|
||||
- Output: synthesis_template_guidelines
|
||||
|
||||
## Synthesis Requirements
|
||||
|
||||
### ⚠️ PRIMARY REQUIREMENT: User Intent Alignment
|
||||
**User's Original Goal is Supreme**: Synthesis MUST directly address {original_user_prompt}
|
||||
**Intent Validation**: Every requirement, design decision, and recommendation must trace back to user's original intent
|
||||
**Deviation Detection**: Flag any role analysis points that drift from user's stated goals
|
||||
**Refocus Mechanism**: When role discussions diverge, explicitly refocus on original user prompt
|
||||
**Traceability**: Each section should reference how it fulfills user's original intent
|
||||
|
||||
### Core Integration
|
||||
**Cross-Role Analysis**: Integrate all discovered role analyses with comprehensive coverage
|
||||
**Framework Integration**: Address how each role responded to topic-framework.md discussion points
|
||||
**User Intent Filter**: Prioritize insights that directly serve user's original prompt
|
||||
**Decision Transparency**: Document both adopted solutions and rejected alternatives with rationale
|
||||
**Process Integration**: Include team capability gaps, process risks, and collaboration patterns
|
||||
**Visual Documentation**: Include key diagrams (architecture, data model, user journey) via Mermaid
|
||||
**Priority Matrix**: Create quantified recommendation matrix aligned with user's goals
|
||||
**Actionable Plan**: Provide phased implementation roadmap addressing user's original objectives
|
||||
|
||||
### Cross-Role Analysis Process (Agent Internal Execution)
|
||||
Perform systematic cross-role analysis following these steps:
|
||||
|
||||
1. **Data Collection**: Extract key insights, recommendations, concerns, and diagrams from each discovered role analysis
|
||||
2. **Consensus Identification**: Identify common themes and agreement areas across all participating roles
|
||||
3. **Disagreement Analysis**: Document conflicting views and track which specific roles disagree on each point
|
||||
4. **Innovation Extraction**: Identify breakthrough ideas and cross-role synergy opportunities
|
||||
5. **Priority Scoring**: Calculate multi-dimensional priority scores (impact, feasibility, effort, risk) for each recommendation
|
||||
6. **Decision Matrix**: Create comprehensive evaluation matrix and sort recommendations by priority
|
||||
|
||||
## Synthesis Quality Standards
|
||||
Follow synthesis-specification.md structure defined in synthesis-role.md template:
|
||||
- Use template structure for comprehensive document organization
|
||||
- Apply analysis guidelines for cross-role synthesis process
|
||||
- Include all required sections from template (Executive Summary, Key Designs, Requirements, etc.)
|
||||
- Follow @ reference system for traceability to source role analyses
|
||||
- Apply quality standards from template (completeness, visual clarity, decision transparency)
|
||||
- Validate output against template's output validation checklist
|
||||
|
||||
## Expected Deliverables
|
||||
1. **synthesis-specification.md**: Complete integrated specification consolidating all role perspectives
|
||||
2. **@ References**: Include cross-references to source role analyses
|
||||
3. **Session Metadata Update**: Update workflow-session.json with synthesis completion status
|
||||
|
||||
## Completion Criteria
|
||||
- ⚠️ **USER INTENT ALIGNMENT**: Synthesis directly addresses user's original prompt
|
||||
- All discovered role analyses integrated without gaps
|
||||
- Framework discussion points addressed across all roles
|
||||
- **Intent traceability**: Each major section references user's original goals
|
||||
- Controversial points documented with dissenting roles identified
|
||||
- Process concerns (team capabilities, risks, collaboration) captured
|
||||
- Quantified priority recommendations aligned with user's objectives
|
||||
- Actionable implementation plan addressing user's stated goals
|
||||
- Comprehensive risk assessment with mitigation strategies
|
||||
- **Deviation warnings**: Any significant departures from user intent flagged explicitly
|
||||
|
||||
## Execution Notes
|
||||
- Dynamic role participation: Only synthesize roles that produced analysis.md files
|
||||
- Update mechanism: If synthesis exists, prompt user for regenerate/update/preserve decision
|
||||
- Timeout allocation: Complex synthesis task (60-90 min recommended)
|
||||
- Reference @intelligent-tools-strategy.md for timeout guidelines
|
||||
### Agent Context Summary
|
||||
**Tools Used**: Gemini (primary) → Qwen (fallback) → Codex (last resort)
|
||||
**Mode**: analysis (read-only)
|
||||
**Timeout**: 40min
|
||||
**Dependencies**: @intelligent-tools-strategy.md
|
||||
**Validation**: Enhancement recommendations + 9-category taxonomy mapping
|
||||
"
|
||||
```
|
||||
|
||||
## 📊 **Output Specification**
|
||||
### Phase 4: Main Flow User Interaction
|
||||
|
||||
### Output Location
|
||||
The synthesis process creates **one consolidated document** that integrates all role perspectives:
|
||||
**Main flow handles all user interaction**:
|
||||
|
||||
```
|
||||
.workflow/WFS-{topic-slug}/.brainstorming/
|
||||
├── topic-framework.md # Input: Framework structure
|
||||
├── [role]/analysis.md # Input: Role analyses (multiple)
|
||||
└── synthesis-specification.md # ★ OUTPUT: Complete integrated specification
|
||||
1. **Present Enhancement Options**:
|
||||
```python
|
||||
AskUserQuestion(
|
||||
questions=[{
|
||||
"question": "Which enhancements would you like to apply?",
|
||||
"header": "Enhancements",
|
||||
"multiSelect": true,
|
||||
"options": [
|
||||
{"label": "EP-001: ...", "description": "... (affects: role1, role2)"},
|
||||
{"label": "EP-002: ...", "description": "..."},
|
||||
...
|
||||
]
|
||||
}]
|
||||
)
|
||||
```
|
||||
|
||||
#### synthesis-specification.md Structure
|
||||
2. **Generate Clarification Questions** (based on analysis agent output):
|
||||
- Use 9-category taxonomy scan results
|
||||
- Create max 5 prioritized questions
|
||||
- Each with 2-4 options + descriptions
|
||||
|
||||
**Document Purpose**: Defines **"WHAT"** to build - comprehensive requirements and design blueprint.
|
||||
**Scope**: High-level features, requirements, and design specifications. Does NOT include executable task breakdown (that's IMPL_PLAN.md's responsibility).
|
||||
3. **Interactive Clarification Loop**:
|
||||
```python
|
||||
# Present ONE question at a time
|
||||
FOR question in clarification_questions (max 5):
|
||||
AskUserQuestion(
|
||||
questions=[{
|
||||
"question": "Question {N}/5: {text}",
|
||||
"header": "Clarification",
|
||||
"multiSelect": false,
|
||||
"options": [
|
||||
{"label": "Option A", "description": "..."},
|
||||
{"label": "Option B", "description": "..."},
|
||||
...
|
||||
]
|
||||
}]
|
||||
)
|
||||
# Record answer
|
||||
# Continue to next question
|
||||
```
|
||||
|
||||
**Template Reference**: Complete document structure and content guidelines available in `synthesis-role.md` template, including:
|
||||
- Executive Summary with strategic overview
|
||||
- Key Designs & Decisions (architecture diagrams, ADRs, user journeys)
|
||||
- Controversial Points & Alternatives (decision transparency)
|
||||
- Requirements & Acceptance Criteria (Functional, Non-Functional, Business)
|
||||
- Design Specifications (UI/UX, Architecture, Domain Expertise)
|
||||
- Process & Collaboration Concerns (team skills, risks, patterns, constraints)
|
||||
- Implementation Roadmap (high-level phases)
|
||||
- Risk Assessment & Mitigation strategies
|
||||
4. **Build Update Plan**:
|
||||
```python
|
||||
update_plan = {
|
||||
"role1": {
|
||||
"enhancements": [EP-001, EP-003],
|
||||
"clarifications": [
|
||||
{"question": "...", "answer": "...", "category": "..."},
|
||||
...
|
||||
]
|
||||
},
|
||||
"role2": {
|
||||
"enhancements": [EP-002],
|
||||
"clarifications": [...]
|
||||
},
|
||||
...
|
||||
}
|
||||
```
|
||||
|
||||
**Agent Usage**: The conceptual-planning-agent loads this template to understand expected structure and quality standards.
|
||||
### Phase 5: Parallel Document Update Agents
|
||||
|
||||
## 🔄 **Session Integration**
|
||||
**Parallel agent calls** (one per role needing updates):
|
||||
|
||||
### Streamlined Status Synchronization
|
||||
Upon completion, update `workflow-session.json`:
|
||||
```bash
|
||||
# Execute in parallel using single message with multiple Task calls
|
||||
|
||||
**Dynamic Role Participation**: The `participating_roles` and `roles_synthesized` values are determined at runtime based on actual analysis.md files discovered.
|
||||
Task(conceptual-planning-agent): "
|
||||
## Agent Mission
|
||||
Apply user-confirmed enhancements and clarifications to {role1} analysis document
|
||||
|
||||
## Agent Intent
|
||||
- **Goal**: Integrate synthesis results into role-specific analysis
|
||||
- **Scope**: Update ONLY {role1}/analysis.md (isolated, no cross-role dependencies)
|
||||
- **Constraints**: Preserve original insights, add refinements without deletion
|
||||
|
||||
## Input from Main Flow
|
||||
- role: {role1}
|
||||
- analysis_path: {brainstorm_dir}/{role1}/analysis.md
|
||||
- enhancements: [EP-001, EP-003] (user-selected improvements)
|
||||
- clarifications: [{question, answer, category}, ...] (user-confirmed answers)
|
||||
- original_user_intent: {from session metadata}
|
||||
|
||||
## Execution Instructions
|
||||
[FLOW_CONTROL]
|
||||
|
||||
### Flow Control Steps
|
||||
**AGENT RESPONSIBILITY**: Execute these update steps sequentially:
|
||||
|
||||
1. **load_current_analysis**
|
||||
- Action: Load existing role analysis document
|
||||
- Command: Read({brainstorm_dir}/{role1}/analysis.md)
|
||||
- Output: current_analysis_content
|
||||
|
||||
2. **add_clarifications_section**
|
||||
- Action: Insert Clarifications section with Q&A
|
||||
- Format: \"## Clarifications\\n### Session {date}\\n- **Q**: {question} (Category: {category})\\n **A**: {answer}\"
|
||||
- Output: analysis_with_clarifications
|
||||
|
||||
3. **apply_enhancements**
|
||||
- Action: Integrate EP-001, EP-003 into relevant sections
|
||||
- Strategy: Locate section by category (Architecture → Architecture section, UX → User Experience section)
|
||||
- Output: analysis_with_enhancements
|
||||
|
||||
4. **resolve_contradictions**
|
||||
- Action: Remove conflicts between original content and clarifications/enhancements
|
||||
- Output: contradiction_free_analysis
|
||||
|
||||
5. **enforce_terminology_consistency**
|
||||
- Action: Align all terminology with user-confirmed choices from clarifications
|
||||
- Output: terminology_consistent_analysis
|
||||
|
||||
6. **validate_user_intent_alignment**
|
||||
- Action: Verify all updates support original_user_intent
|
||||
- Output: validated_analysis
|
||||
|
||||
7. **write_updated_file**
|
||||
- Action: Save final analysis document
|
||||
- Command: Write({brainstorm_dir}/{role1}/analysis.md, validated_analysis)
|
||||
- Output: File update confirmation
|
||||
|
||||
### Output
|
||||
Updated {role1}/analysis.md with Clarifications section + enhanced content
|
||||
")
|
||||
|
||||
Task(conceptual-planning-agent): "
|
||||
## Agent Mission
|
||||
Apply user-confirmed enhancements and clarifications to {role2} analysis document
|
||||
|
||||
## Agent Intent
|
||||
- **Goal**: Integrate synthesis results into role-specific analysis
|
||||
- **Scope**: Update ONLY {role2}/analysis.md (isolated, no cross-role dependencies)
|
||||
- **Constraints**: Preserve original insights, add refinements without deletion
|
||||
|
||||
## Input from Main Flow
|
||||
- role: {role2}
|
||||
- analysis_path: {brainstorm_dir}/{role2}/analysis.md
|
||||
- enhancements: [EP-002] (user-selected improvements)
|
||||
- clarifications: [{question, answer, category}, ...] (user-confirmed answers)
|
||||
- original_user_intent: {from session metadata}
|
||||
|
||||
## Execution Instructions
|
||||
[FLOW_CONTROL]
|
||||
|
||||
### Flow Control Steps
|
||||
**AGENT RESPONSIBILITY**: Execute same 7 update steps as {role1} agent (load → clarifications → enhancements → contradictions → terminology → validation → write)
|
||||
|
||||
### Output
|
||||
Updated {role2}/analysis.md with Clarifications section + enhanced content
|
||||
")
|
||||
|
||||
# ... repeat for each role in update_plan
|
||||
```
|
||||
|
||||
**Agent Characteristics**:
|
||||
- **Intent**: Integrate user-confirmed synthesis results (NOT generate new analysis)
|
||||
- **Isolation**: Each agent updates exactly ONE role (parallel execution safe)
|
||||
- **Context**: Minimal - receives only role-specific enhancements + clarifications
|
||||
- **Dependencies**: Zero cross-agent dependencies (full parallelism)
|
||||
- **Validation**: All updates must align with original_user_intent
|
||||
|
||||
### Phase 6: Completion & Metadata Update
|
||||
|
||||
**Main flow finalizes**:
|
||||
|
||||
1. Wait for all parallel agents to complete
|
||||
2. Update workflow-session.json:
|
||||
```json
|
||||
{
|
||||
"phases": {
|
||||
"BRAINSTORM": {
|
||||
"status": "completed",
|
||||
"synthesis_completed": true,
|
||||
"status": "clarification_completed",
|
||||
"clarification_completed": true,
|
||||
"completed_at": "timestamp",
|
||||
"participating_roles": ["<dynamically-discovered-role-1>", "<dynamically-discovered-role-2>", "..."],
|
||||
"available_roles": ["product-manager", "product-owner", "scrum-master", "system-architect", "ui-designer", "ux-expert", "data-architect", "subject-matter-expert", "test-strategist"],
|
||||
"consolidated_output": {
|
||||
"synthesis_specification": ".workflow/WFS-{topic}/.brainstorming/synthesis-specification.md"
|
||||
"participating_roles": [...],
|
||||
"clarification_results": {
|
||||
"enhancements_applied": ["EP-001", "EP-002", ...],
|
||||
"questions_asked": 3,
|
||||
"categories_clarified": ["Architecture", "UX", ...],
|
||||
"roles_updated": ["role1", "role2", ...],
|
||||
"outstanding_items": []
|
||||
},
|
||||
"synthesis_quality": {
|
||||
"role_integration": "complete",
|
||||
"quality_metrics": {
|
||||
"user_intent_alignment": "validated",
|
||||
"requirement_coverage": "comprehensive",
|
||||
"decision_transparency": "alternatives_documented",
|
||||
"process_risks_identified": true,
|
||||
"implementation_readiness": "ready"
|
||||
},
|
||||
"content_metrics": {
|
||||
"roles_synthesized": "<COUNT(participating_roles)>",
|
||||
"functional_requirements": "<dynamic-count>",
|
||||
"non_functional_requirements": "<dynamic-count>",
|
||||
"business_requirements": "<dynamic-count>",
|
||||
"architecture_decisions": "<dynamic-count>",
|
||||
"controversial_points": "<dynamic-count>",
|
||||
"diagrams_included": "<dynamic-count>",
|
||||
"process_risks": "<dynamic-count>",
|
||||
"team_skill_gaps": "<dynamic-count>",
|
||||
"implementation_phases": "<dynamic-count>",
|
||||
"risk_factors_identified": "<dynamic-count>"
|
||||
"ambiguity_resolution": "complete",
|
||||
"terminology_consistency": "enforced"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Example with actual values**:
|
||||
3. Generate completion report (show to user):
|
||||
```markdown
|
||||
## ✅ Clarification Complete
|
||||
|
||||
**Enhancements Applied**: EP-001, EP-002, EP-003
|
||||
**Questions Answered**: 3/5
|
||||
**Roles Updated**: role1, role2, role3
|
||||
|
||||
### Next Steps
|
||||
✅ PROCEED: `/workflow:plan --session WFS-{session-id}`
|
||||
```
|
||||
|
||||
## Output
|
||||
|
||||
**Location**: `.workflow/WFS-{session}/.brainstorming/[role]/analysis*.md` (in-place updates)
|
||||
|
||||
**Updated Structure**:
|
||||
```markdown
|
||||
## Clarifications
|
||||
### Session {date}
|
||||
- **Q**: {question} (Category: {category})
|
||||
**A**: {answer}
|
||||
|
||||
## {Existing Sections}
|
||||
{Refined content based on clarifications}
|
||||
```
|
||||
|
||||
**Changes**:
|
||||
- User intent validated/corrected
|
||||
- Requirements more specific/measurable
|
||||
- Architecture with rationale
|
||||
- Ambiguities resolved, placeholders removed
|
||||
- Consistent terminology
|
||||
|
||||
## Session Metadata
|
||||
|
||||
Update `workflow-session.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
"phases": {
|
||||
"BRAINSTORM": {
|
||||
"status": "completed",
|
||||
"participating_roles": ["product-manager", "system-architect", "ui-designer", "ux-expert", "scrum-master"],
|
||||
"content_metrics": {
|
||||
"roles_synthesized": 5,
|
||||
"functional_requirements": 18,
|
||||
"controversial_points": 2
|
||||
"status": "clarification_completed",
|
||||
"clarification_completed": true,
|
||||
"completed_at": "timestamp",
|
||||
"participating_roles": ["product-manager", "system-architect", ...],
|
||||
"clarification_results": {
|
||||
"questions_asked": 3,
|
||||
"categories_clarified": ["Architecture & Design", ...],
|
||||
"roles_updated": ["system-architect", "ui-designer", ...],
|
||||
"outstanding_items": []
|
||||
},
|
||||
"quality_metrics": {
|
||||
"user_intent_alignment": "validated",
|
||||
"requirement_coverage": "comprehensive",
|
||||
"ambiguity_resolution": "complete",
|
||||
"terminology_consistency": "enforced",
|
||||
"decision_transparency": "documented"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## ✅ **Quality Assurance**
|
||||
## Quality Checklist
|
||||
|
||||
Verify synthesis output meets these standards (detailed criteria in `synthesis-role.md` template):
|
||||
**Content**:
|
||||
- All role analyses loaded/analyzed
|
||||
- Cross-role analysis (consensus, conflicts, gaps)
|
||||
- 9-category ambiguity scan
|
||||
- Questions prioritized
|
||||
- Clarifications documented
|
||||
|
||||
### Content Completeness
|
||||
- [ ] All discovered role analyses integrated without gaps
|
||||
- [ ] Key designs documented (architecture diagrams, ADRs, user journeys via Mermaid)
|
||||
- [ ] Controversial points captured with alternatives and rationale
|
||||
- [ ] Process concerns included (team skills, risks, collaboration patterns)
|
||||
- [ ] Requirements documented (Functional, Non-Functional, Business) with sources
|
||||
**Analysis**:
|
||||
- User intent validated
|
||||
- Cross-role synthesis complete
|
||||
- Ambiguities resolved
|
||||
- Correct roles updated
|
||||
- Terminology consistent
|
||||
- Contradictions removed
|
||||
|
||||
### Analysis Quality
|
||||
- [ ] Cross-role synthesis identifies consensus and conflicts
|
||||
- [ ] Decision transparency documents both adopted and rejected alternatives
|
||||
- [ ] Priority recommendations with multi-dimensional evaluation
|
||||
- [ ] Implementation roadmap with phased approach
|
||||
- [ ] Risk assessment with mitigation strategies
|
||||
- [ ] @ references to source role analyses throughout
|
||||
**Documents**:
|
||||
- Clarifications section formatted
|
||||
- Sections reflect answers
|
||||
- No placeholders (TODO/TBD)
|
||||
- Valid Markdown
|
||||
- Cross-references maintained
|
||||
|
||||
## 🚀 **Recommended Next Steps**
|
||||
## Next Steps
|
||||
|
||||
After synthesis completion, proceed to action planning:
|
||||
|
||||
### Standard Workflow (Recommended)
|
||||
**Standard**:
|
||||
```bash
|
||||
/workflow:concept-clarify --session WFS-{session-id} # Optional: Clarify ambiguities
|
||||
/workflow:plan --session WFS-{session-id} # Generate IMPL_PLAN.md and tasks
|
||||
/workflow:action-plan-verify --session WFS-{session-id} # Optional: Verify plan quality
|
||||
/workflow:execute --session WFS-{session-id} # Start implementation
|
||||
```
|
||||
|
||||
### TDD Workflow
|
||||
```bash
|
||||
/workflow:concept-clarify --session WFS-{session-id} # Optional: Clarify ambiguities
|
||||
/workflow:tdd-plan --session WFS-{session-id} "Feature description"
|
||||
/workflow:action-plan-verify --session WFS-{session-id} # Optional: Verify plan quality
|
||||
/workflow:plan --session WFS-{session-id}
|
||||
/workflow:action-plan-verify --session WFS-{session-id} # Optional
|
||||
/workflow:execute --session WFS-{session-id}
|
||||
```
|
||||
|
||||
**TDD**:
|
||||
```bash
|
||||
/workflow:tdd-plan --session WFS-{session-id} "description"
|
||||
/workflow:action-plan-verify --session WFS-{session-id} # Optional
|
||||
/workflow:execute --session WFS-{session-id}
|
||||
```
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: system-architect
|
||||
description: Generate or update system-architect/analysis.md addressing topic-framework discussion points
|
||||
description: Generate or update system-architect/analysis.md addressing guidance-specification discussion points
|
||||
argument-hint: "optional topic - uses existing framework if available"
|
||||
allowed-tools: Task(conceptual-planning-agent), TodoWrite(*), Read(*), Write(*)
|
||||
---
|
||||
@@ -8,10 +8,10 @@ allowed-tools: Task(conceptual-planning-agent), TodoWrite(*), Read(*), Write(*)
|
||||
## 🏗️ **System Architect Analysis Generator**
|
||||
|
||||
### Purpose
|
||||
**Specialized command for generating system-architect/analysis.md** that addresses topic-framework.md discussion points from system architecture perspective. Creates or updates role-specific analysis with framework references.
|
||||
**Specialized command for generating system-architect/analysis.md** that addresses guidance-specification.md discussion points from system architecture perspective. Creates or updates role-specific analysis with framework references.
|
||||
|
||||
### Core Function
|
||||
- **Framework-based Analysis**: Address each discussion point in topic-framework.md
|
||||
- **Framework-based Analysis**: Address each discussion point in guidance-specification.md
|
||||
- **Architecture Focus**: Technical architecture, scalability, and system design perspective
|
||||
- **Update Mechanism**: Create new or update existing analysis.md
|
||||
- **Agent Delegation**: Use conceptual-planning-agent for analysis generation
|
||||
@@ -51,7 +51,7 @@ IF active_session EXISTS:
|
||||
session_id = get_active_session()
|
||||
brainstorm_dir = .workflow/WFS-{session}/.brainstorming/
|
||||
|
||||
CHECK: brainstorm_dir/topic-framework.md
|
||||
CHECK: brainstorm_dir/guidance-specification.md
|
||||
IF EXISTS:
|
||||
framework_mode = true
|
||||
load_framework = true
|
||||
@@ -78,20 +78,20 @@ ELSE:
|
||||
```
|
||||
|
||||
### Phase 3: Agent Task Generation
|
||||
**Framework-Based Analysis** (when topic-framework.md exists):
|
||||
**Framework-Based Analysis** (when guidance-specification.md exists):
|
||||
```bash
|
||||
Task(subagent_type="conceptual-planning-agent",
|
||||
prompt="Generate system architect analysis addressing topic framework
|
||||
|
||||
## Framework Integration Required
|
||||
**MANDATORY**: Load and address topic-framework.md discussion points
|
||||
**Framework Reference**: @{session.brainstorm_dir}/topic-framework.md
|
||||
**MANDATORY**: Load and address guidance-specification.md discussion points
|
||||
**Framework Reference**: @{session.brainstorm_dir}/guidance-specification.md
|
||||
**Output Location**: {session.brainstorm_dir}/system-architect/analysis.md
|
||||
|
||||
## Analysis Requirements
|
||||
1. **Load Topic Framework**: Read topic-framework.md completely
|
||||
1. **Load Topic Framework**: Read guidance-specification.md completely
|
||||
2. **Address Each Discussion Point**: Respond to all 5 framework sections from system architecture perspective
|
||||
3. **Include Framework Reference**: Start analysis.md with @../topic-framework.md
|
||||
3. **Include Framework Reference**: Start analysis.md with @../guidance-specification.md
|
||||
4. **Technical Focus**: Emphasize scalability, architecture patterns, technology decisions
|
||||
5. **Structured Response**: Use framework structure for analysis organization
|
||||
|
||||
@@ -106,7 +106,7 @@ Task(subagent_type="conceptual-planning-agent",
|
||||
```markdown
|
||||
# System Architect Analysis: [Topic]
|
||||
|
||||
**Framework Reference**: @../topic-framework.md
|
||||
**Framework Reference**: @../guidance-specification.md
|
||||
**Role Focus**: System Architecture and Technical Design
|
||||
|
||||
## Core Requirements Analysis
|
||||
@@ -140,14 +140,14 @@ IF update_mode = "incremental":
|
||||
|
||||
## Current Analysis Context
|
||||
**Existing Analysis**: @{session.brainstorm_dir}/system-architect/analysis.md
|
||||
**Framework Reference**: @{session.brainstorm_dir}/topic-framework.md
|
||||
**Framework Reference**: @{session.brainstorm_dir}/guidance-specification.md
|
||||
|
||||
## Update Requirements
|
||||
1. **Preserve Structure**: Maintain existing analysis structure
|
||||
2. **Add New Insights**: Integrate new technical insights and recommendations
|
||||
3. **Framework Alignment**: Ensure continued alignment with topic framework
|
||||
4. **Technical Updates**: Add new architecture patterns, technology considerations
|
||||
5. **Maintain References**: Keep @../topic-framework.md reference
|
||||
5. **Maintain References**: Keep @../guidance-specification.md reference
|
||||
|
||||
## Update Instructions
|
||||
- Read existing analysis completely
|
||||
@@ -163,14 +163,14 @@ IF update_mode = "incremental":
|
||||
### Output Files
|
||||
```
|
||||
.workflow/WFS-[topic]/.brainstorming/
|
||||
├── topic-framework.md # Input: Framework (if exists)
|
||||
├── guidance-specification.md # Input: Framework (if exists)
|
||||
└── system-architect/
|
||||
└── analysis.md # ★ OUTPUT: Framework-based analysis
|
||||
```
|
||||
|
||||
### Analysis Structure
|
||||
**Required Elements**:
|
||||
- **Framework Reference**: @../topic-framework.md (if framework exists)
|
||||
- **Framework Reference**: @../guidance-specification.md (if framework exists)
|
||||
- **Role Focus**: System Architecture and Technical Design perspective
|
||||
- **5 Framework Sections**: Address each framework discussion point
|
||||
- **Technical Recommendations**: Architecture-specific insights and solutions
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: ui-designer
|
||||
description: Generate or update ui-designer/analysis.md addressing topic-framework discussion points
|
||||
description: Generate or update ui-designer/analysis.md addressing guidance-specification discussion points
|
||||
argument-hint: "optional topic - uses existing framework if available"
|
||||
allowed-tools: Task(conceptual-planning-agent), TodoWrite(*), Read(*), Write(*)
|
||||
---
|
||||
@@ -8,10 +8,10 @@ allowed-tools: Task(conceptual-planning-agent), TodoWrite(*), Read(*), Write(*)
|
||||
## 🎨 **UI Designer Analysis Generator**
|
||||
|
||||
### Purpose
|
||||
**Specialized command for generating ui-designer/analysis.md** that addresses topic-framework.md discussion points from UI/UX design perspective. Creates or updates role-specific analysis with framework references.
|
||||
**Specialized command for generating ui-designer/analysis.md** that addresses guidance-specification.md discussion points from UI/UX design perspective. Creates or updates role-specific analysis with framework references.
|
||||
|
||||
### Core Function
|
||||
- **Framework-based Analysis**: Address each discussion point in topic-framework.md
|
||||
- **Framework-based Analysis**: Address each discussion point in guidance-specification.md
|
||||
- **UI/UX Focus**: User experience, interface design, and accessibility perspective
|
||||
- **Update Mechanism**: Create new or update existing analysis.md
|
||||
- **Agent Delegation**: Use conceptual-planning-agent for analysis generation
|
||||
@@ -53,7 +53,7 @@ IF active_session EXISTS:
|
||||
session_id = get_active_session()
|
||||
brainstorm_dir = .workflow/WFS-{session}/.brainstorming/
|
||||
|
||||
CHECK: brainstorm_dir/topic-framework.md
|
||||
CHECK: brainstorm_dir/guidance-specification.md
|
||||
IF EXISTS:
|
||||
framework_mode = true
|
||||
load_framework = true
|
||||
@@ -94,7 +94,7 @@ ANALYSIS_MODE: {framework_mode ? "framework_based" : "standalone"}
|
||||
## Flow Control Steps
|
||||
1. **load_topic_framework**
|
||||
- Action: Load structured topic discussion framework
|
||||
- Command: Read(.workflow/WFS-{session}/.brainstorming/topic-framework.md)
|
||||
- Command: Read(.workflow/WFS-{session}/.brainstorming/guidance-specification.md)
|
||||
- Output: topic_framework_content
|
||||
|
||||
2. **load_role_template**
|
||||
@@ -108,17 +108,17 @@ ANALYSIS_MODE: {framework_mode ? "framework_based" : "standalone"}
|
||||
- Output: session_context
|
||||
|
||||
## Analysis Requirements
|
||||
**Framework Reference**: Address all discussion points in topic-framework.md from UI/UX perspective
|
||||
**Framework Reference**: Address all discussion points in guidance-specification.md from UI/UX perspective
|
||||
**Role Focus**: User experience design, interface optimization, accessibility compliance
|
||||
**Structured Approach**: Create analysis.md addressing framework discussion points
|
||||
**Template Integration**: Apply role template guidelines within framework structure
|
||||
|
||||
## Expected Deliverables
|
||||
1. **analysis.md**: Comprehensive UI/UX analysis addressing all framework discussion points
|
||||
2. **Framework Reference**: Include @../topic-framework.md reference in analysis
|
||||
2. **Framework Reference**: Include @../guidance-specification.md reference in analysis
|
||||
|
||||
## Completion Criteria
|
||||
- Address each discussion point from topic-framework.md with UI/UX design expertise
|
||||
- Address each discussion point from guidance-specification.md with UI/UX design expertise
|
||||
- Provide actionable design recommendations and interface solutions
|
||||
- Include accessibility considerations and WCAG compliance planning
|
||||
- Reference framework document using @ notation for integration
|
||||
@@ -137,7 +137,7 @@ TodoWrite({
|
||||
activeForm: "Detecting session and framework"
|
||||
},
|
||||
{
|
||||
content: "Load topic-framework.md and session metadata for context",
|
||||
content: "Load guidance-specification.md and session metadata for context",
|
||||
status: "pending",
|
||||
activeForm: "Loading framework and session context"
|
||||
},
|
||||
@@ -165,7 +165,7 @@ TodoWrite({
|
||||
### Framework-Based Analysis
|
||||
```
|
||||
.workflow/WFS-{session}/.brainstorming/ui-designer/
|
||||
└── analysis.md # Structured analysis addressing topic-framework.md discussion points
|
||||
└── analysis.md # Structured analysis addressing guidance-specification.md discussion points
|
||||
```
|
||||
|
||||
### Analysis Document Structure
|
||||
@@ -173,11 +173,11 @@ TodoWrite({
|
||||
# UI Designer Analysis: [Topic from Framework]
|
||||
|
||||
## Framework Reference
|
||||
**Topic Framework**: @../topic-framework.md
|
||||
**Topic Framework**: @../guidance-specification.md
|
||||
**Role Focus**: UI/UX Design perspective
|
||||
|
||||
## Discussion Points Analysis
|
||||
[Address each point from topic-framework.md with UI/UX expertise]
|
||||
[Address each point from guidance-specification.md with UI/UX expertise]
|
||||
|
||||
### Core Requirements (from framework)
|
||||
[UI/UX perspective on requirements]
|
||||
@@ -210,12 +210,12 @@ TodoWrite({
|
||||
"status": "completed",
|
||||
"framework_addressed": true,
|
||||
"output_location": ".workflow/WFS-{session}/.brainstorming/ui-designer/analysis.md",
|
||||
"framework_reference": "@../topic-framework.md"
|
||||
"framework_reference": "@../guidance-specification.md"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Integration Points
|
||||
- **Framework Reference**: @../topic-framework.md for structured discussion points
|
||||
- **Framework Reference**: @../guidance-specification.md for structured discussion points
|
||||
- **Cross-Role Synthesis**: UI/UX insights available for synthesis-report.md integration
|
||||
- **Agent Autonomy**: Independent execution with framework guidance
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: ux-expert
|
||||
description: Generate or update ux-expert/analysis.md addressing topic-framework discussion points
|
||||
description: Generate or update ux-expert/analysis.md addressing guidance-specification discussion points
|
||||
argument-hint: "optional topic - uses existing framework if available"
|
||||
allowed-tools: Task(conceptual-planning-agent), TodoWrite(*), Read(*), Write(*)
|
||||
---
|
||||
@@ -8,10 +8,10 @@ allowed-tools: Task(conceptual-planning-agent), TodoWrite(*), Read(*), Write(*)
|
||||
## 🎯 **UX Expert Analysis Generator**
|
||||
|
||||
### Purpose
|
||||
**Specialized command for generating ux-expert/analysis.md** that addresses topic-framework.md discussion points from user experience and interface design perspective. Creates or updates role-specific analysis with framework references.
|
||||
**Specialized command for generating ux-expert/analysis.md** that addresses guidance-specification.md discussion points from user experience and interface design perspective. Creates or updates role-specific analysis with framework references.
|
||||
|
||||
### Core Function
|
||||
- **Framework-based Analysis**: Address each discussion point in topic-framework.md
|
||||
- **Framework-based Analysis**: Address each discussion point in guidance-specification.md
|
||||
- **UX Design Focus**: User interface, interaction patterns, and usability optimization
|
||||
- **Update Mechanism**: Create new or update existing analysis.md
|
||||
- **Agent Delegation**: Use conceptual-planning-agent for analysis generation
|
||||
@@ -53,7 +53,7 @@ IF active_session EXISTS:
|
||||
session_id = get_active_session()
|
||||
brainstorm_dir = .workflow/WFS-{session}/.brainstorming/
|
||||
|
||||
CHECK: brainstorm_dir/topic-framework.md
|
||||
CHECK: brainstorm_dir/guidance-specification.md
|
||||
IF EXISTS:
|
||||
framework_mode = true
|
||||
load_framework = true
|
||||
@@ -94,7 +94,7 @@ ANALYSIS_MODE: {framework_mode ? "framework_based" : "standalone"}
|
||||
## Flow Control Steps
|
||||
1. **load_topic_framework**
|
||||
- Action: Load structured topic discussion framework
|
||||
- Command: Read(.workflow/WFS-{session}/.brainstorming/topic-framework.md)
|
||||
- Command: Read(.workflow/WFS-{session}/.brainstorming/guidance-specification.md)
|
||||
- Output: topic_framework_content
|
||||
|
||||
2. **load_role_template**
|
||||
@@ -108,17 +108,17 @@ ANALYSIS_MODE: {framework_mode ? "framework_based" : "standalone"}
|
||||
- Output: session_context
|
||||
|
||||
## Analysis Requirements
|
||||
**Framework Reference**: Address all discussion points in topic-framework.md from user experience and interface design perspective
|
||||
**Framework Reference**: Address all discussion points in guidance-specification.md from user experience and interface design perspective
|
||||
**Role Focus**: UI design, interaction patterns, usability optimization, design systems
|
||||
**Structured Approach**: Create analysis.md addressing framework discussion points
|
||||
**Template Integration**: Apply role template guidelines within framework structure
|
||||
|
||||
## Expected Deliverables
|
||||
1. **analysis.md**: Comprehensive UX design analysis addressing all framework discussion points
|
||||
2. **Framework Reference**: Include @../topic-framework.md reference in analysis
|
||||
2. **Framework Reference**: Include @../guidance-specification.md reference in analysis
|
||||
|
||||
## Completion Criteria
|
||||
- Address each discussion point from topic-framework.md with UX design expertise
|
||||
- Address each discussion point from guidance-specification.md with UX design expertise
|
||||
- Provide actionable interface design and usability optimization strategies
|
||||
- Include accessibility considerations and interaction pattern recommendations
|
||||
- Reference framework document using @ notation for integration
|
||||
@@ -137,7 +137,7 @@ TodoWrite({
|
||||
activeForm: "Detecting session and framework"
|
||||
},
|
||||
{
|
||||
content: "Load topic-framework.md and session metadata for context",
|
||||
content: "Load guidance-specification.md and session metadata for context",
|
||||
status: "pending",
|
||||
activeForm: "Loading framework and session context"
|
||||
},
|
||||
@@ -165,7 +165,7 @@ TodoWrite({
|
||||
### Framework-Based Analysis
|
||||
```
|
||||
.workflow/WFS-{session}/.brainstorming/ux-expert/
|
||||
└── analysis.md # Structured analysis addressing topic-framework.md discussion points
|
||||
└── analysis.md # Structured analysis addressing guidance-specification.md discussion points
|
||||
```
|
||||
|
||||
### Analysis Document Structure
|
||||
@@ -173,11 +173,11 @@ TodoWrite({
|
||||
# UX Expert Analysis: [Topic from Framework]
|
||||
|
||||
## Framework Reference
|
||||
**Topic Framework**: @../topic-framework.md
|
||||
**Topic Framework**: @../guidance-specification.md
|
||||
**Role Focus**: User Experience & Interface Design perspective
|
||||
|
||||
## Discussion Points Analysis
|
||||
[Address each point from topic-framework.md with UX design expertise]
|
||||
[Address each point from guidance-specification.md with UX design expertise]
|
||||
|
||||
### Core Requirements (from framework)
|
||||
[User interface and interaction design requirements perspective]
|
||||
@@ -210,12 +210,12 @@ TodoWrite({
|
||||
"status": "completed",
|
||||
"framework_addressed": true,
|
||||
"output_location": ".workflow/WFS-{session}/.brainstorming/ux-expert/analysis.md",
|
||||
"framework_reference": "@../topic-framework.md"
|
||||
"framework_reference": "@../guidance-specification.md"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Integration Points
|
||||
- **Framework Reference**: @../topic-framework.md for structured discussion points
|
||||
- **Framework Reference**: @../guidance-specification.md for structured discussion points
|
||||
- **Cross-Role Synthesis**: UX design insights available for synthesis-report.md integration
|
||||
- **Agent Autonomy**: Independent execution with framework guidance
|
||||
|
||||
@@ -1,353 +0,0 @@
|
||||
---
|
||||
name: concept-clarify
|
||||
description: Identify underspecified areas in brainstorming artifacts through targeted clarification questions before action planning
|
||||
argument-hint: "[optional: --session session-id]"
|
||||
allowed-tools: Read(*), Write(*), Edit(*), TodoWrite(*), Glob(*), Bash(*)
|
||||
---
|
||||
|
||||
## User Input
|
||||
|
||||
```text
|
||||
$ARGUMENTS
|
||||
```
|
||||
|
||||
You **MUST** consider the user input before proceeding (if not empty).
|
||||
|
||||
## Outline
|
||||
|
||||
**Goal**: Detect and reduce ambiguity or missing decision points in planning artifacts before moving to task generation. Supports both brainstorm and plan workflows.
|
||||
|
||||
**Timing**:
|
||||
- **Brainstorm mode**: Runs AFTER `/workflow:brainstorm:synthesis` and BEFORE `/workflow:plan`
|
||||
- **Plan mode**: Runs AFTER Phase 3 (concept-enhanced) and BEFORE Phase 4 (task-generate) within `/workflow:plan`
|
||||
|
||||
This serves as a quality gate to ensure conceptual clarity before detailed task planning or generation.
|
||||
|
||||
**Execution steps**:
|
||||
|
||||
1. **Session Detection & Validation**
|
||||
```bash
|
||||
# Detect active workflow session
|
||||
IF --session parameter provided:
|
||||
session_id = provided session
|
||||
ELSE:
|
||||
CHECK: .workflow/.active-* marker files
|
||||
IF active_session EXISTS:
|
||||
session_id = get_active_session()
|
||||
ELSE:
|
||||
ERROR: "No active workflow session found. Use --session <session-id> or start a session."
|
||||
EXIT
|
||||
|
||||
# Mode detection: plan vs brainstorm
|
||||
brainstorm_dir = .workflow/WFS-{session}/.brainstorming/
|
||||
process_dir = .workflow/WFS-{session}/.process/
|
||||
|
||||
IF EXISTS(process_dir/ANALYSIS_RESULTS.md):
|
||||
clarify_mode = "plan"
|
||||
primary_artifact = process_dir/ANALYSIS_RESULTS.md
|
||||
INFO: "Plan mode: Analyzing ANALYSIS_RESULTS.md"
|
||||
ELSE IF EXISTS(brainstorm_dir/synthesis-specification.md):
|
||||
clarify_mode = "brainstorm"
|
||||
primary_artifact = brainstorm_dir/synthesis-specification.md
|
||||
INFO: "Brainstorm mode: Analyzing synthesis-specification.md"
|
||||
ELSE:
|
||||
ERROR: "No valid artifact found. Run /workflow:brainstorm:synthesis or /workflow:plan first"
|
||||
EXIT
|
||||
|
||||
# Mode-specific validation
|
||||
IF clarify_mode == "brainstorm":
|
||||
CHECK: brainstorm_dir/topic-framework.md
|
||||
IF NOT EXISTS:
|
||||
WARN: "topic-framework.md not found. Verification will be limited."
|
||||
```
|
||||
|
||||
2. **Load Artifacts (Mode-Aware)**
|
||||
```bash
|
||||
# Load primary artifact (determined in step 1)
|
||||
primary_content = Read(primary_artifact)
|
||||
|
||||
# Load user's original intent from session metadata
|
||||
session_metadata = Read(.workflow/WFS-{session}/workflow-session.json)
|
||||
original_user_intent = session_metadata.project || session_metadata.description
|
||||
IF NOT original_user_intent:
|
||||
WARN: "No original user intent found in session metadata"
|
||||
original_user_intent = "Not available"
|
||||
|
||||
# Load mode-specific supplementary artifacts
|
||||
IF clarify_mode == "brainstorm":
|
||||
topic_framework = Read(brainstorm_dir + "/topic-framework.md") # if exists
|
||||
role_analyses = Glob(brainstorm_dir + "/*/analysis.md")
|
||||
participating_roles = extract_role_names(role_analyses)
|
||||
# Plan mode: primary_content (ANALYSIS_RESULTS.md) is self-contained
|
||||
```
|
||||
|
||||
3. **Ambiguity & Coverage Scan**
|
||||
|
||||
Perform structured scan using this taxonomy. For each category, mark status: **Clear** / **Partial** / **Missing**.
|
||||
|
||||
**⚠️ User Intent Alignment** (NEW - HIGHEST PRIORITY):
|
||||
- Primary artifact alignment with original user intent
|
||||
- Goal consistency between artifact and user's stated objectives
|
||||
- Scope match with user's requirements
|
||||
- Success criteria reflects user's expectations
|
||||
- Any unexplained deviations from user intent
|
||||
|
||||
**Requirements Clarity**:
|
||||
- Functional requirements specificity and measurability
|
||||
- Non-functional requirements with quantified targets
|
||||
- Business requirements with success metrics
|
||||
- Acceptance criteria completeness
|
||||
|
||||
**Architecture & Design Clarity**:
|
||||
- Architecture decisions with rationale
|
||||
- Data model completeness (entities, relationships, constraints)
|
||||
- Technology stack justification
|
||||
- Integration points and API contracts
|
||||
|
||||
**User Experience & Interface**:
|
||||
- User journey completeness
|
||||
- Critical interaction flows
|
||||
- Error/edge case handling
|
||||
- Accessibility and localization considerations
|
||||
|
||||
**Implementation Feasibility**:
|
||||
- Team capability vs. required skills
|
||||
- External dependencies and failure modes
|
||||
- Resource constraints (timeline, personnel)
|
||||
- Technical constraints and tradeoffs
|
||||
|
||||
**Risk & Mitigation**:
|
||||
- Critical risks identified
|
||||
- Mitigation strategies defined
|
||||
- Success factors clarity
|
||||
- Monitoring and quality gates
|
||||
|
||||
**Process & Collaboration**:
|
||||
- Role responsibilities and handoffs
|
||||
- Collaboration patterns defined
|
||||
- Timeline and milestone clarity
|
||||
- Dependency management strategy
|
||||
|
||||
**Decision Traceability**:
|
||||
- Controversial points documented
|
||||
- Alternatives considered and rejected
|
||||
- Decision rationale clarity
|
||||
- Consensus vs. dissent tracking
|
||||
|
||||
**Terminology & Consistency**:
|
||||
- Canonical terms defined
|
||||
- Consistent naming across artifacts
|
||||
- No unresolved placeholders (TODO, TBD, ???)
|
||||
|
||||
For each category with **Partial** or **Missing** status, add to candidate question queue unless:
|
||||
- Clarification would not materially change implementation strategy
|
||||
- Information is better deferred to planning phase
|
||||
|
||||
4. **Generate Prioritized Question Queue**
|
||||
|
||||
Internally generate prioritized queue of candidate questions (maximum 5):
|
||||
|
||||
**Constraints**:
|
||||
- Maximum 5 questions per session
|
||||
- Each question must be answerable with:
|
||||
* Multiple-choice (2-5 mutually exclusive options), OR
|
||||
* Short answer (≤5 words)
|
||||
- Only include questions whose answers materially impact:
|
||||
* Architecture decisions
|
||||
* Data modeling
|
||||
* Task decomposition
|
||||
* Risk mitigation
|
||||
* Success criteria
|
||||
- Ensure category coverage balance
|
||||
- Favor clarifications that reduce downstream rework risk
|
||||
|
||||
**Prioritization Heuristic**:
|
||||
```
|
||||
priority_score = (impact_on_planning * 0.4) +
|
||||
(uncertainty_level * 0.3) +
|
||||
(risk_if_unresolved * 0.3)
|
||||
```
|
||||
|
||||
If zero high-impact ambiguities found, proceed to **Step 8** (report success).
|
||||
|
||||
5. **Sequential Question Loop** (Interactive)
|
||||
|
||||
Present **EXACTLY ONE** question at a time:
|
||||
|
||||
**Multiple-choice format**:
|
||||
```markdown
|
||||
**Question {N}/5**: {Question text}
|
||||
|
||||
| Option | Description |
|
||||
|--------|-------------|
|
||||
| A | {Option A description} |
|
||||
| B | {Option B description} |
|
||||
| C | {Option C description} |
|
||||
| D | {Option D description} |
|
||||
| Short | Provide different answer (≤5 words) |
|
||||
```
|
||||
|
||||
**Short-answer format**:
|
||||
```markdown
|
||||
**Question {N}/5**: {Question text}
|
||||
|
||||
Format: Short answer (≤5 words)
|
||||
```
|
||||
|
||||
**Answer Validation**:
|
||||
- Validate answer maps to option or fits ≤5 word constraint
|
||||
- If ambiguous, ask quick disambiguation (doesn't count as new question)
|
||||
- Once satisfactory, record in working memory and proceed to next question
|
||||
|
||||
**Stop Conditions**:
|
||||
- All critical ambiguities resolved
|
||||
- User signals completion ("done", "no more", "proceed")
|
||||
- Reached 5 questions
|
||||
|
||||
**Never reveal future queued questions in advance**.
|
||||
|
||||
6. **Integration After Each Answer** (Incremental Update)
|
||||
|
||||
After each accepted answer:
|
||||
|
||||
```bash
|
||||
# Ensure Clarifications section exists
|
||||
IF primary_content NOT contains "## Clarifications":
|
||||
Insert "## Clarifications" section after first heading
|
||||
|
||||
# Create session subsection
|
||||
IF NOT contains "### Session YYYY-MM-DD":
|
||||
Create "### Session {today's date}" under "## Clarifications"
|
||||
|
||||
# Append clarification entry
|
||||
APPEND: "- Q: {question} → A: {answer}"
|
||||
|
||||
# Apply clarification to appropriate section
|
||||
CASE category:
|
||||
Functional Requirements → Update "## Requirements" or equivalent section
|
||||
Architecture → Update "## Architecture" or "## Design" sections
|
||||
User Experience → Update "## UI/UX" or "## User Experience" sections
|
||||
Risk → Update "## Risks" or "## Risk Assessment" sections
|
||||
Process → Update "## Process" or "## Implementation" sections
|
||||
Data Model → Update "## Data Model" or "## Database" sections
|
||||
Non-Functional → Update "## Non-Functional Requirements" or equivalent
|
||||
|
||||
# Remove obsolete/contradictory statements
|
||||
IF clarification invalidates existing statement:
|
||||
Replace statement instead of duplicating
|
||||
|
||||
# Save immediately to primary_artifact
|
||||
Write(primary_artifact)
|
||||
```
|
||||
|
||||
7. **Validation After Each Write**
|
||||
|
||||
- [ ] Clarifications section contains exactly one bullet per accepted answer
|
||||
- [ ] Total asked questions ≤ 5
|
||||
- [ ] Updated sections contain no lingering placeholders
|
||||
- [ ] No contradictory earlier statements remain
|
||||
- [ ] Markdown structure valid
|
||||
- [ ] Terminology consistent across all updated sections
|
||||
|
||||
8. **Completion Report**
|
||||
|
||||
After questioning loop ends or early termination:
|
||||
|
||||
```markdown
|
||||
## ✅ Concept Verification Complete
|
||||
|
||||
**Session**: WFS-{session-id}
|
||||
**Mode**: {clarify_mode}
|
||||
**Questions Asked**: {count}/5
|
||||
**Artifacts Updated**: {primary_artifact filename}
|
||||
**Sections Touched**: {list section names}
|
||||
|
||||
### Coverage Summary
|
||||
|
||||
| Category | Status | Notes |
|
||||
|----------|--------|-------|
|
||||
| Requirements Clarity | ✅ Resolved | Acceptance criteria quantified |
|
||||
| Architecture & Design | ✅ Clear | No ambiguities found |
|
||||
| Implementation Feasibility | ⚠️ Deferred | Team training plan to be defined in IMPL_PLAN |
|
||||
| Risk & Mitigation | ✅ Resolved | Critical risks now have mitigation strategies |
|
||||
| ... | ... | ... |
|
||||
|
||||
**Legend**:
|
||||
- ✅ Resolved: Was Partial/Missing, now addressed
|
||||
- ✅ Clear: Already sufficient
|
||||
- ⚠️ Deferred: Low impact, better suited for planning phase
|
||||
- ❌ Outstanding: Still Partial/Missing but question quota reached
|
||||
|
||||
### Recommendations
|
||||
|
||||
- ✅ **PROCEED to /workflow:plan**: Conceptual foundation is clear
|
||||
- OR ⚠️ **Address Outstanding Items First**: {list critical outstanding items}
|
||||
- OR 🔄 **Run /workflow:concept-clarify Again**: If new information available
|
||||
|
||||
### Next Steps
|
||||
|
||||
**If Outstanding Items Exist**:
|
||||
1. TodoWrite tracking for outstanding issues
|
||||
2. Call conceptual-planning-agent to fix conceptual gaps
|
||||
3. Wait for user confirmation before proceeding
|
||||
|
||||
**If No Issues**:
|
||||
```bash
|
||||
/workflow:plan # Generate IMPL_PLAN.md and task.json
|
||||
```
|
||||
```
|
||||
|
||||
9. **Update Session Metadata**
|
||||
|
||||
```bash
|
||||
# Update metadata based on mode
|
||||
IF clarify_mode == "brainstorm":
|
||||
phase_key = "BRAINSTORM"
|
||||
ELSE: # plan mode
|
||||
phase_key = "PLAN"
|
||||
|
||||
# Update session metadata
|
||||
{
|
||||
"phases": {
|
||||
"{phase_key}": {
|
||||
"status": "concept_verified",
|
||||
"concept_verification": {
|
||||
"completed": true,
|
||||
"completed_at": "timestamp",
|
||||
"mode": "{clarify_mode}",
|
||||
"questions_asked": {count},
|
||||
"categories_clarified": [{list}],
|
||||
"outstanding_items": [],
|
||||
"recommendation": "PROCEED" # or "ADDRESS_OUTSTANDING"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Behavior Rules
|
||||
|
||||
- **If no meaningful ambiguities found**: Report "No critical ambiguities detected. Conceptual foundation is clear." and suggest proceeding to `/workflow:plan`.
|
||||
- **If synthesis-specification.md missing**: Instruct user to run `/workflow:brainstorm:synthesis` first.
|
||||
- **Never exceed 5 questions** (disambiguation retries don't count as new questions).
|
||||
- **Respect user early termination**: Signals like "stop", "done", "proceed" should stop questioning.
|
||||
- **If quota reached with high-impact items unresolved**: Explicitly flag them under "Outstanding" with recommendation to address before planning.
|
||||
- **Avoid speculative tech stack questions** unless absence blocks conceptual clarity.
|
||||
|
||||
## Operating Principles
|
||||
|
||||
### Context Efficiency
|
||||
- **Minimal high-signal tokens**: Focus on actionable clarifications
|
||||
- **Progressive disclosure**: Load artifacts incrementally
|
||||
- **Deterministic results**: Rerunning without changes produces consistent analysis
|
||||
|
||||
### Verification Guidelines
|
||||
- **NEVER hallucinate missing sections**: Report them accurately
|
||||
- **Prioritize high-impact ambiguities**: Focus on what affects planning
|
||||
- **Use examples over exhaustive rules**: Cite specific instances
|
||||
- **Report zero issues gracefully**: Emit success report with coverage statistics
|
||||
- **Update incrementally**: Save after each answer to minimize context loss
|
||||
|
||||
## Context
|
||||
|
||||
{ARGS}
|
||||
@@ -349,7 +349,7 @@ TodoWrite({
|
||||
|
||||
#### Context Sources (Priority Order)
|
||||
1. **Complete Task JSON**: Full task definition including all fields and artifacts
|
||||
2. **Artifacts Context**: Brainstorming outputs and synthesis specifications from task.context.artifacts
|
||||
2. **Artifacts Context**: Brainstorming outputs and role analysess from task.context.artifacts
|
||||
3. **Flow Control Context**: Accumulated outputs from pre_analysis steps (including artifact loading)
|
||||
4. **Dependency Summaries**: Previous task completion summaries
|
||||
5. **Session Context**: Workflow paths and session metadata
|
||||
@@ -370,10 +370,10 @@ TodoWrite({
|
||||
{
|
||||
"task": { /* Complete task JSON with artifacts array */ },
|
||||
"artifacts": {
|
||||
"synthesis_specification": { "path": ".workflow/WFS-session/.brainstorming/synthesis-specification.md", "priority": "highest" },
|
||||
"topic_framework": { "path": ".workflow/WFS-session/.brainstorming/topic-framework.md", "priority": "medium" },
|
||||
"role_analyses": [ /* Individual role analysis files */ ],
|
||||
"available_artifacts": [ /* All detected brainstorming artifacts */ ]
|
||||
"synthesis_specification": { "path": "{{from context-package.json → brainstorm_artifacts.synthesis_output.path}}", "priority": "highest" },
|
||||
"guidance_specification": { "path": "{{from context-package.json → brainstorm_artifacts.guidance_specification.path}}", "priority": "medium" },
|
||||
"role_analyses": [ /* From context-package.json → brainstorm_artifacts.role_analyses[] */ ],
|
||||
"conflict_resolution": { "path": "{{from context-package.json → brainstorm_artifacts.conflict_resolution.path}}", "conditional": true }
|
||||
},
|
||||
"flow_context": {
|
||||
"step_outputs": {
|
||||
@@ -385,7 +385,7 @@ TodoWrite({
|
||||
},
|
||||
"session": {
|
||||
"workflow_dir": ".workflow/WFS-session/",
|
||||
"brainstorming_dir": ".workflow/WFS-session/.brainstorming/",
|
||||
"context_package_path": ".workflow/WFS-session/.process/context-package.json",
|
||||
"todo_list_path": ".workflow/WFS-session/TODO_LIST.md",
|
||||
"summaries_dir": ".workflow/WFS-session/.summaries/",
|
||||
"task_json_path": ".workflow/WFS-session/.task/IMPL-1.1.json"
|
||||
@@ -397,10 +397,10 @@ TodoWrite({
|
||||
|
||||
#### Context Validation Rules
|
||||
- **Task JSON Complete**: All 5 fields present and valid, including artifacts array in context
|
||||
- **Artifacts Available**: Synthesis specifications and brainstorming outputs accessible
|
||||
- **Artifacts Available**: All artifacts loaded from context-package.json
|
||||
- **Flow Control Ready**: All pre_analysis steps completed including artifact loading steps
|
||||
- **Dependencies Loaded**: All depends_on summaries available
|
||||
- **Session Paths Valid**: All workflow paths exist and accessible, including .brainstorming directory
|
||||
- **Session Paths Valid**: All workflow paths exist and accessible (verified via context-package.json)
|
||||
- **Agent Assignment**: Valid agent type specified in meta.agent
|
||||
|
||||
### 4. Agent Execution Pattern
|
||||
@@ -417,7 +417,7 @@ Task(subagent_type="{meta.agent}",
|
||||
## Instructions
|
||||
1. **Load Complete Task JSON**: Read and validate all fields (id, title, status, meta, context, flow_control)
|
||||
2. **Execute Flow Control**: If `flow_control.pre_analysis` exists, execute steps sequentially:
|
||||
- Load artifacts (synthesis-specification.md, role analyses) using commands in each step
|
||||
- Load artifacts (role analysis documents, role analyses) using commands in each step
|
||||
- Accumulate context from step outputs using variable substitution [variable_name]
|
||||
- Handle errors per step.on_error (skip_optional | fail | retry_once)
|
||||
3. **Implement Solution**: Follow `flow_control.implementation_approach` using accumulated context
|
||||
@@ -466,7 +466,7 @@ Task(subagent_type="{meta.agent}",
|
||||
"status": "pending|active|completed|blocked",
|
||||
"meta": {
|
||||
"type": "feature|bugfix|refactor|test-gen|test-fix|docs",
|
||||
"agent": "@code-developer|@test-fix-agent|@general-purpose"
|
||||
"agent": "@code-developer|@test-fix-agent|@universal-executor"
|
||||
},
|
||||
"context": {
|
||||
"requirements": ["req1", "req2"],
|
||||
@@ -477,15 +477,16 @@ Task(subagent_type="{meta.agent}",
|
||||
"artifacts": [
|
||||
{
|
||||
"type": "synthesis_specification",
|
||||
"source": "brainstorm_synthesis",
|
||||
"path": ".workflow/WFS-[session]/.brainstorming/synthesis-specification.md",
|
||||
"source": "context-package.json → brainstorm_artifacts.synthesis_output",
|
||||
"path": "{{loaded dynamically from context-package.json}}",
|
||||
"priority": "highest",
|
||||
"contains": "complete_integrated_specification"
|
||||
},
|
||||
{
|
||||
"type": "individual_role_analysis",
|
||||
"source": "brainstorm_roles",
|
||||
"path": ".workflow/WFS-[session]/.brainstorming/[role]/analysis.md",
|
||||
"source": "context-package.json → brainstorm_artifacts.role_analyses[]",
|
||||
"path": "{{loaded dynamically from context-package.json}}",
|
||||
"note": "Supports analysis*.md pattern (analysis.md, analysis-01.md, analysis-api.md, etc.)",
|
||||
"priority": "low",
|
||||
"contains": "role_specific_analysis_fallback"
|
||||
}
|
||||
@@ -495,10 +496,11 @@ Task(subagent_type="{meta.agent}",
|
||||
"pre_analysis": [
|
||||
{
|
||||
"step": "load_synthesis_specification",
|
||||
"action": "Load consolidated synthesis specification from brainstorming",
|
||||
"action": "Load synthesis specification from context-package.json",
|
||||
"commands": [
|
||||
"bash(ls .workflow/WFS-[session]/.brainstorming/synthesis-specification.md 2>/dev/null || echo 'synthesis specification not found')",
|
||||
"Read(.workflow/WFS-[session]/.brainstorming/synthesis-specification.md)"
|
||||
"Read(.workflow/WFS-[session]/.process/context-package.json)",
|
||||
"Extract(brainstorm_artifacts.synthesis_output.path)",
|
||||
"Read(extracted path)"
|
||||
],
|
||||
"output_to": "synthesis_specification",
|
||||
"on_error": "skip_optional"
|
||||
@@ -513,16 +515,16 @@ Task(subagent_type="{meta.agent}",
|
||||
"implementation_approach": [
|
||||
{
|
||||
"step": 1,
|
||||
"title": "Implement task following synthesis specification",
|
||||
"description": "Implement '[title]' following synthesis specification. PRIORITY: Use synthesis-specification.md as primary requirement source. When implementation needs technical details (e.g., API schemas, caching configs, design tokens), refer to artifacts[] for detailed specifications from original role analyses.",
|
||||
"title": "Implement task following role analyses",
|
||||
"description": "Implement '[title]' following role analyses. PRIORITY: Use role analysis documents as primary requirement source. When implementation needs technical details (e.g., API schemas, caching configs, design tokens), refer to artifacts[] for detailed specifications from original role analyses.",
|
||||
"modification_points": [
|
||||
"Apply consolidated requirements from synthesis-specification.md",
|
||||
"Apply consolidated requirements from role analysis documents",
|
||||
"Follow technical guidelines from synthesis",
|
||||
"Consult artifacts for implementation details when needed",
|
||||
"Integrate with existing patterns"
|
||||
],
|
||||
"logic_flow": [
|
||||
"Load synthesis specification",
|
||||
"Load role analyses",
|
||||
"Parse architecture and requirements",
|
||||
"Implement following specification",
|
||||
"Consult artifacts for technical details when needed",
|
||||
@@ -552,7 +554,7 @@ meta.agent missing → Infer from meta.type:
|
||||
- "feature" → @code-developer
|
||||
- "test-gen" → @code-developer
|
||||
- "test-fix" → @test-fix-agent
|
||||
- "review" → @general-purpose
|
||||
- "review" → @universal-executor
|
||||
- "docs" → @doc-generator
|
||||
```
|
||||
|
||||
|
||||
@@ -13,20 +13,19 @@ allowed-tools: SlashCommand(*), TodoWrite(*), Read(*), Bash(*)
|
||||
|
||||
**Execution Model - Auto-Continue Workflow with Quality Gate**:
|
||||
|
||||
This workflow runs **mostly autonomously** once triggered, with one interactive quality gate (Phase 3.5). Phases 3 and 4 are delegated to specialized agents for complex analysis and task generation.
|
||||
This workflow runs **fully autonomously** once triggered. Phase 3 (conflict resolution) and Phase 4 (task generation) are delegated to specialized agents.
|
||||
|
||||
|
||||
1. **User triggers**: `/workflow:plan "task"`
|
||||
2. **Phase 1 executes** → Session discovery → Auto-continues
|
||||
3. **Phase 2 executes** → Context gathering → Auto-continues
|
||||
4. **Phase 3 executes** (cli-execution-agent) → Intelligent analysis → Auto-continues
|
||||
5. **Phase 3.5 executes** → **Pauses for user Q&A** → User answers clarification questions → Auto-continues
|
||||
6. **Phase 4 executes** (task-generate-agent if --agent) → Task generation → Reports final summary
|
||||
4. **Phase 3 executes** (optional, if conflict_risk ≥ medium) → Conflict resolution → Auto-continues
|
||||
5. **Phase 4 executes** (task-generate-agent if --agent) → Task generation → Reports final summary
|
||||
|
||||
**Auto-Continue Mechanism**:
|
||||
- TodoList tracks current phase status
|
||||
- After each phase completion, automatically executes next pending phase
|
||||
- **Phase 3.5 requires user interaction** - answers clarification questions (up to 5)
|
||||
- If no ambiguities found, Phase 3.5 auto-skips and continues to Phase 4
|
||||
- All phases run autonomously without user interaction (clarification handled in brainstorm phase)
|
||||
- Progress updates shown at each phase for visibility
|
||||
|
||||
**Execution Modes**:
|
||||
@@ -96,23 +95,31 @@ CONTEXT: Existing user database schema, REST API endpoints
|
||||
|
||||
---
|
||||
|
||||
### Phase 3: Intelligent Analysis
|
||||
### Phase 3: Conflict Resolution (Optional - auto-triggered by conflict risk)
|
||||
|
||||
**Command**: `SlashCommand(command="/workflow:tools:concept-enhanced --session [sessionId] --context [contextPath]")`
|
||||
**Trigger**: Only execute when context-package.json indicates conflict_risk is "medium" or "high"
|
||||
|
||||
**Input**: `sessionId` from Phase 1, `contextPath` from Phase 2
|
||||
**Command**: `SlashCommand(command="/workflow:tools:conflict-resolution --session [sessionId] --context [contextPath]")`
|
||||
|
||||
**Input**:
|
||||
- sessionId from Phase 1
|
||||
- contextPath from Phase 2
|
||||
- conflict_risk from context-package.json
|
||||
|
||||
**Parse Output**:
|
||||
- Extract: Execution status (success/failed)
|
||||
- Verify: ANALYSIS_RESULTS.md file path
|
||||
- Extract: Execution status (success/skipped/failed)
|
||||
- Verify: CONFLICT_RESOLUTION.md file path (if executed)
|
||||
|
||||
**Validation**:
|
||||
- File `.workflow/[sessionId]/.process/ANALYSIS_RESULTS.md` exists
|
||||
- File `.workflow/[sessionId]/.process/CONFLICT_RESOLUTION.md` exists (if executed)
|
||||
|
||||
**Skip Behavior**:
|
||||
- If conflict_risk is "none" or "low", skip directly to Phase 3.5
|
||||
- Display: "No significant conflicts detected, proceeding to clarification"
|
||||
|
||||
**TodoWrite**: Mark phase 3 completed, phase 3.5 in_progress
|
||||
**TodoWrite**: Mark phase 3 completed (if executed) or skipped, phase 3.5 in_progress
|
||||
|
||||
**After Phase 3**: Return to user showing Phase 3 results, then auto-continue to Phase 3.5
|
||||
**After Phase 3**: Return to user showing conflict resolution results (if executed) and selected strategies, then auto-continue to Phase 3.5
|
||||
|
||||
**Memory State Check**:
|
||||
- Evaluate current context window usage and memory state
|
||||
@@ -124,47 +131,33 @@ CONTEXT: Existing user database schema, REST API endpoints
|
||||
|
||||
---
|
||||
|
||||
### Phase 3.5: Concept Clarification (Quality Gate)
|
||||
### Phase 3.5: Pre-Task Generation Validation (Optional Quality Gate)
|
||||
|
||||
**Command**: `SlashCommand(command="/workflow:concept-clarify --session [sessionId]")`
|
||||
**Purpose**: Optional quality gate before task generation - primarily handled by brainstorm synthesis phase
|
||||
|
||||
**Purpose**: Quality gate to verify and clarify analysis results before task generation
|
||||
|
||||
**Input**: `sessionId` from Phase 1
|
||||
**Current Behavior**: Auto-skip to Phase 4 (Task Generation)
|
||||
|
||||
**Behavior**:
|
||||
- Auto-detects plan mode (ANALYSIS_RESULTS.md exists)
|
||||
- Interactively asks up to 5 targeted questions to resolve ambiguities
|
||||
- Updates ANALYSIS_RESULTS.md with clarifications
|
||||
- Pauses workflow for user input (breaks auto-continue temporarily)
|
||||
**Future Enhancement**: Could add additional validation steps like:
|
||||
- Cross-reference checks between conflict resolution and brainstorm analyses
|
||||
- Final sanity checks before task generation
|
||||
- User confirmation prompt for proceeding
|
||||
|
||||
**Parse Output**:
|
||||
- Verify clarifications added to ANALYSIS_RESULTS.md
|
||||
- Check recommendation: "PROCEED" or "ADDRESS_OUTSTANDING"
|
||||
**TodoWrite**: Mark phase 3.5 completed (auto-skip), phase 4 in_progress
|
||||
|
||||
**Validation**:
|
||||
- ANALYSIS_RESULTS.md updated with `## Clarifications` section
|
||||
- All critical ambiguities resolved or documented as outstanding
|
||||
|
||||
**TodoWrite**: Mark phase 3.5 completed, phase 4 in_progress
|
||||
|
||||
**After Phase 3.5**: Return to user showing clarification summary, then auto-continue to Phase 4
|
||||
|
||||
**Skip Conditions**:
|
||||
- If `/workflow:concept-clarify` reports "No critical ambiguities detected", automatically proceed to Phase 4
|
||||
- User can skip by responding "skip" or "proceed" immediately
|
||||
**After Phase 3.5**: Auto-continue to Phase 4 immediately
|
||||
|
||||
---
|
||||
|
||||
### Phase 4: Task Generation
|
||||
|
||||
**Relationship with Brainstorm Phase**:
|
||||
- If brainstorm synthesis exists (synthesis-specification.md), Phase 3 analysis incorporates it as input
|
||||
- **⚠️ User's original intent is ALWAYS primary**: New or refined user goals override synthesis recommendations
|
||||
- **synthesis-specification.md defines "WHAT"**: Requirements, design specs, high-level features
|
||||
- If brainstorm role analyses exist ([role]/analysis.md files), Phase 3 analysis incorporates them as input
|
||||
- **⚠️ User's original intent is ALWAYS primary**: New or refined user goals override brainstorm recommendations
|
||||
- **Role analysis.md files define "WHAT"**: Requirements, design specs, role-specific insights
|
||||
- **IMPL_PLAN.md defines "HOW"**: Executable task breakdown, dependencies, implementation sequence
|
||||
- Task generation translates high-level specifications into concrete, actionable work items
|
||||
- **Intent priority**: Current user prompt > synthesis-specification.md > topic-framework.md
|
||||
- Task generation translates high-level role analyses into concrete, actionable work items
|
||||
- **Intent priority**: Current user prompt > role analysis.md files > guidance-specification.md
|
||||
|
||||
**Command Selection**:
|
||||
- Manual: `SlashCommand(command="/workflow:tools:task-generate --session [sessionId]")`
|
||||
@@ -211,24 +204,36 @@ Plan: .workflow/[sessionId]/IMPL_PLAN.md
|
||||
|
||||
```javascript
|
||||
// Initialize (before Phase 1)
|
||||
// Note: Phase 3 todo only added dynamically after Phase 2 if conflict_risk ≥ medium
|
||||
TodoWrite({todos: [
|
||||
{"content": "Execute session discovery", "status": "in_progress", "activeForm": "Executing session discovery"},
|
||||
{"content": "Execute context gathering", "status": "pending", "activeForm": "Executing context gathering"},
|
||||
{"content": "Execute intelligent analysis", "status": "pending", "activeForm": "Executing intelligent analysis"},
|
||||
{"content": "Execute concept clarification", "status": "pending", "activeForm": "Executing concept clarification"},
|
||||
// Phase 3 todo added dynamically after Phase 2 if conflict_risk ≥ medium
|
||||
{"content": "Execute task generation", "status": "pending", "activeForm": "Executing task generation"}
|
||||
]})
|
||||
|
||||
// After Phase 1
|
||||
// After Phase 2 (if conflict_risk ≥ medium, insert Phase 3 todo)
|
||||
TodoWrite({todos: [
|
||||
{"content": "Execute session discovery", "status": "completed", "activeForm": "Executing session discovery"},
|
||||
{"content": "Execute context gathering", "status": "in_progress", "activeForm": "Executing context gathering"},
|
||||
{"content": "Execute intelligent analysis", "status": "pending", "activeForm": "Executing intelligent analysis"},
|
||||
{"content": "Execute concept clarification", "status": "pending", "activeForm": "Executing concept clarification"},
|
||||
{"content": "Execute context gathering", "status": "completed", "activeForm": "Executing context gathering"},
|
||||
{"content": "Execute conflict resolution", "status": "in_progress", "activeForm": "Executing conflict resolution"},
|
||||
{"content": "Execute task generation", "status": "pending", "activeForm": "Executing task generation"}
|
||||
]})
|
||||
|
||||
// Continue pattern for Phase 2, 3, 3.5, 4...
|
||||
// After Phase 2 (if conflict_risk is none/low, skip Phase 3, go directly to Phase 4)
|
||||
TodoWrite({todos: [
|
||||
{"content": "Execute session discovery", "status": "completed", "activeForm": "Executing session discovery"},
|
||||
{"content": "Execute context gathering", "status": "completed", "activeForm": "Executing context gathering"},
|
||||
{"content": "Execute task generation", "status": "in_progress", "activeForm": "Executing task generation"}
|
||||
]})
|
||||
|
||||
// After Phase 3 (if executed), continue to Phase 4
|
||||
TodoWrite({todos: [
|
||||
{"content": "Execute session discovery", "status": "completed", "activeForm": "Executing session discovery"},
|
||||
{"content": "Execute context gathering", "status": "completed", "activeForm": "Executing context gathering"},
|
||||
{"content": "Execute conflict resolution", "status": "completed", "activeForm": "Executing conflict resolution"},
|
||||
{"content": "Execute task generation", "status": "in_progress", "activeForm": "Executing task generation"}
|
||||
]})
|
||||
```
|
||||
|
||||
## Input Processing
|
||||
@@ -277,20 +282,16 @@ Phase 1: session:start --auto "structured-description"
|
||||
↓
|
||||
Phase 2: context-gather --session sessionId "structured-description"
|
||||
↓ Input: sessionId + session memory + structured description
|
||||
↓ Output: contextPath (context-package.json)
|
||||
↓ Output: contextPath (context-package.json) + conflict_risk
|
||||
↓
|
||||
Phase 3: cli-execution-agent (Intelligent Analysis)
|
||||
↓ Input: sessionId + contextPath + task description
|
||||
↓ Agent discovers context, enhances prompt, executes with Gemini
|
||||
↓ Output: ANALYSIS_RESULTS.md + execution log
|
||||
↓
|
||||
Phase 3.5: concept-clarify --session sessionId (Quality Gate)
|
||||
↓ Input: sessionId + ANALYSIS_RESULTS.md (auto-detected)
|
||||
↓ Interactive: User answers clarification questions
|
||||
↓ Output: Updated ANALYSIS_RESULTS.md with clarifications
|
||||
Phase 3: conflict-resolution [AUTO-TRIGGERED if conflict_risk ≥ medium]
|
||||
↓ Input: sessionId + contextPath + conflict_risk
|
||||
↓ CLI-powered conflict detection and resolution strategy generation
|
||||
↓ Output: CONFLICT_RESOLUTION.md (if conflict_risk ≥ medium)
|
||||
↓ Skip if conflict_risk is none/low → proceed directly to Phase 4
|
||||
↓
|
||||
Phase 4: task-generate[--agent] --session sessionId
|
||||
↓ Input: sessionId + clarified ANALYSIS_RESULTS.md + session memory
|
||||
↓ Input: sessionId + conflict resolution decisions (if exists) + session memory
|
||||
↓ Output: IMPL_PLAN.md, task JSONs, TODO_LIST.md
|
||||
↓
|
||||
Return summary to user
|
||||
@@ -300,6 +301,7 @@ Return summary to user
|
||||
- Previous task summaries
|
||||
- Existing context and analysis
|
||||
- Brainstorming artifacts
|
||||
- Conflict resolution decisions (if Phase 3 executed)
|
||||
- Session-specific configuration
|
||||
|
||||
**Structured Description Benefits**:
|
||||
@@ -317,25 +319,22 @@ Return summary to user
|
||||
## Coordinator Checklist
|
||||
|
||||
✅ **Pre-Phase**: Convert user input to structured format (GOAL/SCOPE/CONTEXT)
|
||||
✅ Initialize TodoWrite before any command (include Phase 3.5)
|
||||
✅ Initialize TodoWrite before any command (Phase 3 added dynamically after Phase 2)
|
||||
✅ Execute Phase 1 immediately with structured description
|
||||
✅ Parse session ID from Phase 1 output, store in memory
|
||||
✅ Pass session ID and structured description to Phase 2 command
|
||||
✅ Parse context path from Phase 2 output, store in memory
|
||||
✅ **Launch Phase 3 agent**: Build Task prompt with sessionId and contextPath
|
||||
✅ Wait for agent completion, parse execution log path
|
||||
✅ Verify ANALYSIS_RESULTS.md created by agent
|
||||
✅ **Execute Phase 3.5**: Pass session ID to `/workflow:concept-clarify`
|
||||
✅ Wait for user interaction (clarification Q&A)
|
||||
✅ Verify ANALYSIS_RESULTS.md updated with clarifications
|
||||
✅ Check recommendation: proceed if "PROCEED", otherwise alert user
|
||||
✅ **Extract conflict_risk from context-package.json**: Determine Phase 3 execution
|
||||
✅ **If conflict_risk ≥ medium**: Launch Phase 3 conflict-resolution with sessionId and contextPath
|
||||
✅ Wait for Phase 3 completion (if executed), verify CONFLICT_RESOLUTION.md created
|
||||
✅ **If conflict_risk is none/low**: Skip Phase 3, proceed directly to Phase 4
|
||||
✅ **Build Phase 4 command** based on flags:
|
||||
- Base command: `/workflow:tools:task-generate` (or `-agent` if `--agent` flag)
|
||||
- Add `--session [sessionId]`
|
||||
- Add `--cli-execute` if flag present
|
||||
✅ Pass session ID to Phase 4 command
|
||||
✅ Verify all Phase 4 outputs
|
||||
✅ Update TodoWrite after each phase
|
||||
✅ Update TodoWrite after each phase (dynamically adjust for Phase 3 presence)
|
||||
✅ After each phase, automatically continue to next phase based on TodoList status
|
||||
|
||||
## Structure Template Reference
|
||||
|
||||
@@ -92,17 +92,17 @@ After bash validation, the model takes control to:
|
||||
2. **Perform Specialized Review**: Based on `review_type`
|
||||
|
||||
**Security Review** (`--type=security`):
|
||||
- Use MCP code search for security patterns:
|
||||
- Use ripgrep for security patterns:
|
||||
```bash
|
||||
mcp__code-index__search_code_advanced(pattern="password|token|secret|auth", file_pattern="*.{ts,js,py}")
|
||||
mcp__code-index__search_code_advanced(pattern="eval|exec|innerHTML|dangerouslySetInnerHTML", file_pattern="*.{ts,js,tsx}")
|
||||
rg "password|token|secret|auth" -g "*.{ts,js,py}"
|
||||
rg "eval|exec|innerHTML|dangerouslySetInnerHTML" -g "*.{ts,js,tsx}"
|
||||
```
|
||||
- Use Gemini for security analysis:
|
||||
```bash
|
||||
cd .workflow/${sessionId} && ~/.claude/scripts/gemini-wrapper -p "
|
||||
cd .workflow/${sessionId} && gemini -p "
|
||||
PURPOSE: Security audit of completed implementation
|
||||
TASK: Review code for security vulnerabilities, insecure patterns, auth/authz issues
|
||||
CONTEXT: @{.summaries/IMPL-*.md,../..,../../CLAUDE.md}
|
||||
CONTEXT: @.summaries/IMPL-*.md,../.. @../../CLAUDE.md
|
||||
EXPECTED: Security findings report with severity levels
|
||||
RULES: Focus on OWASP Top 10, authentication, authorization, data validation, injection risks
|
||||
" --approval-mode yolo
|
||||
@@ -111,10 +111,10 @@ After bash validation, the model takes control to:
|
||||
**Architecture Review** (`--type=architecture`):
|
||||
- Use Qwen for architecture analysis:
|
||||
```bash
|
||||
cd .workflow/${sessionId} && ~/.claude/scripts/qwen-wrapper -p "
|
||||
cd .workflow/${sessionId} && qwen -p "
|
||||
PURPOSE: Architecture compliance review
|
||||
TASK: Evaluate adherence to architectural patterns, identify technical debt, review design decisions
|
||||
CONTEXT: @{.summaries/IMPL-*.md,../..,../../CLAUDE.md}
|
||||
CONTEXT: @.summaries/IMPL-*.md,../.. @../../CLAUDE.md
|
||||
EXPECTED: Architecture assessment with recommendations
|
||||
RULES: Check for patterns, separation of concerns, modularity, scalability
|
||||
" --approval-mode yolo
|
||||
@@ -123,10 +123,10 @@ After bash validation, the model takes control to:
|
||||
**Quality Review** (`--type=quality`):
|
||||
- Use Gemini for code quality:
|
||||
```bash
|
||||
cd .workflow/${sessionId} && ~/.claude/scripts/gemini-wrapper -p "
|
||||
cd .workflow/${sessionId} && gemini -p "
|
||||
PURPOSE: Code quality and best practices review
|
||||
TASK: Assess code readability, maintainability, adherence to best practices
|
||||
CONTEXT: @{.summaries/IMPL-*.md,../..,../../CLAUDE.md}
|
||||
CONTEXT: @.summaries/IMPL-*.md,../.. @../../CLAUDE.md
|
||||
EXPECTED: Quality assessment with improvement suggestions
|
||||
RULES: Check for code smells, duplication, complexity, naming conventions
|
||||
" --approval-mode yolo
|
||||
@@ -143,10 +143,10 @@ After bash validation, the model takes control to:
|
||||
' {} \;
|
||||
|
||||
# Check implementation summaries against requirements
|
||||
cd .workflow/${sessionId} && ~/.claude/scripts/gemini-wrapper -p "
|
||||
cd .workflow/${sessionId} && gemini -p "
|
||||
PURPOSE: Verify all requirements and acceptance criteria are met
|
||||
TASK: Cross-check implementation summaries against original requirements
|
||||
CONTEXT: @{.task/IMPL-*.json,.summaries/IMPL-*.md,../..,../../CLAUDE.md}
|
||||
CONTEXT: @.task/IMPL-*.json,.summaries/IMPL-*.md,../.. @../../CLAUDE.md
|
||||
EXPECTED:
|
||||
- Requirements coverage matrix
|
||||
- Acceptance criteria verification
|
||||
|
||||
@@ -20,12 +20,12 @@ allowed-tools: SlashCommand(*), TodoWrite(*), Read(*), Bash(*)
|
||||
1. **Start Immediately**: First action is TodoWrite initialization, second action is Phase 1 execution
|
||||
2. **No Preliminary Analysis**: Do not read files before Phase 1
|
||||
3. **Parse Every Output**: Extract required data for next phase
|
||||
4. **Sequential Execution**: Each phase depends on previous output
|
||||
5. **Complete All Phases**: Do not return until Phase 7 completes (with concept verification)
|
||||
4. **Auto-Continue via TodoList**: Check TodoList status to execute next pending phase automatically
|
||||
5. **Track Progress**: Update TodoWrite after every phase completion
|
||||
6. **TDD Context**: All descriptions include "TDD:" prefix
|
||||
7. **Quality Gate**: Phase 5 concept verification ensures clarity before task generation
|
||||
7. **Quality Gate**: Phase 4 conflict resolution (optional, auto-triggered) validates compatibility before task generation
|
||||
|
||||
## 7-Phase Execution (with Concept Verification)
|
||||
## 6-Phase Execution (with Conflict Resolution)
|
||||
|
||||
### Phase 1: Session Discovery
|
||||
**Command**: `/workflow:session:start --auto "TDD: [structured-description]"`
|
||||
@@ -41,10 +41,32 @@ TEST_FOCUS: [Test scenarios]
|
||||
|
||||
**Parse**: Extract sessionId
|
||||
|
||||
**TodoWrite**: Mark phase 1 completed, phase 2 in_progress
|
||||
|
||||
**After Phase 1**: Return to user showing Phase 1 results, then auto-continue to Phase 2
|
||||
|
||||
---
|
||||
|
||||
### Phase 2: Context Gathering
|
||||
**Command**: `/workflow:tools:context-gather --session [sessionId] "TDD: [structured-description]"`
|
||||
|
||||
**Parse**: Extract contextPath
|
||||
**Use Same Structured Description**: Pass the same structured format from Phase 1
|
||||
|
||||
**Input**: `sessionId` from Phase 1
|
||||
|
||||
**Parse Output**:
|
||||
- Extract: context-package.json path (store as `contextPath`)
|
||||
- Typical pattern: `.workflow/[sessionId]/.process/context-package.json`
|
||||
|
||||
**Validation**:
|
||||
- Context package path extracted
|
||||
- File exists and is valid JSON
|
||||
|
||||
**TodoWrite**: Mark phase 2 completed, phase 3 in_progress
|
||||
|
||||
**After Phase 2**: Return to user showing Phase 2 results, then auto-continue to Phase 3
|
||||
|
||||
---
|
||||
|
||||
### Phase 3: Test Coverage Analysis
|
||||
**Command**: `/workflow:tools:test-context-gather --session [sessionId]`
|
||||
@@ -63,34 +85,49 @@ TEST_FOCUS: [Test scenarios]
|
||||
- Prevents duplicate test creation
|
||||
- Enables integration with existing tests
|
||||
|
||||
### Phase 4: TDD Analysis
|
||||
**Command**: `/workflow:tools:concept-enhanced --session [sessionId] --context [contextPath]`
|
||||
**TodoWrite**: Mark phase 3 completed, phase 4 in_progress
|
||||
|
||||
**Note**: Generates ANALYSIS_RESULTS.md with TDD-specific structure:
|
||||
- Feature list with testable requirements
|
||||
- Test cases for Red phase
|
||||
- Implementation requirements for Green phase
|
||||
- Refactoring opportunities
|
||||
- Task dependencies and execution order
|
||||
**After Phase 3**: Return to user showing test coverage results, then auto-continue to Phase 4
|
||||
|
||||
**Parse**: Verify ANALYSIS_RESULTS.md contains TDD breakdown sections
|
||||
---
|
||||
|
||||
### Phase 5: Concept Verification (NEW QUALITY GATE)
|
||||
**Command**: `/workflow:concept-verify --session [sessionId]`
|
||||
### Phase 4: Conflict Resolution (Optional - auto-triggered by conflict risk)
|
||||
|
||||
**Purpose**: Verify conceptual clarity before TDD task generation
|
||||
- Clarify test requirements and acceptance criteria
|
||||
- Resolve ambiguities in expected behavior
|
||||
- Validate TDD approach is appropriate
|
||||
**Trigger**: Only execute when context-package.json indicates conflict_risk is "medium" or "high"
|
||||
|
||||
**Behavior**:
|
||||
- If no ambiguities found → Auto-proceed to Phase 6
|
||||
- If ambiguities exist → Interactive clarification (up to 5 questions)
|
||||
- After clarifications → Auto-proceed to Phase 6
|
||||
**Command**: `SlashCommand(command="/workflow:tools:conflict-resolution --session [sessionId] --context [contextPath]")`
|
||||
|
||||
**Parse**: Verify concept verification completed (check for clarifications section in ANALYSIS_RESULTS.md or synthesis file if exists)
|
||||
**Input**:
|
||||
- sessionId from Phase 1
|
||||
- contextPath from Phase 2
|
||||
- conflict_risk from context-package.json
|
||||
|
||||
### Phase 6: TDD Task Generation
|
||||
**Parse Output**:
|
||||
- Extract: Execution status (success/skipped/failed)
|
||||
- Verify: CONFLICT_RESOLUTION.md file path (if executed)
|
||||
|
||||
**Validation**:
|
||||
- File `.workflow/[sessionId]/.process/CONFLICT_RESOLUTION.md` exists (if executed)
|
||||
|
||||
**Skip Behavior**:
|
||||
- If conflict_risk is "none" or "low", skip directly to Phase 5
|
||||
- Display: "No significant conflicts detected, proceeding to TDD task generation"
|
||||
|
||||
**TodoWrite**: Mark phase 4 completed (if executed) or skipped, phase 5 in_progress
|
||||
|
||||
**After Phase 4**: Return to user showing conflict resolution results (if executed) and selected strategies, then auto-continue to Phase 5
|
||||
|
||||
**Memory State Check**:
|
||||
- Evaluate current context window usage and memory state
|
||||
- If memory usage is high (>110K tokens or approaching context limits):
|
||||
- **Command**: `SlashCommand(command="/compact")`
|
||||
- This optimizes memory before proceeding to Phase 5
|
||||
- Memory compaction is particularly important after analysis phase which may generate extensive documentation
|
||||
- Ensures optimal performance and prevents context overflow
|
||||
|
||||
---
|
||||
|
||||
### Phase 5: TDD Task Generation
|
||||
**Command**:
|
||||
- Manual: `/workflow:tools:task-generate-tdd --session [sessionId]`
|
||||
- Agent: `/workflow:tools:task-generate-tdd --session [sessionId] --agent`
|
||||
@@ -108,7 +145,7 @@ TEST_FOCUS: [Test scenarios]
|
||||
- IMPL_PLAN.md contains workflow_type: "tdd" in frontmatter
|
||||
- Task count ≤10 (compliance with task limit)
|
||||
|
||||
### Phase 7: TDD Structure Validation & Action Plan Verification (RECOMMENDED)
|
||||
### Phase 6: TDD Structure Validation & Action Plan Verification (RECOMMENDED)
|
||||
**Internal validation first, then recommend external verification**
|
||||
|
||||
**Internal Validation**:
|
||||
@@ -166,18 +203,44 @@ TDD Configuration:
|
||||
## TodoWrite Pattern
|
||||
|
||||
```javascript
|
||||
// Initialize (7 phases now with concept verification)
|
||||
[
|
||||
{content: "Execute session discovery", status: "in_progress", activeForm: "Executing session discovery"},
|
||||
{content: "Execute context gathering", status: "pending", activeForm": "Executing context gathering"},
|
||||
{content: "Execute test coverage analysis", status: "pending", activeForm": "Executing test coverage analysis"},
|
||||
{content: "Execute TDD analysis", status: "pending", activeForm": "Executing TDD analysis"},
|
||||
{content: "Execute concept verification", status: "pending", activeForm": "Executing concept verification"},
|
||||
{content: "Execute TDD task generation", status: "pending", activeForm: "Executing TDD task generation"},
|
||||
{content: "Validate TDD structure", status: "pending", activeForm: "Validating TDD structure"}
|
||||
]
|
||||
// Initialize (Phase 4 added dynamically after Phase 3 if conflict_risk ≥ medium)
|
||||
TodoWrite({todos: [
|
||||
{"content": "Execute session discovery", "status": "in_progress", "activeForm": "Executing session discovery"},
|
||||
{"content": "Execute context gathering", "status": "pending", "activeForm": "Executing context gathering"},
|
||||
{"content": "Execute test coverage analysis", "status": "pending", "activeForm": "Executing test coverage analysis"},
|
||||
// Phase 4 todo added dynamically after Phase 3 if conflict_risk ≥ medium
|
||||
{"content": "Execute TDD task generation", "status": "pending", "activeForm": "Executing TDD task generation"},
|
||||
{"content": "Validate TDD structure", "status": "pending", "activeForm": "Validating TDD structure"}
|
||||
]})
|
||||
|
||||
// Update after each phase: mark current "completed", next "in_progress"
|
||||
// After Phase 3 (if conflict_risk ≥ medium, insert Phase 4 todo)
|
||||
TodoWrite({todos: [
|
||||
{"content": "Execute session discovery", "status": "completed", "activeForm": "Executing session discovery"},
|
||||
{"content": "Execute context gathering", "status": "completed", "activeForm": "Executing context gathering"},
|
||||
{"content": "Execute test coverage analysis", "status": "completed", "activeForm": "Executing test coverage analysis"},
|
||||
{"content": "Execute conflict resolution", "status": "in_progress", "activeForm": "Executing conflict resolution"},
|
||||
{"content": "Execute TDD task generation", "status": "pending", "activeForm": "Executing TDD task generation"},
|
||||
{"content": "Validate TDD structure", "status": "pending", "activeForm": "Validating TDD structure"}
|
||||
]})
|
||||
|
||||
// After Phase 3 (if conflict_risk is none/low, skip Phase 4, go directly to Phase 5)
|
||||
TodoWrite({todos: [
|
||||
{"content": "Execute session discovery", "status": "completed", "activeForm": "Executing session discovery"},
|
||||
{"content": "Execute context gathering", "status": "completed", "activeForm": "Executing context gathering"},
|
||||
{"content": "Execute test coverage analysis", "status": "completed", "activeForm": "Executing test coverage analysis"},
|
||||
{"content": "Execute TDD task generation", "status": "in_progress", "activeForm": "Executing TDD task generation"},
|
||||
{"content": "Validate TDD structure", "status": "pending", "activeForm": "Validating TDD structure"}
|
||||
]})
|
||||
|
||||
// After Phase 4 (if executed), continue to Phase 5
|
||||
TodoWrite({todos: [
|
||||
{"content": "Execute session discovery", "status": "completed", "activeForm": "Executing session discovery"},
|
||||
{"content": "Execute context gathering", "status": "completed", "activeForm": "Executing context gathering"},
|
||||
{"content": "Execute test coverage analysis", "status": "completed", "activeForm": "Executing test coverage analysis"},
|
||||
{"content": "Execute conflict resolution", "status": "completed", "activeForm": "Executing conflict resolution"},
|
||||
{"content": "Execute TDD task generation", "status": "in_progress", "activeForm": "Executing TDD task generation"},
|
||||
{"content": "Validate TDD structure", "status": "pending", "activeForm": "Validating TDD structure"}
|
||||
]})
|
||||
```
|
||||
|
||||
## Input Processing
|
||||
|
||||
@@ -3,7 +3,7 @@ name: tdd-verify
|
||||
description: Verify TDD workflow compliance and generate quality report
|
||||
|
||||
argument-hint: "[optional: WFS-session-id]"
|
||||
allowed-tools: SlashCommand(*), TodoWrite(*), Read(*), Bash(gemini-wrapper:*)
|
||||
allowed-tools: SlashCommand(*), TodoWrite(*), Read(*), Bash(gemini:*)
|
||||
---
|
||||
|
||||
# TDD Verification Command (/workflow:tdd-verify)
|
||||
@@ -94,7 +94,7 @@ find .workflow/{sessionId}/.task/ -name '*.json' -exec jq -r '.meta.agent' {} \;
|
||||
**Gemini analysis for comprehensive TDD compliance report**
|
||||
|
||||
```bash
|
||||
cd project-root && ~/.claude/scripts/gemini-wrapper -p "
|
||||
cd project-root && gemini -p "
|
||||
PURPOSE: Generate TDD compliance report
|
||||
TASK: Analyze TDD workflow execution and generate quality report
|
||||
CONTEXT: @{.workflow/{sessionId}/.task/*.json,.workflow/{sessionId}/.summaries/*,.workflow/{sessionId}/.process/tdd-cycle-report.md}
|
||||
@@ -237,7 +237,7 @@ Final Score: Max(0, Base Score - Deductions)
|
||||
|
||||
### Command Chain
|
||||
- **Called After**: `/workflow:execute` (when TDD tasks completed)
|
||||
- **Calls**: `/workflow:tools:tdd-coverage-analysis`, Gemini wrapper
|
||||
- **Calls**: `/workflow:tools:tdd-coverage-analysis`, Gemini CLI
|
||||
- **Related**: `/workflow:tdd-plan`, `/workflow:status`
|
||||
|
||||
### Basic Usage
|
||||
|
||||
@@ -10,6 +10,12 @@ allowed-tools: SlashCommand(*), TodoWrite(*), Read(*), Bash(*), Task(*)
|
||||
## Overview
|
||||
Orchestrates dynamic test-fix workflow execution through iterative cycles of testing, analysis, and fixing. **Unlike standard execute, this command dynamically generates intermediate tasks** during execution based on test results and CLI analysis, enabling adaptive problem-solving.
|
||||
|
||||
**⚠️ CRITICAL - Orchestrator Boundary**:
|
||||
- This command is the **ONLY place** where test failures are handled
|
||||
- All CLI analysis (Gemini/Qwen), fix task generation (IMPL-fix-N.json), and iteration management happen HERE
|
||||
- Agents (@test-fix-agent) only execute single tasks and return results
|
||||
- **Do NOT handle test failures in main workflow or other commands** - always delegate to this orchestrator
|
||||
|
||||
**Resume Mode**: When called with `--resume-session` flag, skips discovery and continues from interruption point.
|
||||
|
||||
## Core Philosophy
|
||||
@@ -53,7 +59,7 @@ Orchestrates dynamic test-fix workflow execution through iterative cycles of tes
|
||||
|
||||
## Responsibility Matrix
|
||||
|
||||
**Clear division of labor between orchestrator and agents:**
|
||||
**⚠️ CRITICAL - Clear division of labor between orchestrator and agents:**
|
||||
|
||||
| Responsibility | test-cycle-execute (Orchestrator) | @test-fix-agent (Executor) |
|
||||
|----------------|----------------------------|---------------------------|
|
||||
@@ -62,12 +68,14 @@ Orchestrates dynamic test-fix workflow execution through iterative cycles of tes
|
||||
| Generate IMPL-fix-N.json | ✅ Creates task files | ❌ Not involved |
|
||||
| Run tests | ❌ Delegates to agent | ✅ Executes test command |
|
||||
| Apply fixes | ❌ Delegates to agent | ✅ Modifies code |
|
||||
| Detect test failures | ✅ Analyzes agent output | ✅ Reports results |
|
||||
| Detect test failures | ✅ Analyzes results and decides next action | ✅ Executes tests and reports outcomes |
|
||||
| Add tasks to queue | ✅ Manages queue | ❌ Not involved |
|
||||
| Update iteration state | ✅ Maintains state files | ✅ Updates task status |
|
||||
| Update iteration state | ✅ Maintains overall iteration state | ✅ Updates individual task status only |
|
||||
|
||||
**Key Principle**: Orchestrator manages the "what" and "when"; agents execute the "how".
|
||||
|
||||
**⚠️ ENFORCEMENT**: If test failures occur outside this orchestrator, do NOT handle them inline - always call `/workflow:test-cycle-execute` instead.
|
||||
|
||||
## Execution Lifecycle
|
||||
|
||||
### Phase 1: Discovery & Initialization
|
||||
@@ -217,20 +225,22 @@ Iteration N (managed by test-cycle-execute orchestrator):
|
||||
**Orchestrator executes CLI analysis between agent tasks:**
|
||||
|
||||
#### When Test Failures Occur
|
||||
1. **[Orchestrator]** Detects failures from agent output
|
||||
1. **[Orchestrator]** Detects failures from agent test execution output
|
||||
2. **[Orchestrator]** Collects failure context from `.process/test-results.json` and logs
|
||||
3. **[Orchestrator]** Runs Gemini/Qwen wrapper with failure context
|
||||
4. **[CLI Tool]** Analyzes failures and generates fix strategy
|
||||
3. **[Orchestrator]** Executes Gemini/Qwen CLI tool with failure context
|
||||
4. **[Orchestrator]** Interprets CLI tool output to extract fix strategy
|
||||
5. **[Orchestrator]** Saves analysis to `.process/iteration-N-analysis.md`
|
||||
6. **[Orchestrator]** Generates `IMPL-fix-N.json` with strategy content (not just path)
|
||||
|
||||
**Note**: The orchestrator executes CLI analysis tools and processes their output. CLI tools provide analysis, orchestrator manages the workflow.
|
||||
|
||||
#### CLI Analysis Command (executed by orchestrator)
|
||||
```bash
|
||||
cd {project_root} && ~/.claude/scripts/gemini-wrapper -p "
|
||||
cd {project_root} && gemini -p "
|
||||
PURPOSE: Analyze test failures and generate fix strategy
|
||||
TASK: Review test failures and identify root causes
|
||||
MODE: analysis
|
||||
CONTEXT: @{test files, implementation files}
|
||||
CONTEXT: @test files @ implementation files
|
||||
|
||||
[Test failure context and requirements...]
|
||||
|
||||
@@ -516,15 +526,16 @@ Task(subagent_type="{meta.agent}",
|
||||
### For test-fix (IMPL-002):
|
||||
- Run test suite: {test_command}
|
||||
- Collect results to .process/test-results.json
|
||||
- If failures: Save context, return to orchestrator
|
||||
- Report results to orchestrator (do NOT analyze failures)
|
||||
- Orchestrator will handle failure detection and iteration decisions
|
||||
- If success: Mark complete
|
||||
|
||||
### For test-fix-iteration (IMPL-fix-N):
|
||||
- Load fix strategy from context.fix_strategy (CONTENT, not path)
|
||||
- Apply surgical fixes to identified files
|
||||
- Run tests to verify
|
||||
- If still failures: Save context with new failure data
|
||||
- Update iteration state
|
||||
- Return results to orchestrator
|
||||
- Do NOT run tests independently - orchestrator manages all test execution
|
||||
- Do NOT handle failures - orchestrator analyzes and decides next iteration
|
||||
|
||||
## STEP 4: Implementation Context (From JSON)
|
||||
**Requirements**: {context.requirements}
|
||||
|
||||
@@ -13,7 +13,11 @@ allowed-tools: SlashCommand(*), TodoWrite(*), Read(*), Bash(*)
|
||||
|
||||
This command creates an independent test-fix workflow session for existing code. It orchestrates a 5-phase process to analyze implementation, generate test requirements, and create executable test generation and fix tasks.
|
||||
|
||||
**⚠️ Command Scope**: Prepares test workflow artifacts only. Task execution requires separate commands (`/workflow:test-cycle-execute` or `/workflow:execute`).
|
||||
**⚠️ CRITICAL - Command Scope**:
|
||||
- **This command ONLY generates task JSON files** (IMPL-001.json, IMPL-002.json)
|
||||
- **Does NOT execute tests or apply fixes** - all execution happens in separate orchestrator
|
||||
- **Must call `/workflow:test-cycle-execute`** after this command to actually run tests and fixes
|
||||
- **Test failure handling happens in test-cycle-execute**, not here
|
||||
|
||||
### Dual-Mode Support
|
||||
|
||||
@@ -44,12 +48,15 @@ fi
|
||||
|
||||
### Coordinator Role
|
||||
|
||||
This command is a **pure orchestrator**:
|
||||
This command is a **pure planning coordinator**:
|
||||
- Does NOT analyze code directly
|
||||
- Does NOT generate tests or documentation
|
||||
- ONLY coordinates slash commands in sequence
|
||||
- Does NOT execute tests or apply fixes
|
||||
- Does NOT handle test failures or iterations
|
||||
- ONLY coordinates slash commands to generate task JSON files
|
||||
- Parses outputs to pass data between phases
|
||||
- Creates independent test workflow session
|
||||
- **All execution delegated to `/workflow:test-cycle-execute`**
|
||||
|
||||
---
|
||||
|
||||
@@ -267,14 +274,20 @@ Review artifacts:
|
||||
- Test plan: .workflow/[testSessionId]/IMPL_PLAN.md
|
||||
- Task list: .workflow/[testSessionId]/TODO_LIST.md
|
||||
|
||||
Next Steps:
|
||||
- Review IMPL_PLAN.md
|
||||
- Execute: /workflow:test-cycle-execute [testSessionId]
|
||||
⚠️ CRITICAL - Next Steps:
|
||||
1. Review IMPL_PLAN.md
|
||||
2. **MUST execute: /workflow:test-cycle-execute**
|
||||
- This command only generated task JSON files
|
||||
- Test execution and fix iterations happen in test-cycle-execute
|
||||
- Do NOT attempt to run tests or fixes in main workflow
|
||||
```
|
||||
|
||||
**TodoWrite**: Mark phase 5 completed
|
||||
|
||||
**Note**: Command completes here. Task execution requires separate workflow commands.
|
||||
**⚠️ BOUNDARY NOTE**:
|
||||
- Command completes here - only task JSON files generated
|
||||
- All test execution, failure detection, CLI analysis, fix generation happens in `/workflow:test-cycle-execute`
|
||||
- This command does NOT handle test failures or apply fixes
|
||||
|
||||
---
|
||||
|
||||
@@ -329,7 +342,9 @@ Generates minimum 2 tasks (expandable for complex projects):
|
||||
|
||||
**Agent**: `@test-fix-agent`
|
||||
|
||||
**Purpose**: Execute tests and apply iterative fixes (max 5 iterations)
|
||||
**Purpose**: Execute initial tests and trigger orchestrator-managed fix cycles
|
||||
|
||||
**Note**: This task executes tests and reports results. The test-cycle-execute orchestrator manages all fix iterations, CLI analysis, and fix task generation.
|
||||
|
||||
**Task Configuration**:
|
||||
- Task ID: `IMPL-002`
|
||||
@@ -340,11 +355,12 @@ Generates minimum 2 tasks (expandable for complex projects):
|
||||
- `context.requirements`: Execute and fix tests
|
||||
|
||||
**Test-Fix Cycle Specification**:
|
||||
- **Cycle Pattern**: test → gemini_diagnose → manual_fix (or codex) → retest
|
||||
- **Tools Configuration**:
|
||||
**Note**: This specification describes what test-cycle-execute orchestrator will do. The agent only executes single tasks.
|
||||
- **Cycle Pattern** (orchestrator-managed): test → gemini_diagnose → manual_fix (or codex) → retest
|
||||
- **Tools Configuration** (orchestrator-controlled):
|
||||
- Gemini for analysis with bug-fix template → surgical fix suggestions
|
||||
- Manual fix application (default) OR Codex if `--use-codex` flag (resume mechanism)
|
||||
- **Exit Conditions**:
|
||||
- **Exit Conditions** (orchestrator-enforced):
|
||||
- Success: All tests pass
|
||||
- Failure: Max iterations reached (5)
|
||||
|
||||
|
||||
@@ -1,229 +0,0 @@
|
||||
---
|
||||
name: concept-enhanced
|
||||
description: Enhanced intelligent analysis with parallel CLI execution and design blueprint generation
|
||||
argument-hint: "--session WFS-session-id --context path/to/context-package.json"
|
||||
examples:
|
||||
- /workflow:tools:concept-enhanced --session WFS-auth --context .workflow/WFS-auth/.process/context-package.json
|
||||
- /workflow:tools:concept-enhanced --session WFS-payment --context .workflow/WFS-payment/.process/context-package.json
|
||||
---
|
||||
|
||||
# Enhanced Analysis Command (/workflow:tools:concept-enhanced)
|
||||
|
||||
## Overview
|
||||
Advanced solution design and feasibility analysis engine with parallel CLI execution. Processes standardized context packages to produce ANALYSIS_RESULTS.md focused on solution improvements, key design decisions, and critical insights.
|
||||
|
||||
**Scope**: Solution-focused technical analysis only. Does NOT generate task breakdowns or implementation plans.
|
||||
|
||||
**Usage**: Standalone command or integrated into `/workflow:plan`. Accepts context packages and orchestrates Gemini/Codex for comprehensive analysis.
|
||||
|
||||
## Core Philosophy & Responsibilities
|
||||
- **Agent Coordination**: Delegate analysis execution to specialized agent (cli-execution-agent)
|
||||
- **Solution-Focused Analysis**: Emphasize design decisions, architectural rationale, and critical insights (exclude task planning)
|
||||
- **Context-Driven**: Parse and validate context-package.json for precise analysis
|
||||
- **Agent-Driven Tool Selection**: Agent autonomously selects Gemini/Codex based on task complexity
|
||||
- **Solution Design**: Evaluate architecture, identify key design decisions with rationale
|
||||
- **Feasibility Assessment**: Analyze technical complexity, risks, implementation readiness
|
||||
- **Optimization Recommendations**: Performance, security, and code quality improvements
|
||||
- **Output Validation**: Verify ANALYSIS_RESULTS.md generation and quality
|
||||
- **Single Output**: Generate only ANALYSIS_RESULTS.md with technical analysis
|
||||
|
||||
## Analysis Strategy Selection
|
||||
|
||||
**Agent-Driven Strategy**: cli-execution-agent autonomously determines tool selection based on:
|
||||
- **Task Complexity**: Number of modules, integration scope, technical depth
|
||||
- **Tech Stack**: Frontend (Gemini-focused), Backend (Codex-preferred), Fullstack (hybrid)
|
||||
- **Analysis Focus**: Architecture design (Gemini), Feasibility validation (Codex), Performance optimization (both)
|
||||
|
||||
**Complexity Tiers** (Agent decides internally):
|
||||
- **Simple (≤3 modules)**: Gemini-only analysis
|
||||
- **Medium (4-6 modules)**: Gemini comprehensive analysis
|
||||
- **Complex (>6 modules)**: Gemini + Codex parallel execution
|
||||
|
||||
## Execution Lifecycle
|
||||
|
||||
### Phase 1: Validation & Preparation
|
||||
1. **Session Validation**: Verify `.workflow/{session_id}/` exists, load `workflow-session.json`
|
||||
2. **Context Package Validation**: Verify path, validate JSON format and structure
|
||||
3. **Task Analysis**: Extract keywords, identify domain/complexity, determine scope
|
||||
4. **Agent Preparation**: Prepare agent task prompt with complete analysis requirements
|
||||
|
||||
### Phase 2: Agent-Delegated Analysis
|
||||
|
||||
**Agent Invocation**:
|
||||
```javascript
|
||||
Task(
|
||||
subagent_type="cli-execution-agent",
|
||||
description="Enhanced solution design and feasibility analysis",
|
||||
prompt=`
|
||||
## Execution Context
|
||||
|
||||
**Session ID**: {session_id}
|
||||
**Mode**: Enhanced Analysis with CLI Tool Orchestration
|
||||
|
||||
## Input Context
|
||||
|
||||
**Context Package**: {context_path}
|
||||
**Session State**: .workflow/{session_id}/workflow-session.json
|
||||
**Project Standards**: CLAUDE.md
|
||||
|
||||
## Analysis Task
|
||||
|
||||
### Analysis Templates (Use these to guide CLI tool execution)
|
||||
- **Document Structure**: ~/.claude/workflows/cli-templates/prompts/workflow/analysis-results-structure.txt
|
||||
- **Gemini Analysis**: ~/.claude/workflows/cli-templates/prompts/workflow/gemini-solution-design.txt
|
||||
- **Codex Validation**: ~/.claude/workflows/cli-templates/prompts/workflow/codex-feasibility-validation.txt
|
||||
|
||||
### Execution Strategy
|
||||
1. **Load Context**: Read context-package.json to determine task complexity (module count, integration scope)
|
||||
2. **Gemini Analysis** (ALL tasks): Execute using gemini-solution-design.txt template
|
||||
- Output: .workflow/{session_id}/.process/gemini-solution-design.md
|
||||
3. **Codex Validation** (COMPLEX tasks >6 modules only): Execute using codex-feasibility-validation.txt template
|
||||
- Output: .workflow/{session_id}/.process/codex-feasibility-validation.md
|
||||
4. **Synthesize Results**: Combine outputs into ANALYSIS_RESULTS.md following analysis-results-structure.txt
|
||||
|
||||
### Output Requirements
|
||||
|
||||
**Intermediate Outputs**:
|
||||
- Gemini: \`.workflow/{session_id}/.process/gemini-solution-design.md\` (always required)
|
||||
- Codex: \`.workflow/{session_id}/.process/codex-feasibility-validation.md\` (complex tasks only)
|
||||
|
||||
**Final Output**:
|
||||
- \`.workflow/{session_id}/.process/ANALYSIS_RESULTS.md\` (synthesized, required)
|
||||
|
||||
**Required Sections** (7 sections per analysis-results-structure.txt):
|
||||
1. Executive Summary
|
||||
2. Current State Analysis
|
||||
3. Proposed Solution Design
|
||||
4. Implementation Strategy
|
||||
5. Solution Optimization
|
||||
6. Critical Success Factors
|
||||
7. Reference Information
|
||||
|
||||
### Synthesis Rules
|
||||
- Follow 7-section structure from analysis-results-structure.txt
|
||||
- Integrate Gemini insights as primary content
|
||||
- Incorporate Codex validation findings (if executed)
|
||||
- Resolve conflicts between tools with clear rationale
|
||||
- Generate confidence scores (1-5 scale) for all assessment dimensions
|
||||
- Provide final recommendation: PROCEED | PROCEED_WITH_MODIFICATIONS | RECONSIDER | REJECT
|
||||
|
||||
## Output
|
||||
Generate final ANALYSIS_RESULTS.md and report completion status:
|
||||
- Gemini analysis: [completed/failed]
|
||||
- Codex validation: [completed/skipped/failed]
|
||||
- Synthesis: [completed/failed]
|
||||
- Final output: .workflow/{session_id}/.process/ANALYSIS_RESULTS.md
|
||||
`
|
||||
)
|
||||
```
|
||||
|
||||
**Agent Execution Flow** (Internal to cli-execution-agent):
|
||||
1. Parse session ID and context path, load context-package.json
|
||||
2. Analyze task complexity (module count, integration scope)
|
||||
3. Discover additional context via MCP code-index
|
||||
4. Execute Gemini analysis (all tasks) with template-guided prompt
|
||||
5. Execute Codex validation (complex tasks >6 modules) with template-guided prompt
|
||||
6. Synthesize Gemini + Codex outputs into ANALYSIS_RESULTS.md
|
||||
7. Verify output file exists at correct path
|
||||
8. Return execution log path
|
||||
|
||||
**Command Execution**: Launch agent via Task tool, wait for completion
|
||||
|
||||
### Phase 3: Output Validation
|
||||
1. **File Verification**: Confirm `.workflow/{session_id}/.process/ANALYSIS_RESULTS.md` exists
|
||||
2. **Content Validation**: Verify required sections present (Executive Summary, Solution Design, etc.)
|
||||
3. **Quality Check**: Ensure design rationale, feasibility assessment, confidence scores included
|
||||
4. **Agent Log**: Retrieve agent execution log from `.workflow/{session_id}/.chat/`
|
||||
5. **Success Criteria**: File exists, contains all required sections, meets quality standards
|
||||
|
||||
## Analysis Results Format
|
||||
|
||||
**Template Reference**: `~/.claude/workflows/cli-templates/prompts/workflow/analysis-results-structure.txt`
|
||||
|
||||
Generated ANALYSIS_RESULTS.md focuses on **solution improvements, key design decisions, and critical insights** (NOT task planning).
|
||||
|
||||
### Required Structure (7 Sections)
|
||||
|
||||
1. **Executive Summary**: Analysis focus, tools used, overall assessment (X/5), recommendation status
|
||||
2. **Current State Analysis**: Architecture overview, compatibility/dependencies, critical findings
|
||||
3. **Proposed Solution Design**: Core principles, system design, key decisions with rationale, technical specs
|
||||
4. **Implementation Strategy**: Development approach, code modification targets, feasibility assessment, risk mitigation
|
||||
5. **Solution Optimization**: Performance, security, code quality recommendations
|
||||
6. **Critical Success Factors**: Technical requirements, quality metrics, success validation
|
||||
7. **Reference Information**: Tool analysis summary, context & resources
|
||||
|
||||
### Key Requirements
|
||||
|
||||
**Code Modification Targets**:
|
||||
- Existing files: `file:function:lines` (e.g., `src/auth/login.ts:validateUser:45-52`)
|
||||
- New files: `file` only (e.g., `src/auth/PasswordReset.ts`)
|
||||
- Unknown lines: `file:function:*`
|
||||
|
||||
**Key Design Decisions** (minimum 2):
|
||||
- Decision statement
|
||||
- Rationale (why this approach)
|
||||
- Alternatives considered (tradeoffs)
|
||||
- Impact (implications on architecture)
|
||||
|
||||
**Assessment Scores** (1-5 scale):
|
||||
- Conceptual Integrity, Architectural Soundness, Technical Feasibility, Implementation Readiness
|
||||
- Overall Confidence score
|
||||
- Final Recommendation: PROCEED | PROCEED_WITH_MODIFICATIONS | RECONSIDER | REJECT
|
||||
|
||||
### Content Focus
|
||||
- ✅ Solution improvements and architectural decisions
|
||||
- ✅ Design rationale, alternatives, and tradeoffs
|
||||
- ✅ Risk assessment with mitigation strategies
|
||||
- ✅ Optimization opportunities (performance, security, quality)
|
||||
- ❌ Task lists or implementation steps
|
||||
- ❌ Code examples or snippets
|
||||
- ❌ Project management timelines
|
||||
|
||||
## Execution Management
|
||||
|
||||
### Error Handling & Recovery
|
||||
1. **Pre-execution**: Verify session/context package exists and is valid
|
||||
2. **Agent Monitoring**: Track agent execution status via Task tool
|
||||
3. **Validation**: Check ANALYSIS_RESULTS.md generation on completion
|
||||
4. **Error Recovery**:
|
||||
- Agent execution failure → report error, check agent logs
|
||||
- Missing output file → retry agent execution once
|
||||
- Incomplete output → use agent logs to diagnose issue
|
||||
5. **Graceful Degradation**: If agent fails, report specific error and suggest manual analysis
|
||||
|
||||
### Agent Delegation Benefits
|
||||
- **Autonomous Tool Selection**: Agent decides Gemini/Codex based on complexity
|
||||
- **Context Discovery**: Agent discovers additional relevant files via MCP
|
||||
- **Prompt Enhancement**: Agent optimizes prompts with discovered patterns
|
||||
- **Error Handling**: Agent manages CLI tool failures internally
|
||||
- **Log Tracking**: Agent execution logs saved to `.workflow/{session_id}/.chat/`
|
||||
|
||||
## Integration & Success Criteria
|
||||
|
||||
### Input/Output Interface
|
||||
**Input**:
|
||||
- `--session` (required): Session ID (e.g., WFS-auth)
|
||||
- `--context` (required): Context package path
|
||||
|
||||
**Output**:
|
||||
- Single file: `ANALYSIS_RESULTS.md` at `.workflow/{session_id}/.process/`
|
||||
- No supplementary files (JSON, roadmap, templates)
|
||||
|
||||
### Quality & Success Validation
|
||||
**Quality Checks**: Completeness, consistency, feasibility validation
|
||||
|
||||
**Success Criteria**:
|
||||
- ✅ Solution-focused analysis (design decisions, critical insights, NO task planning)
|
||||
- ✅ Single output file only (ANALYSIS_RESULTS.md)
|
||||
- ✅ Design decision depth with rationale/alternatives/tradeoffs
|
||||
- ✅ Feasibility assessment (complexity, risks, readiness)
|
||||
- ✅ Optimization strategies (performance, security, quality)
|
||||
- ✅ Agent-driven tool selection (autonomous Gemini/Codex execution)
|
||||
- ✅ Robust error handling (validation, retry, graceful degradation)
|
||||
- ✅ Confidence scoring with clear recommendation status
|
||||
- ✅ Agent execution log saved to session chat directory
|
||||
|
||||
## Related Commands
|
||||
- `/context:gather` - Generate context packages required by this command
|
||||
- `/workflow:plan` - Call this command for analysis
|
||||
- `/task:create` - Create specific tasks based on analysis results
|
||||
367
.claude/commands/workflow/tools/conflict-resolution.md
Normal file
367
.claude/commands/workflow/tools/conflict-resolution.md
Normal file
@@ -0,0 +1,367 @@
|
||||
---
|
||||
name: conflict-resolution
|
||||
description: Detect and resolve conflicts between plan and existing codebase using CLI-powered analysis
|
||||
argument-hint: "--session WFS-session-id --context path/to/context-package.json"
|
||||
examples:
|
||||
- /workflow:tools:conflict-resolution --session WFS-auth --context .workflow/WFS-auth/.process/context-package.json
|
||||
- /workflow:tools:conflict-resolution --session WFS-payment --context .workflow/WFS-payment/.process/context-package.json
|
||||
---
|
||||
|
||||
# Conflict Resolution Command (/workflow:tools:conflict-resolution)
|
||||
|
||||
## Overview
|
||||
Analyzes potential conflicts between implementation plan and existing codebase, generating multiple resolution strategies for user selection.
|
||||
|
||||
**Trigger Condition**: Only execute when context-package.json indicates conflict_risk is "medium" or "high"
|
||||
|
||||
**Scope**: Conflict detection and resolution strategy generation only. Does NOT modify code or generate tasks.
|
||||
|
||||
**Usage**: Automatically triggered in `/workflow:plan` Phase 3 when conflict risk detected.
|
||||
|
||||
## Core Philosophy & Responsibilities
|
||||
- **Conflict Detection**: Analyze plan vs existing code architecture inconsistencies
|
||||
- **Multi-Strategy Generation**: Generate 2-4 resolution options per conflict
|
||||
- **CLI-Powered Analysis**: Use Gemini/Qwen/Codex for deep code analysis
|
||||
- **Graceful Fallback**: Use Claude analysis if CLI tools unavailable
|
||||
- **User Decision**: Present strategies for user selection, never auto-apply
|
||||
- **Single Output**: Generate CONFLICT_RESOLUTION.md with findings and options
|
||||
|
||||
## Conflict Detection Categories
|
||||
|
||||
**Architecture Conflicts**:
|
||||
- New architecture incompatible with existing patterns
|
||||
- Module structure changes affecting existing components
|
||||
- Design pattern migrations required
|
||||
|
||||
**API & Interface Conflicts**:
|
||||
- Breaking changes to existing API contracts
|
||||
- Function signature modifications
|
||||
- Public interface changes affecting dependents
|
||||
|
||||
**Data Model Conflicts**:
|
||||
- Database schema modifications
|
||||
- Data type changes breaking compatibility
|
||||
- Migration requirements for existing data
|
||||
|
||||
**Dependency Conflicts**:
|
||||
- Version conflicts with existing dependencies
|
||||
- New dependencies incompatible with current setup
|
||||
- Breaking changes in dependency updates
|
||||
|
||||
## Execution Lifecycle
|
||||
|
||||
### Phase 1: Validation & Trigger Check
|
||||
1. **Session Validation**: Verify `.workflow/{session_id}/` exists
|
||||
2. **Context Package Loading**: Read and parse context-package.json
|
||||
3. **Conflict Risk Check**:
|
||||
```javascript
|
||||
if (context_package.conflict_detection.conflict_risk in ["none", "low"]) {
|
||||
SKIP: "No significant conflicts detected"
|
||||
EXIT
|
||||
}
|
||||
```
|
||||
4. **Agent Preparation**: Prepare agent task prompt with conflict analysis requirements
|
||||
|
||||
### Phase 2: Agent-Delegated Conflict Analysis
|
||||
|
||||
**Agent Invocation**:
|
||||
```javascript
|
||||
Task(
|
||||
subagent_type="cli-execution-agent",
|
||||
description="Detect and analyze code conflicts",
|
||||
prompt=`
|
||||
## Execution Context
|
||||
|
||||
**Session ID**: {session_id}
|
||||
**Mode**: Conflict Detection and Resolution Strategy Generation
|
||||
**Conflict Risk**: {conflict_risk}
|
||||
|
||||
## Input Context
|
||||
|
||||
**Context Package**: {context_path}
|
||||
**Existing Files**: {existing_files_list}
|
||||
**Affected Modules**: {affected_modules}
|
||||
|
||||
## Analysis Task
|
||||
|
||||
### Step 1: Load Existing Codebase Context
|
||||
1. **Load Existing Files** (from context package existing_files)
|
||||
- Read all files listed in conflict_detection.existing_files
|
||||
- Analyze current architecture patterns
|
||||
- Identify current API contracts and interfaces
|
||||
|
||||
2. **Load Plan Requirements** (from context-package.json)
|
||||
- Read .workflow/{session_id}/.process/context-package.json
|
||||
- Extract role analysis paths from brainstorm_artifacts.role_analyses[]
|
||||
- Load each role analysis file
|
||||
- Extract requirements and design decisions
|
||||
- Identify planned changes
|
||||
|
||||
### Step 2: CLI-Powered Conflict Analysis
|
||||
Execute conflict analysis using CLI tools:
|
||||
|
||||
**Primary Tool - Gemini Analysis**:
|
||||
\`\`\`bash
|
||||
cd {project_root} && gemini -p "
|
||||
PURPOSE: Analyze conflicts between plan and existing code
|
||||
TASK:
|
||||
• Compare existing architecture with planned changes
|
||||
• Identify API contract breaking changes
|
||||
• Detect data model incompatibilities
|
||||
• Assess dependency conflicts
|
||||
MODE: analysis
|
||||
CONTEXT: @{existing_files_pattern} @.workflow/{session_id}/**/*
|
||||
EXPECTED: Conflict list with severity and affected areas
|
||||
RULES: Focus on breaking changes and migration complexity
|
||||
"
|
||||
\`\`\`
|
||||
|
||||
**Fallback - Qwen Analysis** (if Gemini unavailable):
|
||||
Same prompt structure, replace 'gemini' with 'qwen'
|
||||
|
||||
**Fallback - Claude Analysis** (if CLI unavailable):
|
||||
- Manual file reading and comparison
|
||||
- Pattern matching for common conflict types
|
||||
- Heuristic-based conflict detection
|
||||
|
||||
### Step 3: Generate Resolution Strategies
|
||||
For each detected conflict, generate 2-4 resolution options:
|
||||
|
||||
**Strategy Template**:
|
||||
```markdown
|
||||
### Conflict: {conflict_name}
|
||||
**Severity**: Critical | High | Medium
|
||||
**Category**: Architecture | API | Data Model | Dependency
|
||||
**Affected Files**: {file_list}
|
||||
**Impact**: {impact_description}
|
||||
|
||||
#### Option 1: {strategy_name}
|
||||
**Approach**: {brief_description}
|
||||
**Pros**:
|
||||
- {advantage_1}
|
||||
- {advantage_2}
|
||||
**Cons**:
|
||||
- {disadvantage_1}
|
||||
- {disadvantage_2}
|
||||
**Effort**: Low | Medium | High
|
||||
**Risk**: Low | Medium | High
|
||||
|
||||
#### Option 2: {strategy_name}
|
||||
...
|
||||
|
||||
**Recommended**: Option {N} - {rationale}
|
||||
```
|
||||
|
||||
### Step 4: Generate CONFLICT_RESOLUTION.md
|
||||
Create comprehensive conflict resolution document:
|
||||
|
||||
**Output Location**: \`.workflow/{session_id}/.process/CONFLICT_RESOLUTION.md\`
|
||||
|
||||
**Required Structure**:
|
||||
1. **Executive Summary**: Total conflicts, severity distribution, overall risk
|
||||
2. **Conflict Analysis**: Detailed per-conflict analysis with categories
|
||||
3. **Resolution Strategies**: Multiple options per conflict with pros/cons
|
||||
4. **Recommended Actions**: Prioritized recommendations with rationale
|
||||
5. **Migration Considerations**: Data/API migration requirements if any
|
||||
|
||||
### Output Requirements
|
||||
|
||||
**Quality Standards**:
|
||||
- Minimum 2 resolution options per conflict
|
||||
- Clear pros/cons for each strategy
|
||||
- Effort and risk estimates included
|
||||
- Recommended strategy with clear rationale
|
||||
- Actionable migration steps if required
|
||||
|
||||
## Output
|
||||
Generate CONFLICT_RESOLUTION.md and report completion status:
|
||||
- Conflicts detected: {count}
|
||||
- Severity distribution: Critical: {N}, High: {N}, Medium: {N}
|
||||
- Resolution strategies: {total_options}
|
||||
- Output location: .workflow/{session_id}/.process/CONFLICT_RESOLUTION.md
|
||||
\`
|
||||
)
|
||||
```
|
||||
|
||||
**Agent Execution Flow** (Internal to cli-execution-agent):
|
||||
1. Parse session ID and context path, load context-package.json
|
||||
2. Check conflict_risk, exit if none/low
|
||||
3. Load existing codebase files from conflict_detection.existing_files
|
||||
4. Load plan requirements from session brainstorming artifacts
|
||||
5. Execute CLI tool analysis (Gemini/Qwen/Claude fallback)
|
||||
6. Parse conflict findings from CLI output
|
||||
7. Generate resolution strategies (2-4 options per conflict)
|
||||
8. Create CONFLICT_RESOLUTION.md with structured findings
|
||||
9. Verify output file exists at correct path
|
||||
10. Return execution log path
|
||||
|
||||
**Command Execution**: Launch agent via Task tool, wait for completion
|
||||
|
||||
### Phase 3: Output Validation
|
||||
1. **File Verification**: Confirm `.workflow/{session_id}/.process/CONFLICT_RESOLUTION.md` exists
|
||||
2. **Content Validation**: Verify required sections present
|
||||
3. **Strategy Quality**: Ensure minimum 2 options per conflict
|
||||
4. **Agent Log**: Retrieve agent execution log from `.workflow/{session_id}/.chat/`
|
||||
5. **Success Criteria**: File exists, contains all required sections, strategies actionable
|
||||
|
||||
## CONFLICT_RESOLUTION.md Format
|
||||
|
||||
**Template Reference**: Resolution document focuses on **conflict identification, impact analysis, and strategic options** (NOT implementation).
|
||||
|
||||
### Required Structure
|
||||
|
||||
```markdown
|
||||
# Conflict Resolution Report
|
||||
|
||||
**Session**: WFS-{session-id}
|
||||
**Generated**: {timestamp}
|
||||
**Conflict Risk**: {medium|high}
|
||||
**Total Conflicts**: {count}
|
||||
|
||||
## Executive Summary
|
||||
|
||||
**Overall Assessment**: {summary_paragraph}
|
||||
|
||||
**Severity Distribution**:
|
||||
- Critical: {count} - Blocking issues requiring immediate resolution
|
||||
- High: {count} - Significant issues affecting core functionality
|
||||
- Medium: {count} - Moderate issues with workarounds available
|
||||
|
||||
**Recommended Priority**: {conflict_id_1}, {conflict_id_2}, ...
|
||||
|
||||
---
|
||||
|
||||
## Conflict Analysis
|
||||
|
||||
### Conflict 1: {conflict_name}
|
||||
**ID**: CON-001
|
||||
**Severity**: Critical | High | Medium
|
||||
**Category**: Architecture | API | Data Model | Dependency
|
||||
**Affected Files**:
|
||||
- {file_1}
|
||||
- {file_2}
|
||||
|
||||
**Description**: {detailed_conflict_description}
|
||||
|
||||
**Impact Analysis**:
|
||||
- **Scope**: {which_modules_affected}
|
||||
- **Backward Compatibility**: {yes/no/partial}
|
||||
- **Migration Required**: {yes/no}
|
||||
- **Estimated Effort**: {person-days}
|
||||
|
||||
#### Resolution Strategies
|
||||
|
||||
##### Option 1: {strategy_name}
|
||||
**Approach**: {implementation_approach}
|
||||
|
||||
**Pros**:
|
||||
- {advantage_1}
|
||||
- {advantage_2}
|
||||
|
||||
**Cons**:
|
||||
- {disadvantage_1}
|
||||
- {disadvantage_2}
|
||||
|
||||
**Implementation Complexity**: Low | Medium | High
|
||||
**Risk Level**: Low | Medium | High
|
||||
**Estimated Effort**: {time_estimate}
|
||||
|
||||
##### Option 2: {strategy_name}
|
||||
...
|
||||
|
||||
**Recommended Strategy**: Option {N}
|
||||
**Rationale**: {why_this_option_is_best}
|
||||
|
||||
---
|
||||
|
||||
## Recommended Actions
|
||||
|
||||
### Priority 1: Address Critical Conflicts
|
||||
1. {conflict_id}: {brief_action} - {recommended_strategy}
|
||||
2. ...
|
||||
|
||||
### Priority 2: Resolve High-Severity Issues
|
||||
1. {conflict_id}: {brief_action} - {recommended_strategy}
|
||||
2. ...
|
||||
|
||||
### Priority 3: Handle Medium Issues
|
||||
1. {conflict_id}: {brief_action} - {recommended_strategy}
|
||||
2. ...
|
||||
|
||||
## Migration Considerations
|
||||
|
||||
**Data Migration**:
|
||||
- {migration_task_1}
|
||||
- {migration_task_2}
|
||||
|
||||
**API Versioning**:
|
||||
- {versioning_strategy}
|
||||
|
||||
**Rollback Strategy**:
|
||||
- {rollback_plan}
|
||||
|
||||
---
|
||||
|
||||
## Next Steps
|
||||
|
||||
**Before Implementation**:
|
||||
1. Review and select resolution strategies
|
||||
2. Update IMPL_PLAN.md with conflict resolution decisions
|
||||
3. Validate migration requirements
|
||||
|
||||
**Proceed to**:
|
||||
- /workflow:plan continue → Proceed with task generation
|
||||
```
|
||||
|
||||
### Content Focus
|
||||
- ✅ Conflict detection with severity classification
|
||||
- ✅ Multiple resolution strategies per conflict
|
||||
- ✅ Pros/cons analysis for each strategy
|
||||
- ✅ Effort and risk estimates
|
||||
- ✅ Migration considerations
|
||||
- ❌ Direct code changes or patches
|
||||
- ❌ Implementation details (save for IMPL_PLAN)
|
||||
- ❌ Task breakdowns (handled by task generation)
|
||||
|
||||
## Execution Management
|
||||
|
||||
### Error Handling & Recovery
|
||||
1. **Pre-execution**: Verify conflict_risk warrants execution
|
||||
2. **Agent Monitoring**: Track agent execution status via Task tool
|
||||
3. **Validation**: Check CONFLICT_RESOLUTION.md generation on completion
|
||||
4. **Error Recovery**:
|
||||
- Agent execution failure → report error, check agent logs
|
||||
- Missing output file → retry agent execution once
|
||||
- CLI tool failure → fallback to Claude analysis
|
||||
5. **Graceful Degradation**: If all analysis methods fail, generate basic conflict report from heuristics
|
||||
|
||||
## Integration & Success Criteria
|
||||
|
||||
### Input/Output Interface
|
||||
**Input**:
|
||||
- `--session` (required): Session ID (e.g., WFS-auth)
|
||||
- `--context` (required): Context package path
|
||||
- Context package must have conflict_risk ≥ medium
|
||||
|
||||
**Output**:
|
||||
- Single file: `CONFLICT_RESOLUTION.md` at `.workflow/{session_id}/.process/`
|
||||
- No code modifications
|
||||
|
||||
### Quality & Success Validation
|
||||
**Quality Checks**: Completeness, strategy diversity, actionability
|
||||
|
||||
**Success Criteria**:
|
||||
- ✅ Conflict detection complete (all categories scanned)
|
||||
- ✅ Minimum 2 resolution strategies per conflict
|
||||
- ✅ Clear pros/cons for each strategy
|
||||
- ✅ Effort and risk estimates provided
|
||||
- ✅ Recommended strategy with rationale
|
||||
- ✅ Migration considerations documented
|
||||
- ✅ CLI-powered analysis (with fallback handling)
|
||||
- ✅ Robust error handling (validation, retry, degradation)
|
||||
- ✅ Agent execution log saved to session chat directory
|
||||
|
||||
## Related Commands
|
||||
- `/context:gather` - Generates conflict_detection data required by this command
|
||||
- `/workflow:plan` - Automatically calls this command when conflict_risk ≥ medium
|
||||
- `/task:create` - Creates tasks based on selected resolution strategies
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: gather
|
||||
description: Intelligently collect project context using general-purpose agent based on task description and package into standardized JSON
|
||||
description: Intelligently collect project context using universal-executor agent based on task description and package into standardized JSON
|
||||
argument-hint: "--session WFS-session-id \"task description\""
|
||||
examples:
|
||||
- /workflow:tools:context-gather --session WFS-user-auth "Implement user authentication system"
|
||||
@@ -14,10 +14,10 @@ examples:
|
||||
Agent-driven intelligent context collector that gathers relevant information from project codebase, documentation, and dependencies based on task descriptions, generating standardized context packages.
|
||||
|
||||
## Core Philosophy
|
||||
- **Agent-Driven**: Delegate execution to general-purpose agent for autonomous operation
|
||||
- **Agent-Driven**: Delegate execution to universal-executor agent for autonomous operation
|
||||
- **Two-Phase Flow**: Discovery (context loading) → Execution (context gathering and packaging)
|
||||
- **Memory-First**: Reuse loaded documents from conversation memory
|
||||
- **MCP-Enhanced**: Use MCP tools for advanced code analysis and file discovery
|
||||
- **Ripgrep-Enhanced**: Use ripgrep and native tools for code analysis and file discovery
|
||||
- **Intelligent Collection**: Auto-identify relevant resources based on keyword analysis
|
||||
- **Comprehensive Coverage**: Collect code, documentation, configurations, and dependencies
|
||||
- **Standardized Output**: Generate unified format context-package.json
|
||||
@@ -36,9 +36,10 @@ Agent-driven intelligent context collector that gathers relevant information fro
|
||||
// If in memory: use cached content
|
||||
// Else: Load from .workflow/{session-id}/workflow-session.json
|
||||
},
|
||||
"mcp_capabilities": {
|
||||
// Agent will use these tools to discover project context
|
||||
"code_index": true,
|
||||
"search_tools": {
|
||||
// Agent will use these native tools to discover project context
|
||||
"ripgrep": true,
|
||||
"find": true,
|
||||
"exa_code": true,
|
||||
"exa_web": true
|
||||
}
|
||||
@@ -62,7 +63,7 @@ Agent-driven intelligent context collector that gathers relevant information fro
|
||||
**Agent Invocation**:
|
||||
```javascript
|
||||
Task(
|
||||
subagent_type="general-purpose",
|
||||
subagent_type="universal-executor",
|
||||
description="Gather project context and generate context package",
|
||||
prompt=`
|
||||
## Execution Context
|
||||
@@ -76,8 +77,9 @@ Task(
|
||||
### Session Metadata
|
||||
{session_metadata_content}
|
||||
|
||||
### MCP Capabilities
|
||||
- code-index: Available for file discovery and code search
|
||||
### Search Tools
|
||||
- ripgrep: Available for content search and pattern matching
|
||||
- find: Available for file discovery
|
||||
- exa-code: Available for external research
|
||||
- exa-web: Available for web search
|
||||
|
||||
@@ -87,7 +89,7 @@ Task(
|
||||
1. **Project Structure Analysis**: Execute get_modules_by_depth.sh for architecture overview
|
||||
2. **Documentation Loading**: Load CLAUDE.md, README.md and relevant documentation
|
||||
3. **Keyword Extraction**: Extract core keywords from task description
|
||||
4. **Smart File Discovery**: Use MCP code-index tools to locate relevant files
|
||||
4. **Smart File Discovery**: Use ripgrep and find to locate relevant files
|
||||
5. **Code Structure Analysis**: Analyze project structure to identify relevant modules
|
||||
6. **Dependency Discovery**: Identify tech stack and dependency relationships
|
||||
7. **Context Packaging**: Generate standardized JSON context package
|
||||
@@ -120,22 +122,18 @@ Task(
|
||||
- Identify potentially involved modules and components
|
||||
- Set file type filters
|
||||
|
||||
#### Step 2: MCP-Enhanced File Discovery
|
||||
#### Step 2: File Discovery with Native Tools
|
||||
1. **Code File Location**
|
||||
Use MCP code-index tools:
|
||||
\`\`\`javascript
|
||||
// Find files by pattern
|
||||
mcp__code-index__find_files(pattern="*{keyword}*")
|
||||
Use ripgrep and find commands:
|
||||
\`\`\`bash
|
||||
# Find files by pattern
|
||||
find . -name "*{keyword}*" -type f
|
||||
|
||||
// Search code content
|
||||
mcp__code-index__search_code_advanced(
|
||||
pattern="{keyword_patterns}",
|
||||
file_pattern="*.{ts,js,py,go,md}",
|
||||
context_lines=3
|
||||
)
|
||||
# Search code content with ripgrep
|
||||
rg "{keyword_patterns}" --type-add 'custom:*.{ts,js,py,go,md}' -t custom -C 3
|
||||
|
||||
// Get file summaries
|
||||
mcp__code-index__get_file_summary(file_path="relevant/file.ts")
|
||||
# Get file summaries (find function/class definitions)
|
||||
rg "^(class|function|export|def|interface)" relevant/file.ts
|
||||
\`\`\`
|
||||
|
||||
2. **Configuration Files Discovery**
|
||||
@@ -155,9 +153,44 @@ Task(
|
||||
- Identify inter-module dependencies
|
||||
- Determine core and optional dependencies
|
||||
|
||||
#### Step 3.5: Brainstorm Artifacts Discovery
|
||||
Discover and catalog brainstorming documents (if `.brainstorming/` exists):
|
||||
- Guidance specification, role analyses (`*/analysis*.md`), synthesis output
|
||||
- Catalog role analyses by role with file type and timestamp
|
||||
|
||||
#### Step 4: Context Packaging
|
||||
Generate standardized context-package.json following the format below
|
||||
|
||||
#### Step 5: Conflict Detection & Risk Assessment
|
||||
**Purpose**: Analyze existing codebase to determine conflict risk level
|
||||
|
||||
1. **Existing Code Detection**
|
||||
- Count relevant existing source files discovered in Step 2
|
||||
- Identify modules that overlap with task scope
|
||||
- Flag existence of implementations related to task keywords
|
||||
|
||||
2. **Architecture Analysis**
|
||||
- Compare task requirements with existing architecture patterns
|
||||
- Identify potential architectural changes required
|
||||
- Detect breaking changes to current structure
|
||||
|
||||
3. **API & Dependency Analysis**
|
||||
- Check for existing API endpoints/contracts that may change
|
||||
- Identify shared dependencies and interface changes
|
||||
- Detect potential breaking changes to public APIs
|
||||
|
||||
4. **Data Model Analysis**
|
||||
- Identify existing data models/schemas in task scope
|
||||
- Check for schema modification requirements
|
||||
- Detect potential data migration needs
|
||||
|
||||
5. **Risk Level Calculation**
|
||||
Calculate conflict_risk based on:
|
||||
- **none**: No existing code, new feature/module
|
||||
- **low**: < 5 existing files, minimal changes
|
||||
- **medium**: 5-15 existing files OR architectural changes OR API changes
|
||||
- **high**: >15 existing files OR data model changes OR breaking changes
|
||||
|
||||
### Required Output
|
||||
|
||||
**Output Location**: \`.workflow/{session-id}/.process/context-package.json\`
|
||||
@@ -222,6 +255,48 @@ Generate standardized context-package.json following the format below
|
||||
"docs_files": 4,
|
||||
"config_files": 2,
|
||||
"test_files": 1
|
||||
},
|
||||
"brainstorm_artifacts": {
|
||||
"guidance_specification": {
|
||||
"path": ".workflow/WFS-user-auth/.brainstorming/guidance-specification.md",
|
||||
"exists": true
|
||||
},
|
||||
"role_analyses": [
|
||||
{
|
||||
"role": "system-architect",
|
||||
"files": [
|
||||
{"path": ".workflow/WFS-user-auth/.brainstorming/system-architect/analysis.md", "type": "primary"},
|
||||
{"path": ".workflow/WFS-user-auth/.brainstorming/system-architect/analysis-api.md", "type": "supplementary"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"role": "ui-designer",
|
||||
"files": [
|
||||
{"path": ".workflow/WFS-user-auth/.brainstorming/ui-designer/analysis.md", "type": "primary"}
|
||||
]
|
||||
}
|
||||
],
|
||||
"synthesis_output": {
|
||||
"path": ".workflow/WFS-user-auth/.brainstorming/synthesis-specification.md",
|
||||
"exists": true
|
||||
}
|
||||
},
|
||||
"conflict_detection": {
|
||||
"conflict_risk": "medium",
|
||||
"existing_files": [
|
||||
"src/auth/AuthService.ts",
|
||||
"src/models/User.ts",
|
||||
"src/middleware/auth.ts"
|
||||
],
|
||||
"has_existing_code": true,
|
||||
"affected_modules": ["auth", "user-model"],
|
||||
"detection_criteria": {
|
||||
"existing_code_count": 8,
|
||||
"architecture_changes": false,
|
||||
"api_changes": true,
|
||||
"data_model_changes": false
|
||||
},
|
||||
"risk_rationale": "Medium risk due to existing auth code and potential API changes"
|
||||
}
|
||||
}
|
||||
\`\`\`
|
||||
@@ -244,34 +319,27 @@ Before completion, verify:
|
||||
- File count limit: Maximum 50 files per type
|
||||
- Size filtering: Skip oversized files (>10MB)
|
||||
- Depth limit: Maximum search depth of 3 levels
|
||||
- Use MCP tools for efficient discovery
|
||||
- Use ripgrep for efficient discovery
|
||||
|
||||
**MCP Tools Integration**:
|
||||
Agent should use MCP code-index tools when available:
|
||||
\`\`\`javascript
|
||||
// Set project path
|
||||
mcp__code-index__set_project_path(path="{current_project_path}")
|
||||
**Native Tools Integration**:
|
||||
Agent should use ripgrep and find commands:
|
||||
\`\`\`bash
|
||||
# Find files by pattern
|
||||
find . -name "*{keyword}*" -type f
|
||||
|
||||
// Refresh index
|
||||
mcp__code-index__refresh_index()
|
||||
# Search code content with ripgrep
|
||||
rg "{keyword_patterns}" --type ts --type js --type py --type go --type md -C 3
|
||||
|
||||
// Find files by pattern
|
||||
mcp__code-index__find_files(pattern="*{keyword}*")
|
||||
# Alternative: use glob patterns
|
||||
rg "{keyword_patterns}" -g "*.{ts,js,py,go,md}" -C 3
|
||||
|
||||
// Search code content
|
||||
mcp__code-index__search_code_advanced(
|
||||
pattern="{keyword_patterns}",
|
||||
file_pattern="*.{ts,js,py,go,md}",
|
||||
context_lines=3
|
||||
)
|
||||
# Count matches
|
||||
rg "{keyword_patterns}" -c
|
||||
|
||||
# List files with matches
|
||||
rg "{keyword_patterns}" --files-with-matches
|
||||
\`\`\`
|
||||
|
||||
**Fallback Strategy**:
|
||||
When MCP tools unavailable, agent should use traditional commands:
|
||||
- \`find\` for file discovery
|
||||
- \`rg\` or \`grep\` for content search
|
||||
- Bash commands from project structure analysis
|
||||
|
||||
## Output
|
||||
|
||||
Generate context-package.json and report completion:
|
||||
@@ -314,9 +382,10 @@ const agentContext = {
|
||||
? memory.get("workflow-session.json")
|
||||
: Read(.workflow/WFS-[id]/workflow-session.json),
|
||||
|
||||
// MCP capabilities - agent will use these tools
|
||||
mcp_capabilities: {
|
||||
code_index: true,
|
||||
// Search tools - agent will use these native tools
|
||||
search_tools: {
|
||||
ripgrep: true,
|
||||
find: true,
|
||||
exa_code: true,
|
||||
exa_web: true
|
||||
}
|
||||
|
||||
@@ -37,16 +37,17 @@ Autonomous task JSON and IMPL_PLAN.md generation using action-planning-agent wit
|
||||
// If in memory: use cached content
|
||||
// Else: Load from .workflow/{session-id}/workflow-session.json
|
||||
},
|
||||
"analysis_results": {
|
||||
// If in memory: use cached content
|
||||
// Else: Load from .workflow/{session-id}/.process/ANALYSIS_RESULTS.md
|
||||
},
|
||||
"artifacts_inventory": {
|
||||
// If in memory: use cached list
|
||||
// Else: Scan .workflow/{session-id}/.brainstorming/ directory
|
||||
"synthesis_specification": "path or null",
|
||||
"topic_framework": "path or null",
|
||||
"role_analyses": ["paths"]
|
||||
"brainstorm_artifacts": {
|
||||
// Loaded from context-package.json → brainstorm_artifacts section
|
||||
"role_analyses": [
|
||||
{
|
||||
"role": "system-architect",
|
||||
"files": [{"path": "...", "type": "primary|supplementary"}]
|
||||
}
|
||||
],
|
||||
"guidance_specification": {"path": "...", "exists": true},
|
||||
"synthesis_output": {"path": "...", "exists": true},
|
||||
"conflict_resolution": {"path": "...", "exists": true} // if conflict_risk >= medium
|
||||
},
|
||||
"context_package": {
|
||||
// If in memory: use cached content
|
||||
@@ -68,31 +69,38 @@ Autonomous task JSON and IMPL_PLAN.md generation using action-planning-agent wit
|
||||
}
|
||||
```
|
||||
|
||||
2. **Load Analysis Results** (if not in memory)
|
||||
2. **Load Context Package** (if not in memory)
|
||||
```javascript
|
||||
if (!memory.has("ANALYSIS_RESULTS.md")) {
|
||||
Read(.workflow/{session-id}/.process/ANALYSIS_RESULTS.md)
|
||||
if (!memory.has("context-package.json")) {
|
||||
Read(.workflow/{session-id}/.process/context-package.json)
|
||||
}
|
||||
```
|
||||
|
||||
3. **Discover Artifacts** (if not in memory)
|
||||
3. **Extract & Load Role Analyses** (from context-package.json)
|
||||
```javascript
|
||||
if (!memory.has("artifacts_inventory")) {
|
||||
bash(find .workflow/{session-id}/.brainstorming/ -name "*.md" -type f)
|
||||
// Extract role analysis paths from context package
|
||||
const roleAnalysisPaths = contextPackage.brainstorm_artifacts.role_analyses
|
||||
.flatMap(role => role.files.map(f => f.path));
|
||||
|
||||
// Load each role analysis file
|
||||
roleAnalysisPaths.forEach(path => Read(path));
|
||||
```
|
||||
|
||||
4. **Load Conflict Resolution** (from context-package.json, if exists)
|
||||
```javascript
|
||||
if (contextPackage.brainstorm_artifacts.conflict_resolution?.exists) {
|
||||
Read(contextPackage.brainstorm_artifacts.conflict_resolution.path)
|
||||
}
|
||||
```
|
||||
|
||||
4. **MCP Code Analysis** (optional - enhance understanding)
|
||||
```javascript
|
||||
// Find relevant files for task context
|
||||
mcp__code-index__find_files(pattern="*auth*")
|
||||
mcp__code-index__search_code_advanced(
|
||||
pattern="authentication|oauth",
|
||||
file_pattern="*.ts"
|
||||
)
|
||||
5. **Code Analysis with Native Tools** (optional - enhance understanding)
|
||||
```bash
|
||||
# Find relevant files for task context
|
||||
find . -name "*auth*" -type f
|
||||
rg "authentication|oauth" -g "*.ts"
|
||||
```
|
||||
|
||||
5. **MCP External Research** (optional - gather best practices)
|
||||
6. **MCP External Research** (optional - gather best practices)
|
||||
```javascript
|
||||
// Get external examples for implementation
|
||||
mcp__exa__get_code_context_exa(
|
||||
@@ -128,16 +136,22 @@ Task(
|
||||
### Session Metadata
|
||||
{session_metadata_content}
|
||||
|
||||
### Analysis Results
|
||||
{analysis_results_content}
|
||||
### Role Analyses (Enhanced by Synthesis)
|
||||
{role_analyses_content}
|
||||
- Includes requirements, design specs, enhancements, and clarifications from synthesis phase
|
||||
|
||||
### Artifacts Inventory
|
||||
- **Synthesis Specification**: {synthesis_spec_path}
|
||||
- **Topic Framework**: {topic_framework_path}
|
||||
- **Guidance Specification**: {guidance_spec_path}
|
||||
- **Role Analyses**: {role_analyses_list}
|
||||
|
||||
### Context Package
|
||||
{context_package_summary}
|
||||
- Includes conflict_risk assessment
|
||||
|
||||
### Conflict Resolution (Conditional)
|
||||
{conflict_resolution_content}
|
||||
- Exists only if conflict_risk was medium/high
|
||||
- Contains conflict detection results and resolution strategies
|
||||
|
||||
### MCP Analysis Results (Optional)
|
||||
**Code Structure**: {mcp_code_index_results}
|
||||
@@ -189,8 +203,9 @@ $(cat ~/.claude/workflows/cli-templates/prompts/workflow/impl-plan-template.txt)
|
||||
- Use the template above for IMPL_PLAN.md generation
|
||||
- Replace all {placeholder} variables with actual session-specific values
|
||||
- Populate CCW Workflow Context based on actual phase progression
|
||||
- Extract content from ANALYSIS_RESULTS.md and context-package.json
|
||||
- List all detected brainstorming artifacts with correct paths
|
||||
- Extract content from role analyses and context-package.json
|
||||
- List all detected brainstorming artifacts with correct paths (role analyses, guidance-specification.md)
|
||||
- Include conflict resolution status if CONFLICT_RESOLUTION.md exists
|
||||
|
||||
#### 3. TODO_LIST.md
|
||||
**Location**: .workflow/{session-id}/TODO_LIST.md
|
||||
@@ -222,9 +237,11 @@ $(cat ~/.claude/workflows/cli-templates/prompts/workflow/impl-plan-template.txt)
|
||||
- This template is already the correct one based on execution mode
|
||||
|
||||
**Step 2: Extract and Decompose Tasks**
|
||||
- Parse ANALYSIS_RESULTS.md for task recommendations
|
||||
- Parse role analysis.md files for requirements, design specs, and task recommendations
|
||||
- Review synthesis enhancements and clarifications in role analyses
|
||||
- Apply conflict resolution strategies (if CONFLICT_RESOLUTION.md exists)
|
||||
- Apply task merging rules (merge when possible, decompose only when necessary)
|
||||
- Map artifacts to tasks based on domain (UI/Backend/Data)
|
||||
- Map artifacts to tasks based on domain (UI → ui-designer, Backend → system-architect, Data → data-architect)
|
||||
- Ensure task count ≤10
|
||||
|
||||
**Step 3: Generate Task JSON Files**
|
||||
@@ -254,18 +271,13 @@ $(cat ~/.claude/workflows/cli-templates/prompts/workflow/impl-plan-template.txt)
|
||||
**Code Index Usage**:
|
||||
\`\`\`javascript
|
||||
// Discover authentication-related files
|
||||
mcp__code-index__find_files(pattern="*auth*")
|
||||
bash(find . -name "*auth*" -type f)
|
||||
|
||||
// Search for OAuth patterns
|
||||
mcp__code-index__search_code_advanced(
|
||||
pattern="oauth|jwt|authentication",
|
||||
file_pattern="*.{ts,js}"
|
||||
)
|
||||
bash(rg "oauth|jwt|authentication" -g "*.{ts,js}")
|
||||
|
||||
// Get file summary for key components
|
||||
mcp__code-index__get_file_summary(
|
||||
file_path="src/auth/index.ts"
|
||||
)
|
||||
bash(rg "^(class|function|export|interface)" src/auth/index.ts)
|
||||
\`\`\`
|
||||
|
||||
**Exa Research Usage**:
|
||||
@@ -301,7 +313,7 @@ Before completion, verify:
|
||||
|
||||
Generate all three documents and report completion status:
|
||||
- Task JSON files created: N files
|
||||
- Artifacts integrated: synthesis-spec, topic-framework, N role analyses
|
||||
- Artifacts integrated: synthesis-spec, guidance-specification, N role analyses
|
||||
- MCP enhancements: code-index, exa-research
|
||||
- Session ready for execution: /workflow:execute
|
||||
`
|
||||
@@ -322,18 +334,23 @@ const agentContext = {
|
||||
? memory.get("workflow-session.json")
|
||||
: Read(.workflow/WFS-[id]/workflow-session.json),
|
||||
|
||||
analysis_results: memory.has("ANALYSIS_RESULTS.md")
|
||||
? memory.get("ANALYSIS_RESULTS.md")
|
||||
: Read(.workflow/WFS-[id]/.process/ANALYSIS_RESULTS.md),
|
||||
|
||||
artifacts_inventory: memory.has("artifacts_inventory")
|
||||
? memory.get("artifacts_inventory")
|
||||
: discoverArtifacts(),
|
||||
|
||||
context_package: memory.has("context-package.json")
|
||||
? memory.get("context-package.json")
|
||||
: Read(.workflow/WFS-[id]/.process/context-package.json),
|
||||
|
||||
// Extract brainstorm artifacts from context package
|
||||
brainstorm_artifacts: extractBrainstormArtifacts(context_package),
|
||||
|
||||
// Load role analyses using paths from context package
|
||||
role_analyses: brainstorm_artifacts.role_analyses
|
||||
.flatMap(role => role.files)
|
||||
.map(file => Read(file.path)),
|
||||
|
||||
// Load conflict resolution if exists (from context package)
|
||||
conflict_resolution: brainstorm_artifacts.conflict_resolution?.exists
|
||||
? Read(brainstorm_artifacts.conflict_resolution.path)
|
||||
: null,
|
||||
|
||||
// Optional MCP enhancements
|
||||
mcp_analysis: executeMcpDiscovery()
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name: task-generate-tdd
|
||||
description: Generate TDD task chains with Red-Green-Refactor dependencies
|
||||
argument-hint: "--session WFS-session-id [--agent]"
|
||||
allowed-tools: Read(*), Write(*), Bash(gemini-wrapper:*), TodoWrite(*)
|
||||
allowed-tools: Read(*), Write(*), Bash(gemini:*), TodoWrite(*)
|
||||
---
|
||||
|
||||
# TDD Task Generation Command
|
||||
@@ -72,25 +72,35 @@ Generate TDD-specific tasks from analysis results with complete Red-Green-Refact
|
||||
- If session metadata in memory → Skip loading
|
||||
- Else: Load `.workflow/{session_id}/workflow-session.json`
|
||||
|
||||
2. **Analysis Results Loading**
|
||||
- If ANALYSIS_RESULTS.md in memory → Skip loading
|
||||
- Else: Read `.workflow/{session_id}/.process/ANALYSIS_RESULTS.md`
|
||||
2. **Conflict Resolution Check** (NEW - Priority Input)
|
||||
- If CONFLICT_RESOLUTION.md exists → Load selected strategies
|
||||
- Else: Skip to brainstorming artifacts
|
||||
- Path: `.workflow/{session_id}/.process/CONFLICT_RESOLUTION.md`
|
||||
|
||||
3. **Artifact Discovery**
|
||||
- If artifact inventory in memory → Skip scanning
|
||||
- Else: Scan `.workflow/{session_id}/.brainstorming/` directory
|
||||
- Detect: synthesis-specification.md, topic-framework.md, role analyses
|
||||
- Detect: role analysis documents, guidance-specification.md, role analyses
|
||||
|
||||
4. **Context Package Loading**
|
||||
- Load `.workflow/{session_id}/.process/context-package.json`
|
||||
- Load `.workflow/{session_id}/.process/test-context-package.json` (if exists)
|
||||
|
||||
### Phase 2: TDD Task JSON Generation
|
||||
|
||||
**Input**: Use `.process/ANALYSIS_RESULTS.md` directly (enhanced with TDD structure from concept-enhanced phase)
|
||||
**Input Sources** (priority order):
|
||||
1. **Conflict Resolution** (if exists): `.process/CONFLICT_RESOLUTION.md` - Selected resolution strategies
|
||||
2. **Brainstorming Artifacts**: Role analysis documents (system-architect, product-owner, etc.)
|
||||
3. **Context Package**: `.process/context-package.json` - Project structure and requirements
|
||||
4. **Test Context**: `.process/test-context-package.json` - Existing test patterns
|
||||
|
||||
**ANALYSIS_RESULTS.md includes**:
|
||||
**TDD Task Structure includes**:
|
||||
- Feature list with testable requirements
|
||||
- Test cases for Red phase
|
||||
- Implementation requirements for Green phase
|
||||
- Implementation requirements for Green phase (with test-fix cycle)
|
||||
- Refactoring opportunities
|
||||
- Task dependencies and execution order
|
||||
- Conflict resolution decisions (if applicable)
|
||||
|
||||
### Phase 3: Task JSON & IMPL_PLAN.md Generation
|
||||
|
||||
@@ -247,13 +257,14 @@ Generate IMPL_PLAN.md with 8-section structure:
|
||||
---
|
||||
identifier: WFS-{session-id}
|
||||
source: "User requirements" | "File: path"
|
||||
analysis: .workflow/{session-id}/.process/ANALYSIS_RESULTS.md
|
||||
conflict_resolution: .workflow/{session-id}/.process/CONFLICT_RESOLUTION.md # if exists
|
||||
context_package: .workflow/{session-id}/.process/context-package.json
|
||||
test_context: .workflow/{session-id}/.process/test-context-package.json # if exists
|
||||
workflow_type: "tdd"
|
||||
verification_history:
|
||||
concept_verify: "passed | skipped | pending"
|
||||
conflict_resolution: "executed | skipped" # based on conflict_risk
|
||||
action_plan_verify: "pending"
|
||||
phase_progression: "brainstorm → context → test_context → analysis → concept_verify → tdd_planning"
|
||||
phase_progression: "brainstorm → context → test_context → conflict_resolution → tdd_planning"
|
||||
feature_count: N
|
||||
task_count: N # ≤10 total
|
||||
task_breakdown:
|
||||
@@ -283,10 +294,10 @@ tdd_workflow: true
|
||||
|
||||
## 3. Brainstorming Artifacts Reference
|
||||
- Artifact Usage Strategy
|
||||
- synthesis-specification.md (primary reference)
|
||||
- CONFLICT_RESOLUTION.md (if exists - selected resolution strategies)
|
||||
- role analysis documents (primary reference)
|
||||
- test-context-package.json (test patterns)
|
||||
- context-package.json (smart context)
|
||||
- ANALYSIS_RESULTS.md (technical analysis)
|
||||
- Artifact Priority in Development
|
||||
|
||||
## 4. Implementation Strategy
|
||||
@@ -397,7 +408,7 @@ Update workflow-session.json with TDD metadata:
|
||||
│ ├── IMPL-3.2.json # Complex feature subtask (if needed)
|
||||
│ └── ...
|
||||
└── .process/
|
||||
├── ANALYSIS_RESULTS.md # Enhanced with TDD breakdown from concept-enhanced
|
||||
├── CONFLICT_RESOLUTION.md # Conflict resolution strategies (if conflict_risk ≥ medium)
|
||||
├── test-context-package.json # Test coverage analysis
|
||||
├── context-package.json # Input from context-gather
|
||||
└── green-fix-iteration-*.md # Fix logs from Green phase test-fix cycles
|
||||
@@ -438,7 +449,7 @@ Update workflow-session.json with TDD metadata:
|
||||
| Error | Cause | Resolution |
|
||||
|-------|-------|------------|
|
||||
| Session not found | Invalid session ID | Verify session exists |
|
||||
| Analysis missing | Incomplete planning | Run concept-enhanced first |
|
||||
| Context missing | Incomplete planning | Run context-gather first |
|
||||
|
||||
### TDD Generation Errors
|
||||
| Error | Cause | Resolution |
|
||||
@@ -452,7 +463,7 @@ Update workflow-session.json with TDD metadata:
|
||||
|
||||
### Command Chain
|
||||
- **Called By**: `/workflow:tdd-plan` (Phase 4)
|
||||
- **Calls**: Gemini wrapper for TDD breakdown
|
||||
- **Calls**: Gemini CLI for TDD breakdown
|
||||
- **Followed By**: `/workflow:execute`, `/workflow:tdd-verify`
|
||||
|
||||
### Basic Usage
|
||||
|
||||
@@ -10,7 +10,7 @@ examples:
|
||||
# Task Generation Command
|
||||
|
||||
## 1. Overview
|
||||
This command generates task JSON files and an `IMPL_PLAN.md` from `ANALYSIS_RESULTS.md`. It automatically detects and integrates brainstorming artifacts, creating a structured and context-rich plan for implementation. The command supports two primary execution modes: a default agent-based mode for seamless context handling and a `--cli-execute` mode that leverages the Codex CLI for complex, autonomous development tasks. Its core function is to translate analysis into actionable, executable tasks, ensuring all necessary context, dependencies, and implementation steps are defined upfront.
|
||||
This command generates task JSON files and an `IMPL_PLAN.md` from brainstorming role analyses. It automatically detects and integrates all brainstorming artifacts (role-specific `analysis.md` files and `guidance-specification.md`), creating a structured and context-rich plan for implementation. The command supports two primary execution modes: a default agent-based mode for seamless context handling and a `--cli-execute` mode that leverages the Codex CLI for complex, autonomous development tasks. Its core function is to translate requirements and design specifications from role analyses into actionable, executable tasks, ensuring all necessary context, dependencies, and implementation steps are defined upfront.
|
||||
|
||||
## 2. Execution Modes
|
||||
|
||||
@@ -37,8 +37,8 @@ When the `--cli-execute` flag is used, each step in `implementation_approach` **
|
||||
## 3. Core Principles
|
||||
This command is built on a set of core principles to ensure efficient and reliable task generation.
|
||||
|
||||
- **Analysis-Driven**: All generated tasks originate from `ANALYSIS_RESULTS.md`, ensuring a direct link between analysis and implementation
|
||||
- **Artifact-Aware**: Automatically detects and integrates brainstorming outputs (`synthesis-specification.md`, role analyses) to enrich task context
|
||||
- **Role Analysis-Driven**: All generated tasks originate from role-specific `analysis.md` files (enhanced in synthesis phase), ensuring direct link between requirements/design and implementation
|
||||
- **Artifact-Aware**: Automatically detects and integrates all brainstorming outputs (role analyses, guidance-specification.md, enhancements) to enrich task context
|
||||
- **Context-Rich**: Embeds comprehensive context (requirements, focus paths, acceptance criteria, artifact references) directly into each task JSON
|
||||
- **Flow-Control Ready**: Pre-defines clear execution sequence (`pre_analysis`, `implementation_approach`) within each task
|
||||
- **Memory-First**: Prioritizes using documents already loaded in conversation memory to avoid redundant file operations
|
||||
@@ -52,8 +52,9 @@ The command follows a streamlined, three-step process to convert analysis into e
|
||||
### Step 1: Input & Discovery
|
||||
The process begins by gathering all necessary inputs. It follows a **Memory-First Rule**, skipping file reads if documents are already in the conversation memory.
|
||||
1. **Session Validation**: Loads and validates the session from `.workflow/{session_id}/workflow-session.json`.
|
||||
2. **Analysis Loading**: Reads the primary input, `.workflow/{session_id}/.process/ANALYSIS_RESULTS.md`.
|
||||
3. **Artifact Discovery**: Scans the `.workflow/{session_id}/.brainstorming/` directory to find `synthesis-specification.md`, `topic-framework.md`, and various role analyses.
|
||||
2. **Context Package Loading** (primary source): Reads `.workflow/{session_id}/.process/context-package.json` for smart context and artifact catalog.
|
||||
3. **Brainstorm Artifacts Extraction**: Extracts role analysis paths from `context-package.json` → `brainstorm_artifacts.role_analyses[]` (supports `analysis*.md` automatically).
|
||||
4. **Document Loading**: Reads role analyses, guidance specification, synthesis output, and conflict resolution (if exists) using paths from context package.
|
||||
|
||||
### Step 2: Task Decomposition & Grouping
|
||||
Once all inputs are loaded, the command analyzes the tasks defined in the analysis results and groups them based on shared context.
|
||||
@@ -174,7 +175,7 @@ This enhanced 5-field schema embeds all necessary context, artifacts, and execut
|
||||
"status": "pending|active|completed|blocked|container",
|
||||
"meta": {
|
||||
"type": "feature|bugfix|refactor|test-gen|test-fix|docs",
|
||||
"agent": "@code-developer|@test-fix-agent|@general-purpose",
|
||||
"agent": "@code-developer|@test-fix-agent|@universal-executor",
|
||||
"execution_group": "group-id|null",
|
||||
"context_signature": "hash-of-focus_paths-and-artifacts"
|
||||
},
|
||||
@@ -188,25 +189,23 @@ This enhanced 5-field schema embeds all necessary context, artifacts, and execut
|
||||
"shared_context": {"tech_stack": [], "conventions": []},
|
||||
"artifacts": [
|
||||
{
|
||||
"type": "synthesis_specification",
|
||||
"source": "brainstorm_synthesis",
|
||||
"path": ".workflow/WFS-[session]/.brainstorming/synthesis-specification.md",
|
||||
"path": "{{from context-package.json → brainstorm_artifacts.role_analyses[].files[].path}}",
|
||||
"priority": "highest",
|
||||
"usage": "Primary requirement source - use for consolidated requirements and cross-role alignment"
|
||||
"usage": "Role-specific requirements, design specs, enhanced by synthesis. Paths loaded dynamically from context-package.json (supports multiple files per role: analysis.md, analysis-01.md, analysis-api.md, etc.). Common roles: product-manager, system-architect, ui-designer, data-architect, ux-expert."
|
||||
},
|
||||
{
|
||||
"type": "role_analysis",
|
||||
"source": "brainstorm_roles",
|
||||
"path": ".workflow/WFS-[session]/.brainstorming/[role-name]/analysis.md",
|
||||
"path": ".workflow/WFS-[session]/.process/context-package.json",
|
||||
"priority": "critical",
|
||||
"usage": "Smart context with focus paths, module structure, dependency graph, existing patterns, tech stack. Use for: environment setup, dependency resolution, pattern discovery, conflict detection results"
|
||||
},
|
||||
{
|
||||
"path": ".workflow/WFS-[session]/.process/CONFLICT_RESOLUTION.md",
|
||||
"priority": "high",
|
||||
"usage": "Technical/design/business details from specific roles. Common roles: system-architect (ADRs, APIs, caching), ui-designer (design tokens, layouts), product-manager (user stories, metrics)",
|
||||
"note": "Dynamically discovered - multiple role analysis files may be included based on brainstorming results"
|
||||
"usage": "Conflict resolution strategies and selected approaches (conditional, exists only if conflict_risk was medium/high). Use for: understanding code conflicts, applying resolution strategies, migration planning"
|
||||
},
|
||||
{
|
||||
"type": "topic_framework",
|
||||
"source": "brainstorm_framework",
|
||||
"path": ".workflow/WFS-[session]/.brainstorming/topic-framework.md",
|
||||
"priority": "low",
|
||||
"path": ".workflow/WFS-[session]/.brainstorming/guidance-specification.md",
|
||||
"priority": "medium",
|
||||
"usage": "Discussion context and framework structure"
|
||||
}
|
||||
]
|
||||
@@ -214,41 +213,45 @@ This enhanced 5-field schema embeds all necessary context, artifacts, and execut
|
||||
"flow_control": {
|
||||
"pre_analysis": [
|
||||
{
|
||||
"step": "load_synthesis_specification",
|
||||
"action": "Load consolidated synthesis specification",
|
||||
"step": "load_context_package",
|
||||
"action": "Load context package for artifact paths",
|
||||
"commands": [
|
||||
"bash(ls .workflow/WFS-[session]/.brainstorming/synthesis-specification.md 2>/dev/null || echo 'not found')",
|
||||
"Read(.workflow/WFS-[session]/.brainstorming/synthesis-specification.md)"
|
||||
"Read(.workflow/WFS-[session]/.process/context-package.json)"
|
||||
],
|
||||
"output_to": "synthesis_specification",
|
||||
"on_error": "skip_optional"
|
||||
"output_to": "context_package",
|
||||
"on_error": "fail"
|
||||
},
|
||||
{
|
||||
"step": "load_role_analysis_artifacts",
|
||||
"action": "Load role-specific analysis documents for technical details",
|
||||
"note": "These artifacts contain implementation details not in synthesis. Consult when needing: API schemas, caching configs, design tokens, ADRs, performance metrics.",
|
||||
"action": "Load role analyses from context-package.json (supports multiple files per role)",
|
||||
"note": "Paths loaded from context-package.json → brainstorm_artifacts.role_analyses[]. Supports analysis*.md automatically.",
|
||||
"commands": [
|
||||
"bash(find .workflow/WFS-[session]/.brainstorming/ -name 'analysis.md' 2>/dev/null | head -8)",
|
||||
"Read(.workflow/WFS-[session]/.brainstorming/system-architect/analysis.md)",
|
||||
"Read(.workflow/WFS-[session]/.brainstorming/ui-designer/analysis.md)",
|
||||
"Read(.workflow/WFS-[session]/.brainstorming/product-manager/analysis.md)"
|
||||
"Read(.workflow/WFS-[session]/.process/context-package.json)",
|
||||
"Extract(brainstorm_artifacts.role_analyses[].files[].path)",
|
||||
"Read(each extracted path)"
|
||||
],
|
||||
"output_to": "role_analysis_artifacts",
|
||||
"on_error": "skip_optional"
|
||||
},
|
||||
{
|
||||
"step": "load_planning_context",
|
||||
"action": "Load plan-generated analysis",
|
||||
"action": "Load plan-generated context intelligence and conflict resolution",
|
||||
"note": "CRITICAL: context-package.json provides smart context (focus paths, dependencies, patterns). CONFLICT_RESOLUTION.md (if exists) provides conflict resolution strategies.",
|
||||
"commands": [
|
||||
"Read(.workflow/WFS-[session]/.process/ANALYSIS_RESULTS.md)",
|
||||
"Read(.workflow/WFS-[session]/.process/context-package.json)"
|
||||
"Read(.workflow/WFS-[session]/.process/context-package.json)",
|
||||
"bash(test -f .workflow/WFS-[session]/.process/CONFLICT_RESOLUTION.md && cat .workflow/WFS-[session]/.process/CONFLICT_RESOLUTION.md || echo 'No conflicts detected')"
|
||||
],
|
||||
"output_to": "planning_context"
|
||||
"output_to": "planning_context",
|
||||
"on_error": "fail",
|
||||
"usage_guidance": {
|
||||
"context-package.json": "Use for focus_paths validation, dependency resolution, existing pattern discovery, module structure understanding, conflict_risk assessment",
|
||||
"CONFLICT_RESOLUTION.md": "Apply selected conflict resolution strategies, understand migration requirements (conditional, may not exist if no conflicts)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"step": "mcp_codebase_exploration",
|
||||
"action": "Explore codebase using MCP tools",
|
||||
"command": "mcp__code-index__find_files(pattern=\"[patterns]\") && mcp__code-index__search_code_advanced(pattern=\"[patterns]\")",
|
||||
"step": "codebase_exploration",
|
||||
"action": "Explore codebase using native tools",
|
||||
"command": "bash(find . -name \"[patterns]\" -type f && rg \"[patterns]\")",
|
||||
"output_to": "codebase_structure"
|
||||
},
|
||||
{
|
||||
@@ -256,7 +259,7 @@ This enhanced 5-field schema embeds all necessary context, artifacts, and execut
|
||||
"action": "Analyze existing code patterns and identify modification targets",
|
||||
"commands": [
|
||||
"bash(cd \"[focus_paths]\")",
|
||||
"bash(~/.claude/scripts/gemini-wrapper -p \"PURPOSE: Identify modification targets TASK: Analyze '[title]' and locate specific files/functions/lines to modify CONTEXT: [synthesis_specification] [individual_artifacts] EXPECTED: Code locations in format 'file:function:lines' RULES: Prioritize synthesis-specification.md, identify exact modification points\")"
|
||||
"bash(gemini \"PURPOSE: Identify modification targets TASK: Analyze '[title]' and locate specific files/functions/lines to modify CONTEXT: [role_analyses] [individual_artifacts] EXPECTED: Code locations in format 'file:function:lines' RULES: Consult role analyses for requirements, identify exact modification points\")"
|
||||
],
|
||||
"output_to": "task_context_with_targets",
|
||||
"on_error": "fail"
|
||||
@@ -265,20 +268,26 @@ This enhanced 5-field schema embeds all necessary context, artifacts, and execut
|
||||
"implementation_approach": [
|
||||
{
|
||||
"step": 1,
|
||||
"title": "Implement task following synthesis specification",
|
||||
"description": "Implement '[title]' following synthesis specification. PRIORITY: Use synthesis-specification.md as primary requirement source. When implementation needs technical details (e.g., API schemas, caching configs, design tokens), refer to artifacts[] for detailed specifications from original role analyses.",
|
||||
"title": "Implement task following role analyses and context",
|
||||
"description": "Implement '[title]' following this priority: 1) role analysis.md files (requirements, design specs, enhancements from synthesis), 2) context-package.json (smart context, focus paths, patterns), 3) CONFLICT_RESOLUTION.md (if exists, conflict resolution strategies). Role analyses are enhanced by synthesis phase with concept improvements and clarifications.",
|
||||
"modification_points": [
|
||||
"Apply consolidated requirements from synthesis-specification.md",
|
||||
"Follow technical guidelines from synthesis",
|
||||
"Consult artifacts for implementation details when needed",
|
||||
"Apply requirements and design specs from role analysis documents",
|
||||
"Use enhancements and clarifications from synthesis phase",
|
||||
"Apply conflict resolution strategies (if conflicts were detected)",
|
||||
"Use context-package.json for focus paths and dependency resolution",
|
||||
"Consult specific role artifacts for implementation details when needed",
|
||||
"Integrate with existing patterns"
|
||||
],
|
||||
"logic_flow": [
|
||||
"Load synthesis specification",
|
||||
"Extract requirements and design",
|
||||
"Analyze existing patterns",
|
||||
"Implement following specification",
|
||||
"Consult artifacts for technical details when needed",
|
||||
"Load role analyses (requirements, design, enhancements from synthesis)",
|
||||
"Load context-package.json (smart context: focus paths, dependencies, patterns, conflict_risk)",
|
||||
"Load CONFLICT_RESOLUTION.md (if exists, conflict resolution strategies)",
|
||||
"Extract requirements and design decisions from role documents",
|
||||
"Review synthesis enhancements and clarifications",
|
||||
"Apply conflict resolution strategies (if applicable)",
|
||||
"Identify modification targets using context package",
|
||||
"Implement following role requirements and design specs",
|
||||
"Consult role artifacts for detailed specifications when needed",
|
||||
"Validate against acceptance criteria"
|
||||
],
|
||||
"depends_on": [],
|
||||
@@ -297,14 +306,15 @@ This document provides a high-level overview of the entire implementation plan.
|
||||
---
|
||||
identifier: WFS-{session-id}
|
||||
source: "User requirements" | "File: path" | "Issue: ISS-001"
|
||||
analysis: .workflow/{session-id}/.process/ANALYSIS_RESULTS.md
|
||||
role_analyses: .workflow/{session-id}/.brainstorming/[role]/analysis*.md
|
||||
artifacts: .workflow/{session-id}/.brainstorming/
|
||||
context_package: .workflow/{session-id}/.process/context-package.json # CCW smart context
|
||||
conflict_resolution: .workflow/{session-id}/.process/CONFLICT_RESOLUTION.md # Conditional, if conflict_risk >= medium
|
||||
workflow_type: "standard | tdd | design" # Indicates execution model
|
||||
verification_history: # CCW quality gates
|
||||
concept_verify: "passed | skipped | pending"
|
||||
synthesis_clarify: "passed | skipped | pending" # Brainstorm phase clarification
|
||||
action_plan_verify: "pending"
|
||||
phase_progression: "brainstorm → context → analysis → concept_verify → planning" # CCW workflow phases
|
||||
phase_progression: "brainstorm → synthesis → context → conflict_resolution → planning" # CCW workflow phases
|
||||
---
|
||||
|
||||
# Implementation Plan: {Project Title}
|
||||
@@ -323,14 +333,14 @@ Core requirements, objectives, technical approach summary (2-3 paragraphs max).
|
||||
|
||||
### CCW Workflow Context
|
||||
**Phase Progression**:
|
||||
- ✅ Phase 1: Brainstorming (synthesis-specification.md generated)
|
||||
- ✅ Phase 2: Context Gathering (context-package.json: {N} files, {M} modules analyzed)
|
||||
- ✅ Phase 3: Enhanced Analysis (ANALYSIS_RESULTS.md: Gemini/Qwen/Codex parallel insights)
|
||||
- ✅ Phase 4: Concept Verification ({X} clarifications answered, synthesis updated | skipped)
|
||||
- ⏳ Phase 5: Action Planning (current phase - generating IMPL_PLAN.md)
|
||||
- ✅ Phase 1: Brainstorming (role analyses generated by participating roles)
|
||||
- ✅ Phase 2: Synthesis (concept enhancement + clarification, {N} questions answered, role analyses refined)
|
||||
- ✅ Phase 3: Context Gathering (context-package.json: {N} files, {M} modules analyzed, conflict_risk: {level})
|
||||
- ✅ Phase 4: Conflict Resolution ({status}: {conflict_count} conflicts detected and resolved | skipped if no conflicts)
|
||||
- ⏳ Phase 5: Task Generation (current phase - generating IMPL_PLAN.md and task JSONs)
|
||||
|
||||
**Quality Gates**:
|
||||
- concept-verify: ✅ Passed (0 ambiguities remaining) | ⏭️ Skipped (user decision) | ⏳ Pending
|
||||
- synthesis-clarify: ✅ Passed ({N} ambiguities resolved, {M} enhancements applied)
|
||||
- action-plan-verify: ⏳ Pending (recommended before /workflow:execute)
|
||||
|
||||
**Context Package Summary**:
|
||||
@@ -364,40 +374,42 @@ Core requirements, objectives, technical approach summary (2-3 paragraphs max).
|
||||
## 3. Brainstorming Artifacts Reference
|
||||
|
||||
### Artifact Usage Strategy
|
||||
**Primary Reference (synthesis-specification.md)**:
|
||||
- **What**: Comprehensive implementation blueprint from multi-role synthesis
|
||||
- **When**: Every task references this first for requirements and design decisions
|
||||
- **How**: Extract architecture decisions, UI/UX patterns, functional requirements, non-functional requirements
|
||||
- **Priority**: Authoritative - overrides role-specific analyses when conflicts arise
|
||||
- **CCW Value**: Consolidates insights from all brainstorming roles into single source of truth
|
||||
**Primary Reference (Role Analyses)**:
|
||||
- **What**: Role-specific analyses from brainstorming phase providing multi-perspective insights
|
||||
- **When**: Every task references relevant role analyses for requirements and design decisions
|
||||
- **How**: Extract requirements, architecture decisions, UI/UX patterns from applicable role documents
|
||||
- **Priority**: Collective authoritative source - multiple role perspectives provide comprehensive coverage
|
||||
- **CCW Value**: Maintains role-specific expertise while enabling cross-role integration during planning
|
||||
|
||||
**Context Intelligence (context-package.json)**:
|
||||
- **What**: Smart context gathered by CCW's context-gather phase
|
||||
- **Content**: Focus paths, dependency graph, existing patterns, module structure
|
||||
- **Usage**: Tasks load this via `flow_control.preparatory_steps` for environment setup
|
||||
- **Content**: Focus paths, dependency graph, existing patterns, module structure, tech stack, conflict_risk assessment
|
||||
- **Usage**: Tasks load this via `flow_control.preparatory_steps` for environment setup and conflict awareness
|
||||
- **CCW Value**: Automated intelligent context discovery replacing manual file exploration
|
||||
|
||||
**Technical Analysis (ANALYSIS_RESULTS.md)**:
|
||||
- **What**: Gemini/Qwen/Codex parallel analysis results
|
||||
- **Content**: Optimization strategies, risk assessment, architecture review, implementation patterns
|
||||
- **Usage**: Referenced in task planning for technical guidance and risk mitigation
|
||||
- **CCW Value**: Multi-model parallel analysis providing comprehensive technical intelligence
|
||||
**Conflict Resolution (CONFLICT_RESOLUTION.md)**:
|
||||
- **What**: Conflict analysis and resolution strategies (conditional, exists only if conflict_risk >= medium)
|
||||
- **Content**: Conflict detection results, resolution options, selected strategies, migration requirements
|
||||
- **Usage**: Referenced in task planning for applying conflict resolution strategies and understanding code conflicts
|
||||
- **CCW Value**: CLI-powered conflict detection and strategic resolution guidance for complex codebases
|
||||
|
||||
### Integrated Specifications (Highest Priority)
|
||||
- **synthesis-specification.md**: Comprehensive implementation blueprint
|
||||
- Contains: Architecture design, UI/UX guidelines, functional/non-functional requirements, implementation roadmap, risk assessment
|
||||
### Role Analysis Documents (Highest Priority)
|
||||
Role analyses provide specialized perspectives on the implementation:
|
||||
- **system-architect/analysis.md**: Architecture design, ADRs, API specifications, caching strategies
|
||||
- **ui-designer/analysis.md**: Design tokens, layout specifications, component patterns
|
||||
- **ux-expert/analysis.md**: User journeys, interaction flows, accessibility requirements
|
||||
- **guidance-specification/analysis.md**: Product vision, user stories, business requirements, success metrics
|
||||
- **data-architect/analysis.md**: Data models, schemas, database design, migration strategies
|
||||
- **api-designer/analysis.md**: API contracts, endpoint specifications, integration patterns
|
||||
|
||||
### Supporting Artifacts (Reference)
|
||||
- **topic-framework.md**: Role-specific discussion points and analysis framework
|
||||
- **system-architect/analysis.md**: Detailed architecture specifications
|
||||
- **ui-designer/analysis.md**: Layout and component specifications
|
||||
- **product-manager/analysis.md**: Product vision and user stories
|
||||
|
||||
**Artifact Priority in Development**:
|
||||
1. synthesis-specification.md (primary reference for all tasks)
|
||||
2. context-package.json (smart context for execution environment)
|
||||
3. ANALYSIS_RESULTS.md (technical analysis and optimization strategies)
|
||||
4. Role-specific analyses (fallback for detailed specifications)
|
||||
1. context-package.json (primary source: smart context AND brainstorm artifact catalog in `brainstorm_artifacts`)
|
||||
2. role/analysis*.md (paths from context-package.json: requirements, design specs, enhanced by synthesis)
|
||||
3. CONFLICT_RESOLUTION.md (path from context-package.json: conflict strategies, if conflict_risk >= medium)
|
||||
4. guidance-specification.md (path from context-package.json: discussion framework)
|
||||
|
||||
## 4. Implementation Strategy
|
||||
|
||||
@@ -414,7 +426,7 @@ Core requirements, objectives, technical approach summary (2-3 paragraphs max).
|
||||
|
||||
### Architectural Approach
|
||||
**Key Architecture Decisions**:
|
||||
- [ADR references from synthesis]
|
||||
- [ADR references from role analyses]
|
||||
- [Justification for architecture patterns]
|
||||
|
||||
**Integration Strategy**:
|
||||
@@ -506,7 +518,7 @@ Core requirements, objectives, technical approach summary (2-3 paragraphs max).
|
||||
## 8. Success Criteria
|
||||
|
||||
**Functional Completeness**:
|
||||
- [ ] All requirements from synthesis-specification.md implemented
|
||||
- [ ] All requirements from role analysis documents implemented
|
||||
- [ ] All acceptance criteria from task.json files met
|
||||
|
||||
**Technical Quality**:
|
||||
@@ -520,7 +532,7 @@ Core requirements, objectives, technical approach summary (2-3 paragraphs max).
|
||||
- [ ] Documentation complete
|
||||
|
||||
**Business Metrics**:
|
||||
- [ ] [Key business metrics from synthesis]
|
||||
- [ ] [Key business metrics from role analyses]
|
||||
```
|
||||
|
||||
### 6.3. TODO_LIST.md Structure
|
||||
@@ -553,39 +565,40 @@ The command organizes outputs into a standard directory structure.
|
||||
│ ├── IMPL-1.json # Container task
|
||||
│ ├── IMPL-1.1.json # Leaf task with flow_control
|
||||
│ └── IMPL-1.2.json # Leaf task with flow_control
|
||||
├── .brainstorming/ # Input artifacts
|
||||
│ ├── synthesis-specification.md
|
||||
│ ├── topic-framework.md
|
||||
│ └── {role}/analysis.md
|
||||
├── .brainstorming # Input artifacts from brainstorm + synthesis
|
||||
│ ├── guidance-specification.md # Discussion framework
|
||||
│ └── {role}/analysis*.md # Role analyses (enhanced by synthesis, may have multiple files per role)
|
||||
└── .process/
|
||||
├── ANALYSIS_RESULTS.md # Input from concept-enhanced
|
||||
└── context-package.json # Input from context-gather
|
||||
├── context-package.json # Input from context-gather (smart context + conflict_risk)
|
||||
└── CONFLICT_RESOLUTION.md # Input from conflict-resolution (conditional, if conflict_risk >= medium)
|
||||
```
|
||||
|
||||
## 7. Artifact Integration
|
||||
The command intelligently detects and integrates artifacts from the `.brainstorming/` directory.
|
||||
|
||||
#### Artifact Priority
|
||||
1. **synthesis-specification.md** (highest): The complete, integrated specification that serves as the primary source of truth.
|
||||
2. **topic-framework.md** (medium): The discussion framework that provides high-level structure.
|
||||
3. **role/analysis.md** (low): Individual role-based analyses that offer detailed, perspective-specific insights.
|
||||
1. **context-package.json** (critical): Primary source - smart context AND all brainstorm artifact paths in `brainstorm_artifacts` section
|
||||
2. **role/analysis*.md** (highest): Paths from context-package.json → role-specific requirements, design specs, enhanced by synthesis
|
||||
3. **CONFLICT_RESOLUTION.md** (high): Path from context-package.json → conflict strategies (conditional, if conflict_risk >= medium)
|
||||
4. **guidance-specification.md** (medium): Path from context-package.json → discussion framework from brainstorming
|
||||
|
||||
#### Artifact-Task Mapping
|
||||
Artifacts are mapped to tasks based on their relevance to the task's domain.
|
||||
- **synthesis-specification.md**: Included in all tasks as the primary reference.
|
||||
- **ui-designer/analysis.md**: Mapped to UI/Frontend tasks.
|
||||
- **system-architect/analysis.md**: Mapped to Architecture/Backend tasks.
|
||||
- **subject-matter-expert/analysis.md**: Mapped to tasks related to domain logic or standards.
|
||||
- **data-architect/analysis.md**: Mapped to tasks involving data models or APIs.
|
||||
- **Role analysis.md files**: Primary requirements source - all relevant role analyses included based on task type
|
||||
- **ui-designer/analysis.md**: Mapped to UI/Frontend tasks for design tokens, layouts, components
|
||||
- **system-architect/analysis.md**: Mapped to Architecture/Backend tasks for ADRs, APIs, patterns
|
||||
- **subject-matter-expert/analysis.md**: Mapped to tasks related to domain logic or standards
|
||||
- **data-architect/analysis.md**: Mapped to tasks involving data models, schemas, or APIs
|
||||
- **product-manager/analysis.md**: Mapped to all tasks for business requirements and user stories
|
||||
|
||||
This ensures that each task has access to the most relevant and detailed specifications, from the high-level synthesis down to the role-specific details.
|
||||
This ensures that each task has access to the most relevant and detailed specifications from role-specific analyses.
|
||||
|
||||
## 8. CLI Execute Mode Details
|
||||
When using `--cli-execute`, each step in `implementation_approach` includes a `command` field with the execution command.
|
||||
|
||||
**Key Points**:
|
||||
- **Sequential Steps**: Steps execute in order defined in `implementation_approach` array
|
||||
- **Context Delivery**: Each codex command receives context via CONTEXT field: `@{.workflow/{session}/.process/context-package.json}` and `@{.workflow/{session}/.brainstorming/synthesis-specification.md}`
|
||||
- **Context Delivery**: Each codex command receives context via CONTEXT field: `@.workflow/WFS-session/.process/context-package.json` (role analyses loaded dynamically from context package)
|
||||
- **Multi-Step Tasks**: First step provides full context, subsequent steps use `resume --last` to maintain session continuity
|
||||
- **Step Dependencies**: Later steps reference outputs from earlier steps via `depends_on` field
|
||||
|
||||
@@ -607,10 +620,14 @@ When using `--cli-execute`, each step in `implementation_approach` includes a `c
|
||||
"flow_control": {
|
||||
"pre_analysis": [
|
||||
{
|
||||
"step": "load_synthesis",
|
||||
"action": "Load synthesis specification for requirements",
|
||||
"commands": ["Read(.workflow/WFS-session/.brainstorming/synthesis-specification.md)"],
|
||||
"output_to": "synthesis_spec",
|
||||
"step": "load_role_analyses",
|
||||
"action": "Load role analyses from context-package.json",
|
||||
"commands": [
|
||||
"Read(.workflow/WFS-session/.process/context-package.json)",
|
||||
"Extract(brainstorm_artifacts.role_analyses[].files[].path)",
|
||||
"Read(each extracted path)"
|
||||
],
|
||||
"output_to": "role_analyses",
|
||||
"on_error": "fail"
|
||||
},
|
||||
{
|
||||
@@ -625,7 +642,7 @@ When using `--cli-execute`, each step in `implementation_approach` includes a `c
|
||||
{
|
||||
"step": 1,
|
||||
"title": "Implement JWT-based authentication",
|
||||
"description": "Create authentication module using JWT following [synthesis_spec] requirements and [context_pkg] patterns",
|
||||
"description": "Create authentication module using JWT following [role_analyses] requirements and [context_pkg] patterns",
|
||||
"modification_points": [
|
||||
"Create auth service with JWT generation",
|
||||
"Implement login endpoint with credential validation",
|
||||
@@ -660,10 +677,14 @@ When using `--cli-execute`, each step in `implementation_approach` includes a `c
|
||||
"flow_control": {
|
||||
"pre_analysis": [
|
||||
{
|
||||
"step": "load_synthesis",
|
||||
"action": "Load synthesis specification",
|
||||
"commands": ["Read(.workflow/WFS-session/.brainstorming/synthesis-specification.md)"],
|
||||
"output_to": "synthesis_spec",
|
||||
"step": "load_role_analyses",
|
||||
"action": "Load role analyses from context-package.json",
|
||||
"commands": [
|
||||
"Read(.workflow/WFS-session/.process/context-package.json)",
|
||||
"Extract(brainstorm_artifacts.role_analyses[].files[].path)",
|
||||
"Read(each extracted path)"
|
||||
],
|
||||
"output_to": "role_analyses",
|
||||
"on_error": "fail"
|
||||
}
|
||||
],
|
||||
@@ -672,7 +693,7 @@ When using `--cli-execute`, each step in `implementation_approach` includes a `c
|
||||
"step": 1,
|
||||
"title": "Implement authentication with Codex",
|
||||
"description": "Create JWT-based authentication module",
|
||||
"command": "bash(codex -C src/auth --full-auto exec \"PURPOSE: Implement user authentication TASK: JWT-based auth with login/registration MODE: auto CONTEXT: @{.workflow/WFS-session/.process/context-package.json} @{.workflow/WFS-session/.brainstorming/synthesis-specification.md} EXPECTED: Complete auth module with tests RULES: Follow synthesis specification\" --skip-git-repo-check -s danger-full-access)",
|
||||
"command": "bash(codex -C src/auth --full-auto exec \"PURPOSE: Implement user authentication TASK: JWT-based auth with login/registration MODE: auto CONTEXT: @.workflow/WFS-session/.process/context-package.json EXPECTED: Complete auth module with tests RULES: Load role analyses from context-package.json → brainstorm_artifacts\" --skip-git-repo-check -s danger-full-access)",
|
||||
"modification_points": ["Create auth service", "Implement endpoints", "Add JWT middleware"],
|
||||
"logic_flow": ["Validate credentials", "Generate JWT", "Return token"],
|
||||
"depends_on": [],
|
||||
@@ -699,10 +720,11 @@ When using `--cli-execute`, each step in `implementation_approach` includes a `c
|
||||
"pre_analysis": [
|
||||
{
|
||||
"step": "load_context",
|
||||
"action": "Load context and synthesis",
|
||||
"action": "Load context and role analyses from context-package.json",
|
||||
"commands": [
|
||||
"Read(.workflow/WFS-session/.process/context-package.json)",
|
||||
"Read(.workflow/WFS-session/.brainstorming/synthesis-specification.md)"
|
||||
"Extract(brainstorm_artifacts.role_analyses[].files[].path)",
|
||||
"Read(each extracted path)"
|
||||
],
|
||||
"output_to": "full_context",
|
||||
"on_error": "fail"
|
||||
@@ -713,7 +735,7 @@ When using `--cli-execute`, each step in `implementation_approach` includes a `c
|
||||
"step": 1,
|
||||
"title": "Create RBAC models",
|
||||
"description": "Define role and permission data models",
|
||||
"command": "bash(codex -C src/auth --full-auto exec \"PURPOSE: Create RBAC models TASK: Role and permission models MODE: auto CONTEXT: @{.workflow/WFS-session/.process/context-package.json} @{.workflow/WFS-session/.brainstorming/synthesis-specification.md} EXPECTED: Models with migrations RULES: Follow synthesis spec\" --skip-git-repo-check -s danger-full-access)",
|
||||
"command": "bash(codex -C src/auth --full-auto exec \"PURPOSE: Create RBAC models TASK: Role and permission models MODE: auto CONTEXT: @.workflow/WFS-session/.process/context-package.json EXPECTED: Models with migrations RULES: Load role analyses from context-package.json → brainstorm_artifacts\" --skip-git-repo-check -s danger-full-access)",
|
||||
"modification_points": ["Define role model", "Define permission model", "Create migrations"],
|
||||
"logic_flow": ["Design schema", "Implement models", "Generate migrations"],
|
||||
"depends_on": [],
|
||||
@@ -762,7 +784,7 @@ When using `--cli-execute`, each step in `implementation_approach` includes a `c
|
||||
| Error | Cause | Resolution |
|
||||
|-------|-------|------------|
|
||||
| Session not found | Invalid session ID | Verify session exists |
|
||||
| Analysis missing | Incomplete planning | Run concept-enhanced first |
|
||||
| Context missing | Incomplete planning | Run context-gather first |
|
||||
| Invalid format | Corrupted results | Regenerate analysis |
|
||||
|
||||
### Task Generation Errors
|
||||
@@ -795,5 +817,5 @@ When using `--cli-execute`, each step in `implementation_approach` includes a `c
|
||||
- `/workflow:plan` - Orchestrates entire planning
|
||||
- `/workflow:plan --cli-execute` - Planning with CLI execution mode
|
||||
- `/workflow:tools:context-gather` - Provides context package
|
||||
- `/workflow:tools:concept-enhanced` - Provides analysis results
|
||||
- `/workflow:tools:conflict-resolution` - Provides conflict resolution strategies (optional)
|
||||
- `/workflow:execute` - Executes generated tasks
|
||||
|
||||
@@ -48,7 +48,7 @@ Specialized analysis tool for test generation workflows that uses Gemini to anal
|
||||
|
||||
**Tool Configuration**:
|
||||
```bash
|
||||
cd .workflow/{test_session_id}/.process && ~/.claude/scripts/gemini-wrapper -p "
|
||||
cd .workflow/{test_session_id}/.process && gemini -p "
|
||||
PURPOSE: Analyze test coverage gaps and design comprehensive test generation strategy
|
||||
TASK: Study implementation context, existing tests, and generate test requirements for missing coverage
|
||||
MODE: analysis
|
||||
|
||||
@@ -17,11 +17,11 @@ Specialized context collector for test generation workflows that analyzes test c
|
||||
- **Gap Identification**: Locate implementation files without corresponding tests
|
||||
- **Source Context Loading**: Import implementation summaries from source session
|
||||
- **Framework Detection**: Auto-detect test framework and patterns
|
||||
- **MCP-Powered**: Leverage code-index tools for precise analysis
|
||||
- **Ripgrep-Powered**: Leverage ripgrep and native tools for precise analysis
|
||||
|
||||
## Core Responsibilities
|
||||
- Load source session implementation context
|
||||
- Analyze current test coverage using MCP tools
|
||||
- Analyze current test coverage using ripgrep
|
||||
- Identify files requiring test generation
|
||||
- Detect test framework and conventions
|
||||
- Package test context for analysis phase
|
||||
@@ -41,21 +41,17 @@ Specialized context collector for test generation workflows that analyzes test c
|
||||
- Extract changed files and implementation scope
|
||||
- Identify implementation patterns and tech stack
|
||||
|
||||
### Phase 2: Test Coverage Analysis (MCP Tools)
|
||||
### Phase 2: Test Coverage Analysis (Ripgrep)
|
||||
|
||||
1. **Existing Test Discovery**
|
||||
```bash
|
||||
# Find all test files
|
||||
mcp__code-index__find_files(pattern="*.test.*")
|
||||
mcp__code-index__find_files(pattern="*.spec.*")
|
||||
mcp__code-index__find_files(pattern="*test_*.py")
|
||||
find . -name "*.test.*" -type f
|
||||
find . -name "*.spec.*" -type f
|
||||
find . -name "*test_*.py" -type f
|
||||
|
||||
# Search for test patterns
|
||||
mcp__code-index__search_code_advanced(
|
||||
pattern="describe|it|test|@Test",
|
||||
file_pattern="*.test.*",
|
||||
context_lines=0
|
||||
)
|
||||
rg "describe|it|test|@Test" -g "*.test.*"
|
||||
```
|
||||
|
||||
2. **Coverage Gap Analysis**
|
||||
@@ -80,18 +76,10 @@ Specialized context collector for test generation workflows that analyzes test c
|
||||
1. **Framework Identification**
|
||||
```bash
|
||||
# Check package.json or requirements.txt
|
||||
mcp__code-index__search_code_advanced(
|
||||
pattern="jest|mocha|jasmine|pytest|unittest|rspec",
|
||||
file_pattern="package.json|requirements.txt|Gemfile",
|
||||
context_lines=2
|
||||
)
|
||||
rg "jest|mocha|jasmine|pytest|unittest|rspec" -g "package.json" -g "requirements.txt" -g "Gemfile" -C 2
|
||||
|
||||
# Analyze existing test patterns
|
||||
mcp__code-index__search_code_advanced(
|
||||
pattern="describe\\(|it\\(|test\\(|def test_",
|
||||
file_pattern="*.test.*",
|
||||
context_lines=3
|
||||
)
|
||||
rg "describe\(|it\(|test\(|def test_" -g "*.test.*" -C 3
|
||||
```
|
||||
|
||||
2. **Convention Analysis**
|
||||
@@ -207,33 +195,26 @@ Generate `test-context-package.json`:
|
||||
.workflow/{test_session_id}/.process/test-context-package.json
|
||||
```
|
||||
|
||||
## MCP Tools Usage
|
||||
## Native Tools Usage
|
||||
|
||||
### File Discovery
|
||||
```bash
|
||||
# Test files
|
||||
mcp__code-index__find_files(pattern="*.test.*")
|
||||
mcp__code-index__find_files(pattern="*.spec.*")
|
||||
find . -name "*.test.*" -type f
|
||||
find . -name "*.spec.*" -type f
|
||||
|
||||
# Implementation files
|
||||
mcp__code-index__find_files(pattern="*.ts")
|
||||
mcp__code-index__find_files(pattern="*.js")
|
||||
find . -name "*.ts" -type f
|
||||
find . -name "*.js" -type f
|
||||
```
|
||||
|
||||
### Content Search
|
||||
```bash
|
||||
# Test framework detection
|
||||
mcp__code-index__search_code_advanced(
|
||||
pattern="jest|mocha|pytest",
|
||||
file_pattern="package.json|requirements.txt"
|
||||
)
|
||||
rg "jest|mocha|pytest" -g "package.json" -g "requirements.txt"
|
||||
|
||||
# Test pattern analysis
|
||||
mcp__code-index__search_code_advanced(
|
||||
pattern="describe|it|test",
|
||||
file_pattern="*.test.*",
|
||||
context_lines=2
|
||||
)
|
||||
rg "describe|it|test" -g "*.test.*" -C 2
|
||||
```
|
||||
|
||||
### Coverage Analysis
|
||||
@@ -249,7 +230,7 @@ test_file_patterns=(
|
||||
|
||||
# Search for test file
|
||||
for pattern in "${test_file_patterns[@]}"; do
|
||||
if mcp__code-index__find_files(pattern="$pattern") | grep -q .; then
|
||||
if [ -f "$pattern" ]; then
|
||||
echo "✅ Test exists: $pattern"
|
||||
break
|
||||
fi
|
||||
@@ -262,10 +243,9 @@ done
|
||||
|-------|-------|------------|
|
||||
| Source session not found | Invalid source_session reference | Verify test session metadata |
|
||||
| No implementation summaries | Source session incomplete | Complete source session first |
|
||||
| MCP tools unavailable | MCP not configured | Fallback to bash find/grep |
|
||||
| No test framework detected | Missing test dependencies | Request user to specify framework |
|
||||
|
||||
## Fallback Strategy (No MCP)
|
||||
## Native Tools Implementation
|
||||
|
||||
```bash
|
||||
# File discovery
|
||||
@@ -287,8 +267,8 @@ done
|
||||
- `/workflow:test-gen` (Phase 3: Context Gathering)
|
||||
|
||||
### Calls
|
||||
- MCP code-index tools for analysis
|
||||
- Bash file operations for fallback
|
||||
- Ripgrep and find for file analysis
|
||||
- Bash file operations for coverage analysis
|
||||
|
||||
### Followed By
|
||||
- `/workflow:tools:test-concept-enhanced` - Analyzes context and plans test generation
|
||||
@@ -296,7 +276,7 @@ done
|
||||
## Success Criteria
|
||||
|
||||
- ✅ Source session context loaded successfully
|
||||
- ✅ Test coverage gaps identified with MCP tools
|
||||
- ✅ Test coverage gaps identified with ripgrep
|
||||
- ✅ Test framework detected and documented
|
||||
- ✅ Valid test-context-package.json generated
|
||||
- ✅ All missing tests catalogued with priority
|
||||
|
||||
@@ -146,9 +146,9 @@ Generate **TWO task JSON files**:
|
||||
"step": "load_existing_test_patterns",
|
||||
"action": "Study existing tests for pattern reference",
|
||||
"commands": [
|
||||
"mcp__code-index__find_files(pattern=\"*.test.*\")",
|
||||
"bash(find . -name \"*.test.*\" -type f)",
|
||||
"bash(# Read first 2 existing test files as examples)",
|
||||
"bash(test_files=$(mcp__code-index__find_files(pattern=\"*.test.*\") | head -2))",
|
||||
"bash(test_files=$(find . -name \"*.test.*\" -type f | head -2))",
|
||||
"bash(for f in $test_files; do echo \"=== $f ===\"&& cat \"$f\"; done)"
|
||||
],
|
||||
"output_to": "existing_test_patterns",
|
||||
@@ -198,7 +198,7 @@ Generate **TWO task JSON files**:
|
||||
"Codex generates comprehensive test suite",
|
||||
"Codex validates test syntax and executability"
|
||||
],
|
||||
"command": "bash(codex -C [focus_paths] --full-auto exec \"PURPOSE: Generate comprehensive test suite TASK: Create test files based on TEST_ANALYSIS_RESULTS.md section 5 MODE: write CONTEXT: @{.workflow/WFS-test-[session]/.process/TEST_ANALYSIS_RESULTS.md,.workflow/WFS-test-[session]/.process/test-context-package.json} EXPECTED: All test files with happy path, error handling, edge cases, integration tests RULES: Follow test framework conventions, ensure tests are executable\" --skip-git-repo-check -s danger-full-access)",
|
||||
"command": "bash(codex -C [focus_paths] --full-auto exec \"PURPOSE: Generate comprehensive test suite TASK: Create test files based on TEST_ANALYSIS_RESULTS.md section 5 MODE: write CONTEXT: @.workflow/WFS-test-[session]/.process/TEST_ANALYSIS_RESULTS.md @.workflow/WFS-test-[session]/.process/test-context-package.json EXPECTED: All test files with happy path, error handling, edge cases, integration tests RULES: Follow test framework conventions, ensure tests are executable\" --skip-git-repo-check -s danger-full-access)",
|
||||
"depends_on": [],
|
||||
"output": "test_generation"
|
||||
}],
|
||||
@@ -282,11 +282,11 @@ Generate **TWO task JSON files**:
|
||||
"step": "analyze_test_coverage",
|
||||
"action": "Analyze test coverage and identify missing tests",
|
||||
"commands": [
|
||||
"mcp__code-index__find_files(pattern=\"*.test.*\")",
|
||||
"mcp__code-index__search_code_advanced(pattern=\"test|describe|it|def test_\", file_pattern=\"*.test.*\")",
|
||||
"bash(find . -name \"*.test.*\" -type f)",
|
||||
"bash(rg \"test|describe|it|def test_\" -g \"*.test.*\")",
|
||||
"bash(# Count implementation files vs test files)",
|
||||
"bash(impl_count=$(find [changed_files_dirs] -type f \\( -name '*.ts' -o -name '*.js' -o -name '*.py' \\) ! -name '*.test.*' 2>/dev/null | wc -l))",
|
||||
"bash(test_count=$(mcp__code-index__find_files(pattern=\"*.test.*\") | wc -l))",
|
||||
"bash(test_count=$(find . -name \"*.test.*\" -type f | wc -l))",
|
||||
"bash(echo \"Implementation files: $impl_count, Test files: $test_count\")"
|
||||
],
|
||||
"output_to": "test_coverage_analysis",
|
||||
@@ -323,7 +323,7 @@ Generate **TWO task JSON files**:
|
||||
"cycle_pattern": "test → gemini_diagnose → manual_fix (or codex if needed) → retest",
|
||||
"tools": {
|
||||
"test_execution": "bash(test_command)",
|
||||
"diagnosis": "gemini-wrapper (MODE: analysis, uses bug-fix template)",
|
||||
"diagnosis": "gemini (MODE: analysis, uses bug-fix template)",
|
||||
"fix_application": "manual (default) or codex exec resume --last (if explicitly needed)",
|
||||
"verification": "bash(test_command) + regression_check"
|
||||
},
|
||||
@@ -354,11 +354,11 @@ Generate **TWO task JSON files**:
|
||||
" * Source files from focus_paths",
|
||||
" * Implementation summaries from source session",
|
||||
" - Execute Gemini analysis with bug-fix template:",
|
||||
" bash(cd .workflow/WFS-test-[session]/.process && ~/.claude/scripts/gemini-wrapper --all-files -p \"",
|
||||
" bash(cd .workflow/WFS-test-[session]/.process && gemini \"",
|
||||
" PURPOSE: Diagnose test failure iteration [N] and propose minimal fix",
|
||||
" TASK: Systematic bug analysis and fix recommendations for test failure",
|
||||
" MODE: analysis",
|
||||
" CONTEXT: @{CLAUDE.md,**/*CLAUDE.md}",
|
||||
" CONTEXT: @CLAUDE.md,**/*CLAUDE.md",
|
||||
" Test output: [test_failures]",
|
||||
" Source files: [focus_paths]",
|
||||
" Implementation: [implementation_context]",
|
||||
|
||||
@@ -205,7 +205,7 @@ ELSE IF --prompt:
|
||||
target_source = "prompt_analysis"
|
||||
|
||||
# Step 4: Session synthesis
|
||||
ELSE IF --session AND exists(synthesis-specification.md):
|
||||
ELSE IF --session AND exists(role analysis documents):
|
||||
target_list = extract_targets_from_synthesis(); target_type = "page"; target_source = "synthesis"
|
||||
|
||||
# Step 5: Fallback
|
||||
|
||||
@@ -154,7 +154,7 @@ IF exists: SKIP to completion
|
||||
### Step 2: Load Project Context (Explore Mode)
|
||||
```bash
|
||||
# Load brainstorming context if available
|
||||
bash(test -f {base_path}/.brainstorming/synthesis-specification.md && cat it)
|
||||
bash(test -f {base_path}/.brainstorming/role analysis documents && cat it)
|
||||
```
|
||||
|
||||
### Step 3: Generate Design Direction Options (Agent Task 1)
|
||||
@@ -541,7 +541,7 @@ bash(cat {base_path}/style-extraction/style-1/design-tokens.json | grep -q "colo
|
||||
### File Operations
|
||||
```bash
|
||||
# Load brainstorming context
|
||||
bash(test -f .brainstorming/synthesis-specification.md && cat it)
|
||||
bash(test -f .brainstorming/role analysis documents && cat it)
|
||||
|
||||
# Create directories
|
||||
bash(mkdir -p {base_path}/style-extraction/style-{{1..3}})
|
||||
|
||||
@@ -15,7 +15,7 @@ Synchronize finalized design system references to brainstorming artifacts, prepa
|
||||
|
||||
- **Reference-Only Updates**: Use @ references, no content duplication
|
||||
- **Main Claude Execution**: Direct updates by main Claude (no Agent handoff)
|
||||
- **Synthesis Alignment**: Update synthesis-specification.md UI/UX Guidelines section
|
||||
- **Synthesis Alignment**: Update role analysis documents UI/UX Guidelines section
|
||||
- **Plan-Ready Output**: Ensure design artifacts discoverable by task-generate
|
||||
- **Minimal Reading**: Verify file existence, don't read design content
|
||||
|
||||
@@ -50,8 +50,8 @@ REPORT: "Found {count} design artifacts, {prototype_count} prototypes"
|
||||
### Phase 1.1: Memory Check (Skip if Already Updated)
|
||||
|
||||
```bash
|
||||
# Check if synthesis-specification.md contains current design run reference
|
||||
synthesis_spec_path = ".workflow/WFS-{session}/.brainstorming/synthesis-specification.md"
|
||||
# Check if role analysis documents contains current design run reference
|
||||
synthesis_spec_path = ".workflow/WFS-{session}/.brainstorming/role analysis documents"
|
||||
current_design_run = basename(latest_design) # e.g., "design-run-20250109-143022"
|
||||
|
||||
IF exists(synthesis_spec_path):
|
||||
@@ -68,7 +68,7 @@ IF exists(synthesis_spec_path):
|
||||
|
||||
```bash
|
||||
# Load target brainstorming artifacts (files to be updated)
|
||||
Read(.workflow/WFS-{session}/.brainstorming/synthesis-specification.md)
|
||||
Read(.workflow/WFS-{session}/.brainstorming/role analysis documents)
|
||||
IF exists(.workflow/WFS-{session}/.brainstorming/ui-designer/analysis.md): Read(analysis.md)
|
||||
|
||||
# Optional: Read prototype notes for descriptions (minimal context)
|
||||
@@ -80,7 +80,7 @@ FOR each selected_prototype IN selected_list:
|
||||
|
||||
### Phase 3: Update Synthesis Specification
|
||||
|
||||
Update `.brainstorming/synthesis-specification.md` with design system references.
|
||||
Update `.brainstorming/role analysis documents` with design system references.
|
||||
|
||||
**Target Section**: `## UI/UX Guidelines`
|
||||
|
||||
@@ -113,7 +113,7 @@ Update `.brainstorming/synthesis-specification.md` with design system references
|
||||
**Implementation**:
|
||||
```bash
|
||||
# Option 1: Edit existing section
|
||||
Edit(file_path=".workflow/WFS-{session}/.brainstorming/synthesis-specification.md",
|
||||
Edit(file_path=".workflow/WFS-{session}/.brainstorming/role analysis documents",
|
||||
old_string="## UI/UX Guidelines\n[existing content]",
|
||||
new_string="## UI/UX Guidelines\n\n[new design reference content]")
|
||||
|
||||
@@ -122,12 +122,77 @@ IF section not found:
|
||||
Edit(file_path="...", old_string="[end of document]", new_string="\n\n## UI/UX Guidelines\n\n[new design reference content]")
|
||||
```
|
||||
|
||||
### Phase 4: Update UI Designer Style Guide
|
||||
### Phase 4A: Update Relevant Role Analysis Documents
|
||||
|
||||
Create or update `.brainstorming/ui-designer/style-guide.md`:
|
||||
**Discovery**: Find role analysis.md files affected by design outputs
|
||||
|
||||
```bash
|
||||
# Always update ui-designer
|
||||
ui_designer_files = Glob(".workflow/WFS-{session}/.brainstorming/ui-designer/analysis*.md")
|
||||
|
||||
# Conditionally update other roles
|
||||
has_animations = exists({latest_design}/animation-extraction/animation-tokens.json)
|
||||
has_layouts = exists({latest_design}/layout-extraction/layout-templates.json)
|
||||
|
||||
IF has_animations: ux_expert_files = Glob(".workflow/WFS-{session}/.brainstorming/ux-expert/analysis*.md")
|
||||
IF has_layouts: architect_files = Glob(".workflow/WFS-{session}/.brainstorming/system-architect/analysis*.md")
|
||||
IF selected_list: pm_files = Glob(".workflow/WFS-{session}/.brainstorming/product-manager/analysis*.md")
|
||||
```
|
||||
|
||||
**Content Templates**:
|
||||
|
||||
**ui-designer/analysis.md** (append if not exists):
|
||||
```markdown
|
||||
## Design System Implementation Reference
|
||||
|
||||
**Design Tokens**: @../../design-{run_id}/{design_tokens_path}
|
||||
**Style Guide**: @../../design-{run_id}/{style_guide_path}
|
||||
**Prototypes**: {FOR each: @../../design-{run_id}/prototypes/{prototype}.html}
|
||||
|
||||
*Reference added by /workflow:ui-design:update*
|
||||
```
|
||||
|
||||
**ux-expert/analysis.md** (if animations):
|
||||
```markdown
|
||||
## Animation & Interaction Reference
|
||||
|
||||
**Animations**: @../../design-{run_id}/animation-extraction/animation-tokens.json
|
||||
**Prototypes**: {FOR each: @../../design-{run_id}/prototypes/{prototype}.html}
|
||||
|
||||
*Reference added by /workflow:ui-design:update*
|
||||
```
|
||||
|
||||
**system-architect/analysis.md** (if layouts):
|
||||
```markdown
|
||||
## Layout Structure Reference
|
||||
|
||||
**Layout Templates**: @../../design-{run_id}/layout-extraction/layout-templates.json
|
||||
|
||||
*Reference added by /workflow:ui-design:update*
|
||||
```
|
||||
|
||||
**product-manager/analysis.md** (if prototypes):
|
||||
```markdown
|
||||
## Prototype Validation Reference
|
||||
|
||||
**Prototypes**: {FOR each: @../../design-{run_id}/prototypes/{prototype}.html}
|
||||
|
||||
*Reference added by /workflow:ui-design:update*
|
||||
```
|
||||
|
||||
**Implementation**:
|
||||
```bash
|
||||
FOR file IN [ui_designer_files, ux_expert_files, architect_files, pm_files]:
|
||||
IF file exists AND section_not_exists(file):
|
||||
Edit(file, old_string="[end of document]", new_string="\n\n{role-specific section}")
|
||||
```
|
||||
|
||||
### Phase 4B: Create UI Designer Design System Reference
|
||||
|
||||
Create or update `.brainstorming/ui-designer/design-system-reference.md`:
|
||||
|
||||
```markdown
|
||||
# UI Designer Style Guide
|
||||
# UI Designer Design System Reference
|
||||
|
||||
## Design System Integration
|
||||
This style guide references the finalized design system from the design refinement phase.
|
||||
@@ -158,7 +223,7 @@ For complete token definitions and usage examples, see:
|
||||
|
||||
**Implementation**:
|
||||
```bash
|
||||
Write(file_path=".workflow/WFS-{session}/.brainstorming/ui-designer/style-guide.md",
|
||||
Write(file_path=".workflow/WFS-{session}/.brainstorming/ui-designer/design-system-reference.md",
|
||||
content="[generated content with @ references]")
|
||||
```
|
||||
|
||||
@@ -168,8 +233,9 @@ Write(file_path=".workflow/WFS-{session}/.brainstorming/ui-designer/style-guide.
|
||||
TodoWrite({todos: [
|
||||
{content: "Validate session and design system artifacts", status: "completed", activeForm: "Validating artifacts"},
|
||||
{content: "Load target brainstorming artifacts", status: "completed", activeForm: "Loading target files"},
|
||||
{content: "Update synthesis-specification.md with design references", status: "completed", activeForm: "Updating synthesis spec"},
|
||||
{content: "Create/update ui-designer/style-guide.md", status: "completed", activeForm: "Updating UI designer guide"}
|
||||
{content: "Update role analysis documents with design references", status: "completed", activeForm: "Updating synthesis spec"},
|
||||
{content: "Update relevant role analysis.md documents", status: "completed", activeForm: "Updating role analysis files"},
|
||||
{content: "Create/update ui-designer/design-system-reference.md", status: "completed", activeForm: "Creating design system reference"}
|
||||
]});
|
||||
```
|
||||
|
||||
@@ -178,8 +244,9 @@ TodoWrite({todos: [
|
||||
✅ Design system references updated for session: WFS-{session}
|
||||
|
||||
Updated artifacts:
|
||||
✓ synthesis-specification.md - UI/UX Guidelines section with @ references
|
||||
✓ ui-designer/style-guide.md - Design system reference guide
|
||||
✓ role analysis documents - UI/UX Guidelines section with @ references
|
||||
✓ {role_count} role analysis.md files - Design system references
|
||||
✓ ui-designer/design-system-reference.md - Design system reference guide
|
||||
|
||||
Design system assets ready for /workflow:plan:
|
||||
- design-tokens.json | style-guide.md | {prototype_count} reference prototypes
|
||||
@@ -193,31 +260,43 @@ Next: /workflow:plan [--agent] "<task description>"
|
||||
**Updated Files**:
|
||||
```
|
||||
.workflow/WFS-{session}/.brainstorming/
|
||||
├── synthesis-specification.md # Updated with UI/UX Guidelines section
|
||||
└── ui-designer/
|
||||
└── style-guide.md # New or updated design reference guide
|
||||
├── role analysis documents # Updated with UI/UX Guidelines section
|
||||
├── ui-designer/
|
||||
│ ├── analysis*.md # Updated with design system references
|
||||
│ └── design-system-reference.md # New or updated design reference guide
|
||||
├── ux-expert/analysis*.md # Updated if animations exist
|
||||
├── product-manager/analysis*.md # Updated if prototypes exist
|
||||
└── system-architect/analysis*.md # Updated if layouts exist
|
||||
```
|
||||
|
||||
**@ Reference Format** (synthesis-specification.md):
|
||||
**@ Reference Format** (role analysis documents):
|
||||
```
|
||||
@../design-{run_id}/style-extraction/style-1/design-tokens.json
|
||||
@../design-{run_id}/style-extraction/style-1/style-guide.md
|
||||
@../design-{run_id}/prototypes/{prototype}.html
|
||||
```
|
||||
|
||||
**@ Reference Format** (ui-designer/style-guide.md):
|
||||
**@ Reference Format** (ui-designer/design-system-reference.md):
|
||||
```
|
||||
@../../design-{run_id}/style-extraction/style-1/design-tokens.json
|
||||
@../../design-{run_id}/style-extraction/style-1/style-guide.md
|
||||
@../../design-{run_id}/prototypes/{prototype}.html
|
||||
```
|
||||
|
||||
**@ Reference Format** (role analysis.md files):
|
||||
```
|
||||
@../../design-{run_id}/style-extraction/style-1/design-tokens.json
|
||||
@../../design-{run_id}/animation-extraction/animation-tokens.json
|
||||
@../../design-{run_id}/layout-extraction/layout-templates.json
|
||||
@../../design-{run_id}/prototypes/{prototype}.html
|
||||
```
|
||||
|
||||
## Integration with /workflow:plan
|
||||
|
||||
After this update, `/workflow:plan` will discover design assets through:
|
||||
|
||||
**Phase 3: Intelligent Analysis** (`/workflow:tools:concept-enhanced`)
|
||||
- Reads synthesis-specification.md → Discovers @ references → Includes design system context in ANALYSIS_RESULTS.md
|
||||
- Reads role analysis documents → Discovers @ references → Includes design system context in ANALYSIS_RESULTS.md
|
||||
|
||||
**Phase 4: Task Generation** (`/workflow:tools:task-generate`)
|
||||
- Reads ANALYSIS_RESULTS.md → Discovers design assets → Includes design system paths in task JSON files
|
||||
@@ -239,7 +318,7 @@ After this update, `/workflow:plan` will discover design assets through:
|
||||
## Error Handling
|
||||
|
||||
- **Missing design artifacts**: Error with message "Run /workflow:ui-design:style-extract and /workflow:ui-design:generate first"
|
||||
- **synthesis-specification.md not found**: Warning, create minimal version with just UI/UX Guidelines
|
||||
- **role analysis documents not found**: Warning, create minimal version with just UI/UX Guidelines
|
||||
- **ui-designer/ directory missing**: Create directory and file
|
||||
- **Edit conflicts**: Preserve existing content, append or replace only UI/UX Guidelines section
|
||||
- **Invalid prototype names**: Skip invalid entries, continue with valid ones
|
||||
@@ -247,9 +326,11 @@ After this update, `/workflow:plan` will discover design assets through:
|
||||
## Validation Checks
|
||||
|
||||
After update, verify:
|
||||
- [ ] synthesis-specification.md contains UI/UX Guidelines section
|
||||
- [ ] role analysis documents contains UI/UX Guidelines section
|
||||
- [ ] UI/UX Guidelines include @ references (not content duplication)
|
||||
- [ ] ui-designer/style-guide.md created or updated
|
||||
- [ ] ui-designer/analysis*.md updated with design system references
|
||||
- [ ] ui-designer/design-system-reference.md created or updated
|
||||
- [ ] Relevant role analysis.md files updated (ux-expert, product-manager, system-architect)
|
||||
- [ ] All @ referenced files exist and are accessible
|
||||
- [ ] @ reference paths are relative and correct
|
||||
|
||||
@@ -264,7 +345,7 @@ After update, verify:
|
||||
## Integration Points
|
||||
|
||||
- **Input**: Design system artifacts from `/workflow:ui-design:style-extract` and `/workflow:ui-design:generate`
|
||||
- **Output**: Updated synthesis-specification.md, ui-designer/style-guide.md with @ references
|
||||
- **Output**: Updated role analysis documents, role analysis.md files, ui-designer/design-system-reference.md with @ references
|
||||
- **Next Phase**: `/workflow:plan` discovers and utilizes design system through @ references
|
||||
- **Auto Integration**: Automatically triggered by `/workflow:ui-design:auto` workflow
|
||||
|
||||
|
||||
@@ -1,288 +0,0 @@
|
||||
#!/bin/bash
|
||||
# gemini-wrapper - Token-aware wrapper for gemini command
|
||||
# Location: ~/.claude/scripts/gemini-wrapper
|
||||
#
|
||||
# This wrapper automatically manages --all-files flag based on project token count
|
||||
# and provides intelligent approval mode defaults
|
||||
#
|
||||
# Usage: gemini-wrapper [all gemini options]
|
||||
#
|
||||
# Approval Mode Options:
|
||||
# --approval-mode default : Prompt for approval on each tool call (default)
|
||||
# --approval-mode auto_edit : Auto-approve edit tools, prompt for others
|
||||
# --approval-mode yolo : Auto-approve all tool calls
|
||||
#
|
||||
# Note: Executes in current working directory
|
||||
|
||||
set -e
|
||||
|
||||
# Function to show help
|
||||
show_help() {
|
||||
echo "gemini-wrapper - Token-aware wrapper for gemini command"
|
||||
echo ""
|
||||
echo "Usage: gemini-wrapper [options] [gemini options]"
|
||||
echo ""
|
||||
echo "Options:"
|
||||
echo " --approval-mode <mode> Sets the approval mode for tool calls"
|
||||
echo " Available modes:"
|
||||
echo " default : Prompt for approval on each tool call (default)"
|
||||
echo " auto_edit : Auto-approve edit tools, prompt for others"
|
||||
echo " yolo : Auto-approve all tool calls"
|
||||
echo " --help Show this help message"
|
||||
echo ""
|
||||
echo "Features:"
|
||||
echo " - Automatically manages --all-files flag based on project token count"
|
||||
echo " - Intelligent approval mode detection based on task type"
|
||||
echo " - Token limit: $DEFAULT_TOKEN_LIMIT (set GEMINI_TOKEN_LIMIT to override)"
|
||||
echo ""
|
||||
echo "Examples:"
|
||||
echo " gemini-wrapper -p \"Analyze the codebase structure\""
|
||||
echo " gemini-wrapper --approval-mode yolo -p \"Implement user authentication\""
|
||||
echo " gemini-wrapper --approval-mode auto_edit -p \"Fix all linting errors\""
|
||||
echo ""
|
||||
}
|
||||
|
||||
# Configuration
|
||||
DEFAULT_TOKEN_LIMIT=2000000
|
||||
TOKEN_LIMIT=${GEMINI_TOKEN_LIMIT:-$DEFAULT_TOKEN_LIMIT}
|
||||
|
||||
# Colors for output
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# Respect custom Gemini base URL
|
||||
if [[ -n "$GOOGLE_GEMINI_BASE_URL" ]]; then
|
||||
echo -e "${GREEN}🌐 Using custom Gemini base URL: $GOOGLE_GEMINI_BASE_URL${NC}" >&2
|
||||
export GOOGLE_GEMINI_BASE_URL
|
||||
fi
|
||||
|
||||
# Function to count tokens (approximate: chars/4) - optimized version
|
||||
count_tokens() {
|
||||
local total_chars=0
|
||||
local file_count=0
|
||||
|
||||
# Use single find with bulk wc for better performance
|
||||
# Common source file extensions
|
||||
local extensions="py js ts tsx jsx java cpp c h rs go md txt json yaml yml xml html css scss sass php rb sh bash"
|
||||
|
||||
# Build find command with extension patterns
|
||||
local find_cmd="find . -type f \("
|
||||
local first=true
|
||||
for ext in $extensions; do
|
||||
if [[ "$first" == true ]]; then
|
||||
find_cmd+=" -name \"*.$ext\""
|
||||
first=false
|
||||
else
|
||||
find_cmd+=" -o -name \"*.$ext\""
|
||||
fi
|
||||
done
|
||||
find_cmd+=" \)"
|
||||
|
||||
# Exclude common build/cache directories
|
||||
find_cmd+=" -not -path \"*/node_modules/*\""
|
||||
find_cmd+=" -not -path \"*/.git/*\""
|
||||
find_cmd+=" -not -path \"*/dist/*\""
|
||||
find_cmd+=" -not -path \"*/build/*\""
|
||||
find_cmd+=" -not -path \"*/.next/*\""
|
||||
find_cmd+=" -not -path \"*/.nuxt/*\""
|
||||
find_cmd+=" -not -path \"*/target/*\""
|
||||
find_cmd+=" -not -path \"*/vendor/*\""
|
||||
find_cmd+=" -not -path \"*/__pycache__/*\""
|
||||
find_cmd+=" -not -path \"*/.cache/*\""
|
||||
find_cmd+=" 2>/dev/null"
|
||||
|
||||
# Use efficient bulk processing with wc
|
||||
if command -v wc >/dev/null 2>&1; then
|
||||
# Try bulk wc first - much faster for many files
|
||||
local wc_output
|
||||
wc_output=$(eval "$find_cmd" | xargs wc -c 2>/dev/null | tail -n 1)
|
||||
|
||||
# Parse the total line (last line of wc output when processing multiple files)
|
||||
if [[ -n "$wc_output" && "$wc_output" =~ ^[[:space:]]*([0-9]+)[[:space:]]+total[[:space:]]*$ ]]; then
|
||||
total_chars="${BASH_REMATCH[1]}"
|
||||
file_count=$(eval "$find_cmd" | wc -l 2>/dev/null || echo 0)
|
||||
else
|
||||
# Fallback: single file processing
|
||||
while IFS= read -r file; do
|
||||
if [[ -f "$file" && -r "$file" ]]; then
|
||||
local chars=$(wc -c < "$file" 2>/dev/null || echo 0)
|
||||
total_chars=$((total_chars + chars))
|
||||
file_count=$((file_count + 1))
|
||||
fi
|
||||
done < <(eval "$find_cmd")
|
||||
fi
|
||||
else
|
||||
# No wc available - fallback method
|
||||
while IFS= read -r file; do
|
||||
if [[ -f "$file" && -r "$file" ]]; then
|
||||
local chars=$(stat -c%s "$file" 2>/dev/null || echo 0)
|
||||
total_chars=$((total_chars + chars))
|
||||
file_count=$((file_count + 1))
|
||||
fi
|
||||
done < <(eval "$find_cmd")
|
||||
fi
|
||||
|
||||
local estimated_tokens=$((total_chars / 4))
|
||||
echo "$estimated_tokens $file_count"
|
||||
}
|
||||
|
||||
# Function to validate approval mode
|
||||
validate_approval_mode() {
|
||||
local mode="$1"
|
||||
case "$mode" in
|
||||
"default"|"auto_edit"|"yolo")
|
||||
return 0
|
||||
;;
|
||||
*)
|
||||
echo -e "${RED}❌ Invalid approval mode: $mode${NC}" >&2
|
||||
echo -e "${YELLOW}Valid modes: default, auto_edit, yolo${NC}" >&2
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# Parse arguments to check for flags
|
||||
has_all_files=false
|
||||
has_approval_mode=false
|
||||
approval_mode_value=""
|
||||
args=()
|
||||
i=0
|
||||
|
||||
# Parse arguments with proper handling of --approval-mode value
|
||||
args=("$@") # Start with all arguments
|
||||
parsed_args=()
|
||||
skip_next=false
|
||||
|
||||
for ((i=0; i<${#args[@]}; i++)); do
|
||||
if [[ "$skip_next" == true ]]; then
|
||||
skip_next=false
|
||||
continue
|
||||
fi
|
||||
|
||||
arg="${args[i]}"
|
||||
case "$arg" in
|
||||
"--help"|"-h")
|
||||
show_help
|
||||
exit 0
|
||||
;;
|
||||
"--all-files")
|
||||
has_all_files=true
|
||||
parsed_args+=("$arg")
|
||||
;;
|
||||
"--approval-mode")
|
||||
has_approval_mode=true
|
||||
# Get the next argument as the mode value
|
||||
if [[ $((i+1)) -lt ${#args[@]} ]]; then
|
||||
approval_mode_value="${args[$((i+1))]}"
|
||||
if validate_approval_mode "$approval_mode_value"; then
|
||||
parsed_args+=("$arg" "$approval_mode_value")
|
||||
skip_next=true
|
||||
else
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo -e "${RED}❌ --approval-mode requires a value${NC}" >&2
|
||||
echo -e "${YELLOW}Valid modes: default, auto_edit, yolo${NC}" >&2
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
--approval-mode=*)
|
||||
has_approval_mode=true
|
||||
approval_mode_value="${arg#*=}"
|
||||
if validate_approval_mode "$approval_mode_value"; then
|
||||
parsed_args+=("$arg")
|
||||
else
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
parsed_args+=("$arg")
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Replace args with parsed_args
|
||||
args=("${parsed_args[@]}")
|
||||
|
||||
# Analyze current working directory
|
||||
echo -e "${GREEN}📁 Analyzing current directory: $(pwd)${NC}" >&2
|
||||
|
||||
# Count tokens (in the target directory if -c was used)
|
||||
echo -e "${YELLOW}🔍 Analyzing project size...${NC}" >&2
|
||||
read -r token_count file_count <<< "$(count_tokens)"
|
||||
|
||||
echo -e "${YELLOW}📊 Project stats: ~${token_count} tokens across ${file_count} files${NC}" >&2
|
||||
|
||||
# Decision logic for --all-files flag
|
||||
if [[ $token_count -lt $TOKEN_LIMIT ]]; then
|
||||
if [[ "$has_all_files" == false ]]; then
|
||||
echo -e "${GREEN}✅ Small project (${token_count} < ${TOKEN_LIMIT} tokens): Adding --all-files${NC}" >&2
|
||||
args=("--all-files" "${args[@]}")
|
||||
else
|
||||
echo -e "${GREEN}✅ Small project (${token_count} < ${TOKEN_LIMIT} tokens): Keeping --all-files${NC}" >&2
|
||||
fi
|
||||
else
|
||||
if [[ "$has_all_files" == true ]]; then
|
||||
echo -e "${RED}⚠️ Large project (${token_count} >= ${TOKEN_LIMIT} tokens): Removing --all-files to avoid token limits${NC}" >&2
|
||||
echo -e "${YELLOW}💡 Consider using specific @{patterns} for targeted analysis${NC}" >&2
|
||||
# Remove --all-files from args
|
||||
new_args=()
|
||||
for arg in "${args[@]}"; do
|
||||
if [[ "$arg" != "--all-files" ]]; then
|
||||
new_args+=("$arg")
|
||||
fi
|
||||
done
|
||||
args=("${new_args[@]}")
|
||||
else
|
||||
echo -e "${RED}⚠️ Large project (${token_count} >= ${TOKEN_LIMIT} tokens): Avoiding --all-files${NC}" >&2
|
||||
echo -e "${YELLOW}💡 Consider using specific @{patterns} for targeted analysis${NC}" >&2
|
||||
fi
|
||||
fi
|
||||
|
||||
# Auto-add approval-mode if not specified
|
||||
if [[ "$has_approval_mode" == false ]]; then
|
||||
# Intelligent approval mode detection based on prompt content
|
||||
prompt_text="${args[*]}"
|
||||
|
||||
# Analysis/Research tasks - use default (prompt for each tool)
|
||||
if [[ "$prompt_text" =~ (analyze|analysis|review|understand|inspect|examine|research|study|explore|investigate) ]]; then
|
||||
echo -e "${GREEN}📋 Analysis task detected: Adding --approval-mode default${NC}" >&2
|
||||
args=("--approval-mode" "default" "${args[@]}")
|
||||
|
||||
# Development/Edit tasks - use auto_edit (auto-approve edits, prompt for others)
|
||||
elif [[ "$prompt_text" =~ (implement|create|build|develop|code|write|edit|modify|update|fix|refactor|generate) ]]; then
|
||||
echo -e "${GREEN}🔧 Development task detected: Adding --approval-mode auto_edit${NC}" >&2
|
||||
args=("--approval-mode" "auto_edit" "${args[@]}")
|
||||
|
||||
# Automation/Batch tasks - use yolo (auto-approve all)
|
||||
elif [[ "$prompt_text" =~ (automate|batch|mass|bulk|all|execute|run|deploy|install|setup) ]]; then
|
||||
echo -e "${YELLOW}⚡ Automation task detected: Adding --approval-mode yolo${NC}" >&2
|
||||
args=("--approval-mode" "yolo" "${args[@]}")
|
||||
|
||||
# Default fallback - use default mode for safety
|
||||
else
|
||||
echo -e "${YELLOW}🔍 General task detected: Adding --approval-mode default${NC}" >&2
|
||||
args=("--approval-mode" "default" "${args[@]}")
|
||||
fi
|
||||
|
||||
# Show approval mode explanation
|
||||
case "${args[1]}" in
|
||||
"default")
|
||||
echo -e "${YELLOW} → Will prompt for approval on each tool call${NC}" >&2
|
||||
;;
|
||||
"auto_edit")
|
||||
echo -e "${YELLOW} → Will auto-approve edit tools, prompt for others${NC}" >&2
|
||||
;;
|
||||
"yolo")
|
||||
echo -e "${YELLOW} → Will auto-approve all tool calls${NC}" >&2
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Show final command (for transparency)
|
||||
echo -e "${YELLOW}🚀 Executing: gemini ${args[*]}${NC}" >&2
|
||||
|
||||
# Execute gemini with adjusted arguments (we're already in the right directory)
|
||||
gemini "${args[@]}"
|
||||
@@ -1,228 +0,0 @@
|
||||
#!/bin/bash
|
||||
# qwen-wrapper - Token-aware wrapper for qwen command
|
||||
# Location: ~/.claude/scripts/qwen-wrapper
|
||||
#
|
||||
# This wrapper automatically manages --all-files flag based on project token count
|
||||
# and provides intelligent approval mode defaults
|
||||
#
|
||||
# Usage: qwen-wrapper [all qwen options]
|
||||
#
|
||||
# Approval Mode Options:
|
||||
# --approval-mode default : Prompt for approval on each tool call (default)
|
||||
# --approval-mode auto_edit : Auto-approve edit tools, prompt for others
|
||||
# --approval-mode yolo : Auto-approve all tool calls
|
||||
#
|
||||
# Note: Executes in current working directory
|
||||
|
||||
set -e
|
||||
|
||||
# Function to show help
|
||||
show_help() {
|
||||
echo "qwen-wrapper - Token-aware wrapper for qwen command"
|
||||
echo ""
|
||||
echo "Usage: qwen-wrapper [options] [qwen options]"
|
||||
echo ""
|
||||
echo "Options:"
|
||||
echo " --approval-mode <mode> Sets the approval mode for tool calls"
|
||||
echo " Available modes:"
|
||||
echo " default : Prompt for approval on each tool call (default)"
|
||||
echo " auto_edit : Auto-approve edit tools, prompt for others"
|
||||
echo " yolo : Auto-approve all tool calls"
|
||||
echo " --help Show this help message"
|
||||
echo ""
|
||||
echo "Features:"
|
||||
echo " - Automatically manages --all-files flag based on project token count"
|
||||
echo " - Intelligent approval mode detection based on task type"
|
||||
echo " - Token limit: $DEFAULT_TOKEN_LIMIT (set QWEN_TOKEN_LIMIT to override)"
|
||||
echo ""
|
||||
echo "Examples:"
|
||||
echo " qwen-wrapper -p \"Analyze the codebase structure\""
|
||||
echo " qwen-wrapper --approval-mode yolo -p \"Implement user authentication\""
|
||||
echo " qwen-wrapper --approval-mode auto_edit -p \"Fix all linting errors\""
|
||||
echo ""
|
||||
}
|
||||
|
||||
# Function to validate approval mode
|
||||
validate_approval_mode() {
|
||||
local mode="$1"
|
||||
case "$mode" in
|
||||
"default"|"auto_edit"|"yolo")
|
||||
return 0
|
||||
;;
|
||||
*)
|
||||
echo -e "${RED}❌ Invalid approval mode: $mode${NC}" >&2
|
||||
echo -e "${YELLOW}Valid modes: default, auto_edit, yolo${NC}" >&2
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# Configuration
|
||||
DEFAULT_TOKEN_LIMIT=2000000
|
||||
TOKEN_LIMIT=${QWEN_TOKEN_LIMIT:-$DEFAULT_TOKEN_LIMIT}
|
||||
|
||||
# Colors for output
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# Function to count tokens (approximate: chars/4)
|
||||
count_tokens() {
|
||||
local total_chars=0
|
||||
local file_count=0
|
||||
|
||||
# Count characters in common source files
|
||||
while IFS= read -r -d '' file; do
|
||||
if [[ -f "$file" && -r "$file" ]]; then
|
||||
local chars=$(wc -c < "$file" 2>/dev/null || echo 0)
|
||||
total_chars=$((total_chars + chars))
|
||||
file_count=$((file_count + 1))
|
||||
fi
|
||||
done < <(find . -type f \( -name "*.py" -o -name "*.js" -o -name "*.ts" -o -name "*.tsx" -o -name "*.jsx" -o -name "*.java" -o -name "*.cpp" -o -name "*.c" -o -name "*.h" -o -name "*.rs" -o -name "*.go" -o -name "*.md" -o -name "*.txt" -o -name "*.json" -o -name "*.yaml" -o -name "*.yml" -o -name "*.xml" -o -name "*.html" -o -name "*.css" -o -name "*.scss" -o -name "*.sass" -o -name "*.php" -o -name "*.rb" -o -name "*.sh" -o -name "*.bash" \) -not -path "*/node_modules/*" -not -path "*/.git/*" -not -path "*/dist/*" -not -path "*/build/*" -not -path "*/.next/*" -not -path "*/.nuxt/*" -not -path "*/target/*" -not -path "*/vendor/*" -print0 2>/dev/null)
|
||||
|
||||
local estimated_tokens=$((total_chars / 4))
|
||||
echo "$estimated_tokens $file_count"
|
||||
}
|
||||
|
||||
# Parse arguments to check for flags
|
||||
has_all_files=false
|
||||
has_approval_mode=false
|
||||
approval_mode_value=""
|
||||
|
||||
# Parse arguments with proper handling of --approval-mode value
|
||||
args=("$@") # Start with all arguments
|
||||
parsed_args=()
|
||||
skip_next=false
|
||||
|
||||
for ((i=0; i<${#args[@]}; i++)); do
|
||||
if [[ "$skip_next" == true ]]; then
|
||||
skip_next=false
|
||||
continue
|
||||
fi
|
||||
|
||||
arg="${args[i]}"
|
||||
case "$arg" in
|
||||
"--help"|"-h")
|
||||
show_help
|
||||
exit 0
|
||||
;;
|
||||
"--all-files")
|
||||
has_all_files=true
|
||||
parsed_args+=("$arg")
|
||||
;;
|
||||
"--approval-mode")
|
||||
has_approval_mode=true
|
||||
# Get the next argument as the mode value
|
||||
if [[ $((i+1)) -lt ${#args[@]} ]]; then
|
||||
approval_mode_value="${args[$((i+1))]}"
|
||||
if validate_approval_mode "$approval_mode_value"; then
|
||||
parsed_args+=("$arg" "$approval_mode_value")
|
||||
skip_next=true
|
||||
else
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo -e "${RED}❌ --approval-mode requires a value${NC}" >&2
|
||||
echo -e "${YELLOW}Valid modes: default, auto_edit, yolo${NC}" >&2
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
--approval-mode=*)
|
||||
has_approval_mode=true
|
||||
approval_mode_value="${arg#*=}"
|
||||
if validate_approval_mode "$approval_mode_value"; then
|
||||
parsed_args+=("$arg")
|
||||
else
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
parsed_args+=("$arg")
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Replace args with parsed_args
|
||||
args=("${parsed_args[@]}")
|
||||
|
||||
# Analyze current working directory
|
||||
echo -e "${GREEN}📁 Analyzing current directory: $(pwd)${NC}" >&2
|
||||
|
||||
# Count tokens (in the target directory if -c was used)
|
||||
echo -e "${YELLOW}🔍 Analyzing project size...${NC}" >&2
|
||||
read -r token_count file_count <<< "$(count_tokens)"
|
||||
|
||||
echo -e "${YELLOW}📊 Project stats: ~${token_count} tokens across ${file_count} files${NC}" >&2
|
||||
|
||||
# Decision logic for --all-files flag
|
||||
if [[ $token_count -lt $TOKEN_LIMIT ]]; then
|
||||
if [[ "$has_all_files" == false ]]; then
|
||||
echo -e "${GREEN}✅ Small project (${token_count} < ${TOKEN_LIMIT} tokens): Adding --all-files${NC}" >&2
|
||||
args=("--all-files" "${args[@]}")
|
||||
else
|
||||
echo -e "${GREEN}✅ Small project (${token_count} < ${TOKEN_LIMIT} tokens): Keeping --all-files${NC}" >&2
|
||||
fi
|
||||
else
|
||||
if [[ "$has_all_files" == true ]]; then
|
||||
echo -e "${RED}⚠️ Large project (${token_count} >= ${TOKEN_LIMIT} tokens): Removing --all-files to avoid token limits${NC}" >&2
|
||||
echo -e "${YELLOW}💡 Consider using specific @{patterns} for targeted analysis${NC}" >&2
|
||||
# Remove --all-files from args
|
||||
new_args=()
|
||||
for arg in "${args[@]}"; do
|
||||
if [[ "$arg" != "--all-files" ]]; then
|
||||
new_args+=("$arg")
|
||||
fi
|
||||
done
|
||||
args=("${new_args[@]}")
|
||||
else
|
||||
echo -e "${RED}⚠️ Large project (${token_count} >= ${TOKEN_LIMIT} tokens): Avoiding --all-files${NC}" >&2
|
||||
echo -e "${YELLOW}💡 Consider using specific @{patterns} for targeted analysis${NC}" >&2
|
||||
fi
|
||||
fi
|
||||
|
||||
# Auto-add approval-mode if not specified
|
||||
if [[ "$has_approval_mode" == false ]]; then
|
||||
# Intelligent approval mode detection based on prompt content
|
||||
prompt_text="${args[*]}"
|
||||
|
||||
# Analysis/Research tasks - use default (prompt for each tool)
|
||||
if [[ "$prompt_text" =~ (analyze|analysis|review|understand|inspect|examine|research|study|explore|investigate) ]]; then
|
||||
echo -e "${GREEN}📋 Analysis task detected: Adding --approval-mode default${NC}" >&2
|
||||
args=("--approval-mode" "default" "${args[@]}")
|
||||
|
||||
# Development/Edit tasks - use auto_edit (auto-approve edits, prompt for others)
|
||||
elif [[ "$prompt_text" =~ (implement|create|build|develop|code|write|edit|modify|update|fix|refactor|generate) ]]; then
|
||||
echo -e "${GREEN}🔧 Development task detected: Adding --approval-mode auto_edit${NC}" >&2
|
||||
args=("--approval-mode" "auto_edit" "${args[@]}")
|
||||
|
||||
# Automation/Batch tasks - use yolo (auto-approve all)
|
||||
elif [[ "$prompt_text" =~ (automate|batch|mass|bulk|all|execute|run|deploy|install|setup) ]]; then
|
||||
echo -e "${YELLOW}⚡ Automation task detected: Adding --approval-mode yolo${NC}" >&2
|
||||
args=("--approval-mode" "yolo" "${args[@]}")
|
||||
|
||||
# Default fallback - use default mode for safety
|
||||
else
|
||||
echo -e "${YELLOW}🔍 General task detected: Adding --approval-mode default${NC}" >&2
|
||||
args=("--approval-mode" "default" "${args[@]}")
|
||||
fi
|
||||
|
||||
# Show approval mode explanation
|
||||
case "${args[1]}" in
|
||||
"default")
|
||||
echo -e "${YELLOW} → Will prompt for approval on each tool call${NC}" >&2
|
||||
;;
|
||||
"auto_edit")
|
||||
echo -e "${YELLOW} → Will auto-approve edit tools, prompt for others${NC}" >&2
|
||||
;;
|
||||
"yolo")
|
||||
echo -e "${YELLOW} → Will auto-approve all tool calls${NC}" >&2
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Show final command (for transparency)
|
||||
echo -e "${YELLOW}🚀 Executing: qwen ${args[*]}${NC}" >&2
|
||||
|
||||
# Execute qwen with adjusted arguments (we're already in the right directory)
|
||||
qwen "${args[@]}"
|
||||
@@ -1,14 +1,32 @@
|
||||
#!/bin/bash
|
||||
# Update CLAUDE.md for a specific module with unified template
|
||||
# Usage: update_module_claude.sh <module_path> [update_type] [tool]
|
||||
# Update CLAUDE.md for modules with two strategies
|
||||
# Usage: update_module_claude.sh <strategy> <module_path> [tool] [model]
|
||||
# strategy: single-layer|multi-layer
|
||||
# module_path: Path to the module directory
|
||||
# update_type: full|related (default: full)
|
||||
# tool: gemini|qwen|codex (default: gemini)
|
||||
# model: Model name (optional, uses tool defaults)
|
||||
#
|
||||
# Default Models:
|
||||
# gemini: gemini-2.5-flash
|
||||
# qwen: coder-model
|
||||
# codex: gpt5-codex
|
||||
#
|
||||
# Strategies:
|
||||
# single-layer: Upward aggregation
|
||||
# - Read: Current directory code + child CLAUDE.md files
|
||||
# - Generate: Single ./CLAUDE.md in current directory
|
||||
# - Use: Large projects, incremental bottom-up updates
|
||||
#
|
||||
# multi-layer: Downward distribution
|
||||
# - Read: All files in current and subdirectories
|
||||
# - Generate: CLAUDE.md for each directory containing files
|
||||
# - Use: Small projects, full documentation generation
|
||||
#
|
||||
# Features:
|
||||
# - Respects .gitignore patterns (current directory or git root)
|
||||
# - Unified template for all modules (folders and files)
|
||||
# - Template-based documentation generation
|
||||
# - Minimal prompts based on unified template
|
||||
# - Respects .gitignore patterns
|
||||
# - Path-focused processing (script only cares about paths)
|
||||
# - Template-driven generation
|
||||
|
||||
# Build exclusion filters from .gitignore
|
||||
build_exclusion_filters() {
|
||||
@@ -59,15 +77,84 @@ build_exclusion_filters() {
|
||||
echo "$filters"
|
||||
}
|
||||
|
||||
# Scan directory structure and generate structured information
|
||||
scan_directory_structure() {
|
||||
local target_path="$1"
|
||||
local strategy="$2"
|
||||
|
||||
if [ ! -d "$target_path" ]; then
|
||||
echo "Directory not found: $target_path"
|
||||
return 1
|
||||
fi
|
||||
|
||||
local exclusion_filters=$(build_exclusion_filters)
|
||||
local structure_info=""
|
||||
|
||||
# Get basic directory info
|
||||
local dir_name=$(basename "$target_path")
|
||||
local total_files=$(eval "find \"$target_path\" -type f $exclusion_filters 2>/dev/null" | wc -l)
|
||||
local total_dirs=$(eval "find \"$target_path\" -type d $exclusion_filters 2>/dev/null" | wc -l)
|
||||
|
||||
structure_info+="Directory: $dir_name\n"
|
||||
structure_info+="Total files: $total_files\n"
|
||||
structure_info+="Total directories: $total_dirs\n\n"
|
||||
|
||||
if [ "$strategy" = "multi-layer" ]; then
|
||||
# For multi-layer: show all subdirectories with file counts
|
||||
structure_info+="Subdirectories with files:\n"
|
||||
while IFS= read -r dir; do
|
||||
if [ -n "$dir" ] && [ "$dir" != "$target_path" ]; then
|
||||
local rel_path=${dir#$target_path/}
|
||||
local file_count=$(eval "find \"$dir\" -maxdepth 1 -type f $exclusion_filters 2>/dev/null" | wc -l)
|
||||
if [ $file_count -gt 0 ]; then
|
||||
structure_info+=" - $rel_path/ ($file_count files)\n"
|
||||
fi
|
||||
fi
|
||||
done < <(eval "find \"$target_path\" -type d $exclusion_filters 2>/dev/null")
|
||||
else
|
||||
# For single-layer: show direct children only
|
||||
structure_info+="Direct subdirectories:\n"
|
||||
while IFS= read -r dir; do
|
||||
if [ -n "$dir" ]; then
|
||||
local dir_name=$(basename "$dir")
|
||||
local file_count=$(eval "find \"$dir\" -maxdepth 1 -type f $exclusion_filters 2>/dev/null" | wc -l)
|
||||
local has_claude=$([ -f "$dir/CLAUDE.md" ] && echo " [has CLAUDE.md]" || echo "")
|
||||
structure_info+=" - $dir_name/ ($file_count files)$has_claude\n"
|
||||
fi
|
||||
done < <(eval "find \"$target_path\" -maxdepth 1 -type d $exclusion_filters 2>/dev/null" | grep -v "^$target_path$")
|
||||
fi
|
||||
|
||||
# Show main file types in current directory
|
||||
structure_info+="\nCurrent directory files:\n"
|
||||
local code_files=$(eval "find \"$target_path\" -maxdepth 1 -type f \\( -name '*.ts' -o -name '*.tsx' -o -name '*.js' -o -name '*.jsx' -o -name '*.py' -o -name '*.sh' \\) $exclusion_filters 2>/dev/null" | wc -l)
|
||||
local config_files=$(eval "find \"$target_path\" -maxdepth 1 -type f \\( -name '*.json' -o -name '*.yaml' -o -name '*.yml' -o -name '*.toml' \\) $exclusion_filters 2>/dev/null" | wc -l)
|
||||
local doc_files=$(eval "find \"$target_path\" -maxdepth 1 -type f -name '*.md' $exclusion_filters 2>/dev/null" | wc -l)
|
||||
|
||||
structure_info+=" - Code files: $code_files\n"
|
||||
structure_info+=" - Config files: $config_files\n"
|
||||
structure_info+=" - Documentation: $doc_files\n"
|
||||
|
||||
printf "%b" "$structure_info"
|
||||
}
|
||||
|
||||
update_module_claude() {
|
||||
local module_path="$1"
|
||||
local update_type="${2:-full}"
|
||||
local strategy="$1"
|
||||
local module_path="$2"
|
||||
local tool="${3:-gemini}"
|
||||
local model="$4"
|
||||
|
||||
# Validate parameters
|
||||
if [ -z "$module_path" ]; then
|
||||
echo "❌ Error: Module path is required"
|
||||
echo "Usage: update_module_claude.sh <module_path> [update_type]"
|
||||
if [ -z "$strategy" ] || [ -z "$module_path" ]; then
|
||||
echo "❌ Error: Strategy and module path are required"
|
||||
echo "Usage: update_module_claude.sh <strategy> <module_path> [tool] [model]"
|
||||
echo "Strategies: single-layer|multi-layer"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Validate strategy
|
||||
if [ "$strategy" != "single-layer" ] && [ "$strategy" != "multi-layer" ]; then
|
||||
echo "❌ Error: Invalid strategy '$strategy'"
|
||||
echo "Valid strategies: single-layer, multi-layer"
|
||||
return 1
|
||||
fi
|
||||
|
||||
@@ -76,6 +163,24 @@ update_module_claude() {
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Set default models if not specified
|
||||
if [ -z "$model" ]; then
|
||||
case "$tool" in
|
||||
gemini)
|
||||
model="gemini-2.5-flash"
|
||||
;;
|
||||
qwen)
|
||||
model="coder-model"
|
||||
;;
|
||||
codex)
|
||||
model="gpt5-codex"
|
||||
;;
|
||||
*)
|
||||
model=""
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Build exclusion filters from .gitignore
|
||||
local exclusion_filters=$(build_exclusion_filters)
|
||||
|
||||
@@ -85,79 +190,105 @@ update_module_claude() {
|
||||
echo "⚠️ Skipping '$module_path' - no files found (after .gitignore filtering)"
|
||||
return 0
|
||||
fi
|
||||
|
||||
|
||||
# Use unified template for all modules
|
||||
local template_path="$HOME/.claude/workflows/cli-templates/prompts/memory/claude-module-unified.txt"
|
||||
local analysis_strategy="--all-files"
|
||||
|
||||
|
||||
# Read template content directly
|
||||
local template_content=""
|
||||
if [ -f "$template_path" ]; then
|
||||
template_content=$(cat "$template_path")
|
||||
echo " 📋 Loaded template: $(wc -l < "$template_path") lines"
|
||||
else
|
||||
echo " ⚠️ Template not found: $template_path"
|
||||
echo " Using fallback template..."
|
||||
template_content="Create comprehensive CLAUDE.md documentation following standard structure with Purpose, Structure, Components, Dependencies, Integration, and Implementation sections."
|
||||
fi
|
||||
|
||||
# Scan directory structure first
|
||||
echo " 🔍 Scanning directory structure..."
|
||||
local structure_info=$(scan_directory_structure "$module_path" "$strategy")
|
||||
|
||||
# Prepare logging info
|
||||
local module_name=$(basename "$module_path")
|
||||
|
||||
echo "⚡ Updating: $module_path"
|
||||
echo " Type: $update_type | Tool: $tool | Files: $file_count"
|
||||
echo " Template: $(basename "$template_path")"
|
||||
|
||||
# Generate prompt with template injection
|
||||
local template_content=""
|
||||
if [ -f "$template_path" ]; then
|
||||
template_content=$(cat "$template_path")
|
||||
else
|
||||
echo " ⚠️ Template not found: $template_path, using fallback"
|
||||
template_content="Update CLAUDE.md documentation for this module: document structure, key components, dependencies, and integration points."
|
||||
fi
|
||||
|
||||
local update_context=""
|
||||
if [ "$update_type" = "full" ]; then
|
||||
update_context="
|
||||
Update Mode: Complete refresh
|
||||
- Perform comprehensive analysis of all content
|
||||
- Document module structure, dependencies, and key components
|
||||
- Follow template guidelines strictly"
|
||||
else
|
||||
update_context="
|
||||
Update Mode: Context-aware update
|
||||
- Focus on recent changes and affected areas
|
||||
- Maintain consistency with existing documentation
|
||||
- Update only relevant sections
|
||||
- Follow template guidelines for updated content"
|
||||
fi
|
||||
|
||||
local base_prompt="
|
||||
⚠️ CRITICAL RULES - MUST FOLLOW:
|
||||
1. ONLY modify CLAUDE.md files
|
||||
2. NEVER modify source code files
|
||||
3. Focus exclusively on updating documentation
|
||||
4. Follow the template guidelines exactly
|
||||
echo " Strategy: $strategy | Tool: $tool | Model: $model | Files: $file_count"
|
||||
echo " Template: $(basename "$template_path") ($(echo "$template_content" | wc -l) lines)"
|
||||
echo " Structure: Scanned $(echo "$structure_info" | wc -l) lines of structure info"
|
||||
|
||||
$template_content
|
||||
# Build minimal strategy-specific prompt with explicit paths and structure info
|
||||
local final_prompt=""
|
||||
|
||||
if [ "$strategy" = "multi-layer" ]; then
|
||||
# multi-layer strategy: read all, generate for each directory
|
||||
final_prompt="Directory Structure Analysis:
|
||||
$structure_info
|
||||
|
||||
Read: @**/*
|
||||
|
||||
Generate CLAUDE.md files:
|
||||
- Primary: ./CLAUDE.md (current directory)
|
||||
- Additional: CLAUDE.md in each subdirectory containing files
|
||||
|
||||
Template Guidelines:
|
||||
$template_content
|
||||
|
||||
Instructions:
|
||||
- Work bottom-up: deepest directories first
|
||||
- Parent directories reference children
|
||||
- Each CLAUDE.md file must be in its respective directory
|
||||
- Follow the template guidelines above for consistent structure
|
||||
- Use the structure analysis to understand directory hierarchy"
|
||||
else
|
||||
# single-layer strategy: read current + child CLAUDE.md, generate current only
|
||||
final_prompt="Directory Structure Analysis:
|
||||
$structure_info
|
||||
|
||||
Read: @*/CLAUDE.md @*.ts @*.tsx @*.js @*.jsx @*.py @*.sh @*.md @*.json @*.yaml @*.yml
|
||||
|
||||
Generate single file: ./CLAUDE.md
|
||||
|
||||
Template Guidelines:
|
||||
$template_content
|
||||
|
||||
Instructions:
|
||||
- Create exactly one CLAUDE.md file in the current directory
|
||||
- Reference child CLAUDE.md files, do not duplicate their content
|
||||
- Follow the template guidelines above for consistent structure
|
||||
- Use the structure analysis to understand the current directory context"
|
||||
fi
|
||||
|
||||
$update_context"
|
||||
|
||||
# Execute update
|
||||
local start_time=$(date +%s)
|
||||
echo " 🔄 Starting update..."
|
||||
|
||||
if cd "$module_path" 2>/dev/null; then
|
||||
local tool_result=0
|
||||
local final_prompt="$base_prompt
|
||||
|
||||
Module Information:
|
||||
- Name: $module_name
|
||||
- Path: $module_path
|
||||
- Tool: $tool"
|
||||
|
||||
# Execute with selected tool (always use --all-files)
|
||||
# Execute with selected tool
|
||||
# NOTE: Model parameter (-m) is placed AFTER the prompt
|
||||
case "$tool" in
|
||||
qwen)
|
||||
qwen --all-files --yolo -p "$final_prompt" 2>&1
|
||||
if [ "$model" = "coder-model" ]; then
|
||||
# coder-model is default, -m is optional
|
||||
qwen -p "$final_prompt" --yolo 2>&1
|
||||
else
|
||||
qwen -p "$final_prompt" -m "$model" --yolo 2>&1
|
||||
fi
|
||||
tool_result=$?
|
||||
;;
|
||||
codex)
|
||||
codex --full-auto exec "$final_prompt" --skip-git-repo-check -s danger-full-access 2>&1
|
||||
codex --full-auto exec "$final_prompt" -m "$model" --skip-git-repo-check -s danger-full-access 2>&1
|
||||
tool_result=$?
|
||||
;;
|
||||
gemini|*)
|
||||
gemini --all-files --yolo -p "$final_prompt" 2>&1
|
||||
gemini)
|
||||
gemini -p "$final_prompt" -m "$model" --yolo 2>&1
|
||||
tool_result=$?
|
||||
;;
|
||||
*)
|
||||
echo " ⚠️ Unknown tool: $tool, defaulting to gemini"
|
||||
gemini -p "$final_prompt" -m "$model" --yolo 2>&1
|
||||
tool_result=$?
|
||||
;;
|
||||
esac
|
||||
@@ -181,5 +312,22 @@ update_module_claude() {
|
||||
|
||||
# Execute function if script is run directly
|
||||
if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
|
||||
# Show help if no arguments or help requested
|
||||
if [ $# -eq 0 ] || [ "$1" = "-h" ] || [ "$1" = "--help" ]; then
|
||||
echo "Usage: update_module_claude.sh <strategy> <module_path> [tool] [model]"
|
||||
echo ""
|
||||
echo "Strategies:"
|
||||
echo " single-layer - Read current dir code + child CLAUDE.md, generate ./CLAUDE.md"
|
||||
echo " multi-layer - Read all files, generate CLAUDE.md for each directory"
|
||||
echo ""
|
||||
echo "Tools: gemini (default), qwen, codex"
|
||||
echo "Models: Use tool defaults if not specified"
|
||||
echo ""
|
||||
echo "Examples:"
|
||||
echo " ./update_module_claude.sh single-layer ./src/auth"
|
||||
echo " ./update_module_claude.sh multi-layer ./components gemini gemini-2.5-flash"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
update_module_claude "$@"
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -1,4 +1,25 @@
|
||||
# Synthesis Role Template
|
||||
# ⚠️ DEPRECATED: Synthesis Role Template
|
||||
|
||||
## DEPRECATION NOTICE
|
||||
|
||||
**This template is DEPRECATED and no longer used.**
|
||||
|
||||
### Why Deprecated
|
||||
The `/workflow:brainstorm:synthesis` command has been redesigned:
|
||||
- **Old behavior**: Generated synthesis-specification.md consolidating all role analyses
|
||||
- **New behavior**: Performs cross-role analysis, identifies ambiguities, interacts with user for clarification, and updates role analysis.md files directly
|
||||
|
||||
### Migration
|
||||
- **Role analyses are the source of truth**: Each role's analysis.md file is updated directly
|
||||
- **Planning reads role documents**: The planning phase dynamically reads all role analysis.md files
|
||||
- **No template needed**: The clarification workflow doesn't require a document template
|
||||
|
||||
### Historical Context
|
||||
This template was used to guide the generation of synthesis-specification.md from multiple role perspectives. It is preserved for historical reference but should not be used in the new architecture.
|
||||
|
||||
---
|
||||
|
||||
# Original Template (Historical Reference)
|
||||
|
||||
## Purpose
|
||||
Generate comprehensive synthesis-specification.md that consolidates all role perspectives from brainstorming into actionable implementation specification.
|
||||
@@ -18,7 +39,7 @@ Generate comprehensive synthesis-specification.md that consolidates all role per
|
||||
```markdown
|
||||
# [Topic] - Integrated Implementation Specification
|
||||
|
||||
**Framework Reference**: @topic-framework.md | **Generated**: [timestamp] | **Session**: WFS-[topic-slug]
|
||||
**Framework Reference**: @guidance-specification.md | **Generated**: [timestamp] | **Session**: WFS-[topic-slug]
|
||||
**Source Integration**: All brainstorming role perspectives consolidated
|
||||
**Document Type**: Requirements & Design Specification (WHAT to build)
|
||||
|
||||
@@ -344,7 +365,7 @@ Document known constraints that affect planning:
|
||||
|
||||
### Cross-Role Synthesis Process
|
||||
|
||||
1. **Load All Role Analyses**: Read topic-framework.md and all discovered */analysis.md files
|
||||
1. **Load All Role Analyses**: Read guidance-specification.md and all discovered */analysis.md files
|
||||
2. **Extract Key Insights**: Identify main recommendations, concerns, and innovations from each role
|
||||
3. **Identify Consensus Areas**: Find common themes across multiple roles
|
||||
4. **Document Disagreements**: Capture controversial points where roles differ
|
||||
@@ -371,7 +392,7 @@ Document known constraints that affect planning:
|
||||
Use @ references to link back to source role analyses:
|
||||
- `@role/analysis.md` - Reference entire role analysis
|
||||
- `@role/analysis.md#section` - Reference specific section
|
||||
- `@topic-framework.md#point-3` - Reference framework discussion point
|
||||
- `@guidance-specification.md#point-3` - Reference framework discussion point
|
||||
|
||||
### Dynamic Role Handling
|
||||
|
||||
|
||||
@@ -1,6 +1,12 @@
|
||||
Create or update CLAUDE.md documentation using unified module/file template.
|
||||
|
||||
## ⚠️ FILE NAMING RULE (CRITICAL)
|
||||
- Target file: MUST be named exactly `CLAUDE.md` in the current directory
|
||||
- NEVER create files like `ToolSidebar.CLAUDE.md` or `[filename].CLAUDE.md`
|
||||
- ALWAYS use the fixed name: `CLAUDE.md`
|
||||
|
||||
## CORE CHECKLIST ⚡
|
||||
□ MUST create/update file named exactly 'CLAUDE.md' (not variants)
|
||||
□ MUST include all 6 sections: Purpose, Structure, Components, Dependencies, Integration, Implementation
|
||||
□ For code files: Document all public/exported APIs with complete parameter details
|
||||
□ For folders: Reference subdirectory CLAUDE.md files instead of duplicating
|
||||
@@ -64,6 +70,11 @@ Create or update CLAUDE.md documentation using unified module/file template.
|
||||
|
||||
## OUTPUT REQUIREMENTS
|
||||
|
||||
### File Naming (CRITICAL)
|
||||
- **Output file**: MUST be named exactly `CLAUDE.md` in the current directory
|
||||
- **Examples of WRONG naming**: `ToolSidebar.CLAUDE.md`, `index.CLAUDE.md`, `utils.CLAUDE.md`
|
||||
- **Correct naming**: `CLAUDE.md` (always, for all directories)
|
||||
|
||||
### Template Structure
|
||||
```markdown
|
||||
# [Module/File Name]
|
||||
@@ -143,6 +154,7 @@ Create or update CLAUDE.md documentation using unified module/file template.
|
||||
- Update existing CLAUDE.md files rather than creating duplicate sections
|
||||
|
||||
## VERIFICATION CHECKLIST ✓
|
||||
□ Output file is named exactly 'CLAUDE.md' (not [filename].CLAUDE.md)
|
||||
□ All 6 required sections included (Purpose, Structure, Components, Dependencies, Integration, Implementation)
|
||||
□ All public/exported APIs documented with complete signatures
|
||||
□ Parameters documented with types, descriptions, and defaults
|
||||
|
||||
@@ -187,8 +187,8 @@ Generate ANALYSIS_RESULTS.md with comprehensive solution design and technical an
|
||||
|
||||
### Analysis Priority Sources
|
||||
1. **PRIMARY**: Individual role analysis.md files (system-architect, ui-designer, etc.) - technical details, ADRs, decision context
|
||||
2. **SECONDARY**: synthesis-specification.md - integrated requirements, cross-role alignment
|
||||
3. **REFERENCE**: topic-framework.md - discussion context
|
||||
2. **SECONDARY**: role analysis documents - multi-perspective requirements and design specs
|
||||
3. **REFERENCE**: guidance-specification.md - discussion context
|
||||
|
||||
### Focus Areas
|
||||
- **SOLUTION IMPROVEMENTS**: How to enhance current design
|
||||
|
||||
@@ -15,12 +15,12 @@ Analyze and design optimal solution with comprehensive architecture evaluation a
|
||||
- Architecture Decision Records (ADRs)
|
||||
- Design decision context and rationale
|
||||
|
||||
2. **SECONDARY**: synthesis-specification.md
|
||||
2. **SECONDARY**: role analysis documents
|
||||
- Integrated requirements across roles
|
||||
- Cross-role alignment and dependencies
|
||||
- Unified feature specifications
|
||||
|
||||
3. **REFERENCE**: topic-framework.md
|
||||
3. **REFERENCE**: guidance-specification.md
|
||||
- Discussion context and background
|
||||
- Initial problem framing
|
||||
|
||||
@@ -104,8 +104,8 @@ For each target:
|
||||
### Brainstorm Context
|
||||
If brainstorming artifacts exist:
|
||||
- Prioritize individual role analysis.md files
|
||||
- Use synthesis-specification.md for integrated view
|
||||
- Reference topic-framework.md for context
|
||||
- Use role analysis documents for integrated view
|
||||
- Reference guidance-specification.md for context
|
||||
|
||||
### Codebase Context
|
||||
- Identify similar patterns in existing code
|
||||
|
||||
@@ -35,10 +35,10 @@ Core requirements, objectives, technical approach summary (2-3 paragraphs max).
|
||||
|
||||
### CCW Workflow Context
|
||||
**Phase Progression**:
|
||||
- ✅ Phase 1: Brainstorming (synthesis-specification.md generated)
|
||||
- ✅ Phase 1: Brainstorming (role analyses generated)
|
||||
- ✅ Phase 2: Context Gathering (context-package.json: {N} files, {M} modules analyzed)
|
||||
- ✅ Phase 3: Enhanced Analysis (ANALYSIS_RESULTS.md: Gemini/Qwen/Codex parallel insights)
|
||||
- ✅ Phase 4: Concept Verification ({X} clarifications answered, synthesis updated | skipped)
|
||||
- ✅ Phase 4: Concept Verification ({X} clarifications answered, role analyses updated | skipped)
|
||||
- ⏳ Phase 5: Action Planning (current phase - generating IMPL_PLAN.md)
|
||||
|
||||
**Quality Gates**:
|
||||
@@ -76,12 +76,12 @@ Core requirements, objectives, technical approach summary (2-3 paragraphs max).
|
||||
## 3. Brainstorming Artifacts Reference
|
||||
|
||||
### Artifact Usage Strategy
|
||||
**Primary Reference (synthesis-specification.md)**:
|
||||
- **What**: Comprehensive implementation blueprint from multi-role synthesis
|
||||
- **When**: Every task references this first for requirements and design decisions
|
||||
- **How**: Extract architecture decisions, UI/UX patterns, functional requirements, non-functional requirements
|
||||
- **Priority**: Authoritative - overrides role-specific analyses when conflicts arise
|
||||
- **CCW Value**: Consolidates insights from all brainstorming roles into single source of truth
|
||||
**Primary Reference (role analyses)**:
|
||||
- **What**: Role-specific analyses from brainstorming providing multi-perspective insights
|
||||
- **When**: Every task references relevant role analyses for requirements and design decisions
|
||||
- **How**: Extract requirements, architecture decisions, UI/UX patterns from applicable role documents
|
||||
- **Priority**: Collective authoritative source - multiple role perspectives provide comprehensive coverage
|
||||
- **CCW Value**: Maintains role-specific expertise while enabling cross-role integration during planning
|
||||
|
||||
**Context Intelligence (context-package.json)**:
|
||||
- **What**: Smart context gathered by CCW's context-gather phase
|
||||
@@ -96,17 +96,17 @@ Core requirements, objectives, technical approach summary (2-3 paragraphs max).
|
||||
- **CCW Value**: Multi-model parallel analysis providing comprehensive technical intelligence
|
||||
|
||||
### Integrated Specifications (Highest Priority)
|
||||
- **synthesis-specification.md**: Comprehensive implementation blueprint
|
||||
- **role analyses**: Comprehensive implementation blueprint
|
||||
- Contains: Architecture design, UI/UX guidelines, functional/non-functional requirements, implementation roadmap, risk assessment
|
||||
|
||||
### Supporting Artifacts (Reference)
|
||||
- **topic-framework.md**: Role-specific discussion points and analysis framework
|
||||
- **guidance-specification.md**: Role-specific discussion points and analysis framework
|
||||
- **system-architect/analysis.md**: Detailed architecture specifications
|
||||
- **ui-designer/analysis.md**: Layout and component specifications
|
||||
- **product-manager/analysis.md**: Product vision and user stories
|
||||
|
||||
**Artifact Priority in Development**:
|
||||
1. synthesis-specification.md (primary reference for all tasks)
|
||||
1. role analyses (primary reference for all tasks)
|
||||
2. context-package.json (smart context for execution environment)
|
||||
3. ANALYSIS_RESULTS.md (technical analysis and optimization strategies)
|
||||
4. Role-specific analyses (fallback for detailed specifications)
|
||||
@@ -126,7 +126,7 @@ Core requirements, objectives, technical approach summary (2-3 paragraphs max).
|
||||
|
||||
### Architectural Approach
|
||||
**Key Architecture Decisions**:
|
||||
- [ADR references from synthesis]
|
||||
- [ADR references from role analyses]
|
||||
- [Justification for architecture patterns]
|
||||
|
||||
**Integration Strategy**:
|
||||
@@ -218,7 +218,7 @@ Core requirements, objectives, technical approach summary (2-3 paragraphs max).
|
||||
## 8. Success Criteria
|
||||
|
||||
**Functional Completeness**:
|
||||
- [ ] All requirements from synthesis-specification.md implemented
|
||||
- [ ] All requirements from role analyses implemented
|
||||
- [ ] All acceptance criteria from task.json files met
|
||||
|
||||
**Technical Quality**:
|
||||
@@ -232,7 +232,7 @@ Core requirements, objectives, technical approach summary (2-3 paragraphs max).
|
||||
- [ ] Documentation complete
|
||||
|
||||
**Business Metrics**:
|
||||
- [ ] [Key business metrics from synthesis]
|
||||
- [ ] [Key business metrics from role analyses]
|
||||
|
||||
## Template Usage Guidelines
|
||||
|
||||
@@ -269,7 +269,7 @@ Core requirements, objectives, technical approach summary (2-3 paragraphs max).
|
||||
- Create dependency graph visualization
|
||||
|
||||
7. **Set Success Criteria**:
|
||||
- Extract from synthesis-specification.md
|
||||
- Extract from role analyses
|
||||
- Include measurable metrics
|
||||
- Define quality gates
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ Task JSON Schema - Agent Mode (No Command Field)
|
||||
"status": "pending",
|
||||
"meta": {
|
||||
"type": "feature|bugfix|refactor|test|docs",
|
||||
"agent": "@code-developer|@test-fix-agent|@general-purpose"
|
||||
"agent": "@code-developer|@test-fix-agent|@universal-executor"
|
||||
},
|
||||
"context": {
|
||||
"requirements": ["extracted from analysis"],
|
||||
@@ -34,8 +34,8 @@ Task JSON Schema - Agent Mode (No Command Field)
|
||||
"flow_control": {
|
||||
"pre_analysis": [
|
||||
{
|
||||
"step": "load_synthesis_specification",
|
||||
"action": "Load consolidated synthesis specification",
|
||||
"step": "load_role_analyses_specification",
|
||||
"action": "Load consolidated role analyses",
|
||||
"commands": [
|
||||
"Read({synthesis_spec_path})"
|
||||
],
|
||||
@@ -62,16 +62,16 @@ Task JSON Schema - Agent Mode (No Command Field)
|
||||
"implementation_approach": [
|
||||
{
|
||||
"step": 1,
|
||||
"title": "Implement task following synthesis specification",
|
||||
"description": "Implement '{title}' following [synthesis_specification] requirements and [context_pkg] patterns. Use synthesis-specification.md as primary source, consult artifacts for technical details.",
|
||||
"title": "Implement task following role analyses",
|
||||
"description": "Implement '{title}' following [synthesis_specification] requirements and [context_pkg] patterns. Use role analyses as primary source, consult artifacts for technical details.",
|
||||
"modification_points": [
|
||||
"Apply consolidated requirements from synthesis-specification.md",
|
||||
"Apply consolidated requirements from role analyses",
|
||||
"Follow technical guidelines from synthesis",
|
||||
"Consult artifacts for implementation details when needed",
|
||||
"Integrate with existing patterns"
|
||||
],
|
||||
"logic_flow": [
|
||||
"Load synthesis specification and context package",
|
||||
"Load role analyses and context package",
|
||||
"Analyze existing patterns from [codebase_structure]",
|
||||
"Implement following specification",
|
||||
"Consult artifacts for technical details when needed",
|
||||
|
||||
@@ -9,7 +9,7 @@ Task JSON Schema - CLI Execute Mode (With Command Field)
|
||||
"status": "pending",
|
||||
"meta": {
|
||||
"type": "feature|bugfix|refactor|test|docs",
|
||||
"agent": "@code-developer|@test-fix-agent|@general-purpose"
|
||||
"agent": "@code-developer|@test-fix-agent|@universal-executor"
|
||||
},
|
||||
"context": {
|
||||
"requirements": ["extracted from analysis"],
|
||||
@@ -148,10 +148,10 @@ bash(codex --full-auto exec "..." resume --last --skip-git-repo-check -s danger-
|
||||
|
||||
### Gemini/Qwen Commands (Analysis/Documentation)
|
||||
```bash
|
||||
bash(~/.claude/scripts/gemini-wrapper -p "PURPOSE: {purpose} TASK: {task} MODE: analysis CONTEXT: @{{synthesis_spec_path}} EXPECTED: {expected} RULES: {rules}")
|
||||
bash(gemini "PURPOSE: {purpose} TASK: {task} MODE: analysis CONTEXT: @{synthesis_spec_path} EXPECTED: {expected} RULES: {rules}")
|
||||
|
||||
# With write permission
|
||||
bash(~/.claude/scripts/gemini-wrapper --approval-mode yolo -p "PURPOSE: {purpose} TASK: {task} MODE: write CONTEXT: @{{context}} EXPECTED: {expected} RULES: {rules}")
|
||||
bash(gemini --approval-mode yolo "PURPOSE: {purpose} TASK: {task} MODE: write CONTEXT: @{context} EXPECTED: {expected} RULES: {rules}")
|
||||
```
|
||||
|
||||
## Field Descriptions
|
||||
@@ -175,4 +175,4 @@ bash(~/.claude/scripts/gemini-wrapper --approval-mode yolo -p "PURPOSE: {purpose
|
||||
5. **Step Dependencies**: Use `depends_on: [1, 2]` to specify execution order
|
||||
6. **Parameter Position**:
|
||||
- Codex: `--skip-git-repo-check -s danger-full-access` at END
|
||||
- Gemini/Qwen: `--approval-mode yolo` AFTER wrapper command, BEFORE -p
|
||||
- Gemini/Qwen: `--approval-mode yolo` BEFORE the prompt
|
||||
|
||||
@@ -8,89 +8,61 @@ type: search-guideline
|
||||
|
||||
## ⚡ Execution Environment
|
||||
|
||||
**CRITICAL**: All commands execute in **Bash environment** (Git Bash on Windows, Bash on Linux/macOS)
|
||||
**CRITICAL**: All commands execute in **Bash environment** (Git Bash on Windows)
|
||||
|
||||
**❌ Forbidden**: Windows-specific commands (`findstr`, `dir`, `where`, `type`, `copy`, `del`) - Use Bash equivalents (`grep`, `find`, `which`, `cat`, `cp`, `rm`)
|
||||
**❌ Forbidden**: Windows commands (`findstr`, `dir`, `where`) - Use Bash (`grep`, `find`, `cat`)
|
||||
|
||||
## ⚡ Core Search Tools
|
||||
|
||||
**codebase-retrieval**: Semantic file discovery via Gemini CLI with all files analysis
|
||||
**rg (ripgrep)**: Fast content search with regex support
|
||||
**find**: File/directory location by name patterns
|
||||
**grep**: Built-in pattern matching in files
|
||||
**get_modules_by_depth.sh**: Program architecture analysis and structural discovery
|
||||
**grep**: Built-in pattern matching (fallback when rg unavailable)
|
||||
**get_modules_by_depth.sh**: Program architecture analysis (MANDATORY before planning)
|
||||
|
||||
### Decision Principles
|
||||
- **Use codebase-retrieval for semantic discovery** - Intelligent file discovery based on task context
|
||||
- **Use rg for content** - Fastest for searching within files
|
||||
- **Use find for files** - Locate files/directories by name
|
||||
- **Use grep sparingly** - Only when rg unavailable
|
||||
- **Use get_modules_by_depth.sh first** - MANDATORY for program architecture analysis before planning
|
||||
- **Always use Bash commands** - NEVER use Windows cmd/PowerShell commands
|
||||
|
||||
### Tool Selection Matrix
|
||||
## 📋 Tool Selection Matrix
|
||||
|
||||
| Need | Tool | Use Case |
|
||||
|------|------|----------|
|
||||
| **Semantic file discovery** | codebase-retrieval | Find files relevant to task/feature context |
|
||||
| **Semantic discovery** | codebase-retrieval | Find files relevant to task/feature context |
|
||||
| **Pattern matching** | rg | Search code content with regex |
|
||||
| **File name lookup** | find | Locate files by name patterns |
|
||||
| **Architecture analysis** | get_modules_by_depth.sh | Understand program structure |
|
||||
| **Architecture** | get_modules_by_depth.sh | Understand program structure |
|
||||
|
||||
## 🔧 Quick Command Reference
|
||||
|
||||
### Quick Command Reference
|
||||
```bash
|
||||
# Semantic File Discovery (codebase-retrieval)
|
||||
~/.claude/scripts/gemini-wrapper --all-files -p "List all files relevant to: [task/feature description]"
|
||||
bash(~/.claude/scripts/gemini-wrapper --all-files -p "List all files relevant to: [task/feature description]")
|
||||
cd [directory] && gemini -p "
|
||||
PURPOSE: Discover files relevant to task/feature
|
||||
TASK: List all files related to [task/feature description]
|
||||
MODE: analysis
|
||||
CONTEXT: @**/*
|
||||
EXPECTED: Relevant file paths with relevance explanation
|
||||
RULES: Focus on direct relevance to task requirements
|
||||
"
|
||||
|
||||
# Program Architecture Analysis (MANDATORY FIRST)
|
||||
~/.claude/scripts/get_modules_by_depth.sh # Discover program architecture
|
||||
bash(~/.claude/scripts/get_modules_by_depth.sh) # Analyze structural hierarchy
|
||||
# Program Architecture (MANDATORY FIRST)
|
||||
~/.claude/scripts/get_modules_by_depth.sh
|
||||
|
||||
# Content Search (rg preferred)
|
||||
rg "pattern" --type js # Search in JS files
|
||||
rg -i "case-insensitive" # Ignore case
|
||||
rg -n "show-line-numbers" # Show line numbers
|
||||
rg -A 3 -B 3 "context-lines" # Show 3 lines before/after
|
||||
rg "pattern" --type js -n # Search JS files with line numbers
|
||||
rg -i "case-insensitive" # Ignore case
|
||||
rg -C 3 "context" # Show 3 lines before/after
|
||||
|
||||
# File Search (find)
|
||||
find . -name "*.ts" -type f # Find TypeScript files
|
||||
# File Search
|
||||
find . -name "*.ts" -type f # Find TypeScript files
|
||||
find . -path "*/node_modules" -prune -o -name "*.js" -print
|
||||
|
||||
# Built-in alternatives
|
||||
grep -r "pattern" . # Recursive search (slower)
|
||||
grep -n -i "pattern" file.txt # Line numbers, case-insensitive
|
||||
# Workflow Examples
|
||||
rg "IMPL-\d+" .workflow/ --type json # Find task IDs
|
||||
find .workflow/ -name "*.json" -path "*/.task/*" # Locate task files
|
||||
rg "status.*pending" .workflow/.task/ # Find pending tasks
|
||||
```
|
||||
|
||||
### Workflow Integration Examples
|
||||
```bash
|
||||
# Semantic Discovery → Content Search → Analysis (Recommended Pattern)
|
||||
~/.claude/scripts/gemini-wrapper --all-files -p "List all files relevant to: [task/feature]" # Get relevant files
|
||||
rg "[pattern]" --type [filetype] # Then search within discovered files
|
||||
## ⚡ Performance Tips
|
||||
|
||||
# Program Architecture Analysis (MANDATORY BEFORE PLANNING)
|
||||
~/.claude/scripts/get_modules_by_depth.sh # Discover program architecture
|
||||
bash(~/.claude/scripts/get_modules_by_depth.sh) # Analyze structural hierarchy
|
||||
|
||||
# Search for task definitions
|
||||
rg "IMPL-\d+" .workflow/ --type json # Find task IDs
|
||||
find .workflow/ -name "*.json" -path "*/.task/*" # Locate task files
|
||||
|
||||
# Analyze workflow structure
|
||||
rg "status.*pending" .workflow/.task/ # Find pending tasks
|
||||
rg "depends_on" .workflow/.task/ -A 2 # Show dependencies
|
||||
|
||||
# Find workflow sessions
|
||||
find .workflow/ -name ".active-*" # Active sessions
|
||||
rg "WFS-" .workflow/ --type json # Session references
|
||||
|
||||
# Content analysis for planning
|
||||
rg "flow_control" .workflow/ -B 2 -A 5 # Flow control patterns
|
||||
find . -name "IMPL_PLAN.md" -exec grep -l "requirements" {} \;
|
||||
```
|
||||
|
||||
### Performance Tips
|
||||
- **rg > grep** for content search
|
||||
- **Use --type filters** to limit file types
|
||||
- **Exclude common dirs**: `--glob '!node_modules'`
|
||||
- **Use -F for literal** strings (no regex)
|
||||
- **Exclude dirs**: `--glob '!node_modules'`
|
||||
- **Use -F** for literal strings (no regex)
|
||||
|
||||
@@ -7,67 +7,96 @@ type: strategic-guideline
|
||||
# Intelligent Tools Selection Strategy
|
||||
|
||||
## 📋 Table of Contents
|
||||
1. [Core Framework](#-core-framework)
|
||||
1. [Quick Start](#-quick-start)
|
||||
2. [Tool Specifications](#-tool-specifications)
|
||||
3. [Command Templates](#-command-templates)
|
||||
4. [Tool Selection Guide](#-tool-selection-guide)
|
||||
5. [Usage Patterns](#-usage-patterns)
|
||||
6. [Best Practices](#-best-practices)
|
||||
4. [Execution Configuration](#-execution-configuration)
|
||||
5. [Best Practices](#-best-practices)
|
||||
|
||||
---
|
||||
|
||||
## ⚡ Core Framework
|
||||
## ⚡ Quick Start
|
||||
|
||||
### Tool Overview
|
||||
- **Gemini**: Analysis, understanding, exploration & documentation (primary)
|
||||
- **Qwen**: Analysis, understanding, exploration & documentation (fallback, same capabilities as Gemini)
|
||||
- **Codex**: Development, implementation & automation
|
||||
|
||||
### Decision Principles
|
||||
### Model Selection (-m parameter)
|
||||
|
||||
**Gemini Models**:
|
||||
- `gemini-2.5-pro` - Analysis tasks (default)
|
||||
- `gemini-2.5-flash` - Documentation updates
|
||||
|
||||
**Qwen Models**:
|
||||
- `coder-model` - Code analysis (default, -m optional)
|
||||
- `vision-model` - Image analysis (rare usage)
|
||||
|
||||
**Codex Models**:
|
||||
- `gpt-5` - Analysis & execution (default)
|
||||
- `gpt5-codex` - Large context tasks
|
||||
|
||||
**Usage**: `tool -p "prompt" -m model-name` (NOTE: -m placed AFTER prompt)
|
||||
|
||||
### Quick Decision Matrix
|
||||
|
||||
| Scenario | Tool | Command Pattern |
|
||||
|----------|------|-----------------|
|
||||
| **Exploring/Understanding** | Gemini → Qwen | `cd [dir] && gemini -p "PURPOSE:... CONTEXT: @**/*"` |
|
||||
| **Architecture/Analysis** | Gemini → Qwen | `cd [dir] && gemini -p "PURPOSE:... CONTEXT: @**/*"` |
|
||||
| **Building/Fixing** | Codex | `codex -C [dir] --full-auto exec "PURPOSE:... MODE: auto"` |
|
||||
| **Not sure?** | Multiple | Use tools in parallel |
|
||||
| **Small task?** | Still use tools | Tools are faster than manual work |
|
||||
|
||||
### Core Principles
|
||||
- **Use tools early and often** - Tools are faster, more thorough, and reliable than manual approaches
|
||||
- **When in doubt, use both** - Parallel usage provides comprehensive coverage
|
||||
- **Default to tools** - Use specialized tools for most coding tasks, no matter how small
|
||||
- **Lower barriers** - Engage tools immediately when encountering any complexity
|
||||
- **Context optimization** - Based on user intent, determine whether to use `-C [directory]` parameter for focused analysis to reduce irrelevant context import
|
||||
- **⚠️ Write operation protection** - For local codebase write/modify operations, require EXPLICIT user confirmation unless user provides clear instructions containing MODE=write or MODE=auto
|
||||
|
||||
### Quick Decision Rules
|
||||
1. **Exploring/Understanding?** → Start with Gemini (fallback to Qwen if needed)
|
||||
2. **Architecture/Analysis?** → Start with Gemini (fallback to Qwen if needed)
|
||||
3. **Building/Fixing?** → Start with Codex
|
||||
4. **Not sure?** → Use multiple tools in parallel
|
||||
5. **Small task?** → Still use tools - they're faster than manual work
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Tool Specifications
|
||||
|
||||
### Gemini
|
||||
- **Command**: `~/.claude/scripts/gemini-wrapper`
|
||||
### Gemini & Qwen
|
||||
|
||||
#### Overview
|
||||
- **Commands**: `gemini` (primary) | `qwen` (fallback)
|
||||
- **Strengths**: Large context window, pattern recognition
|
||||
- **Best For**: Analysis, documentation generation, code exploration
|
||||
- **Permissions**: Default read-only analysis, MODE=write requires explicit specification (auto-enables --approval-mode yolo)
|
||||
- **Best For**: Analysis, documentation generation, code exploration, architecture review
|
||||
- **Permissions**: Default read-only analysis, MODE=write requires explicit specification
|
||||
- **Default MODE**: `analysis` (read-only)
|
||||
- **⚠️ Write Trigger**: Only when user explicitly requests "generate documentation", "modify code", or specifies MODE=write
|
||||
- **Priority**: Prefer Gemini; use Qwen as fallback when Gemini unavailable
|
||||
|
||||
#### MODE Options
|
||||
- `analysis` (default) - Read-only analysis and documentation generation
|
||||
- `write` - ⚠️ Create/modify codebase files (requires explicit specification, auto-enables --approval-mode yolo)
|
||||
|
||||
### Qwen
|
||||
- **Command**: `~/.claude/scripts/qwen-wrapper`
|
||||
- **Strengths**: Large context window, pattern recognition (same as Gemini)
|
||||
- **Best For**: Analysis, documentation generation, code exploration (fallback option when Gemini unavailable)
|
||||
- **Permissions**: Default read-only analysis, MODE=write requires explicit specification (auto-enables --approval-mode yolo)
|
||||
- **Default MODE**: `analysis` (read-only)
|
||||
- **⚠️ Write Trigger**: Only when user explicitly requests "generate documentation", "modify code", or specifies MODE=write
|
||||
- **Priority**: Secondary to Gemini - use as fallback for same tasks
|
||||
**analysis** (default) - Read-only analysis and documentation generation
|
||||
- **⚠️ CRITICAL CONSTRAINT**: Absolutely NO file creation, modification, or deletion operations
|
||||
- Analysis output should be returned as text response only
|
||||
- Use for: code review, architecture analysis, pattern discovery, documentation reading
|
||||
|
||||
#### MODE Options
|
||||
- `analysis` (default) - Read-only analysis and documentation generation (same as Gemini)
|
||||
- `write` - ⚠️ Create/modify codebase files (requires explicit specification, auto-enables --approval-mode yolo)
|
||||
**write** - ⚠️ Create/modify codebase files (requires explicit specification, auto-enables --approval-mode yolo)
|
||||
- Use for: generating documentation files, creating code files, modifying existing files
|
||||
|
||||
#### Tool Selection
|
||||
```bash
|
||||
# Default: Use Gemini
|
||||
gemini -p "analysis prompt"
|
||||
|
||||
# Fallback: Use Qwen if Gemini unavailable
|
||||
qwen -p "analysis prompt"
|
||||
```
|
||||
|
||||
#### Error Handling
|
||||
**⚠️ Gemini 429 Behavior**: May show HTTP 429 error but still return results - ignore error messages, only check if results exist (results present = success, no results = retry/fallback to Qwen)
|
||||
|
||||
---
|
||||
|
||||
### Codex
|
||||
|
||||
#### Overview
|
||||
- **Command**: `codex --full-auto exec`
|
||||
- **Strengths**: Autonomous development, mathematical reasoning
|
||||
- **Best For**: Implementation, testing, automation
|
||||
@@ -76,27 +105,39 @@ type: strategic-guideline
|
||||
- **⚠️ Write Trigger**: Only when user explicitly requests "implement", "modify", "generate code" AND specifies MODE
|
||||
|
||||
#### MODE Options
|
||||
- `auto` - ⚠️ Autonomous development with full file operations (requires explicit specification, enables -s danger-full-access)
|
||||
- `write` - ⚠️ Test generation and file modification (requires explicit specification)
|
||||
- **Default**: No default mode, MODE must be explicitly specified
|
||||
|
||||
**auto** - ⚠️ Autonomous development with full file operations
|
||||
- Requires explicit specification
|
||||
- Enables `-s danger-full-access`
|
||||
- Use for: feature implementation, bug fixes, autonomous development
|
||||
|
||||
**write** - ⚠️ Test generation and file modification
|
||||
- Requires explicit specification
|
||||
- Use for: test generation, focused file modifications
|
||||
|
||||
#### Session Management
|
||||
- `codex resume` - Resume previous interactive session (picker by default)
|
||||
- `codex exec "task" resume --last` - Continue most recent session with new task (maintains context)
|
||||
- `codex -i <image_file>` - Attach image(s) to initial prompt (useful for UI/design references)
|
||||
- **Multi-task Pattern**: First task uses `exec`, subsequent tasks use `exec "..." resume --last` for context continuity
|
||||
- **Parameter Position**: `resume --last` must be placed AFTER the prompt string at command END
|
||||
- **Example**:
|
||||
```bash
|
||||
# First task - establish session
|
||||
codex -C project --full-auto exec "Implement auth module" --skip-git-repo-check -s danger-full-access
|
||||
|
||||
# Subsequent tasks - continue same session
|
||||
codex --full-auto exec "Add JWT validation" resume --last --skip-git-repo-check -s danger-full-access
|
||||
codex --full-auto exec "Write auth tests" resume --last --skip-git-repo-check -s danger-full-access
|
||||
```
|
||||
**Basic Commands**:
|
||||
- `codex resume` - Resume previous interactive session (picker by default)
|
||||
- `codex resume --last` - Resume most recent session directly
|
||||
- `codex -i <image_file>` - Attach image(s) to initial prompt (useful for UI/design references)
|
||||
|
||||
**Multi-task Pattern**: First task uses `exec`, subsequent tasks use `exec "..." resume --last` for context continuity
|
||||
|
||||
**Parameter Position**: `resume --last` must be placed AFTER the prompt string at command END
|
||||
|
||||
**Example**:
|
||||
```bash
|
||||
# First task - establish session
|
||||
codex -C project --full-auto exec "Implement auth module" --skip-git-repo-check -s danger-full-access
|
||||
|
||||
# Subsequent tasks - continue same session
|
||||
codex --full-auto exec "Add JWT validation" resume --last --skip-git-repo-check -s danger-full-access
|
||||
codex --full-auto exec "Write auth tests" resume --last --skip-git-repo-check -s danger-full-access
|
||||
```
|
||||
|
||||
#### Auto-Resume Decision Rules
|
||||
|
||||
**When to use `resume --last`**:
|
||||
- Current task is related to/extends previous Codex task in conversation memory
|
||||
- Current task requires context from previous implementation
|
||||
@@ -114,125 +155,170 @@ type: strategic-guideline
|
||||
## 🎯 Command Templates
|
||||
|
||||
### Universal Template Structure
|
||||
|
||||
Every command MUST follow this structure:
|
||||
- [ ] **PURPOSE** - Clear goal and intent
|
||||
- [ ] **TASK** - Specific execution task
|
||||
- [ ] **TASK** - Specific execution task (use list format: • Task item 1 • Task item 2 • Task item 3)
|
||||
- [ ] **MODE** - Execution mode and permission level
|
||||
- [ ] **CONTEXT** - File references and memory context from previous sessions
|
||||
- [ ] **EXPECTED** - Clear expected results
|
||||
- [ ] **RULES** - Template reference and constraints
|
||||
- [ ] **RULES** - Template reference and constraints (include mode constraints: analysis=READ-ONLY | write=CREATE/MODIFY/DELETE | auto=FULL operations)
|
||||
|
||||
---
|
||||
|
||||
### Standard Command Formats
|
||||
|
||||
#### Gemini Commands
|
||||
#### Gemini & Qwen Commands
|
||||
|
||||
```bash
|
||||
# Gemini Analysis (read-only, default)
|
||||
cd [directory] && ~/.claude/scripts/gemini-wrapper -p "
|
||||
# Analysis Mode (read-only, default)
|
||||
# Use 'gemini' (primary) or 'qwen' (fallback)
|
||||
cd [directory] && gemini -p "
|
||||
PURPOSE: [clear analysis goal]
|
||||
TASK: [specific analysis task]
|
||||
MODE: analysis
|
||||
CONTEXT: [file references and memory context]
|
||||
CONTEXT: @**/* [default: all files, or specify file patterns]
|
||||
EXPECTED: [expected output]
|
||||
RULES: [template reference and constraints]
|
||||
"
|
||||
|
||||
# Gemini Write Mode (requires explicit MODE=write)
|
||||
# NOTE: --approval-mode yolo must be placed AFTER wrapper command, BEFORE -p
|
||||
cd [directory] && ~/.claude/scripts/gemini-wrapper --approval-mode yolo -p "
|
||||
# Model Selection Examples (NOTE: -m placed AFTER prompt)
|
||||
cd [directory] && gemini -p "..." -m gemini-2.5-pro # Analysis (default)
|
||||
cd [directory] && gemini -p "..." -m gemini-2.5-flash # Documentation updates
|
||||
cd [directory] && qwen -p "..." # coder-model (default, -m optional)
|
||||
cd [directory] && qwen -p "..." -m vision-model # Image analysis (rare)
|
||||
|
||||
# Write Mode (requires explicit MODE=write)
|
||||
# NOTE: --approval-mode yolo must be placed AFTER the prompt
|
||||
cd [directory] && gemini -p "
|
||||
PURPOSE: [clear goal]
|
||||
TASK: [specific task]
|
||||
MODE: write
|
||||
CONTEXT: [file references and memory context]
|
||||
CONTEXT: @**/* [default: all files, or specify file patterns]
|
||||
EXPECTED: [expected output]
|
||||
RULES: [template reference and constraints]
|
||||
"
|
||||
```
|
||||
" -m gemini-2.5-flash --approval-mode yolo
|
||||
|
||||
#### Qwen Commands
|
||||
```bash
|
||||
# Qwen Analysis (read-only, default) - Same as Gemini, use as fallback
|
||||
cd [directory] && ~/.claude/scripts/qwen-wrapper -p "
|
||||
PURPOSE: [clear analysis goal]
|
||||
TASK: [specific analysis task]
|
||||
MODE: analysis
|
||||
CONTEXT: [file references and memory context]
|
||||
EXPECTED: [expected output]
|
||||
RULES: [template reference and constraints]
|
||||
"
|
||||
|
||||
# Qwen Write Mode (requires explicit MODE=write)
|
||||
# NOTE: --approval-mode yolo must be placed AFTER wrapper command, BEFORE -p
|
||||
cd [directory] && ~/.claude/scripts/qwen-wrapper --approval-mode yolo -p "
|
||||
PURPOSE: [clear goal]
|
||||
TASK: [specific task]
|
||||
MODE: write
|
||||
CONTEXT: [file references and memory context]
|
||||
EXPECTED: [expected output]
|
||||
RULES: [template reference and constraints]
|
||||
"
|
||||
# Fallback: Replace 'gemini' with 'qwen' if Gemini unavailable
|
||||
cd [directory] && qwen -p "..." # coder-model default (-m optional)
|
||||
```
|
||||
|
||||
#### Codex Commands
|
||||
|
||||
```bash
|
||||
# Codex Development (requires explicit MODE=auto)
|
||||
# NOTE: --skip-git-repo-check and -s danger-full-access must be placed at command END
|
||||
# NOTE: -m, --skip-git-repo-check and -s danger-full-access must be placed at command END
|
||||
codex -C [directory] --full-auto exec "
|
||||
PURPOSE: [clear development goal]
|
||||
TASK: [specific development task]
|
||||
MODE: auto
|
||||
CONTEXT: [file references and memory context]
|
||||
CONTEXT: @**/* [default: all files, or specify file patterns and memory context]
|
||||
EXPECTED: [expected deliverables]
|
||||
RULES: [template reference and constraints]
|
||||
" --skip-git-repo-check -s danger-full-access
|
||||
" -m gpt-5 --skip-git-repo-check -s danger-full-access
|
||||
|
||||
# Model Selection Examples (NOTE: -m placed AFTER prompt, BEFORE flags)
|
||||
codex -C [directory] --full-auto exec "..." -m gpt-5 --skip-git-repo-check -s danger-full-access # Analysis & execution (default)
|
||||
codex -C [directory] --full-auto exec "..." -m gpt5-codex --skip-git-repo-check -s danger-full-access # Large context tasks
|
||||
|
||||
# Codex Test/Write Mode (requires explicit MODE=write)
|
||||
# NOTE: --skip-git-repo-check and -s danger-full-access must be placed at command END
|
||||
# NOTE: -m, --skip-git-repo-check and -s danger-full-access must be placed at command END
|
||||
codex -C [directory] --full-auto exec "
|
||||
PURPOSE: [clear goal]
|
||||
TASK: [specific task]
|
||||
MODE: write
|
||||
CONTEXT: [file references and memory context]
|
||||
CONTEXT: @**/* [default: all files, or specify file patterns and memory context]
|
||||
EXPECTED: [expected deliverables]
|
||||
RULES: [template reference and constraints]
|
||||
" --skip-git-repo-check -s danger-full-access
|
||||
" -m gpt-5 --skip-git-repo-check -s danger-full-access
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Directory Context Configuration
|
||||
Tools execute in current working directory:
|
||||
- **Gemini**: `cd path/to/project && ~/.claude/scripts/gemini-wrapper -p "prompt"`
|
||||
- **Qwen**: `cd path/to/project && ~/.claude/scripts/qwen-wrapper -p "prompt"`
|
||||
|
||||
**Tool Directory Navigation**:
|
||||
- **Gemini & Qwen**: `cd path/to/project && gemini -p "prompt"` (or `qwen`)
|
||||
- **Codex**: `codex -C path/to/project --full-auto exec "task"` (Codex still supports -C)
|
||||
- **Path types**: Supports both relative (`../project`) and absolute (`/full/path`) paths
|
||||
- **Token analysis**: For gemini-wrapper and qwen-wrapper, token counting happens in current directory
|
||||
- **Token analysis**: For Gemini/Qwen, token counting happens in current directory
|
||||
|
||||
### RULES Field Format
|
||||
#### ⚠️ Critical Directory Scope Rules
|
||||
|
||||
**Once `cd` to a directory**:
|
||||
- **@ references ONLY apply to current directory and its subdirectories**
|
||||
- `@**/*` = All files within current directory tree
|
||||
- `@*.ts` = TypeScript files in current directory tree
|
||||
- `@src/**/*` = Files within src subdirectory (if exists under current directory)
|
||||
- **CANNOT reference parent or sibling directories via @ alone**
|
||||
|
||||
**To reference files outside current directory (TWO-STEP REQUIREMENT)**:
|
||||
- **Step 1**: Add `--include-directories` parameter to make external directories ACCESSIBLE
|
||||
- **Step 2**: Explicitly reference external files in CONTEXT field with @ patterns
|
||||
- **⚠️ BOTH steps are MANDATORY** - missing either step will fail
|
||||
- Example: `cd src/auth && gemini -p "CONTEXT: @**/* @../shared/**/*" --include-directories ../shared`
|
||||
- **Rule**: If CONTEXT contains `@../dir/**/*`, command MUST include `--include-directories ../dir`
|
||||
- Without `--include-directories`, @ patterns CANNOT access parent/sibling directories at all
|
||||
|
||||
#### Multi-Directory Support (Gemini & Qwen)
|
||||
|
||||
**Purpose**: For large projects requiring fine-grained access across multiple directories
|
||||
|
||||
**Use Case**: When `cd` limits scope but you need to reference files from parent/sibling folders
|
||||
|
||||
**Parameter**: `--include-directories <dir1,dir2,...>`
|
||||
- Includes additional directories in the workspace beyond current `cd` directory
|
||||
- Can be specified multiple times or as comma-separated values
|
||||
- Maximum 5 directories can be added
|
||||
- **REQUIRED** when working in a subdirectory but needing context from parent or sibling directories
|
||||
|
||||
**Syntax Options**:
|
||||
```bash
|
||||
RULES: $(cat "~/.claude/workflows/cli-templates/prompts/[category]/[template].txt") | [constraints]
|
||||
# Comma-separated format
|
||||
gemini -p "prompt" --include-directories /path/to/project1,/path/to/project2
|
||||
|
||||
# Multiple flags format
|
||||
gemini -p "prompt" --include-directories /path/to/project1 --include-directories /path/to/project2
|
||||
|
||||
# Combined with cd for focused analysis with extended context (RECOMMENDED)
|
||||
cd src/auth && gemini -p "
|
||||
PURPOSE: Analyze authentication with shared utilities context
|
||||
TASK: Review auth implementation and its dependencies
|
||||
MODE: analysis
|
||||
CONTEXT: @**/* @../shared/**/* @../types/**/*
|
||||
EXPECTED: Complete analysis with cross-directory dependencies
|
||||
RULES: Focus on integration patterns
|
||||
" --include-directories ../shared,../types
|
||||
```
|
||||
|
||||
**⚠️ CRITICAL: Command Substitution Rules**
|
||||
When using `$(cat ...)` for template loading in actual CLI commands:
|
||||
- **Template reference only, never read**: When user specifies template name, use `$(cat ...)` directly in RULES field, do NOT read template content first
|
||||
- **NEVER use escape characters**: `\$`, `\"`, `\'` will break command substitution
|
||||
- **In -p "..." context**: Path in `$(cat ...)` needs NO quotes (tilde expands correctly)
|
||||
- **Correct**: `RULES: $(cat ~/.claude/workflows/cli-templates/prompts/analysis/pattern.txt)`
|
||||
- **WRONG**: `RULES: \$(cat ...)` or `RULES: $(cat \"...\")` or `RULES: $(cat '...')`
|
||||
- **Why**: Shell executes `$(...)` in subshell where path is safe without quotes
|
||||
**Best Practices**:
|
||||
- **Recommended Pattern**: Use `cd` to navigate to primary focus directory, then use `--include-directories` for additional context
|
||||
- Example: `cd src/auth && gemini -p "CONTEXT: @**/* @../shared/**/*" --include-directories ../shared,../types`
|
||||
- **⚠️ CRITICAL**: CONTEXT must explicitly list external files (e.g., `@../shared/**/*`), AND command must include `--include-directories ../shared`
|
||||
- Benefits: More precise file references (relative to current directory), clearer intent, better context control
|
||||
- **Enforcement Rule**: When CONTEXT references external directories, ALWAYS add corresponding `--include-directories`
|
||||
- Use when `cd` alone limits necessary context visibility
|
||||
- Keep directory count ≤ 5 for optimal performance
|
||||
- **Pattern matching rule**: `@../dir/**/*` in CONTEXT → `--include-directories ../dir` in command (MANDATORY)
|
||||
- Prefer `cd + --include-directories` over multiple `cd` commands for cross-directory analysis
|
||||
|
||||
**Examples**:
|
||||
- Single template: `$(cat "~/.claude/workflows/cli-templates/prompts/analysis/pattern.txt") | Focus on security`
|
||||
- Multiple templates: `$(cat "template1.txt") $(cat "template2.txt") | Enterprise standards`
|
||||
- No template: `Focus on security patterns, include dependency analysis`
|
||||
- File patterns: `@{src/**/*.ts,CLAUDE.md} - Stay within scope`
|
||||
---
|
||||
|
||||
### File Pattern Reference
|
||||
- All files: `@{**/*}`
|
||||
- Source files: `@{src/**/*}`
|
||||
- TypeScript: `@{*.ts,*.tsx}`
|
||||
- With docs: `@{CLAUDE.md,**/*CLAUDE.md}`
|
||||
- Tests: `@{src/**/*.test.*}`
|
||||
### CONTEXT Field Configuration
|
||||
|
||||
#### File Pattern Reference
|
||||
|
||||
**Default Pattern**:
|
||||
- **All files (default)**: `@**/*` - Use this as default for comprehensive context
|
||||
|
||||
**Common Patterns**:
|
||||
- Source files: `@src/**/*`
|
||||
- TypeScript: `@*.ts @*.tsx` (multiple @ for multiple patterns)
|
||||
- With docs: `@CLAUDE.md @**/*CLAUDE.md` (multiple @ for multiple patterns)
|
||||
- Tests: `@src/**/*.test.*`
|
||||
|
||||
#### Complex Pattern Discovery
|
||||
|
||||
**Complex Pattern Discovery**:
|
||||
For complex file pattern requirements, use semantic discovery tools BEFORE CLI execution:
|
||||
- **rg (ripgrep)**: Content-based file discovery with regex patterns
|
||||
- **Code Index MCP**: Semantic file search based on task requirements
|
||||
@@ -245,14 +331,14 @@ rg "export.*Component" --files-with-matches --type ts # Find component files
|
||||
mcp__code-index__search_code_advanced(pattern="interface.*Props", file_pattern="*.tsx") # Find interface files
|
||||
|
||||
# Step 2: Build precise CONTEXT from discovery results
|
||||
CONTEXT: @{src/components/Auth.tsx,src/types/auth.d.ts,src/hooks/useAuth.ts}
|
||||
CONTEXT: @src/components/Auth.tsx @src/types/auth.d.ts @src/hooks/useAuth.ts
|
||||
|
||||
# Step 3: Execute CLI with precise file references
|
||||
cd src && ~/.claude/scripts/gemini-wrapper -p "
|
||||
cd src && gemini -p "
|
||||
PURPOSE: Analyze authentication components
|
||||
TASK: Review auth component patterns and props interfaces
|
||||
MODE: analysis
|
||||
CONTEXT: @{components/Auth.tsx,types/auth.d.ts,hooks/useAuth.ts}
|
||||
CONTEXT: @components/Auth.tsx @types/auth.d.ts @hooks/useAuth.ts
|
||||
EXPECTED: Pattern analysis and improvement suggestions
|
||||
RULES: Focus on type safety and component composition
|
||||
"
|
||||
@@ -260,26 +346,38 @@ RULES: Focus on type safety and component composition
|
||||
|
||||
---
|
||||
|
||||
## 📊 Tool Selection Guide
|
||||
### RULES Field Configuration
|
||||
|
||||
### Selection Matrix
|
||||
#### Basic Format
|
||||
```bash
|
||||
RULES: $(cat ~/.claude/workflows/cli-templates/prompts/[category]/[template].txt) | [constraints]
|
||||
```
|
||||
|
||||
| Task Type | Tool | Use Case | Template |
|
||||
|-----------|------|----------|-----------|
|
||||
| **Analysis** | Gemini (Qwen fallback) | Code exploration, architecture review, patterns | `analysis/pattern.txt` |
|
||||
| **Architecture** | Gemini (Qwen fallback) | System design, architectural analysis | `analysis/architecture.txt` |
|
||||
| **Documentation** | Gemini (Qwen fallback) | Code docs, API specs, guides | `analysis/quality.txt` |
|
||||
| **Development** | Codex | Feature implementation, bug fixes, testing | `development/feature.txt` |
|
||||
| **Planning** | Gemini/Qwen | Task breakdown, migration planning | `planning/task-breakdown.txt` |
|
||||
| **Security** | Codex | Vulnerability assessment, fixes | `analysis/security.txt` |
|
||||
| **Refactoring** | Multiple | Gemini/Qwen for analysis, Codex for execution | `development/refactor.txt` |
|
||||
| **Module Documentation** | Gemini (Qwen fallback) | Universal module/file documentation for all levels | `memory/claude-module-unified.txt` |
|
||||
#### ⚠️ CRITICAL: Command Substitution Rules
|
||||
|
||||
When using `$(cat ...)` for template loading in actual CLI commands:
|
||||
- **Template reference only, never read**: When user specifies template name, use `$(cat ...)` directly in RULES field, do NOT read template content first
|
||||
- **NEVER use escape characters**: `\$`, `\"`, `\'` will break command substitution
|
||||
- **In prompt context**: Path in `$(cat ...)` needs NO quotes (tilde expands correctly)
|
||||
- **Correct**: `RULES: $(cat ~/.claude/workflows/cli-templates/prompts/analysis/pattern.txt)`
|
||||
- **WRONG**: `RULES: \$(cat ...)` or `RULES: $(cat \"...\")` or `RULES: $(cat '...')`
|
||||
- **Why**: Shell executes `$(...)` in subshell where path is safe without quotes
|
||||
|
||||
#### Examples
|
||||
- Single template: `$(cat ~/.claude/workflows/cli-templates/prompts/analysis/pattern.txt) | Focus on security`
|
||||
- Multiple templates: `$(cat template1.txt) $(cat template2.txt) | Enterprise standards`
|
||||
- No template: `Focus on security patterns, include dependency analysis`
|
||||
- File patterns: `@src/**/*.ts @CLAUDE.md - Stay within scope`
|
||||
|
||||
---
|
||||
|
||||
### Template System
|
||||
|
||||
**Base Structure**: `~/.claude/workflows/cli-templates/`
|
||||
#### Base Structure
|
||||
`~/.claude/workflows/cli-templates/`
|
||||
|
||||
#### Available Templates
|
||||
|
||||
```
|
||||
prompts/
|
||||
├── analysis/
|
||||
@@ -307,11 +405,103 @@ tech-stacks/
|
||||
└── react-dev.md - React architecture
|
||||
```
|
||||
|
||||
#### Task-Template Selection Matrix
|
||||
|
||||
| Task Type | Tool | Use Case | Template |
|
||||
|-----------|------|----------|-----------|
|
||||
| **Analysis** | Gemini (Qwen fallback) | Code exploration, architecture review, patterns | `analysis/pattern.txt` |
|
||||
| **Architecture** | Gemini (Qwen fallback) | System design, architectural analysis | `analysis/architecture.txt` |
|
||||
| **Documentation** | Gemini (Qwen fallback) | Code docs, API specs, guides | `analysis/quality.txt` |
|
||||
| **Development** | Codex | Feature implementation, bug fixes, testing | `development/feature.txt` |
|
||||
| **Planning** | Gemini/Qwen | Task breakdown, migration planning | `planning/task-breakdown.txt` |
|
||||
| **Security** | Codex | Vulnerability assessment, fixes | `analysis/security.txt` |
|
||||
| **Refactoring** | Multiple | Gemini/Qwen for analysis, Codex for execution | `development/refactor.txt` |
|
||||
| **Module Documentation** | Gemini (Qwen fallback) | Universal module/file documentation for all levels | `memory/claude-module-unified.txt` |
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Usage Patterns
|
||||
## ⚙️ Execution Configuration
|
||||
|
||||
### Dynamic Timeout Allocation
|
||||
|
||||
**Timeout Ranges**:
|
||||
- **Simple tasks** (analysis, search): 20-40min (1200000-2400000ms)
|
||||
- **Medium tasks** (refactoring, documentation): 40-60min (2400000-3600000ms)
|
||||
- **Complex tasks** (implementation, migration): 60-120min (3600000-7200000ms)
|
||||
|
||||
**Codex Multiplier**: Codex commands use 1.5x of allocated time
|
||||
|
||||
**Application**: All bash() wrapped commands including Gemini, Qwen and Codex executions
|
||||
|
||||
**Auto-detection**: Analyze PURPOSE and TASK fields to determine appropriate timeout
|
||||
|
||||
**Command Examples**:
|
||||
```bash
|
||||
bash(gemini -p "prompt") # Simple analysis: 20-40min
|
||||
bash(codex -C directory --full-auto exec "task") # Complex implementation: 90-180min
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Permission Framework
|
||||
|
||||
#### Write Operation Protection
|
||||
|
||||
**⚠️ WRITE PROTECTION**: Local codebase write/modify requires EXPLICIT user confirmation
|
||||
|
||||
**Mode Hierarchy**:
|
||||
- **Analysis Mode (default)**: Read-only, safe for auto-execution
|
||||
- **Write Mode**: Requires user explicitly states MODE=write or MODE=auto in prompt
|
||||
- **Exception**: User provides clear instructions like "modify", "create", "implement"
|
||||
|
||||
#### Tool-Specific Permissions
|
||||
|
||||
**Gemini/Qwen Write Access**:
|
||||
- Use `--approval-mode yolo` ONLY when MODE=write explicitly specified
|
||||
- **Parameter Position**: Place AFTER the prompt: `gemini -p "..." --approval-mode yolo`
|
||||
|
||||
**Codex Write Access**:
|
||||
- Use `-s danger-full-access` and `--skip-git-repo-check` ONLY when MODE=auto explicitly specified
|
||||
- **Parameter Position**: Place AFTER the prompt string at command END: `codex ... exec "..." --skip-git-repo-check -s danger-full-access`
|
||||
|
||||
**Default Behavior**: All tools default to analysis/read-only mode without explicit write permission
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Best Practices
|
||||
|
||||
### General Guidelines
|
||||
|
||||
**Workflow Principles**:
|
||||
- **Start with templates** - Use predefined templates for consistency
|
||||
- **Be specific** - Clear PURPOSE, TASK, and EXPECTED fields
|
||||
- **Include constraints** - File patterns, scope, requirements in RULES
|
||||
- **Discover patterns first** - Use rg/MCP for complex file discovery before CLI execution
|
||||
- **Build precise CONTEXT** - Convert discovery results to explicit file references
|
||||
- **Document context** - Always reference CLAUDE.md for context
|
||||
- **Default to full context** - Use `@**/*` in CONTEXT for comprehensive analysis unless specific files needed
|
||||
- **⚠️ No escape characters in CLI commands** - NEVER use `\$`, `\"`, `\'` in actual CLI execution (breaks command substitution and path expansion)
|
||||
|
||||
---
|
||||
|
||||
### Context Optimization Strategy
|
||||
|
||||
**Directory Navigation**: Use `cd [directory] &&` pattern when analyzing specific areas to reduce irrelevant context
|
||||
|
||||
**When to change directory**:
|
||||
- Specific directory mentioned → Use `cd directory &&` pattern
|
||||
- Focused analysis needed → Target specific directory with cd
|
||||
- Multi-directory scope → Use `cd` + `--include-directories` for precise control
|
||||
|
||||
**When to use `--include-directories`**:
|
||||
- Working in subdirectory but need parent/sibling context
|
||||
- Cross-directory dependency analysis required
|
||||
- Multiple related modules need simultaneous access
|
||||
|
||||
---
|
||||
|
||||
### Workflow Integration (REQUIRED)
|
||||
|
||||
When planning any coding task, **ALWAYS** integrate CLI tools:
|
||||
|
||||
1. **Understanding Phase**: Use Gemini for analysis (Qwen as fallback)
|
||||
@@ -319,185 +509,16 @@ When planning any coding task, **ALWAYS** integrate CLI tools:
|
||||
3. **Implementation Phase**: Use Codex for development
|
||||
4. **Quality Phase**: Use Codex for testing and validation
|
||||
|
||||
### Common Scenarios
|
||||
|
||||
#### Code Analysis
|
||||
```bash
|
||||
~/.claude/scripts/gemini-wrapper -p "
|
||||
PURPOSE: Understand codebase architecture
|
||||
TASK: Analyze project structure and identify patterns
|
||||
MODE: analysis
|
||||
CONTEXT: @{src/**/*.ts,CLAUDE.md} Previous analysis of auth system
|
||||
EXPECTED: Architecture overview and integration points
|
||||
RULES: $(cat ~/.claude/workflows/cli-templates/prompts/analysis/architecture.txt) | Focus on integration points
|
||||
"
|
||||
```
|
||||
|
||||
#### Documentation Generation
|
||||
```bash
|
||||
~/.claude/scripts/gemini-wrapper -p "
|
||||
PURPOSE: Generate API documentation
|
||||
TASK: Create comprehensive API reference from code
|
||||
MODE: write
|
||||
CONTEXT: @{src/api/**/*}
|
||||
EXPECTED: API.md with all endpoints documented
|
||||
RULES: Follow project documentation standards
|
||||
"
|
||||
```
|
||||
|
||||
#### Architecture Analysis (Qwen as Gemini fallback)
|
||||
```bash
|
||||
# Prefer Gemini for architecture analysis
|
||||
cd src/auth && ~/.claude/scripts/gemini-wrapper -p "
|
||||
PURPOSE: Analyze authentication system architecture
|
||||
TASK: Review JWT-based auth system design
|
||||
MODE: analysis
|
||||
CONTEXT: @{src/auth/**/*} Existing patterns and requirements
|
||||
EXPECTED: Architecture analysis report with recommendations
|
||||
RULES: $(cat ~/.claude/workflows/cli-templates/prompts/analysis/architecture.txt) | Focus on security
|
||||
"
|
||||
|
||||
# Use Qwen only if Gemini unavailable
|
||||
cd src/auth && ~/.claude/scripts/qwen-wrapper -p "
|
||||
PURPOSE: Analyze authentication system architecture
|
||||
TASK: Review JWT-based auth system design
|
||||
MODE: analysis
|
||||
CONTEXT: @{src/auth/**/*} Existing patterns and requirements
|
||||
EXPECTED: Architecture analysis report with recommendations
|
||||
RULES: $(cat ~/.claude/workflows/cli-templates/prompts/analysis/architecture.txt) | Focus on security
|
||||
"
|
||||
```
|
||||
|
||||
#### Feature Development (Multi-task with Resume)
|
||||
```bash
|
||||
# First task - establish session
|
||||
codex -C path/to/project --full-auto exec "
|
||||
PURPOSE: Implement user authentication
|
||||
TASK: Create JWT-based authentication system
|
||||
MODE: auto
|
||||
CONTEXT: @{src/auth/**/*} Database schema from session memory
|
||||
EXPECTED: Complete auth module with tests
|
||||
RULES: $(cat ~/.claude/workflows/cli-templates/prompts/development/feature.txt) | Follow security best practices
|
||||
" --skip-git-repo-check -s danger-full-access
|
||||
|
||||
# Continue in same session - Add JWT validation
|
||||
codex --full-auto exec "
|
||||
PURPOSE: Enhance authentication security
|
||||
TASK: Add JWT token validation and refresh logic
|
||||
MODE: auto
|
||||
CONTEXT: Previous auth implementation from current session
|
||||
EXPECTED: JWT validation middleware and token refresh endpoints
|
||||
RULES: Follow JWT best practices, maintain session context
|
||||
" resume --last --skip-git-repo-check -s danger-full-access
|
||||
|
||||
# Continue in same session - Add tests
|
||||
codex --full-auto exec "
|
||||
PURPOSE: Increase test coverage
|
||||
TASK: Generate comprehensive tests for auth module
|
||||
MODE: write
|
||||
CONTEXT: Auth implementation from current session
|
||||
EXPECTED: Complete test suite with 80%+ coverage
|
||||
RULES: Use Jest, follow existing patterns
|
||||
" resume --last --skip-git-repo-check -s danger-full-access
|
||||
```
|
||||
|
||||
#### Interactive Session Resume
|
||||
```bash
|
||||
# Resume previous session with picker
|
||||
codex resume
|
||||
|
||||
# Or resume most recent session directly
|
||||
codex resume --last
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Best Practices
|
||||
|
||||
### General Guidelines
|
||||
- **Start with templates** - Use predefined templates for consistency
|
||||
- **Be specific** - Clear PURPOSE, TASK, and EXPECTED fields
|
||||
- **Include constraints** - File patterns, scope, requirements in RULES
|
||||
- **Discover patterns first** - Use rg/MCP for complex file discovery before CLI execution
|
||||
- **Build precise CONTEXT** - Convert discovery results to explicit file references
|
||||
- **Document context** - Always reference CLAUDE.md for context
|
||||
- **⚠️ No escape characters in CLI commands** - NEVER use `\$`, `\"`, `\'` in actual CLI execution (breaks command substitution and path expansion)
|
||||
|
||||
### Context Optimization Strategy
|
||||
**Directory Navigation**: Use `cd [directory] &&` pattern when analyzing specific areas to reduce irrelevant context
|
||||
|
||||
**When to change directory**:
|
||||
- Specific directory mentioned → Use `cd directory &&` pattern
|
||||
- Focused analysis needed → Target specific directory with cd
|
||||
- Multi-directory scope → Stay in root, use explicit paths or multiple commands
|
||||
|
||||
**Example**:
|
||||
```bash
|
||||
# Gemini - Focused analysis
|
||||
cd src/auth && ~/.claude/scripts/gemini-wrapper -p "
|
||||
PURPOSE: Understand authentication patterns
|
||||
TASK: Analyze auth implementation
|
||||
MODE: analysis
|
||||
CONTEXT: @{**/*.ts}
|
||||
EXPECTED: Pattern documentation
|
||||
RULES: Focus on security best practices
|
||||
"
|
||||
|
||||
# Qwen - Analysis (fallback option, same as Gemini)
|
||||
cd src/auth && ~/.claude/scripts/qwen-wrapper -p "
|
||||
PURPOSE: Analyze auth architecture
|
||||
TASK: Review auth system design and patterns
|
||||
MODE: analysis
|
||||
CONTEXT: @{**/*}
|
||||
EXPECTED: Architecture analysis report
|
||||
RULES: Focus on modularity and security
|
||||
"
|
||||
|
||||
# Codex - Implementation
|
||||
codex -C src/auth --full-auto exec "
|
||||
PURPOSE: Improve auth implementation
|
||||
TASK: Review and enhance auth code
|
||||
MODE: auto
|
||||
CONTEXT: @{**/*.ts}
|
||||
EXPECTED: Code improvements and fixes
|
||||
RULES: Maintain backward compatibility
|
||||
" --skip-git-repo-check -s danger-full-access
|
||||
```
|
||||
|
||||
### Planning Checklist
|
||||
|
||||
For every development task:
|
||||
- [ ] **Purpose defined** - Clear goal and intent
|
||||
- [ ] **Mode selected** - Execution mode and permission level determined
|
||||
- [ ] **Context gathered** - File references and session memory documented
|
||||
- [ ] **Context gathered** - File references and session memory documented (default `@**/*`)
|
||||
- [ ] **Directory navigation** - Determine if `cd` or `cd + --include-directories` needed
|
||||
- [ ] **Gemini analysis** completed for understanding
|
||||
- [ ] **Template selected** - Appropriate template chosen
|
||||
- [ ] **Constraints specified** - File patterns, scope, requirements
|
||||
- [ ] **Implementation approach** - Tool selection and workflow
|
||||
- [ ] **Quality measures** - Testing and validation plan
|
||||
- [ ] **Tool configuration** - Review `.gemini/CLAUDE.md` or `.codex/Agent.md` if needed
|
||||
|
||||
---
|
||||
|
||||
## ⚙️ Execution Configuration
|
||||
|
||||
### Core Execution Rules
|
||||
- **Dynamic Timeout (20-120min)**: Allocate execution time based on task complexity
|
||||
- Simple tasks (analysis, search): 20-40min (1200000-2400000ms)
|
||||
- Medium tasks (refactoring, documentation): 40-60min (2400000-3600000ms)
|
||||
- Complex tasks (implementation, migration): 60-120min (3600000-7200000ms)
|
||||
- **Codex Multiplier**: Codex commands use 1.5x of allocated time
|
||||
- **Apply to All Tools**: All bash() wrapped commands including Gemini, Qwen wrapper and Codex executions
|
||||
- **Command Examples**: `bash(~/.claude/scripts/gemini-wrapper -p "prompt")`, `bash(codex -C directory --full-auto exec "task")`
|
||||
- **Auto-detect**: Analyze PURPOSE and TASK fields to determine appropriate timeout
|
||||
|
||||
### Permission Framework
|
||||
- **⚠️ WRITE PROTECTION**: Local codebase write/modify requires EXPLICIT user confirmation
|
||||
- **Analysis Mode (default)**: Read-only, safe for auto-execution
|
||||
- **Write Mode**: Requires user explicitly states MODE=write or MODE=auto in prompt
|
||||
- **Exception**: User provides clear instructions like "modify", "create", "implement"
|
||||
- **Gemini/Qwen Write Access**: Use `--approval-mode yolo` ONLY when MODE=write explicitly specified
|
||||
- **Parameter Position**: Place AFTER the wrapper command: `gemini-wrapper --approval-mode yolo -p "..."`
|
||||
- **Codex Write Access**: Use `-s danger-full-access` and `--skip-git-repo-check` ONLY when MODE=auto explicitly specified
|
||||
- **Parameter Position**: Place AFTER the prompt string at command END: `codex ... exec "..." --skip-git-repo-check -s danger-full-access`
|
||||
- **Default Behavior**: All tools default to analysis/read-only mode without explicit write permission
|
||||
|
||||
@@ -1,176 +1,11 @@
|
||||
# MCP Tool Strategy: Triggers & Workflows
|
||||
# MCP Tool Strategy: Exa Usage
|
||||
|
||||
## ⚡ Triggering Mechanisms
|
||||
## ⚡ Exa Triggering Mechanisms
|
||||
|
||||
**Auto-Trigger Scenarios**:
|
||||
**Auto-Trigger**:
|
||||
- User mentions "exa-code" or code-related queries → `mcp__exa__get_code_context_exa`
|
||||
- Need current web information → `mcp__exa__web_search_exa`
|
||||
- Finding code patterns/files → `mcp__code-index__search_code_advanced`
|
||||
- Locating specific files → `mcp__code-index__find_files`
|
||||
|
||||
**Manual Trigger Rules**:
|
||||
**Manual Trigger**:
|
||||
- Complex API research → Exa Code Context
|
||||
- Architecture pattern discovery → Exa Code Context + Gemini analysis
|
||||
- Real-time information needs → Exa Web Search
|
||||
- Codebase exploration → Code Index tools first, then Gemini analysis
|
||||
|
||||
## 🎯 Available MCP Tools
|
||||
|
||||
### Exa Code Context (mcp__exa__get_code_context_exa)
|
||||
**Purpose**: Search and get relevant context for programming tasks
|
||||
**Strengths**: Highest quality context for libraries, SDKs, and APIs
|
||||
**Best For**: Code examples, API patterns, learning frameworks
|
||||
|
||||
**Usage**:
|
||||
```bash
|
||||
mcp__exa__get_code_context_exa(
|
||||
query="React useState hook examples",
|
||||
tokensNum="dynamic" # or 1000-50000
|
||||
)
|
||||
```
|
||||
|
||||
**Examples**: "React useState", "Python pandas filtering", "Express.js middleware"
|
||||
|
||||
### Exa Web Search (mcp__exa__web_search_exa)
|
||||
**Purpose**: Real-time web searches with content scraping
|
||||
**Best For**: Current information, research, recent solutions
|
||||
|
||||
**Usage**:
|
||||
```bash
|
||||
mcp__exa__web_search_exa(
|
||||
query="latest React 18 features",
|
||||
numResults=5 # default: 5
|
||||
)
|
||||
```
|
||||
|
||||
|
||||
### Code Index Tools (mcp__code-index__)
|
||||
**核心方法**: `search_code_advanced`, `find_files`, `refresh_index`
|
||||
|
||||
**核心搜索**:
|
||||
```bash
|
||||
mcp__code-index__search_code_advanced(pattern="function.*auth", file_pattern="*.ts")
|
||||
mcp__code-index__find_files(pattern="*.test.js")
|
||||
mcp__code-index__refresh_index() # git操作后刷新
|
||||
```
|
||||
|
||||
**实用场景**:
|
||||
- **查找代码**: `search_code_advanced(pattern="old.*API")`
|
||||
- **定位文件**: `find_files(pattern="src/**/*.tsx")`
|
||||
- **更新索引**: `refresh_index()` (git操作后)
|
||||
|
||||
**文件搜索测试结果**:
|
||||
- ✅ `find_files(pattern="*.md")` - 搜索所有 Markdown 文件
|
||||
- ✅ `find_files(pattern="*complete*")` - 通配符匹配文件名
|
||||
- ❌ `find_files(pattern="complete.md")` - 精确匹配可能失败
|
||||
- 📝 建议使用通配符模式获得更好的搜索结果
|
||||
|
||||
## 📊 Tool Selection Matrix
|
||||
|
||||
| Task | MCP Tool | Use Case | Integration |
|
||||
|------|----------|----------|-------------|
|
||||
| **Code Context** | Exa Code | API examples, patterns | → Gemini analysis |
|
||||
| **Research** | Exa Web | Current info, trends | → Planning phase |
|
||||
| **Code Search** | Code Index | Pattern discovery, file location | → Gemini analysis |
|
||||
| **Navigation** | Code Index | File exploration, structure | → Architecture phase |
|
||||
|
||||
## 🚀 Integration Patterns
|
||||
|
||||
### Standard Workflow
|
||||
```bash
|
||||
# 1. Explore codebase structure
|
||||
mcp__code-index__find_files(pattern="*async*")
|
||||
mcp__code-index__search_code_advanced(pattern="async.*function", file_pattern="*.ts")
|
||||
|
||||
# 2. Get external context
|
||||
mcp__exa__get_code_context_exa(query="TypeScript async patterns", tokensNum="dynamic")
|
||||
|
||||
# 3. Analyze with Gemini
|
||||
cd "src/async" && ~/.claude/scripts/gemini-wrapper -p "
|
||||
PURPOSE: Understand async patterns
|
||||
CONTEXT: Code index results + Exa context + @{src/async/**/*}
|
||||
EXPECTED: Pattern analysis
|
||||
RULES: Focus on TypeScript best practices
|
||||
"
|
||||
|
||||
# 4. Implement with Codex
|
||||
codex -C src/async --full-auto exec "Apply modern async patterns" -s danger-full-access
|
||||
```
|
||||
|
||||
### Enhanced Planning
|
||||
1. **Explore codebase** with Code Index tools
|
||||
2. **Research** with Exa Web Search
|
||||
3. **Get code context** with Exa Code Context
|
||||
4. **Analyze** with Gemini
|
||||
5. **Architect** with Qwen
|
||||
6. **Implement** with Codex
|
||||
|
||||
## 🔧 Best Practices
|
||||
|
||||
### Code Index
|
||||
- **Search first** - Use before external tools for codebase exploration
|
||||
- **Refresh after git ops** - Keep index synchronized
|
||||
- **Pattern specificity** - Use precise regex patterns for better results
|
||||
- **File patterns** - Combine with glob patterns for targeted search
|
||||
- **Glob pattern matching** - Use `*.md`, `*complete*` patterns for file discovery
|
||||
- **Exact vs wildcard** - Exact names may fail, use wildcards for better results
|
||||
|
||||
### Exa Code Context
|
||||
- **Use "dynamic" tokens** for efficiency
|
||||
- **Be specific** - include technology stack
|
||||
- **MANDATORY** when user mentions exa-code or code queries
|
||||
|
||||
### Exa Web Search
|
||||
- **Default 5 results** usually sufficient
|
||||
- **Use for current info** - supplement knowledge cutoff
|
||||
|
||||
|
||||
|
||||
## 🎯 Common Scenarios
|
||||
|
||||
### Learning New Technology
|
||||
```bash
|
||||
# Explore existing patterns + get examples + research + analyze
|
||||
mcp__code-index__search_code_advanced(pattern="router|routing", file_pattern="*.ts")
|
||||
mcp__exa__get_code_context_exa(query="Next.js 14 app router", tokensNum="dynamic")
|
||||
mcp__exa__web_search_exa(query="Next.js 14 best practices 2024", numResults=3)
|
||||
cd "src/app" && ~/.claude/scripts/gemini-wrapper -p "Learn Next.js patterns"
|
||||
```
|
||||
|
||||
### Debugging
|
||||
```bash
|
||||
# Find similar patterns + solutions + fix
|
||||
mcp__code-index__search_code_advanced(pattern="similar.*error", file_pattern="*.ts")
|
||||
mcp__exa__get_code_context_exa(query="TypeScript generic constraints", tokensNum="dynamic")
|
||||
codex --full-auto exec "Fix TypeScript issues" -s danger-full-access
|
||||
```
|
||||
|
||||
### Codebase Exploration
|
||||
```bash
|
||||
# Comprehensive codebase understanding workflow
|
||||
mcp__code-index__set_project_path(path="/current/project") # 设置项目路径
|
||||
mcp__code-index__refresh_index() # 刷新索引
|
||||
mcp__code-index__find_files(pattern="*auth*") # Find auth-related files
|
||||
mcp__code-index__search_code_advanced(pattern="function.*auth", file_pattern="*.ts") # Find auth functions
|
||||
mcp__code-index__get_file_summary(file_path="src/auth/index.ts") # Understand structure
|
||||
cd "src/auth" && ~/.claude/scripts/gemini-wrapper -p "Analyze auth architecture"
|
||||
```
|
||||
|
||||
### Project Setup Workflow
|
||||
```bash
|
||||
# 新项目初始化流程
|
||||
mcp__code-index__set_project_path(path="/path/to/new/project")
|
||||
mcp__code-index__get_settings_info() # 确认设置
|
||||
mcp__code-index__refresh_index() # 建立索引
|
||||
mcp__code-index__configure_file_watcher(enabled=true) # 启用文件监控
|
||||
mcp__code-index__get_file_watcher_status() # 确认监控状态
|
||||
```
|
||||
|
||||
## ⚡ Performance Tips
|
||||
|
||||
- **Code Index first** → explore codebase before external tools
|
||||
- **Use "dynamic" tokens** for Exa Code Context
|
||||
- **MCP first** → gather context before analysis
|
||||
- **Focus queries** - avoid overly broad searches
|
||||
- **Integrate selectively** - use relevant context only
|
||||
- **Refresh index** after major git operations
|
||||
@@ -14,7 +14,7 @@ All task files use this simplified 5-field schema (aligned with workflow-archite
|
||||
|
||||
"meta": {
|
||||
"type": "feature|bugfix|refactor|test-gen|test-fix|docs",
|
||||
"agent": "@code-developer|@action-planning-agent|@test-fix-agent|@general-purpose"
|
||||
"agent": "@code-developer|@action-planning-agent|@test-fix-agent|@universal-executor"
|
||||
},
|
||||
|
||||
"context": {
|
||||
@@ -155,14 +155,14 @@ Tasks inherit from:
|
||||
- **@code-developer**: Implementation tasks, coding, test writing
|
||||
- **@action-planning-agent**: Design, architecture planning
|
||||
- **@test-fix-agent**: Test execution, failure diagnosis, code fixing
|
||||
- **@general-purpose**: Optional manual review (only when explicitly requested)
|
||||
- **@universal-executor**: Optional manual review (only when explicitly requested)
|
||||
|
||||
### Agent Context Filtering
|
||||
Each agent receives tailored context:
|
||||
- **@code-developer**: Complete implementation details, test requirements
|
||||
- **@action-planning-agent**: High-level requirements, risks, architecture
|
||||
- **@test-fix-agent**: Test execution, failure diagnosis, code fixing
|
||||
- **@general-purpose**: Quality standards, security considerations (when requested)
|
||||
- **@universal-executor**: Quality standards, security considerations (when requested)
|
||||
|
||||
## Deprecated Fields
|
||||
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
# Tool Control Configuration
|
||||
# Controls whether CLI tools (Gemini, Qwen, Codex) are enabled in the workspace
|
||||
|
||||
tools:
|
||||
gemini:
|
||||
enabled: true
|
||||
qwen:
|
||||
enabled: true
|
||||
codex:
|
||||
enabled: true
|
||||
@@ -114,7 +114,7 @@ All task files use this unified 5-field schema with optional artifacts enhanceme
|
||||
|
||||
"meta": {
|
||||
"type": "feature|bugfix|refactor|test-gen|test-fix|docs",
|
||||
"agent": "@code-developer|@action-planning-agent|@test-fix-agent|@general-purpose"
|
||||
"agent": "@code-developer|@action-planning-agent|@test-fix-agent|@universal-executor"
|
||||
},
|
||||
|
||||
"context": {
|
||||
@@ -132,11 +132,11 @@ All task files use this unified 5-field schema with optional artifacts enhanceme
|
||||
},
|
||||
"artifacts": [
|
||||
{
|
||||
"type": "synthesis_specification",
|
||||
"source": "brainstorm_synthesis",
|
||||
"path": ".workflow/WFS-session/.brainstorming/synthesis-specification.md",
|
||||
"type": "role_analyses",
|
||||
"source": "brainstorm_clarification",
|
||||
"path": ".workflow/WFS-session/.brainstorming/*/analysis*.md",
|
||||
"priority": "highest",
|
||||
"contains": "complete_integrated_specification"
|
||||
"contains": "role_specific_requirements_and_design"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -152,7 +152,7 @@ All task files use this unified 5-field schema with optional artifacts enhanceme
|
||||
{
|
||||
"step": "analyze_architecture",
|
||||
"action": "Review system architecture",
|
||||
"command": "~/.claude/scripts/gemini-wrapper -p \"analyze patterns: [patterns]\"",
|
||||
"command": "gemini \"analyze patterns: [patterns]\"",
|
||||
"output_to": "design"
|
||||
},
|
||||
{
|
||||
@@ -241,15 +241,15 @@ Optional field referencing brainstorming outputs for task execution:
|
||||
```json
|
||||
"artifacts": [
|
||||
{
|
||||
"type": "synthesis_specification|topic_framework|individual_role_analysis",
|
||||
"source": "brainstorm_synthesis|brainstorm_framework|brainstorm_roles",
|
||||
"type": "role_analyses|topic_framework|individual_role_analysis",
|
||||
"source": "brainstorm_clarification|brainstorm_framework|brainstorm_roles",
|
||||
"path": ".workflow/WFS-session/.brainstorming/document.md",
|
||||
"priority": "highest|high|medium|low"
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
**Types & Priority**: synthesis_specification (highest) → topic_framework (medium) → individual_role_analysis (low)
|
||||
**Types & Priority**: role_analyses (highest) → topic_framework (medium) → individual_role_analysis (low)
|
||||
|
||||
#### Flow Control Configuration
|
||||
The **flow_control** field manages task execution through structured sequential steps. For complete format specifications and usage guidelines, see [Flow Control Format Guide](#flow-control-format-guide) below.
|
||||
@@ -296,7 +296,7 @@ The `[FLOW_CONTROL]` marker indicates that a task or prompt contains flow contro
|
||||
|
||||
1. **load_topic_framework**
|
||||
- Action: Load structured topic discussion framework
|
||||
- Command: Read(.workflow/WFS-{session}/.brainstorming/topic-framework.md)
|
||||
- Command: Read(.workflow/WFS-{session}/.brainstorming/guidance-specification.md)
|
||||
- Output: topic_framework
|
||||
|
||||
2. **load_role_template**
|
||||
@@ -332,13 +332,14 @@ The `[FLOW_CONTROL]` marker indicates that a task or prompt contains flow contro
|
||||
"flow_control": {
|
||||
"pre_analysis": [
|
||||
{
|
||||
"step": "load_synthesis_specification",
|
||||
"action": "Load consolidated synthesis specification",
|
||||
"step": "load_role_analyses",
|
||||
"action": "Load role analysis documents from brainstorming",
|
||||
"commands": [
|
||||
"bash(ls .workflow/WFS-{session}/.brainstorming/synthesis-specification.md 2>/dev/null || echo 'not found')",
|
||||
"Read(.workflow/WFS-{session}/.brainstorming/synthesis-specification.md)"
|
||||
"bash(ls .workflow/WFS-{session}/.brainstorming/*/analysis*.md 2>/dev/null || echo 'not found')",
|
||||
"Glob(.workflow/WFS-{session}/.brainstorming/*/analysis*.md)",
|
||||
"Read(each discovered role analysis file)"
|
||||
],
|
||||
"output_to": "synthesis_specification",
|
||||
"output_to": "role_analyses",
|
||||
"on_error": "skip_optional"
|
||||
},
|
||||
{
|
||||
@@ -352,14 +353,14 @@ The `[FLOW_CONTROL]` marker indicates that a task or prompt contains flow contro
|
||||
{
|
||||
"step": 1,
|
||||
"title": "Setup infrastructure",
|
||||
"description": "Install JWT library and create config following [synthesis_specification]",
|
||||
"description": "Install JWT library and create config following [role_analyses]",
|
||||
"modification_points": [
|
||||
"Add JWT library dependencies to package.json",
|
||||
"Create auth configuration file"
|
||||
],
|
||||
"logic_flow": [
|
||||
"Install jsonwebtoken library via npm",
|
||||
"Configure JWT secret from [synthesis_specification]",
|
||||
"Configure JWT secret from [role_analyses]",
|
||||
"Export auth config for use by [jwt_generator]"
|
||||
],
|
||||
"depends_on": [],
|
||||
@@ -406,7 +407,7 @@ The `[FLOW_CONTROL]` marker indicates that a task or prompt contains flow contro
|
||||
**Structure**: Array of step objects with sequential execution
|
||||
|
||||
**Step Fields**:
|
||||
- **step**: Step identifier (string, e.g., "load_synthesis_specification")
|
||||
- **step**: Step identifier (string, e.g., "load_role_analyses")
|
||||
- **action**: Human-readable description of the step
|
||||
- **command** or **commands**: Single command string or array of command strings
|
||||
- **output_to**: Variable name for storing step output
|
||||
@@ -416,7 +417,7 @@ The `[FLOW_CONTROL]` marker indicates that a task or prompt contains flow contro
|
||||
- **Bash commands**: `bash(command)` - Any shell command
|
||||
- **Tool calls**: `Read(file)`, `Glob(pattern)`, `Grep(pattern)`
|
||||
- **MCP tools**: `mcp__code-index__find_files()`, `mcp__exa__get_code_context_exa()`
|
||||
- **CLI wrappers**: `~/.claude/scripts/gemini-wrapper`, `codex --full-auto exec`
|
||||
- **CLI commands**: `gemini`, `qwen`, `codex --full-auto exec`
|
||||
|
||||
**Example**:
|
||||
```json
|
||||
@@ -477,10 +478,10 @@ The `[FLOW_CONTROL]` marker indicates that a task or prompt contains flow contro
|
||||
"command": "codex --full-auto exec \"task\" resume --last --skip-git-repo-check -s danger-full-access"
|
||||
|
||||
// Gemini (user requested)
|
||||
"command": "~/.claude/scripts/gemini-wrapper -p \"analyze [context]\""
|
||||
"command": "gemini \"analyze [context]\""
|
||||
|
||||
// Qwen (fallback for Gemini)
|
||||
"command": "~/.claude/scripts/qwen-wrapper -p \"analyze [context]\""
|
||||
"command": "qwen \"analyze [context]\""
|
||||
```
|
||||
|
||||
**Example Step**:
|
||||
@@ -517,14 +518,14 @@ The `[FLOW_CONTROL]` marker indicates that a task or prompt contains flow contro
|
||||
|
||||
**Gemini CLI**:
|
||||
```bash
|
||||
~/.claude/scripts/gemini-wrapper -p "prompt"
|
||||
~/.claude/scripts/gemini-wrapper --approval-mode yolo -p "prompt" # For write mode
|
||||
gemini "prompt"
|
||||
gemini --approval-mode yolo "prompt" # For write mode
|
||||
```
|
||||
|
||||
**Qwen CLI** (Gemini fallback):
|
||||
```bash
|
||||
~/.claude/scripts/qwen-wrapper -p "prompt"
|
||||
~/.claude/scripts/qwen-wrapper --approval-mode yolo -p "prompt" # For write mode
|
||||
qwen "prompt"
|
||||
qwen --approval-mode yolo "prompt" # For write mode
|
||||
```
|
||||
|
||||
**Codex CLI**:
|
||||
@@ -567,7 +568,7 @@ Both formats use `[variable_name]` syntax for referencing outputs from previous
|
||||
**Examples**:
|
||||
```json
|
||||
// Reference pre_analysis output
|
||||
"description": "Install JWT library following [synthesis_specification]"
|
||||
"description": "Install JWT library following [role_analyses]"
|
||||
|
||||
// Reference previous step output
|
||||
"description": "Create middleware using [auth_config] and [jwt_generator]"
|
||||
@@ -636,7 +637,7 @@ Both formats use `[variable_name]` syntax for referencing outputs:
|
||||
```json
|
||||
{
|
||||
"step": 2,
|
||||
"description": "Implement following [synthesis_specification] and [codebase_structure]",
|
||||
"description": "Implement following [role_analyses] and [codebase_structure]",
|
||||
"depends_on": [1],
|
||||
"output": "implementation"
|
||||
}
|
||||
@@ -892,13 +893,13 @@ fi
|
||||
- **Examples**: New features, API endpoints with integration, database schema changes
|
||||
- **Task Decomposition**: Two-level hierarchy when decomposition is needed
|
||||
- **Agent Coordination**: Context coordination between related tasks
|
||||
- **Tool Strategy**: `gemini-wrapper` for pattern analysis, `codex --full-auto` for implementation
|
||||
- **Tool Strategy**: `gemini` for pattern analysis, `codex --full-auto` for implementation
|
||||
|
||||
#### Complex Workflows
|
||||
- **Examples**: Major features, architecture refactoring, security implementations, multi-service deployments
|
||||
- **Task Decomposition**: Frequent use of two-level hierarchy with dynamic subtask creation
|
||||
- **Agent Coordination**: Multi-agent orchestration with deep context analysis
|
||||
- **Tool Strategy**: `gemini-wrapper` for architecture analysis, `codex --full-auto` for complex problem solving, `bash()` commands for flexible analysis
|
||||
- **Tool Strategy**: `gemini` for architecture analysis, `codex --full-auto` for complex problem solving, `bash()` commands for flexible analysis
|
||||
|
||||
### Assessment & Upgrades
|
||||
- **During Creation**: System evaluates requirements and assigns complexity
|
||||
@@ -912,7 +913,7 @@ Based on task type and title keywords:
|
||||
- **Planning tasks** → @action-planning-agent
|
||||
- **Implementation** → @code-developer (code + tests)
|
||||
- **Test execution/fixing** → @test-fix-agent
|
||||
- **Review** → @general-purpose (optional, only when explicitly requested)
|
||||
- **Review** → @universal-executor (optional, only when explicitly requested)
|
||||
|
||||
### Execution Context
|
||||
Agents receive complete task JSON plus workflow context:
|
||||
|
||||
@@ -17,28 +17,43 @@ EXPECTED: [deliverables]
|
||||
RULES: [templates | additional constraints]
|
||||
```
|
||||
|
||||
## MODE Definitions
|
||||
## MODE Definitions - STRICT OPERATION BOUNDARIES
|
||||
|
||||
### MODE: analysis (default)
|
||||
### MODE: analysis (default) - READ-ONLY OPERATIONS
|
||||
|
||||
**Permissions**:
|
||||
- Read all CONTEXT files
|
||||
- Create/modify documentation files
|
||||
**ALLOWED OPERATIONS**:
|
||||
- **READ**: All CONTEXT files and analyze content
|
||||
- **ANALYZE**: Code patterns, architecture, dependencies
|
||||
- **GENERATE**: Text output, insights, recommendations
|
||||
- **DOCUMENT**: Analysis results in output response only
|
||||
|
||||
**FORBIDDEN OPERATIONS**:
|
||||
- **NO FILE CREATION**: Cannot create any files on disk
|
||||
- **NO FILE MODIFICATION**: Cannot modify existing files
|
||||
- **NO FILE DELETION**: Cannot delete any files
|
||||
- **NO DIRECTORY OPERATIONS**: Cannot create/modify directories
|
||||
|
||||
**Execute**:
|
||||
1. Read and analyze CONTEXT files
|
||||
2. Identify patterns and issues
|
||||
3. Generate insights and recommendations
|
||||
4. Create documentation if needed
|
||||
5. Output structured analysis
|
||||
4. Output structured analysis (text response only)
|
||||
|
||||
**Constraint**: Do NOT modify source code files
|
||||
**CRITICAL CONSTRAINT**: Absolutely NO file system operations - ANALYSIS OUTPUT ONLY
|
||||
|
||||
### MODE: write
|
||||
### MODE: write - FILE CREATION/MODIFICATION OPERATIONS
|
||||
|
||||
**Permissions**:
|
||||
- Full file operations
|
||||
- Create/modify any files
|
||||
**ALLOWED OPERATIONS**:
|
||||
- **READ**: All CONTEXT files and analyze content
|
||||
- **CREATE**: New files (documentation, code, configuration)
|
||||
- **MODIFY**: Existing files (update content, refactor code)
|
||||
- **DELETE**: Files when explicitly required
|
||||
- **ORGANIZE**: Directory structure operations
|
||||
|
||||
**STILL RESTRICTED**:
|
||||
- Must follow project conventions and patterns
|
||||
- Cannot break existing functionality
|
||||
- Must validate changes before completion
|
||||
|
||||
**Execute**:
|
||||
1. Read CONTEXT files
|
||||
|
||||
@@ -17,28 +17,43 @@ EXPECTED: [deliverables]
|
||||
RULES: [templates | additional constraints]
|
||||
```
|
||||
|
||||
## MODE Definitions
|
||||
## MODE Definitions - STRICT OPERATION BOUNDARIES
|
||||
|
||||
### MODE: analysis (default)
|
||||
### MODE: analysis (default) - READ-ONLY OPERATIONS
|
||||
|
||||
**Permissions**:
|
||||
- Read all CONTEXT files
|
||||
- Create/modify documentation files
|
||||
**ALLOWED OPERATIONS**:
|
||||
- **READ**: All CONTEXT files and analyze content
|
||||
- **ANALYZE**: Code patterns, architecture, dependencies
|
||||
- **GENERATE**: Text output, insights, recommendations
|
||||
- **DOCUMENT**: Analysis results in output response only
|
||||
|
||||
**FORBIDDEN OPERATIONS**:
|
||||
- **NO FILE CREATION**: Cannot create any files on disk
|
||||
- **NO FILE MODIFICATION**: Cannot modify existing files
|
||||
- **NO FILE DELETION**: Cannot delete any files
|
||||
- **NO DIRECTORY OPERATIONS**: Cannot create/modify directories
|
||||
|
||||
**Execute**:
|
||||
1. Read and analyze CONTEXT files
|
||||
2. Identify patterns and issues
|
||||
3. Generate insights and recommendations
|
||||
4. Create documentation if needed
|
||||
5. Output structured analysis
|
||||
4. Output structured analysis (text response only)
|
||||
|
||||
**Constraint**: Do NOT modify source code files
|
||||
**CRITICAL CONSTRAINT**: Absolutely NO file system operations - ANALYSIS OUTPUT ONLY
|
||||
|
||||
### MODE: write
|
||||
### MODE: write - FILE CREATION/MODIFICATION OPERATIONS
|
||||
|
||||
**Permissions**:
|
||||
- Full file operations
|
||||
- Create/modify any files
|
||||
**ALLOWED OPERATIONS**:
|
||||
- **READ**: All CONTEXT files and analyze content
|
||||
- **CREATE**: New files (documentation, code, configuration)
|
||||
- **MODIFY**: Existing files (update content, refactor code)
|
||||
- **DELETE**: Files when explicitly required
|
||||
- **ORGANIZE**: Directory structure operations
|
||||
|
||||
**STILL RESTRICTED**:
|
||||
- Must follow project conventions and patterns
|
||||
- Cannot break existing functionality
|
||||
- Must validate changes before completion
|
||||
|
||||
**Execute**:
|
||||
1. Read CONTEXT files
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
This document defines project-specific coding standards and development principles.
|
||||
### CLI Tool Context Protocols
|
||||
For all CLI tool usage, command syntax, and integration guidelines:
|
||||
- **Tool Control Configuration**: @~/.claude/workflows/tool-control.yaml - Controls CLI tool availability for all commands and agent executions (if disabled, use other enabled CLI tools or Claude's own capabilities)
|
||||
- **MCP Tool Strategy**: @~/.claude/workflows/mcp-tool-strategy.md
|
||||
- **Intelligent Context Strategy**: @~/.claude/workflows/intelligent-tools-strategy.md
|
||||
- **Context Search Commands**: @~/.claude/workflows/context-search-strategy.md
|
||||
@@ -73,6 +72,7 @@ For all CLI tool usage, command syntax, and integration guidelines:
|
||||
## Platform-Specific Guidelines
|
||||
|
||||
### Windows Path Format Guidelines
|
||||
- always use complete absolute Windows paths with drive letters and backslashes for ALL file operations
|
||||
- **MCP Tools**: Use double backslash `D:\\path\\file.txt` (MCP doesn't support POSIX `/d/path`)
|
||||
- **Bash Commands**: Use forward slash `D:/path/file.txt` or POSIX `/d/path/file.txt`
|
||||
- **Relative Paths**: No conversion needed `./src`, `../config`
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
This document provides a comprehensive reference for all commands available in the Claude Code Workflow (CCW) system.
|
||||
|
||||
> **Version 5.0 Update**: Streamlined command structure focusing on essential tools. Removed MCP code-index dependency for better stability and performance.
|
||||
|
||||
## Unified CLI Commands (`/cli:*`)
|
||||
|
||||
These commands provide direct access to AI tools for quick analysis and interaction without initiating a full workflow.
|
||||
@@ -45,24 +47,23 @@ These commands orchestrate complex, multi-phase development processes, from plan
|
||||
|
||||
| Command | Description |
|
||||
|---|---|
|
||||
| `/workflow:brainstorm:artifacts` | Generate role-specific topic-framework.md dynamically based on selected roles. |
|
||||
| `/workflow:brainstorm:artifacts` | Generate role-specific guidance-specification.md dynamically based on selected roles. |
|
||||
| `/workflow:brainstorm:auto-parallel` | Parallel brainstorming automation with dynamic role selection and concurrent execution. |
|
||||
| `/workflow:brainstorm:synthesis` | Generate synthesis-specification.md from topic-framework and role analyses with @ references using conceptual-planning-agent. |
|
||||
| `/workflow:brainstorm:api-designer` | Generate or update api-designer/analysis.md addressing topic-framework discussion points. |
|
||||
| `/workflow:brainstorm:data-architect` | Generate or update data-architect/analysis.md addressing topic-framework discussion points. |
|
||||
| `/workflow:brainstorm:product-manager` | Generate or update product-manager/analysis.md addressing topic-framework discussion points. |
|
||||
| `/workflow:brainstorm:product-owner` | Generate or update product-owner/analysis.md addressing topic-framework discussion points. |
|
||||
| `/workflow:brainstorm:scrum-master` | Generate or update scrum-master/analysis.md addressing topic-framework discussion points. |
|
||||
| `/workflow:brainstorm:subject-matter-expert` | Generate or update subject-matter-expert/analysis.md addressing topic-framework discussion points. |
|
||||
| `/workflow:brainstorm:system-architect` | Generate or update system-architect/analysis.md addressing topic-framework discussion points. |
|
||||
| `/workflow:brainstorm:ui-designer` | Generate or update ui-designer/analysis.md addressing topic-framework discussion points. |
|
||||
| `/workflow:brainstorm:ux-expert` | Generate or update ux-expert/analysis.md addressing topic-framework discussion points. |
|
||||
| `/workflow:brainstorm:synthesis` | Clarify and refine role analyses through intelligent Q&A and targeted updates. |
|
||||
| `/workflow:brainstorm:api-designer` | Generate or update api-designer/analysis.md addressing guidance-specification discussion points. |
|
||||
| `/workflow:brainstorm:data-architect` | Generate or update data-architect/analysis.md addressing guidance-specification discussion points. |
|
||||
| `/workflow:brainstorm:product-manager` | Generate or update product-manager/analysis.md addressing guidance-specification discussion points. |
|
||||
| `/workflow:brainstorm:product-owner` | Generate or update product-owner/analysis.md addressing guidance-specification discussion points. |
|
||||
| `/workflow:brainstorm:scrum-master` | Generate or update scrum-master/analysis.md addressing guidance-specification discussion points. |
|
||||
| `/workflow:brainstorm:subject-matter-expert` | Generate or update subject-matter-expert/analysis.md addressing guidance-specification discussion points. |
|
||||
| `/workflow:brainstorm:system-architect` | Generate or update system-architect/analysis.md addressing guidance-specification discussion points. |
|
||||
| `/workflow:brainstorm:ui-designer` | Generate or update ui-designer/analysis.md addressing guidance-specification discussion points. |
|
||||
| `/workflow:brainstorm:ux-expert` | Generate or update ux-expert/analysis.md addressing guidance-specification discussion points. |
|
||||
|
||||
### Quality & Verification
|
||||
|
||||
| Command | Description |
|
||||
|---|---|
|
||||
| `/workflow:concept-clarify` | Identify underspecified areas in brainstorming artifacts through targeted clarification questions before action planning. |
|
||||
| `/workflow:action-plan-verify`| Perform non-destructive cross-artifact consistency and quality analysis of IMPL_PLAN.md and task.json before execution. |
|
||||
|
||||
### Test-Driven Development (TDD)
|
||||
@@ -76,9 +77,9 @@ These commands orchestrate complex, multi-phase development processes, from plan
|
||||
|
||||
| Command | Description |
|
||||
|---|---|
|
||||
| `/workflow:test-gen` | Create independent test-fix workflow session by analyzing completed implementation. |
|
||||
| `/workflow:test-fix-gen` | Create independent test-fix workflow session from existing implementation (session or prompt-based). |
|
||||
| `/workflow:test-cycle-execute` | Execute test-fix workflow with dynamic task generation and iterative fix cycles. |
|
||||
| `/workflow:test-gen` | Generate test plan and tasks by analyzing completed implementation. Use `/workflow:execute` to run generated tasks. |
|
||||
| `/workflow:test-fix-gen` | Generate test-fix plan and tasks from existing implementation or prompt. Use `/workflow:execute` to run generated tasks. |
|
||||
| `/workflow:test-cycle-execute` | Execute test-fix workflow with dynamic task generation and iterative fix cycles. Tasks are executed by `/workflow:execute`. |
|
||||
|
||||
### UI Design Workflow
|
||||
|
||||
@@ -102,7 +103,8 @@ These commands are primarily used internally by other workflow commands but can
|
||||
| Command | Description |
|
||||
|---|---|
|
||||
| `/workflow:tools:concept-enhanced` | Enhanced intelligent analysis with parallel CLI execution and design blueprint generation. |
|
||||
| `/workflow:tools:context-gather` | Intelligently collect project context using general-purpose agent based on task description and package into standardized JSON. |
|
||||
| `/workflow:tools:conflict-resolution` | Detect and resolve conflicts between plan and existing codebase using CLI-powered analysis. |
|
||||
| `/workflow:tools:context-gather` | Intelligently collect project context using universal-executor agent based on task description and package into standardized JSON. |
|
||||
| `/workflow:tools:task-generate` | Generate task JSON files and IMPL_PLAN.md from analysis results with artifacts integration. |
|
||||
| `/workflow:tools:task-generate-agent` | Autonomous task generation using action-planning-agent with discovery and output phases. |
|
||||
| `/workflow:tools:task-generate-tdd` | Generate TDD task chains with Red-Green-Refactor dependencies. |
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
|
||||
# Claude Code Workflow (CCW) - Command Specification
|
||||
|
||||
**Version**: 4.6.0
|
||||
**Generated**: 2025年10月18日星期六
|
||||
**Version**: 5.0.0
|
||||
**Updated**: 2025年10月24日星期六
|
||||
|
||||
## 1. Introduction
|
||||
|
||||
This document provides a detailed technical specification for every command available in the Claude Code Workflow (CCW) system. It is intended for advanced users and developers who wish to understand the inner workings of CCW, customize commands, or build new workflows.
|
||||
|
||||
> **Version 5.0 Changes**: Removed MCP code-index dependency, streamlined TDD workflow with conflict resolution, and refocused brainstorming on role analysis instead of synthesis documents.
|
||||
|
||||
For a user-friendly overview, please see [COMMAND_REFERENCE.md](COMMAND_REFERENCE.md).
|
||||
|
||||
## 2. Command Categories
|
||||
@@ -308,7 +310,7 @@ Commands for managing individual tasks within a workflow session.
|
||||
- **Agent-Driven Execution**: Fully delegates to general-purpose agent which autonomously:
|
||||
1. Analyzes project structure and documentation
|
||||
2. Extracts keywords from task description
|
||||
3. Discovers relevant files using MCP code-index or search tools
|
||||
3. Discovers relevant files using ripgrep/find search tools
|
||||
4. Executes Gemini/Qwen CLI for deep analysis
|
||||
5. Generates structured JSON content package
|
||||
- **Core Philosophy**: Read-only analysis, token-efficient (CLI analysis in agent), structured output
|
||||
@@ -384,8 +386,8 @@ Specialized workflow for UI/UX design, from style extraction to prototype genera
|
||||
|
||||
### **/workflow:ui-design:capture**
|
||||
- **Syntax**: `/workflow:ui-design:capture --url-map "target:url,..." ...`
|
||||
- **Responsibilities**: Batch screenshot capture tool with MCP-first strategy and local fallbacks.
|
||||
- **Agent Calls**: None directly, uses MCP tools.
|
||||
- **Responsibilities**: Batch screenshot capture tool using MCP Chrome DevTools with multi-tier fallback strategy (MCP → Playwright → Chrome → Manual).
|
||||
- **Agent Calls**: None directly, uses MCP Chrome DevTools or browser automation as fallback.
|
||||
- **Example**:
|
||||
```bash
|
||||
/workflow:ui-design:capture --url-map "home:https://linear.app"
|
||||
@@ -394,7 +396,7 @@ Specialized workflow for UI/UX design, from style extraction to prototype genera
|
||||
### **/workflow:ui-design:explore-layers**
|
||||
- **Syntax**: `/workflow:ui-design:explore-layers --url <url> --depth <1-5> ...`
|
||||
- **Responsibilities**: Performs a deep, interactive UI capture of a single URL, exploring layers from the full page down to the Shadow DOM.
|
||||
- **Agent Calls**: None directly, uses MCP tools.
|
||||
- **Agent Calls**: None directly, uses MCP Chrome DevTools for layer exploration.
|
||||
- **Example**:
|
||||
```bash
|
||||
/workflow:ui-design:explore-layers --url https://linear.app --depth 3
|
||||
@@ -489,8 +491,9 @@ Workflows for Test-Driven Development (TDD) and post-implementation test generat
|
||||
|
||||
### **/workflow:test-cycle-execute**
|
||||
- **Syntax**: `/workflow:test-cycle-execute [--resume-session="session-id"] [--max-iterations=N]`
|
||||
- **Responsibilities**: Executes a dynamic test-fix workflow, creating intermediate fix tasks based on test results and analysis.
|
||||
- **Agent Calls**: `@code-developer`, `@test-fix-agent`.
|
||||
- **Responsibilities**: Executes a test-fix workflow by delegating to `/workflow:execute`. Generates test tasks dynamically and creates intermediate fix tasks based on test results.
|
||||
- **Agent Calls**: Delegates to `/workflow:execute` which invokes `@test-fix-agent` for task execution.
|
||||
- **Note**: This command generates tasks; actual execution is performed by `/workflow:execute`.
|
||||
- **Example**:
|
||||
```bash
|
||||
/workflow:test-cycle-execute --resume-session="WFS-test-user-auth"
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
|
||||
# 🚀 Claude Code Workflow (CCW) - Getting Started Guide
|
||||
|
||||
Welcome to Claude Code Workflow (CCW) v4.5.0! This guide will help you get up and running in 5 minutes and experience AI-driven automated software development with our latest workflow system optimizations.
|
||||
Welcome to Claude Code Workflow (CCW) v5.0! This guide will help you get up and running in 5 minutes and experience AI-driven automated software development with our streamlined, dependency-free workflow system.
|
||||
|
||||
**Project Repository**: [catlog22/Claude-Code-Workflow](https://github.com/catlog22/Claude-Code-Workflow)
|
||||
|
||||
> **🎉 What's New in v5.0**: Less is more! We've removed external MCP dependencies and simplified workflows. CCW now uses standard tools (ripgrep/find) for better stability and performance. The brainstorming workflow focuses on role analysis for clearer planning.
|
||||
|
||||
---
|
||||
|
||||
@@ -13,17 +17,7 @@ Let's build a "Hello World" web application from scratch with a simple example.
|
||||
|
||||
First, make sure you have installed CCW according to the [Installation Guide](INSTALL.md).
|
||||
|
||||
### Step 2: Start a Workflow Session
|
||||
|
||||
Think of a "session" as a dedicated project folder. CCW will store all files related to your current task here.
|
||||
|
||||
```bash
|
||||
/workflow:session:start "My First Web App"
|
||||
```
|
||||
|
||||
You will see that the system has created a new session, for example, `WFS-my-first-web-app`.
|
||||
|
||||
### Step 3: Create an Execution Plan
|
||||
### Step 2: Create an Execution Plan (Automatically Starts a Session)
|
||||
|
||||
Now, tell CCW what you want to do. CCW will analyze your request and automatically generate a detailed, executable task plan.
|
||||
|
||||
@@ -31,12 +25,14 @@ Now, tell CCW what you want to do. CCW will analyze your request and automatical
|
||||
/workflow:plan "Create a simple Express API that returns Hello World at the root path"
|
||||
```
|
||||
|
||||
> **💡 Note**: `/workflow:plan` automatically creates and starts a workflow session. No need to manually run `/workflow:session:start`. The session will be auto-named based on your task description, e.g., `WFS-create-a-simple-express-api`.
|
||||
|
||||
This command kicks off a fully automated planning process, which includes:
|
||||
1. **Context Gathering**: Analyzing your project environment.
|
||||
2. **Agent Analysis**: AI agents think about the best implementation path.
|
||||
3. **Task Generation**: Creating specific task files (in `.json` format).
|
||||
|
||||
### Step 4: Execute the Plan
|
||||
### Step 3: Execute the Plan
|
||||
|
||||
Once the plan is created, you can command the AI agents to start working.
|
||||
|
||||
@@ -46,7 +42,7 @@ Once the plan is created, you can command the AI agents to start working.
|
||||
|
||||
You will see CCW's agents (like `@code-developer`) begin to execute tasks one by one. It will automatically create files, write code, and install dependencies.
|
||||
|
||||
### Step 5: Check the Status
|
||||
### Step 4: Check the Status
|
||||
|
||||
Want to know the progress? You can check the status of the current workflow at any time.
|
||||
|
||||
@@ -82,45 +78,115 @@ Understanding these concepts will help you use CCW more effectively:
|
||||
|
||||
## 🛠️ Common Scenarios
|
||||
|
||||
### Scenario 1: Developing a New Feature (as shown above)
|
||||
### Scenario 1: Quick Feature Development
|
||||
|
||||
This is the most common use case, following the "start session → plan → execute" pattern.
|
||||
For simple, well-defined features, use the direct "plan → execute" pattern:
|
||||
|
||||
```bash
|
||||
# 1. Start a session
|
||||
/workflow:session:start "User Login Feature"
|
||||
|
||||
# 2. Create a plan
|
||||
# Create plan (auto-creates session)
|
||||
/workflow:plan "Implement JWT-based user login and registration"
|
||||
|
||||
# 3. Execute
|
||||
# Execute
|
||||
/workflow:execute
|
||||
```
|
||||
|
||||
### Scenario 2: UI Design
|
||||
> **💡 Note**: `/workflow:plan` automatically creates a session. You can also manually start a session first with `/workflow:session:start "Feature Name"`.
|
||||
|
||||
CCW has powerful UI design capabilities, capable of generating complex UI prototypes from simple text descriptions.
|
||||
### Scenario 2: UI Design Exploration
|
||||
|
||||
For UI-focused projects, start with design exploration before implementation: **ui-design → update → plan → execute**
|
||||
|
||||
```bash
|
||||
# 1. Start a UI design workflow
|
||||
/workflow:ui-design:explore-auto --prompt "A modern, clean admin dashboard login page with username, password fields and a login button"
|
||||
# Step 1: Generate UI design variations (auto-creates session)
|
||||
/workflow:ui-design:explore-auto --prompt "A modern, clean admin dashboard login page"
|
||||
|
||||
# 2. View the generated prototype
|
||||
# After the command finishes, it will provide a path to a compare.html file. Open it in your browser to preview.
|
||||
# Step 2: Review designs in compare.html, then update brainstorming artifacts
|
||||
/workflow:ui-design:update --session <session-id> --selected-prototypes "login-v1,login-v2"
|
||||
|
||||
# Step 3: Generate implementation plan with design references
|
||||
/workflow:plan
|
||||
|
||||
# Step 4: Execute the implementation
|
||||
/workflow:execute
|
||||
```
|
||||
|
||||
### Scenario 3: Fixing a Bug
|
||||
> **💡 Tip**: The `update` command integrates selected design prototypes into brainstorming artifacts, ensuring implementation follows the approved designs.
|
||||
|
||||
CCW can help you analyze and fix bugs.
|
||||
### Scenario 3: Complex Feature with Multi-Agent Brainstorming
|
||||
|
||||
For complex features requiring thorough analysis, use the complete workflow: **brainstorm → plan → execute**
|
||||
|
||||
```bash
|
||||
# 1. Use the bug-index command to analyze the problem
|
||||
/cli:mode:bug-index "Incorrect success message even with wrong password on login"
|
||||
# Step 1: Multi-agent brainstorming (auto-creates session)
|
||||
/workflow:brainstorm:auto-parallel "Design a real-time collaborative document editing system with conflict resolution"
|
||||
|
||||
# 2. The AI will analyze the relevant code and generate a fix plan. You can then execute this plan.
|
||||
# Optional: Specify number of expert roles (default: 3, max: 9)
|
||||
/workflow:brainstorm:auto-parallel "Build scalable microservices platform" --count 5
|
||||
|
||||
# Step 2: Generate implementation plan from brainstorming results
|
||||
/workflow:plan
|
||||
|
||||
# Step 3: Execute the plan
|
||||
/workflow:execute
|
||||
```
|
||||
|
||||
**Brainstorming Benefits**:
|
||||
- **Auto role selection**: Analyzes your topic and selects 3-9 relevant expert roles (system-architect, ui-designer, product-manager, etc.)
|
||||
- **Parallel execution**: Multiple AI agents analyze simultaneously from different perspectives
|
||||
- **Comprehensive specification**: Generates integrated requirements and design document
|
||||
|
||||
**When to Use Brainstorming**:
|
||||
- Complex features requiring multiple perspectives
|
||||
- Architectural decisions with significant impact
|
||||
- When you need thorough requirements before implementation
|
||||
|
||||
### Scenario 4: Quality Assurance - Action Plan Verification
|
||||
|
||||
After planning, validate your implementation plan for consistency and completeness:
|
||||
|
||||
```bash
|
||||
# After /workflow:plan completes, verify task quality
|
||||
/workflow:action-plan-verify
|
||||
|
||||
# The command will:
|
||||
# 1. Check requirements coverage (all requirements have tasks)
|
||||
# 2. Validate task dependencies (no circular or broken dependencies)
|
||||
# 3. Ensure synthesis alignment (tasks match architectural decisions)
|
||||
# 4. Assess task specification quality
|
||||
# 5. Generate detailed verification report with remediation todos
|
||||
```
|
||||
|
||||
**The verification report includes**:
|
||||
- Requirements coverage analysis
|
||||
- Dependency graph validation
|
||||
- Synthesis alignment checks
|
||||
- Task specification quality assessment
|
||||
- Prioritized remediation recommendations
|
||||
|
||||
**When to Use**:
|
||||
- After `/workflow:plan` generates IMPL_PLAN.md and task files
|
||||
- Before starting `/workflow:execute`
|
||||
- When working on complex projects with many dependencies
|
||||
- When you want to ensure high-quality task specifications
|
||||
|
||||
**Benefits**:
|
||||
- Catches planning errors before execution
|
||||
- Ensures complete requirements coverage
|
||||
- Validates architectural consistency
|
||||
- Identifies resource conflicts and skill gaps
|
||||
- Provides actionable remediation plan with TodoWrite integration
|
||||
|
||||
### Scenario 6: Bug Fixing
|
||||
|
||||
Quick bug analysis and fix workflow:
|
||||
|
||||
```bash
|
||||
# Analyze the bug
|
||||
/cli:mode:bug-index "Incorrect success message with wrong password"
|
||||
|
||||
# Claude will analyze and then directly implement the fix based on the analysis
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Workflow-Free Usage: Standalone Tools
|
||||
@@ -212,12 +278,12 @@ Suitable for large-scale refactoring, architectural changes, or first-time CCW u
|
||||
|
||||
```bash
|
||||
# Rebuild entire project documentation index
|
||||
/update-memory-full
|
||||
/memory:update-full
|
||||
|
||||
# Use specific tool for indexing
|
||||
/update-memory-full --tool gemini # Comprehensive analysis (recommended)
|
||||
/update-memory-full --tool qwen # Architecture focus
|
||||
/update-memory-full --tool codex # Implementation details
|
||||
/memory:update-full --tool gemini # Comprehensive analysis (recommended)
|
||||
/memory:update-full --tool qwen # Architecture focus
|
||||
/memory:update-full --tool codex # Implementation details
|
||||
```
|
||||
|
||||
**When to Execute**:
|
||||
@@ -257,10 +323,10 @@ Suitable for daily development, updating only modules affected by changes:
|
||||
|
||||
```bash
|
||||
# Update recently modified related documentation
|
||||
/update-memory-related
|
||||
/memory:update-related
|
||||
|
||||
# Specify tool for update
|
||||
/update-memory-related --tool gemini
|
||||
/memory:update-related --tool gemini
|
||||
```
|
||||
|
||||
**When to Execute**:
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
|
||||
# 🚀 Claude Code Workflow (CCW) - 快速上手指南
|
||||
|
||||
欢迎来到 Claude Code Workflow (CCW) v4.5.0!本指南将帮助您在 5 分钟内快速入门,体验由 AI 驱动的自动化软件开发流程,以及我们最新的工作流系统优化。
|
||||
欢迎来到 Claude Code Workflow (CCW) v5.0!本指南将帮助您在 5 分钟内快速入门,体验由 AI 驱动的自动化软件开发流程,以及我们全新的精简化、零外部依赖的工作流系统。
|
||||
|
||||
**项目地址**:[catlog22/Claude-Code-Workflow](https://github.com/catlog22/Claude-Code-Workflow)
|
||||
|
||||
> **🎉 v5.0 新特性:少即是多**!我们移除了外部 MCP 依赖,简化了工作流程。CCW 现在使用标准工具(ripgrep/find)以获得更好的稳定性和性能。头脑风暴工作流专注于角色分析,使规划更加清晰。
|
||||
|
||||
---
|
||||
|
||||
@@ -13,30 +17,22 @@
|
||||
|
||||
首先,请确保您已经根据 [安装指南](INSTALL_CN.md) 完成了 CCW 的安装。
|
||||
|
||||
### 第 2 步:启动一个工作流会话
|
||||
### 第 2 步:创建执行计划(会自动启动会话)
|
||||
|
||||
把“会话”想象成一个专门的项目文件夹。CCW 会在这里存放所有与您当前任务相关的文件。
|
||||
|
||||
```bash
|
||||
/workflow:session:start "我的第一个 Web 应用"
|
||||
```
|
||||
|
||||
您会看到系统创建了一个新的会话,例如 `WFS-我的第一个-web-应用`。
|
||||
|
||||
### 第 3 步:创建执行计划
|
||||
|
||||
现在,告诉 CCW 您想做什么。CCW 会分析您的需求,并自动生成一个详细的、可执行的任务计划。
|
||||
直接告诉 CCW 您想做什么。CCW 会分析您的需求,并自动生成一个详细的、可执行的任务计划。
|
||||
|
||||
```bash
|
||||
/workflow:plan "创建一个简单的 Express API,在根路径返回 Hello World"
|
||||
```
|
||||
|
||||
> **💡 提示**:`/workflow:plan` 会自动创建和启动工作流会话,无需手动执行 `/workflow:session:start`。会话会根据任务描述自动命名,例如 `WFS-创建一个简单的-express-api`。
|
||||
|
||||
这个命令会启动一个完全自动化的规划流程,包括:
|
||||
1. **上下文收集**:分析您的项目环境。
|
||||
2. **智能体分析**:AI 智能体思考最佳实现路径。
|
||||
3. **任务生成**:创建具体的任务文件(`.json` 格式)。
|
||||
|
||||
### 第 4 步:执行计划
|
||||
### 第 3 步:执行计划
|
||||
|
||||
当计划创建完毕后,您就可以命令 AI 智能体开始工作了。
|
||||
|
||||
@@ -46,7 +42,7 @@
|
||||
|
||||
您会看到 CCW 的智能体(如 `@code-developer`)开始逐一执行任务。它会自动创建文件、编写代码、安装依赖。
|
||||
|
||||
### 第 5 步:查看状态
|
||||
### 第 4 步:查看状态
|
||||
|
||||
想知道进展如何?随时可以查看当前工作流的状态。
|
||||
|
||||
@@ -82,45 +78,115 @@
|
||||
|
||||
## 🛠️ 常见场景示例
|
||||
|
||||
### 场景 1:开发一个新功能(如上所示)
|
||||
### 场景 1:快速功能开发
|
||||
|
||||
这是最常见的用法,遵循“启动会话 → 规划 → 执行”的模式。
|
||||
对于简单、明确的功能,使用直接的"规划 → 执行"模式:
|
||||
|
||||
```bash
|
||||
# 1. 启动会话
|
||||
/workflow:session:start "用户登录功能"
|
||||
|
||||
# 2. 创建计划
|
||||
# 创建计划(自动创建会话)
|
||||
/workflow:plan "实现基于 JWT 的用户登录和注册功能"
|
||||
|
||||
# 3. 执行
|
||||
# 执行
|
||||
/workflow:execute
|
||||
```
|
||||
|
||||
### 场景 2:进行 UI 设计
|
||||
> **💡 提示**:`/workflow:plan` 会自动创建会话。您也可以先手动启动会话:`/workflow:session:start "功能名称"`。
|
||||
|
||||
CCW 拥有强大的 UI 设计能力,可以从简单的文本描述生成复杂的 UI 原型。
|
||||
### 场景 2:UI 设计探索
|
||||
|
||||
对于以 UI 为重点的项目,在实现前先进行设计探索:**ui-design → update → 规划 → 执行**
|
||||
|
||||
```bash
|
||||
# 1. 启动一个 UI 设计工作流
|
||||
/workflow:ui-design:explore-auto --prompt "一个现代、简洁的管理后台登录页面,包含用户名、密码输入框和登录按钮"
|
||||
# 第 1 步:生成 UI 设计变体(自动创建会话)
|
||||
/workflow:ui-design:explore-auto --prompt "一个现代、简洁的管理后台登录页面"
|
||||
|
||||
# 2. 查看生成的原型
|
||||
# 命令执行完毕后,会提供一个 compare.html 文件的路径,在浏览器中打开即可预览。
|
||||
# 第 2 步:在 compare.html 中审查设计,然后更新头脑风暴工件
|
||||
/workflow:ui-design:update --session <session-id> --selected-prototypes "login-v1,login-v2"
|
||||
|
||||
# 第 3 步:使用设计引用生成实现计划
|
||||
/workflow:plan
|
||||
|
||||
# 第 4 步:执行实现
|
||||
/workflow:execute
|
||||
```
|
||||
|
||||
### 场景 3:修复一个 Bug
|
||||
> **💡 提示**:`update` 命令将选定的设计原型集成到头脑风暴工件中,确保实现遵循批准的设计。
|
||||
|
||||
CCW 可以帮助您分析并修复 Bug。
|
||||
### 场景 3:复杂功能的多智能体头脑风暴
|
||||
|
||||
对于需要深入分析的复杂功能,使用完整工作流:**头脑风暴 → 规划 → 执行**
|
||||
|
||||
```bash
|
||||
# 1. 使用 bug-index 命令分析问题
|
||||
/cli:mode:bug-index "用户登录时,即使密码错误也提示成功"
|
||||
# 第 1 步:多智能体头脑风暴(自动创建会话)
|
||||
/workflow:brainstorm:auto-parallel "设计一个支持冲突解决的实时协作文档编辑系统"
|
||||
|
||||
# 2. AI 会分析相关代码,并生成一个修复计划。然后您可以执行这个计划。
|
||||
# 可选:指定专家角色数量(默认:3,最大:9)
|
||||
/workflow:brainstorm:auto-parallel "构建可扩展的微服务平台" --count 5
|
||||
|
||||
# 第 2 步:从头脑风暴结果生成实现计划
|
||||
/workflow:plan
|
||||
|
||||
# 第 3 步:执行计划
|
||||
/workflow:execute
|
||||
```
|
||||
|
||||
**头脑风暴优势**:
|
||||
- **自动角色选择**:分析主题并选择 3-9 个相关专家角色(系统架构师、UI 设计师、产品经理等)
|
||||
- **并行执行**:多个 AI 智能体从不同视角同时分析
|
||||
- **综合规格说明**:生成整合的需求和设计文档
|
||||
|
||||
**何时使用头脑风暴**:
|
||||
- 需要多视角分析的复杂功能
|
||||
- 具有重大影响的架构决策
|
||||
- 实现前需要详尽需求分析
|
||||
|
||||
### 场景 4:质量保证 - 行动计划验证
|
||||
|
||||
规划后,验证您的实现计划的一致性和完整性:
|
||||
|
||||
```bash
|
||||
# /workflow:plan 完成后,验证任务质量
|
||||
/workflow:action-plan-verify
|
||||
|
||||
# 该命令将:
|
||||
# 1. 检查需求覆盖率(所有需求都有任务)
|
||||
# 2. 验证任务依赖关系(无循环或损坏的依赖)
|
||||
# 3. 确保综合对齐(任务符合架构决策)
|
||||
# 4. 评估任务规范质量
|
||||
# 5. 生成详细的验证报告和修复待办事项
|
||||
```
|
||||
|
||||
**验证报告包括**:
|
||||
- 需求覆盖率分析
|
||||
- 依赖关系图验证
|
||||
- 综合对齐检查
|
||||
- 任务规范质量评估
|
||||
- 优先级修复建议
|
||||
|
||||
**使用时机**:
|
||||
- 在 `/workflow:plan` 生成 IMPL_PLAN.md 和任务文件后
|
||||
- 在开始 `/workflow:execute` 之前
|
||||
- 处理具有许多依赖关系的复杂项目时
|
||||
- 当您想确保高质量的任务规范时
|
||||
|
||||
**优势**:
|
||||
- 在执行前捕获规划错误
|
||||
- 确保完整的需求覆盖
|
||||
- 验证架构一致性
|
||||
- 识别资源冲突和技能差距
|
||||
- 提供可执行的修复计划,集成 TodoWrite
|
||||
|
||||
### 场景 6:Bug 修复
|
||||
|
||||
快速 Bug 分析和修复工作流:
|
||||
|
||||
```bash
|
||||
# 分析 Bug
|
||||
/cli:mode:bug-index "密码错误时仍显示成功消息"
|
||||
|
||||
# Claude 会分析后直接根据分析结果实现修复
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔧 无工作流协作:独立工具使用
|
||||
@@ -212,12 +278,12 @@ CCW 使用分层的 CLAUDE.md 文档系统维护项目上下文。定期更新
|
||||
|
||||
```bash
|
||||
# 重建整个项目的文档索引
|
||||
/update-memory-full
|
||||
/memory:update-full
|
||||
|
||||
# 使用特定工具进行索引
|
||||
/update-memory-full --tool gemini # 全面分析(推荐)
|
||||
/update-memory-full --tool qwen # 架构重点
|
||||
/update-memory-full --tool codex # 实现细节
|
||||
/memory:update-full --tool gemini # 全面分析(推荐)
|
||||
/memory:update-full --tool qwen # 架构重点
|
||||
/memory:update-full --tool codex # 实现细节
|
||||
```
|
||||
|
||||
**执行时机**:
|
||||
@@ -226,16 +292,41 @@ CCW 使用分层的 CLAUDE.md 文档系统维护项目上下文。定期更新
|
||||
- 每周定期维护
|
||||
- 发现 AI 输出偏差时
|
||||
|
||||
#### 快速加载特定任务上下文
|
||||
|
||||
当您需要立即获取特定任务的上下文,而无需更新文档时:
|
||||
|
||||
```bash
|
||||
# 为特定任务加载上下文到内存
|
||||
/memory:load "在当前前端基础上开发用户认证功能"
|
||||
|
||||
# 使用其他 CLI 工具进行分析
|
||||
/memory:load --tool qwen "重构支付模块API"
|
||||
```
|
||||
|
||||
**工作原理**:
|
||||
- 委托 AI 智能体进行自主项目分析
|
||||
- 发现相关文件并提取任务特定关键词
|
||||
- 使用 CLI 工具(Gemini/Qwen)进行深度分析以节省令牌
|
||||
- 返回加载到内存中的结构化"核心内容包"
|
||||
- 为后续智能体操作提供上下文
|
||||
|
||||
**使用时机**:
|
||||
- 开始新功能或任务之前
|
||||
- 需要快速获取上下文而无需完整文档重建时
|
||||
- 针对特定任务的架构或模式发现
|
||||
- 作为基于智能体开发工作流的准备工作
|
||||
|
||||
#### 增量更新相关模块
|
||||
|
||||
适用于日常开发,只更新变更影响的模块:
|
||||
|
||||
```bash
|
||||
# 更新最近修改相关的文档
|
||||
/update-memory-related
|
||||
/memory:update-related
|
||||
|
||||
# 指定工具进行更新
|
||||
/update-memory-related --tool gemini
|
||||
/memory:update-related --tool gemini
|
||||
```
|
||||
|
||||
**执行时机**:
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
|
||||
Claude Code Agent 工作流协调和分布式内存系统的交互式安装指南。
|
||||
|
||||
> **版本 5.0:精简化安装** - 移除了外部 MCP 依赖,安装更简单、更稳定。使用标准工具(ripgrep/find)提供更好的性能和兼容性。
|
||||
|
||||
## ⚡ 一键远程安装(推荐)
|
||||
|
||||
### 所有平台 - 远程 PowerShell 安装
|
||||
|
||||
12
README.md
12
README.md
@@ -73,18 +73,18 @@ The best way to get started is to follow the 5-minute tutorial in the [**Getting
|
||||
|
||||
Here is a quick example of a common development workflow:
|
||||
|
||||
1. **Start a Session**:
|
||||
```bash
|
||||
/workflow:session:start "Implement user login feature"
|
||||
```
|
||||
2. **Create a Plan**:
|
||||
1. **Create a Plan** (automatically starts a session):
|
||||
```bash
|
||||
/workflow:plan "Implement JWT-based user login and registration"
|
||||
```
|
||||
3. **Execute the Plan**:
|
||||
2. **Execute the Plan**:
|
||||
```bash
|
||||
/workflow:execute
|
||||
```
|
||||
3. **Check Status** (optional):
|
||||
```bash
|
||||
/workflow:status
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
|
||||
24
README_CN.md
24
README_CN.md
@@ -2,10 +2,9 @@
|
||||
|
||||
<div align="center">
|
||||
|
||||
[](https://github.com/catlog22/Claude-Code-Workflow/releases)
|
||||
[](https://github.com/catlog22/Claude-Code-Workflow/releases)
|
||||
[](LICENSE)
|
||||
[]()
|
||||
[](https://github.com/modelcontextprotocol)
|
||||
|
||||
**语言:** [English](README.md) | [中文](README_CN.md)
|
||||
|
||||
@@ -15,7 +14,14 @@
|
||||
|
||||
**Claude Code Workflow (CCW)** 将 AI 开发从简单的提示词链接转变为一个强大的、上下文优先的编排系统。它通过结构化规划、确定性执行和智能多模型编排,解决了执行不确定性和误差累积的问题。
|
||||
|
||||
> **🎉 最新版本: v4.6.0** - 概念澄清与智能体驱动分析。详见 [CHANGELOG.md](CHANGELOG.md)。
|
||||
> **🎉 版本 5.0: 少即是多**
|
||||
>
|
||||
> **核心改进**:
|
||||
> - ✅ **移除外部依赖** - 使用标准 ripgrep/find 替代 MCP code-index,提升稳定性
|
||||
> - ✅ **简化工作流** - 优化 TDD 流程,引入冲突解决机制
|
||||
> - ✅ **专注角色分析** - 以角色文档为核心,简化规划架构
|
||||
>
|
||||
> 详见 [CHANGELOG.md](CHANGELOG.md)。
|
||||
|
||||
> 📚 **第一次使用 CCW?** 查看 [**快速上手指南**](GETTING_STARTED_CN.md) 获取新手友好的 5 分钟教程!
|
||||
|
||||
@@ -73,18 +79,18 @@ CCW 提供了一套丰富的命令,用于管理工作流、任务以及与 AI
|
||||
|
||||
以下是一个常见开发工作流的快速示例:
|
||||
|
||||
1. **启动会话**:
|
||||
```bash
|
||||
/workflow:session:start "实现用户登录功能"
|
||||
```
|
||||
2. **创建计划**:
|
||||
1. **创建计划**(自动启动会话):
|
||||
```bash
|
||||
/workflow:plan "实现基于 JWT 的用户登录和注册"
|
||||
```
|
||||
3. **执行计划**:
|
||||
2. **执行计划**:
|
||||
```bash
|
||||
/workflow:execute
|
||||
```
|
||||
3. **查看状态**(可选):
|
||||
```bash
|
||||
/workflow:status
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -153,7 +153,22 @@ function Test-Prerequisites {
|
||||
Write-ColorOutput "✓ Network connection OK" $ColorSuccess
|
||||
} catch {
|
||||
Write-ColorOutput "ERROR: Cannot connect to GitHub" $ColorError
|
||||
Write-ColorOutput "Please check your network connection: $($_.Exception.Message)" $ColorError
|
||||
Write-ColorOutput "Please check your network connection and try again." $ColorError
|
||||
Write-Host ""
|
||||
Write-ColorOutput "Common causes:" $ColorInfo
|
||||
Write-Host " • Internet connection is down or unstable"
|
||||
Write-Host " • Firewall or proxy is blocking GitHub access"
|
||||
Write-Host " • DNS resolution issues"
|
||||
Write-Host " • GitHub is temporarily unavailable"
|
||||
Write-Host ""
|
||||
Write-ColorOutput "Troubleshooting steps:" $ColorInfo
|
||||
Write-Host " 1. Check your internet connection"
|
||||
Write-Host " 2. Try accessing https://github.com in your browser"
|
||||
Write-Host " 3. If using a proxy, configure it properly"
|
||||
Write-Host " 4. Check firewall settings"
|
||||
Write-Host " 5. Wait a few minutes and try again"
|
||||
Write-Host ""
|
||||
Write-ColorOutput "Error details: $($_.Exception.Message)" $ColorError
|
||||
return $false
|
||||
}
|
||||
|
||||
@@ -172,10 +187,12 @@ function Get-TempDirectory {
|
||||
function Get-LatestRelease {
|
||||
try {
|
||||
$apiUrl = "https://api.github.com/repos/catlog22/Claude-Code-Workflow/releases/latest"
|
||||
$response = Invoke-RestMethod -Uri $apiUrl -UseBasicParsing
|
||||
$response = Invoke-RestMethod -Uri $apiUrl -UseBasicParsing -TimeoutSec 10
|
||||
return $response.tag_name
|
||||
} catch {
|
||||
Write-ColorOutput "WARNING: Failed to fetch latest release, using 'main' branch" $ColorWarning
|
||||
Write-ColorOutput "WARNING: Failed to fetch latest release" $ColorWarning
|
||||
Write-ColorOutput "Reason: $($_.Exception.Message)" $ColorWarning
|
||||
Write-ColorOutput "Falling back to 'main' branch" $ColorInfo
|
||||
return $null
|
||||
}
|
||||
}
|
||||
@@ -229,19 +246,40 @@ function Download-Repository {
|
||||
$progressPreference = $ProgressPreference
|
||||
$ProgressPreference = 'SilentlyContinue'
|
||||
|
||||
Invoke-WebRequest -Uri $zipUrl -OutFile $zipPath -UseBasicParsing
|
||||
Invoke-WebRequest -Uri $zipUrl -OutFile $zipPath -UseBasicParsing -TimeoutSec 300
|
||||
|
||||
$ProgressPreference = $progressPreference
|
||||
|
||||
if (Test-Path $zipPath) {
|
||||
$fileSize = (Get-Item $zipPath).Length
|
||||
if ($fileSize -eq 0) {
|
||||
throw "Downloaded file is empty (0 bytes)"
|
||||
}
|
||||
Write-ColorOutput "Download complete ($([math]::Round($fileSize/1024/1024, 2)) MB)" $ColorSuccess
|
||||
return $zipPath
|
||||
} else {
|
||||
throw "Downloaded file does not exist"
|
||||
}
|
||||
} catch {
|
||||
Write-ColorOutput "Download failed: $($_.Exception.Message)" $ColorError
|
||||
Write-Host ""
|
||||
Write-ColorOutput "ERROR: Download failed" $ColorError
|
||||
Write-Host ""
|
||||
Write-ColorOutput "Common causes:" $ColorInfo
|
||||
Write-Host " • Network connection interrupted during download"
|
||||
Write-Host " • GitHub API rate limit exceeded"
|
||||
Write-Host " • Invalid version tag or branch name"
|
||||
Write-Host " • Temporary GitHub service issues"
|
||||
Write-Host ""
|
||||
Write-ColorOutput "Troubleshooting steps:" $ColorInfo
|
||||
Write-Host " 1. Check your internet connection stability"
|
||||
Write-Host " 2. Wait a few minutes and try again (rate limit resets)"
|
||||
Write-Host " 3. Verify the version tag or branch name is correct"
|
||||
Write-Host " 4. Try a different version (stable/latest)"
|
||||
Write-Host " 5. Check GitHub status at https://www.githubstatus.com"
|
||||
Write-Host ""
|
||||
Write-ColorOutput "Download URL: $zipUrl" $ColorInfo
|
||||
Write-ColorOutput "Error details: $($_.Exception.Message)" $ColorError
|
||||
Write-Host ""
|
||||
return $null
|
||||
}
|
||||
}
|
||||
@@ -255,14 +293,24 @@ function Extract-Repository {
|
||||
Write-ColorOutput "Extracting files..." $ColorInfo
|
||||
|
||||
try {
|
||||
# Verify zip file exists and is not empty
|
||||
if (-not (Test-Path $ZipPath)) {
|
||||
throw "ZIP file not found: $ZipPath"
|
||||
}
|
||||
|
||||
$zipSize = (Get-Item $ZipPath).Length
|
||||
if ($zipSize -eq 0) {
|
||||
throw "ZIP file is empty (0 bytes)"
|
||||
}
|
||||
|
||||
# Use .NET to extract zip
|
||||
Add-Type -AssemblyName System.IO.Compression.FileSystem
|
||||
[System.IO.Compression.ZipFile]::ExtractToDirectory($ZipPath, $TempDir)
|
||||
|
||||
|
||||
# Find the extracted directory (usually repo-name-branch)
|
||||
$extractedDirs = Get-ChildItem -Path $TempDir -Directory
|
||||
$repoDir = $extractedDirs | Where-Object { $_.Name -like "Claude-Code-Workflow-*" } | Select-Object -First 1
|
||||
|
||||
|
||||
if ($repoDir) {
|
||||
Write-ColorOutput "Extraction complete: $($repoDir.FullName)" $ColorSuccess
|
||||
return $repoDir.FullName
|
||||
@@ -270,7 +318,27 @@ function Extract-Repository {
|
||||
throw "Could not find extracted repository directory"
|
||||
}
|
||||
} catch {
|
||||
Write-ColorOutput "Extraction failed: $($_.Exception.Message)" $ColorError
|
||||
Write-Host ""
|
||||
Write-ColorOutput "ERROR: Extraction failed" $ColorError
|
||||
Write-Host ""
|
||||
Write-ColorOutput "Common causes:" $ColorInfo
|
||||
Write-Host " • Downloaded file is corrupted or incomplete"
|
||||
Write-Host " • ZIP file format is invalid"
|
||||
Write-Host " • Insufficient disk space"
|
||||
Write-Host " • Permission issues on temporary directory"
|
||||
Write-Host ""
|
||||
Write-ColorOutput "Troubleshooting steps:" $ColorInfo
|
||||
Write-Host " 1. Try downloading again (network may have interrupted)"
|
||||
Write-Host " 2. Check available disk space"
|
||||
Write-Host " 3. Verify temporary directory permissions"
|
||||
Write-Host " 4. Try running as administrator"
|
||||
Write-Host ""
|
||||
Write-ColorOutput "ZIP file: $ZipPath" $ColorInfo
|
||||
if (Test-Path $ZipPath) {
|
||||
Write-ColorOutput "ZIP size: $([math]::Round($zipSize/1024/1024, 2)) MB" $ColorInfo
|
||||
}
|
||||
Write-ColorOutput "Error details: $($_.Exception.Message)" $ColorError
|
||||
Write-Host ""
|
||||
return $null
|
||||
}
|
||||
}
|
||||
|
||||
@@ -74,7 +74,21 @@ function test_prerequisites() {
|
||||
write_color "✓ Network connection OK" "$COLOR_SUCCESS"
|
||||
else
|
||||
write_color "ERROR: Cannot connect to GitHub" "$COLOR_ERROR"
|
||||
write_color "Please check your network connection" "$COLOR_ERROR"
|
||||
write_color "Please check your network connection and try again." "$COLOR_ERROR"
|
||||
echo ""
|
||||
write_color "Common causes:" "$COLOR_INFO"
|
||||
echo " • Internet connection is down or unstable"
|
||||
echo " • Firewall or proxy is blocking GitHub access"
|
||||
echo " • DNS resolution issues"
|
||||
echo " • GitHub is temporarily unavailable"
|
||||
echo ""
|
||||
write_color "Troubleshooting steps:" "$COLOR_INFO"
|
||||
echo " 1. Check your internet connection"
|
||||
echo " 2. Try accessing https://github.com in your browser"
|
||||
echo " 3. If using a proxy, configure it properly"
|
||||
echo " 4. Check firewall settings"
|
||||
echo " 5. Wait a few minutes and try again"
|
||||
echo ""
|
||||
return 1
|
||||
fi
|
||||
|
||||
@@ -108,7 +122,8 @@ function get_latest_release() {
|
||||
fi
|
||||
fi
|
||||
|
||||
write_color "WARNING: Failed to fetch latest release, using 'main' branch" "$COLOR_WARNING" >&2
|
||||
write_color "WARNING: Failed to fetch latest release" "$COLOR_WARNING" >&2
|
||||
write_color "Falling back to 'main' branch" "$COLOR_INFO" >&2
|
||||
return 1
|
||||
}
|
||||
|
||||
@@ -163,11 +178,34 @@ function download_repository() {
|
||||
write_color "Type: $download_type" "$COLOR_INFO" >&2
|
||||
|
||||
# Download with curl
|
||||
if curl -fsSL -o "$zip_path" "$zip_url" 2>&1 >&2; then
|
||||
local download_error=""
|
||||
if download_error=$(curl -fsSL -o "$zip_path" "$zip_url" 2>&1); then
|
||||
# Verify the download
|
||||
if [ -f "$zip_path" ]; then
|
||||
local file_size
|
||||
file_size=$(du -h "$zip_path" 2>/dev/null | cut -f1)
|
||||
|
||||
# Check if file is empty
|
||||
if [ ! -s "$zip_path" ]; then
|
||||
echo "" >&2
|
||||
write_color "ERROR: Downloaded file is empty (0 bytes)" "$COLOR_ERROR" >&2
|
||||
echo "" >&2
|
||||
write_color "Common causes:" "$COLOR_INFO" >&2
|
||||
echo " • Network connection was interrupted" >&2
|
||||
echo " • Invalid version tag or branch name" >&2
|
||||
echo " • GitHub API or server issues" >&2
|
||||
echo "" >&2
|
||||
write_color "Troubleshooting steps:" "$COLOR_INFO" >&2
|
||||
echo " 1. Verify the version tag or branch name is correct" >&2
|
||||
echo " 2. Wait a few minutes and try again" >&2
|
||||
echo " 3. Try a different version (stable/latest)" >&2
|
||||
echo " 4. Check GitHub status at https://www.githubstatus.com" >&2
|
||||
echo "" >&2
|
||||
write_color "Download URL: $zip_url" "$COLOR_INFO" >&2
|
||||
echo "" >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
write_color "✓ Download complete ($file_size)" "$COLOR_SUCCESS" >&2
|
||||
|
||||
# Output path to stdout for capture
|
||||
@@ -178,7 +216,29 @@ function download_repository() {
|
||||
return 1
|
||||
fi
|
||||
else
|
||||
echo "" >&2
|
||||
write_color "ERROR: Download failed" "$COLOR_ERROR" >&2
|
||||
echo "" >&2
|
||||
write_color "Common causes:" "$COLOR_INFO" >&2
|
||||
echo " • Network connection interrupted during download" >&2
|
||||
echo " • GitHub API rate limit exceeded" >&2
|
||||
echo " • Invalid version tag or branch name" >&2
|
||||
echo " • Temporary GitHub service issues" >&2
|
||||
echo " • Firewall or proxy blocking the download" >&2
|
||||
echo "" >&2
|
||||
write_color "Troubleshooting steps:" "$COLOR_INFO" >&2
|
||||
echo " 1. Check your internet connection stability" >&2
|
||||
echo " 2. Wait a few minutes and try again (rate limit resets)" >&2
|
||||
echo " 3. Verify the version tag or branch name is correct" >&2
|
||||
echo " 4. Try a different version (stable/latest)" >&2
|
||||
echo " 5. Check GitHub status at https://www.githubstatus.com" >&2
|
||||
echo " 6. If using a proxy, verify it's configured correctly" >&2
|
||||
echo "" >&2
|
||||
write_color "Download URL: $zip_url" "$COLOR_INFO" >&2
|
||||
if [ -n "$download_error" ]; then
|
||||
write_color "Error details: $download_error" "$COLOR_ERROR" >&2
|
||||
fi
|
||||
echo "" >&2
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
@@ -195,8 +255,27 @@ function extract_repository() {
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Verify zip file is not empty
|
||||
if [ ! -s "$zip_path" ]; then
|
||||
echo "" >&2
|
||||
write_color "ERROR: ZIP file is empty (0 bytes)" "$COLOR_ERROR" >&2
|
||||
echo "" >&2
|
||||
write_color "Common causes:" "$COLOR_INFO" >&2
|
||||
echo " • Download was interrupted" >&2
|
||||
echo " • Network connection issues during download" >&2
|
||||
echo " • Server-side issues" >&2
|
||||
echo "" >&2
|
||||
write_color "Troubleshooting steps:" "$COLOR_INFO" >&2
|
||||
echo " 1. Try downloading again" >&2
|
||||
echo " 2. Check your network connection" >&2
|
||||
echo " 3. Wait a few minutes and retry" >&2
|
||||
echo "" >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Extract with unzip
|
||||
if unzip -q "$zip_path" -d "$temp_dir" >&2 2>&1; then
|
||||
local extract_error=""
|
||||
if extract_error=$(unzip -q "$zip_path" -d "$temp_dir" 2>&1); then
|
||||
# Find the extracted directory
|
||||
local repo_dir
|
||||
repo_dir=$(find "$temp_dir" -maxdepth 1 -type d -name "Claude-Code-Workflow-*" 2>/dev/null | head -n 1)
|
||||
@@ -207,13 +286,39 @@ function extract_repository() {
|
||||
echo "$repo_dir"
|
||||
return 0
|
||||
else
|
||||
echo "" >&2
|
||||
write_color "ERROR: Could not find extracted repository directory" "$COLOR_ERROR" >&2
|
||||
write_color "Temp directory contents:" "$COLOR_INFO" >&2
|
||||
ls -la "$temp_dir" >&2
|
||||
echo "" >&2
|
||||
return 1
|
||||
fi
|
||||
else
|
||||
echo "" >&2
|
||||
write_color "ERROR: Extraction failed" "$COLOR_ERROR" >&2
|
||||
echo "" >&2
|
||||
write_color "Common causes:" "$COLOR_INFO" >&2
|
||||
echo " • Downloaded file is corrupted or incomplete" >&2
|
||||
echo " • ZIP file format is invalid" >&2
|
||||
echo " • Insufficient disk space" >&2
|
||||
echo " • Permission issues on temporary directory" >&2
|
||||
echo "" >&2
|
||||
write_color "Troubleshooting steps:" "$COLOR_INFO" >&2
|
||||
echo " 1. Try downloading again (network may have interrupted)" >&2
|
||||
echo " 2. Check available disk space: df -h" >&2
|
||||
echo " 3. Verify temporary directory permissions" >&2
|
||||
echo " 4. Check if 'unzip' command is working: unzip -v" >&2
|
||||
echo "" >&2
|
||||
write_color "ZIP file: $zip_path" "$COLOR_INFO" >&2
|
||||
if [ -f "$zip_path" ]; then
|
||||
local zip_size
|
||||
zip_size=$(du -h "$zip_path" 2>/dev/null | cut -f1)
|
||||
write_color "ZIP size: $zip_size" "$COLOR_INFO" >&2
|
||||
fi
|
||||
if [ -n "$extract_error" ]; then
|
||||
write_color "Error details: $extract_error" "$COLOR_ERROR" >&2
|
||||
fi
|
||||
echo "" >&2
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
598
skills.md
598
skills.md
@@ -1,598 +0,0 @@
|
||||
# Agent Skills
|
||||
|
||||
> Create, manage, and share Skills to extend Claude's capabilities in Claude Code.
|
||||
|
||||
This guide shows you how to create, use, and manage Agent Skills in Claude Code. Skills are modular capabilities that extend Claude's functionality through organized folders containing instructions, scripts, and resources.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
* Claude Code version 1.0 or later
|
||||
* Basic familiarity with [Claude Code](/en/docs/claude-code/quickstart)
|
||||
|
||||
## What are Agent Skills?
|
||||
|
||||
Agent Skills package expertise into discoverable capabilities. Each Skill consists of a `SKILL.md` file with instructions that Claude reads when relevant, plus optional supporting files like scripts and templates.
|
||||
|
||||
**How Skills are invoked**: Skills are **model-invoked**—Claude autonomously decides when to use them based on your request and the Skill's description. This is different from slash commands, which are **user-invoked** (you explicitly type `/command` to trigger them).
|
||||
|
||||
**Benefits**:
|
||||
|
||||
* Extend Claude's capabilities for your specific workflows
|
||||
* Share expertise across your team via git
|
||||
* Reduce repetitive prompting
|
||||
* Compose multiple Skills for complex tasks
|
||||
|
||||
Learn more in the [Agent Skills overview](/en/docs/agents-and-tools/agent-skills/overview).
|
||||
|
||||
<Note>
|
||||
For a deep dive into the architecture and real-world applications of Agent Skills, read our engineering blog: [Equipping agents for the real world with Agent Skills](https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills).
|
||||
</Note>
|
||||
|
||||
## Create a Skill
|
||||
|
||||
Skills are stored as directories containing a `SKILL.md` file.
|
||||
|
||||
### Personal Skills
|
||||
|
||||
Personal Skills are available across all your projects. Store them in `~/.claude/skills/`:
|
||||
|
||||
```bash theme={null}
|
||||
mkdir -p ~/.claude/skills/my-skill-name
|
||||
```
|
||||
|
||||
**Use personal Skills for**:
|
||||
|
||||
* Your individual workflows and preferences
|
||||
* Experimental Skills you're developing
|
||||
* Personal productivity tools
|
||||
|
||||
### Project Skills
|
||||
|
||||
Project Skills are shared with your team. Store them in `.claude/skills/` within your project:
|
||||
|
||||
```bash theme={null}
|
||||
mkdir -p .claude/skills/my-skill-name
|
||||
```
|
||||
|
||||
**Use project Skills for**:
|
||||
|
||||
* Team workflows and conventions
|
||||
* Project-specific expertise
|
||||
* Shared utilities and scripts
|
||||
|
||||
Project Skills are checked into git and automatically available to team members.
|
||||
|
||||
### Plugin Skills
|
||||
|
||||
Skills can also come from [Claude Code plugins](/en/docs/claude-code/plugins). Plugins may bundle Skills that are automatically available when the plugin is installed. These Skills work the same way as personal and project Skills.
|
||||
|
||||
## Write SKILL.md
|
||||
|
||||
Create a `SKILL.md` file with YAML frontmatter and Markdown content:
|
||||
|
||||
```yaml theme={null}
|
||||
---
|
||||
name: Your Skill Name
|
||||
description: Brief description of what this Skill does and when to use it
|
||||
---
|
||||
|
||||
# Your Skill Name
|
||||
|
||||
## Instructions
|
||||
Provide clear, step-by-step guidance for Claude.
|
||||
|
||||
## Examples
|
||||
Show concrete examples of using this Skill.
|
||||
```
|
||||
|
||||
The `description` field is critical for Claude to discover when to use your Skill. It should include both what the Skill does and when Claude should use it.
|
||||
|
||||
See the [best practices guide](/en/docs/agents-and-tools/agent-skills/best-practices) for complete authoring guidance.
|
||||
|
||||
## Add supporting files
|
||||
|
||||
Create additional files alongside SKILL.md:
|
||||
|
||||
```
|
||||
my-skill/
|
||||
├── SKILL.md (required)
|
||||
├── reference.md (optional documentation)
|
||||
├── examples.md (optional examples)
|
||||
├── scripts/
|
||||
│ └── helper.py (optional utility)
|
||||
└── templates/
|
||||
└── template.txt (optional template)
|
||||
```
|
||||
|
||||
Reference these files from SKILL.md:
|
||||
|
||||
````markdown theme={null}
|
||||
For advanced usage, see [reference.md](reference.md).
|
||||
|
||||
Run the helper script:
|
||||
```bash
|
||||
python scripts/helper.py input.txt
|
||||
```
|
||||
````
|
||||
|
||||
Claude reads these files only when needed, using progressive disclosure to manage context efficiently.
|
||||
|
||||
## Restrict tool access with allowed-tools
|
||||
|
||||
Use the `allowed-tools` frontmatter field to limit which tools Claude can use when a Skill is active:
|
||||
|
||||
```yaml theme={null}
|
||||
---
|
||||
name: Safe File Reader
|
||||
description: Read files without making changes. Use when you need read-only file access.
|
||||
allowed-tools: Read, Grep, Glob
|
||||
---
|
||||
|
||||
# Safe File Reader
|
||||
|
||||
This Skill provides read-only file access.
|
||||
|
||||
## Instructions
|
||||
1. Use Read to view file contents
|
||||
2. Use Grep to search within files
|
||||
3. Use Glob to find files by pattern
|
||||
```
|
||||
|
||||
When this Skill is active, Claude can only use the specified tools (Read, Grep, Glob) without needing to ask for permission. This is useful for:
|
||||
|
||||
* Read-only Skills that shouldn't modify files
|
||||
* Skills with limited scope (e.g., only data analysis, no file writing)
|
||||
* Security-sensitive workflows where you want to restrict capabilities
|
||||
|
||||
If `allowed-tools` is not specified, Claude will ask for permission to use tools as normal, following the standard permission model.
|
||||
|
||||
<Note>
|
||||
`allowed-tools` is only supported for Skills in Claude Code.
|
||||
</Note>
|
||||
|
||||
## View available Skills
|
||||
|
||||
Skills are automatically discovered by Claude from three sources:
|
||||
|
||||
* Personal Skills: `~/.claude/skills/`
|
||||
* Project Skills: `.claude/skills/`
|
||||
* Plugin Skills: bundled with installed plugins
|
||||
|
||||
**To view all available Skills**, ask Claude directly:
|
||||
|
||||
```
|
||||
What Skills are available?
|
||||
```
|
||||
|
||||
or
|
||||
|
||||
```
|
||||
List all available Skills
|
||||
```
|
||||
|
||||
This will show all Skills from all sources, including plugin Skills.
|
||||
|
||||
**To inspect a specific Skill**, you can also check the filesystem:
|
||||
|
||||
```bash theme={null}
|
||||
# List personal Skills
|
||||
ls ~/.claude/skills/
|
||||
|
||||
# List project Skills (if in a project directory)
|
||||
ls .claude/skills/
|
||||
|
||||
# View a specific Skill's content
|
||||
cat ~/.claude/skills/my-skill/SKILL.md
|
||||
```
|
||||
|
||||
## Test a Skill
|
||||
|
||||
After creating a Skill, test it by asking questions that match your description.
|
||||
|
||||
**Example**: If your description mentions "PDF files":
|
||||
|
||||
```
|
||||
Can you help me extract text from this PDF?
|
||||
```
|
||||
|
||||
Claude autonomously decides to use your Skill if it matches the request—you don't need to explicitly invoke it. The Skill activates automatically based on the context of your question.
|
||||
|
||||
## Debug a Skill
|
||||
|
||||
If Claude doesn't use your Skill, check these common issues:
|
||||
|
||||
### Make description specific
|
||||
|
||||
**Too vague**:
|
||||
|
||||
```yaml theme={null}
|
||||
description: Helps with documents
|
||||
```
|
||||
|
||||
**Specific**:
|
||||
|
||||
```yaml theme={null}
|
||||
description: Extract text and tables from PDF files, fill forms, merge documents. Use when working with PDF files or when the user mentions PDFs, forms, or document extraction.
|
||||
```
|
||||
|
||||
Include both what the Skill does and when to use it in the description.
|
||||
|
||||
### Verify file path
|
||||
|
||||
**Personal Skills**: `~/.claude/skills/skill-name/SKILL.md`
|
||||
**Project Skills**: `.claude/skills/skill-name/SKILL.md`
|
||||
|
||||
Check the file exists:
|
||||
|
||||
```bash theme={null}
|
||||
# Personal
|
||||
ls ~/.claude/skills/my-skill/SKILL.md
|
||||
|
||||
# Project
|
||||
ls .claude/skills/my-skill/SKILL.md
|
||||
```
|
||||
|
||||
### Check YAML syntax
|
||||
|
||||
Invalid YAML prevents the Skill from loading. Verify the frontmatter:
|
||||
|
||||
```bash theme={null}
|
||||
cat SKILL.md | head -n 10
|
||||
```
|
||||
|
||||
Ensure:
|
||||
|
||||
* Opening `---` on line 1
|
||||
* Closing `---` before Markdown content
|
||||
* Valid YAML syntax (no tabs, correct indentation)
|
||||
|
||||
### View errors
|
||||
|
||||
Run Claude Code with debug mode to see Skill loading errors:
|
||||
|
||||
```bash theme={null}
|
||||
claude --debug
|
||||
```
|
||||
|
||||
## Share Skills with your team
|
||||
|
||||
**Recommended approach**: Distribute Skills through [plugins](/en/docs/claude-code/plugins).
|
||||
|
||||
To share Skills via plugin:
|
||||
|
||||
1. Create a plugin with Skills in the `skills/` directory
|
||||
2. Add the plugin to a marketplace
|
||||
3. Team members install the plugin
|
||||
|
||||
For complete instructions, see [Add Skills to your plugin](/en/docs/claude-code/plugins#add-skills-to-your-plugin).
|
||||
|
||||
You can also share Skills directly through project repositories:
|
||||
|
||||
### Step 1: Add Skill to your project
|
||||
|
||||
Create a project Skill:
|
||||
|
||||
```bash theme={null}
|
||||
mkdir -p .claude/skills/team-skill
|
||||
# Create SKILL.md
|
||||
```
|
||||
|
||||
### Step 2: Commit to git
|
||||
|
||||
```bash theme={null}
|
||||
git add .claude/skills/
|
||||
git commit -m "Add team Skill for PDF processing"
|
||||
git push
|
||||
```
|
||||
|
||||
### Step 3: Team members get Skills automatically
|
||||
|
||||
When team members pull the latest changes, Skills are immediately available:
|
||||
|
||||
```bash theme={null}
|
||||
git pull
|
||||
claude # Skills are now available
|
||||
```
|
||||
|
||||
## Update a Skill
|
||||
|
||||
Edit SKILL.md directly:
|
||||
|
||||
```bash theme={null}
|
||||
# Personal Skill
|
||||
code ~/.claude/skills/my-skill/SKILL.md
|
||||
|
||||
# Project Skill
|
||||
code .claude/skills/my-skill/SKILL.md
|
||||
```
|
||||
|
||||
Changes take effect the next time you start Claude Code. If Claude Code is already running, restart it to load the updates.
|
||||
|
||||
## Remove a Skill
|
||||
|
||||
Delete the Skill directory:
|
||||
|
||||
```bash theme={null}
|
||||
# Personal
|
||||
rm -rf ~/.claude/skills/my-skill
|
||||
|
||||
# Project
|
||||
rm -rf .claude/skills/my-skill
|
||||
git commit -m "Remove unused Skill"
|
||||
```
|
||||
|
||||
## Best practices
|
||||
|
||||
### Keep Skills focused
|
||||
|
||||
One Skill should address one capability:
|
||||
|
||||
**Focused**:
|
||||
|
||||
* "PDF form filling"
|
||||
* "Excel data analysis"
|
||||
* "Git commit messages"
|
||||
|
||||
**Too broad**:
|
||||
|
||||
* "Document processing" (split into separate Skills)
|
||||
* "Data tools" (split by data type or operation)
|
||||
|
||||
### Write clear descriptions
|
||||
|
||||
Help Claude discover when to use Skills by including specific triggers in your description:
|
||||
|
||||
**Clear**:
|
||||
|
||||
```yaml theme={null}
|
||||
description: Analyze Excel spreadsheets, create pivot tables, and generate charts. Use when working with Excel files, spreadsheets, or analyzing tabular data in .xlsx format.
|
||||
```
|
||||
|
||||
**Vague**:
|
||||
|
||||
```yaml theme={null}
|
||||
description: For files
|
||||
```
|
||||
|
||||
### Test with your team
|
||||
|
||||
Have teammates use Skills and provide feedback:
|
||||
|
||||
* Does the Skill activate when expected?
|
||||
* Are the instructions clear?
|
||||
* Are there missing examples or edge cases?
|
||||
|
||||
### Document Skill versions
|
||||
|
||||
You can document Skill versions in your SKILL.md content to track changes over time. Add a version history section:
|
||||
|
||||
```markdown theme={null}
|
||||
# My Skill
|
||||
|
||||
## Version History
|
||||
- v2.0.0 (2025-10-01): Breaking changes to API
|
||||
- v1.1.0 (2025-09-15): Added new features
|
||||
- v1.0.0 (2025-09-01): Initial release
|
||||
```
|
||||
|
||||
This helps team members understand what changed between versions.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Claude doesn't use my Skill
|
||||
|
||||
**Symptom**: You ask a relevant question but Claude doesn't use your Skill.
|
||||
|
||||
**Check**: Is the description specific enough?
|
||||
|
||||
Vague descriptions make discovery difficult. Include both what the Skill does and when to use it, with key terms users would mention.
|
||||
|
||||
**Too generic**:
|
||||
|
||||
```yaml theme={null}
|
||||
description: Helps with data
|
||||
```
|
||||
|
||||
**Specific**:
|
||||
|
||||
```yaml theme={null}
|
||||
description: Analyze Excel spreadsheets, generate pivot tables, create charts. Use when working with Excel files, spreadsheets, or .xlsx files.
|
||||
```
|
||||
|
||||
**Check**: Is the YAML valid?
|
||||
|
||||
Run validation to check for syntax errors:
|
||||
|
||||
```bash theme={null}
|
||||
# View frontmatter
|
||||
cat .claude/skills/my-skill/SKILL.md | head -n 15
|
||||
|
||||
# Check for common issues
|
||||
# - Missing opening or closing ---
|
||||
# - Tabs instead of spaces
|
||||
# - Unquoted strings with special characters
|
||||
```
|
||||
|
||||
**Check**: Is the Skill in the correct location?
|
||||
|
||||
```bash theme={null}
|
||||
# Personal Skills
|
||||
ls ~/.claude/skills/*/SKILL.md
|
||||
|
||||
# Project Skills
|
||||
ls .claude/skills/*/SKILL.md
|
||||
```
|
||||
|
||||
### Skill has errors
|
||||
|
||||
**Symptom**: The Skill loads but doesn't work correctly.
|
||||
|
||||
**Check**: Are dependencies available?
|
||||
|
||||
Claude will automatically install required dependencies (or ask for permission to install them) when it needs them.
|
||||
|
||||
**Check**: Do scripts have execute permissions?
|
||||
|
||||
```bash theme={null}
|
||||
chmod +x .claude/skills/my-skill/scripts/*.py
|
||||
```
|
||||
|
||||
**Check**: Are file paths correct?
|
||||
|
||||
Use forward slashes (Unix style) in all paths:
|
||||
|
||||
**Correct**: `scripts/helper.py`
|
||||
**Wrong**: `scripts\helper.py` (Windows style)
|
||||
|
||||
### Multiple Skills conflict
|
||||
|
||||
**Symptom**: Claude uses the wrong Skill or seems confused between similar Skills.
|
||||
|
||||
**Be specific in descriptions**: Help Claude choose the right Skill by using distinct trigger terms in your descriptions.
|
||||
|
||||
Instead of:
|
||||
|
||||
```yaml theme={null}
|
||||
# Skill 1
|
||||
description: For data analysis
|
||||
|
||||
# Skill 2
|
||||
description: For analyzing data
|
||||
```
|
||||
|
||||
Use:
|
||||
|
||||
```yaml theme={null}
|
||||
# Skill 1
|
||||
description: Analyze sales data in Excel files and CRM exports. Use for sales reports, pipeline analysis, and revenue tracking.
|
||||
|
||||
# Skill 2
|
||||
description: Analyze log files and system metrics data. Use for performance monitoring, debugging, and system diagnostics.
|
||||
```
|
||||
|
||||
## Examples
|
||||
|
||||
### Simple Skill (single file)
|
||||
|
||||
```
|
||||
commit-helper/
|
||||
└── SKILL.md
|
||||
```
|
||||
|
||||
```yaml theme={null}
|
||||
---
|
||||
name: Generating Commit Messages
|
||||
description: Generates clear commit messages from git diffs. Use when writing commit messages or reviewing staged changes.
|
||||
---
|
||||
|
||||
# Generating Commit Messages
|
||||
|
||||
## Instructions
|
||||
|
||||
1. Run `git diff --staged` to see changes
|
||||
2. I'll suggest a commit message with:
|
||||
- Summary under 50 characters
|
||||
- Detailed description
|
||||
- Affected components
|
||||
|
||||
## Best practices
|
||||
|
||||
- Use present tense
|
||||
- Explain what and why, not how
|
||||
```
|
||||
|
||||
### Skill with tool permissions
|
||||
|
||||
```
|
||||
code-reviewer/
|
||||
└── SKILL.md
|
||||
```
|
||||
|
||||
```yaml theme={null}
|
||||
---
|
||||
name: Code Reviewer
|
||||
description: Review code for best practices and potential issues. Use when reviewing code, checking PRs, or analyzing code quality.
|
||||
allowed-tools: Read, Grep, Glob
|
||||
---
|
||||
|
||||
# Code Reviewer
|
||||
|
||||
## Review checklist
|
||||
|
||||
1. Code organization and structure
|
||||
2. Error handling
|
||||
3. Performance considerations
|
||||
4. Security concerns
|
||||
5. Test coverage
|
||||
|
||||
## Instructions
|
||||
|
||||
1. Read the target files using Read tool
|
||||
2. Search for patterns using Grep
|
||||
3. Find related files using Glob
|
||||
4. Provide detailed feedback on code quality
|
||||
```
|
||||
|
||||
### Multi-file Skill
|
||||
|
||||
```
|
||||
pdf-processing/
|
||||
├── SKILL.md
|
||||
├── FORMS.md
|
||||
├── REFERENCE.md
|
||||
└── scripts/
|
||||
├── fill_form.py
|
||||
└── validate.py
|
||||
```
|
||||
|
||||
**SKILL.md**:
|
||||
|
||||
````yaml theme={null}
|
||||
---
|
||||
name: PDF Processing
|
||||
description: Extract text, fill forms, merge PDFs. Use when working with PDF files, forms, or document extraction. Requires pypdf and pdfplumber packages.
|
||||
---
|
||||
|
||||
# PDF Processing
|
||||
|
||||
## Quick start
|
||||
|
||||
Extract text:
|
||||
```python
|
||||
import pdfplumber
|
||||
with pdfplumber.open("doc.pdf") as pdf:
|
||||
text = pdf.pages[0].extract_text()
|
||||
```
|
||||
|
||||
For form filling, see [FORMS.md](FORMS.md).
|
||||
For detailed API reference, see [REFERENCE.md](REFERENCE.md).
|
||||
|
||||
## Requirements
|
||||
|
||||
Packages must be installed in your environment:
|
||||
```bash
|
||||
pip install pypdf pdfplumber
|
||||
```
|
||||
````
|
||||
|
||||
<Note>
|
||||
List required packages in the description. Packages must be installed in your environment before Claude can use them.
|
||||
</Note>
|
||||
|
||||
Claude loads additional files only when needed.
|
||||
|
||||
## Next steps
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Authoring best practices" icon="lightbulb" href="/en/docs/agents-and-tools/agent-skills/best-practices">
|
||||
Write Skills that Claude can use effectively
|
||||
</Card>
|
||||
|
||||
<Card title="Agent Skills overview" icon="book" href="/en/docs/agents-and-tools/agent-skills/overview">
|
||||
Learn how Skills work across Claude products
|
||||
</Card>
|
||||
|
||||
<Card title="Get started with Agent Skills" icon="rocket" href="/en/docs/agents-and-tools/agent-skills/quickstart">
|
||||
Create your first Skill
|
||||
</Card>
|
||||
</CardGroup>
|
||||
Reference in New Issue
Block a user