mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-02-05 01:50:27 +08:00
修复内容:
- 将位置参数格式改为JSON格式: ccw tool exec tool '{"param":"value"}'
- 修复双引号字符串内的JSON引号转义问题
- 更新deprecated脚本的使用示例
受影响文件:
- commands/memory/update-full.md, docs-full-cli.md, docs-related-cli.md, update-related.md
- commands/workflow/ui-design/generate.md, import-from-code.md
- scripts/*.sh (9个deprecated脚本)
- skills/command-guide/reference/* (通过analyze_commands.py自动同步)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
943 lines
37 KiB
Markdown
943 lines
37 KiB
Markdown
# Workflow Architecture
|
|
|
|
## Overview
|
|
|
|
This document defines the complete workflow system architecture using a **JSON-only data model**, **marker-based session management**, and **unified file structure** with dynamic task decomposition.
|
|
|
|
## Core Architecture
|
|
|
|
### JSON-Only Data Model
|
|
**JSON files (.task/IMPL-*.json) are the only authoritative source of task state. All markdown documents are read-only generated views.**
|
|
|
|
- **Task State**: Stored exclusively in JSON files
|
|
- **Documents**: Generated on-demand from JSON data
|
|
- **No Synchronization**: Eliminates bidirectional sync complexity
|
|
- **Performance**: Direct JSON access without parsing overhead
|
|
|
|
### Key Design Decisions
|
|
- **JSON files are the single source of truth** - All markdown documents are read-only generated views
|
|
- **Marker files for session tracking** - Ultra-simple active session management
|
|
- **Unified file structure definition** - Same structure template for all workflows, created on-demand
|
|
- **Dynamic task decomposition** - Subtasks created as needed during execution
|
|
- **On-demand file creation** - Directories and files created only when required
|
|
- **Agent-agnostic task definitions** - Complete context preserved for autonomous execution
|
|
|
|
## Session Management
|
|
|
|
### Directory-Based Session Management
|
|
**Simple Location-Based Tracking**: Sessions in `.workflow/active/` directory
|
|
|
|
```bash
|
|
.workflow/
|
|
├── active/
|
|
│ ├── WFS-oauth-integration/ # Active session directory
|
|
│ ├── WFS-user-profile/ # Active session directory
|
|
│ └── WFS-bug-fix-123/ # Active session directory
|
|
└── archives/
|
|
└── WFS-old-feature/ # Archived session (completed)
|
|
```
|
|
|
|
|
|
### Session Operations
|
|
|
|
#### Detect Active Session(s)
|
|
```bash
|
|
active_sessions=$(find .workflow/active/ -name "WFS-*" -type d 2>/dev/null)
|
|
count=$(echo "$active_sessions" | wc -l)
|
|
|
|
if [ -z "$active_sessions" ]; then
|
|
echo "No active session"
|
|
elif [ "$count" -eq 1 ]; then
|
|
session_name=$(basename "$active_sessions")
|
|
echo "Active session: $session_name"
|
|
else
|
|
echo "Multiple sessions found:"
|
|
echo "$active_sessions" | while read session_dir; do
|
|
session=$(basename "$session_dir")
|
|
echo " - $session"
|
|
done
|
|
echo "Please specify which session to work with"
|
|
fi
|
|
```
|
|
|
|
#### Archive Session
|
|
```bash
|
|
mv .workflow/active/WFS-feature .workflow/archives/WFS-feature
|
|
```
|
|
|
|
### Session State Tracking
|
|
Each session directory contains `workflow-session.json`:
|
|
|
|
```json
|
|
{
|
|
"session_id": "WFS-[topic-slug]",
|
|
"project": "feature description",
|
|
"type": "simple|medium|complex",
|
|
"current_phase": "PLAN|IMPLEMENT|REVIEW",
|
|
"status": "active|paused|completed",
|
|
"progress": {
|
|
"completed_phases": ["PLAN"],
|
|
"current_tasks": ["IMPL-1", "IMPL-2"]
|
|
}
|
|
}
|
|
```
|
|
|
|
## Task System
|
|
|
|
### Hierarchical Task Structure
|
|
**Maximum Depth**: 2 levels (IMPL-N.M format)
|
|
|
|
```
|
|
IMPL-1 # Main task
|
|
IMPL-1.1 # Subtask of IMPL-1 (dynamically created)
|
|
IMPL-1.2 # Another subtask of IMPL-1
|
|
IMPL-2 # Another main task
|
|
IMPL-2.1 # Subtask of IMPL-2 (dynamically created)
|
|
```
|
|
|
|
**Task Status Rules**:
|
|
- **Container tasks**: Parent tasks with subtasks (cannot be directly executed)
|
|
- **Leaf tasks**: Only these can be executed directly
|
|
- **Status inheritance**: Parent status derived from subtask completion
|
|
|
|
### Enhanced Task JSON Schema
|
|
All task files use this unified 6-field schema with optional artifacts enhancement:
|
|
|
|
```json
|
|
{
|
|
"id": "IMPL-1.2",
|
|
"title": "Implement JWT authentication",
|
|
"status": "pending|active|completed|blocked|container",
|
|
"context_package_path": ".workflow/WFS-session/.process/context-package.json",
|
|
|
|
"meta": {
|
|
"type": "feature|bugfix|refactor|test-gen|test-fix|docs",
|
|
"agent": "@code-developer|@action-planning-agent|@test-fix-agent|@universal-executor"
|
|
},
|
|
|
|
"context": {
|
|
"requirements": ["JWT authentication", "OAuth2 support"],
|
|
"focus_paths": ["src/auth", "tests/auth", "config/auth.json"],
|
|
"acceptance": ["JWT validation works", "OAuth flow complete"],
|
|
"parent": "IMPL-1",
|
|
"depends_on": ["IMPL-1.1"],
|
|
"inherited": {
|
|
"from": "IMPL-1",
|
|
"context": ["Authentication system design completed"]
|
|
},
|
|
"shared_context": {
|
|
"auth_strategy": "JWT with refresh tokens"
|
|
},
|
|
"artifacts": [
|
|
{
|
|
"type": "role_analyses",
|
|
"source": "brainstorm_clarification",
|
|
"path": ".workflow/WFS-session/.brainstorming/*/analysis*.md",
|
|
"priority": "highest",
|
|
"contains": "role_specific_requirements_and_design"
|
|
}
|
|
]
|
|
},
|
|
|
|
"flow_control": {
|
|
"pre_analysis": [
|
|
{
|
|
"step": "check_patterns",
|
|
"action": "Analyze existing patterns",
|
|
"command": "bash(rg 'auth' [focus_paths] | head -10)",
|
|
"output_to": "patterns"
|
|
},
|
|
{
|
|
"step": "analyze_architecture",
|
|
"action": "Review system architecture",
|
|
"command": "gemini \"analyze patterns: [patterns]\"",
|
|
"output_to": "design"
|
|
},
|
|
{
|
|
"step": "check_deps",
|
|
"action": "Check dependencies",
|
|
"command": "bash(echo [depends_on] | xargs cat)",
|
|
"output_to": "context"
|
|
}
|
|
],
|
|
"implementation_approach": [
|
|
{
|
|
"step": 1,
|
|
"title": "Set up authentication infrastructure",
|
|
"description": "Install JWT library and create auth config following [design] patterns from [parent]",
|
|
"modification_points": [
|
|
"Add JWT library dependencies to package.json",
|
|
"Create auth configuration file using [parent] patterns"
|
|
],
|
|
"logic_flow": [
|
|
"Install jsonwebtoken library via npm",
|
|
"Configure JWT secret and expiration from [inherited]",
|
|
"Export auth config for use by [jwt_generator]"
|
|
],
|
|
"depends_on": [],
|
|
"output": "auth_config"
|
|
},
|
|
{
|
|
"step": 2,
|
|
"title": "Implement JWT generation",
|
|
"description": "Create JWT token generation logic using [auth_config] and [inherited] validation patterns",
|
|
"modification_points": [
|
|
"Add JWT generation function in auth service",
|
|
"Implement token signing with [auth_config]"
|
|
],
|
|
"logic_flow": [
|
|
"User login → validate credentials with [inherited]",
|
|
"Generate JWT payload with user data",
|
|
"Sign JWT using secret from [auth_config]",
|
|
"Return signed token"
|
|
],
|
|
"depends_on": [1],
|
|
"output": "jwt_generator"
|
|
},
|
|
{
|
|
"step": 3,
|
|
"title": "Implement JWT validation middleware",
|
|
"description": "Create middleware to validate JWT tokens using [auth_config] and [shared] rules",
|
|
"modification_points": [
|
|
"Create validation middleware using [jwt_generator]",
|
|
"Add token verification using [shared] rules",
|
|
"Implement user attachment to request object"
|
|
],
|
|
"logic_flow": [
|
|
"Protected route → extract JWT from Authorization header",
|
|
"Validate token signature using [auth_config]",
|
|
"Check token expiration and [shared] rules",
|
|
"Decode payload and attach user to request",
|
|
"Call next() or return 401 error"
|
|
],
|
|
"command": "bash(npm test -- middleware.test.ts)",
|
|
"depends_on": [1, 2],
|
|
"output": "auth_middleware"
|
|
}
|
|
],
|
|
"target_files": [
|
|
"src/auth/login.ts:handleLogin:75-120",
|
|
"src/middleware/auth.ts:validateToken",
|
|
"src/auth/PasswordReset.ts"
|
|
]
|
|
}
|
|
}
|
|
```
|
|
|
|
### Focus Paths & Context Management
|
|
|
|
#### Context Package Path (Top-Level Field)
|
|
The **context_package_path** field provides the location of the smart context package:
|
|
- **Location**: Top-level field (not in `artifacts` array)
|
|
- **Path**: `.workflow/WFS-session/.process/context-package.json`
|
|
- **Purpose**: References the comprehensive context package containing project structure, dependencies, and brainstorming artifacts catalog
|
|
- **Usage**: Loaded in `pre_analysis` steps via `Read({{context_package_path}})`
|
|
|
|
#### Focus Paths Format
|
|
The **focus_paths** field specifies concrete project paths for task implementation:
|
|
- **Array of strings**: `["folder1", "folder2", "specific_file.ts"]`
|
|
- **Concrete paths**: Use actual directory/file names without wildcards
|
|
- **Mixed types**: Can include both directories and specific files
|
|
- **Relative paths**: From project root (e.g., `src/auth`, not `./src/auth`)
|
|
|
|
#### Artifacts Field ⚠️ NEW FIELD
|
|
Optional field referencing brainstorming outputs for task execution:
|
|
|
|
```json
|
|
"artifacts": [
|
|
{
|
|
"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**: 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.
|
|
|
|
**Quick Reference**:
|
|
- **pre_analysis**: Context gathering steps (supports multiple command types)
|
|
- **implementation_approach**: Implementation steps array with dependency management
|
|
- **target_files**: Target files for modification (file:function:lines format)
|
|
- **Variable references**: Use `[variable_name]` to reference step outputs
|
|
- **Tool integration**: Supports Gemini, Codex, Bash commands, and MCP tools
|
|
|
|
## Flow Control Format Guide
|
|
|
|
The `[FLOW_CONTROL]` marker indicates that a task or prompt contains flow control steps for sequential execution. There are **two distinct formats** used in different scenarios:
|
|
|
|
### Format Comparison Matrix
|
|
|
|
| Aspect | Inline Format | JSON Format |
|
|
|--------|--------------|-------------|
|
|
| **Used In** | Brainstorm workflows | Implementation tasks |
|
|
| **Agent** | conceptual-planning-agent | code-developer, test-fix-agent, doc-generator |
|
|
| **Location** | Task() prompt (markdown) | .task/IMPL-*.json file |
|
|
| **Persistence** | Temporary (prompt-only) | Persistent (file storage) |
|
|
| **Complexity** | Simple (3-5 steps) | Complex (10+ steps) |
|
|
| **Dependencies** | None | Full `depends_on` support |
|
|
| **Purpose** | Load brainstorming context | Implement task with preparation |
|
|
|
|
### Inline Format (Brainstorm)
|
|
|
|
**Marker**: `[FLOW_CONTROL]` written directly in Task() prompt
|
|
|
|
**Structure**: Markdown list format
|
|
|
|
**Used By**: Brainstorm commands (`auto-parallel.md`, role commands)
|
|
|
|
**Agent**: `conceptual-planning-agent`
|
|
|
|
**Example**:
|
|
```markdown
|
|
[FLOW_CONTROL]
|
|
|
|
### 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: Read(.workflow/WFS-{session}/.brainstorming/guidance-specification.md)
|
|
- Output: topic_framework
|
|
|
|
2. **load_role_template**
|
|
- Action: Load role-specific planning template
|
|
- Command: bash($(cat "~/.claude/workflows/cli-templates/planning-roles/{role}.md"))
|
|
- Output: role_template
|
|
|
|
3. **load_session_metadata**
|
|
- Action: Load session metadata and topic description
|
|
- Command: bash(cat .workflow/WFS-{session}/workflow-session.json 2>/dev/null || echo '{}')
|
|
- Output: session_metadata
|
|
```
|
|
|
|
**Characteristics**:
|
|
- 3-5 simple context loading steps
|
|
- Written directly in prompt (not persistent)
|
|
- No dependency management between steps
|
|
- Used for temporary context preparation
|
|
- Variables: `[variable_name]` for output references
|
|
|
|
### JSON Format (Implementation)
|
|
|
|
**Marker**: `[FLOW_CONTROL]` used in TodoWrite or documentation to indicate task has flow control
|
|
|
|
**Structure**: Complete JSON structure in task file
|
|
|
|
**Used By**: Implementation tasks (IMPL-*.json)
|
|
|
|
**Agents**: `code-developer`, `test-fix-agent`, `doc-generator`
|
|
|
|
**Example**:
|
|
```json
|
|
"flow_control": {
|
|
"pre_analysis": [
|
|
{
|
|
"step": "load_role_analyses",
|
|
"action": "Load role analysis documents from brainstorming",
|
|
"commands": [
|
|
"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": "role_analyses",
|
|
"on_error": "skip_optional"
|
|
},
|
|
{
|
|
"step": "local_codebase_exploration",
|
|
"action": "Explore codebase using local search",
|
|
"commands": [
|
|
"bash(rg '^(function|class|interface).*auth' --type ts -n --max-count 15)",
|
|
"bash(find . -name '*auth*' -type f | grep -v node_modules | head -10)"
|
|
],
|
|
"output_to": "codebase_structure"
|
|
}
|
|
],
|
|
"implementation_approach": [
|
|
{
|
|
"step": 1,
|
|
"title": "Setup infrastructure",
|
|
"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 [role_analyses]",
|
|
"Export auth config for use by [jwt_generator]"
|
|
],
|
|
"depends_on": [],
|
|
"output": "auth_config"
|
|
},
|
|
{
|
|
"step": 2,
|
|
"title": "Implement JWT generation",
|
|
"description": "Create JWT token generation logic using [auth_config]",
|
|
"modification_points": [
|
|
"Add JWT generation function in auth service",
|
|
"Implement token signing with [auth_config]"
|
|
],
|
|
"logic_flow": [
|
|
"User login → validate credentials",
|
|
"Generate JWT payload with user data",
|
|
"Sign JWT using secret from [auth_config]",
|
|
"Return signed token"
|
|
],
|
|
"depends_on": [1],
|
|
"output": "jwt_generator"
|
|
}
|
|
],
|
|
"target_files": [
|
|
"src/auth/login.ts:handleLogin:75-120",
|
|
"src/middleware/auth.ts:validateToken"
|
|
]
|
|
}
|
|
```
|
|
|
|
**Characteristics**:
|
|
- Persistent storage in .task/IMPL-*.json files
|
|
- Complete dependency management (`depends_on` arrays)
|
|
- Two-phase structure: `pre_analysis` + `implementation_approach`
|
|
- Error handling strategies (`on_error` field)
|
|
- Target file specifications
|
|
- Variables: `[variable_name]` for cross-step references
|
|
|
|
### JSON Format Field Specifications
|
|
|
|
#### pre_analysis Field
|
|
**Purpose**: Context gathering phase before implementation
|
|
|
|
**Structure**: Array of step objects with sequential execution
|
|
|
|
**Step Fields**:
|
|
- **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
|
|
- **on_error**: Error handling strategy (`skip_optional`, `fail`, `retry_once`, `manual_intervention`)
|
|
|
|
**Command Types Supported**:
|
|
- **Bash commands**: `bash(command)` - Any shell command
|
|
- **Tool calls**: `Read(file)`, `Glob(pattern)`, `Grep(pattern)`
|
|
- **MCP tools**: `mcp__exa__get_code_context_exa()`, `mcp__exa__web_search_exa()`
|
|
- **CLI commands**: `gemini`, `qwen`, `codex --full-auto exec`
|
|
|
|
**Example**:
|
|
```json
|
|
{
|
|
"step": "load_context",
|
|
"action": "Load project context and patterns",
|
|
"commands": [
|
|
"bash(ccw tool exec get_modules_by_depth '{}')",
|
|
"Read(CLAUDE.md)"
|
|
],
|
|
"output_to": "project_structure",
|
|
"on_error": "skip_optional"
|
|
}
|
|
```
|
|
|
|
#### implementation_approach Field
|
|
**Purpose**: Define implementation steps with dependency management
|
|
|
|
**Structure**: Array of step objects (NOT object format)
|
|
|
|
**Step Fields (All Required)**:
|
|
- **step**: Unique step number (1, 2, 3, ...) - serves as step identifier
|
|
- **title**: Brief step title
|
|
- **description**: Comprehensive implementation description with context variable references
|
|
- **modification_points**: Array of specific code modification targets
|
|
- **logic_flow**: Array describing business logic execution sequence
|
|
- **depends_on**: Array of step numbers this step depends on (e.g., `[1]`, `[1, 2]`) - empty array `[]` for independent steps
|
|
- **output**: Output variable name that can be referenced by subsequent steps via `[output_name]`
|
|
|
|
**Optional Fields**:
|
|
- **command**: Command for step execution (supports any shell command or CLI tool)
|
|
- When omitted: Agent interprets modification_points and logic_flow to execute
|
|
- When specified: Command executes the step directly
|
|
|
|
**Execution Modes**:
|
|
- **Default (without command)**: Agent executes based on modification_points and logic_flow
|
|
- **With command**: Specified command handles execution
|
|
|
|
**Command Field Usage**:
|
|
- **Default approach**: Omit command field - let agent execute autonomously
|
|
- **CLI tools (codex/gemini/qwen)**: Add ONLY when user explicitly requests CLI tool usage
|
|
- **Simple commands**: Can include bash commands, test commands, validation scripts
|
|
- **Complex workflows**: Use command for multi-step operations or tool coordination
|
|
|
|
**Command Format Examples** (only when explicitly needed):
|
|
```json
|
|
// Simple Bash
|
|
"command": "bash(npm install package)"
|
|
"command": "bash(npm test)"
|
|
|
|
// Validation
|
|
"command": "bash(test -f config.ts && grep -q 'JWT_SECRET' config.ts)"
|
|
|
|
// Codex (user requested)
|
|
"command": "codex -C path --full-auto exec \"task\" --skip-git-repo-check -s danger-full-access"
|
|
|
|
// Codex Resume (user requested, maintains context)
|
|
"command": "codex --full-auto exec \"task\" resume --last --skip-git-repo-check -s danger-full-access"
|
|
|
|
// Gemini (user requested)
|
|
"command": "gemini \"analyze [context]\""
|
|
|
|
// Qwen (fallback for Gemini)
|
|
"command": "qwen \"analyze [context]\""
|
|
```
|
|
|
|
**Example Step**:
|
|
```json
|
|
{
|
|
"step": 2,
|
|
"title": "Implement JWT generation",
|
|
"description": "Create JWT token generation logic using [auth_config]",
|
|
"modification_points": [
|
|
"Add JWT generation function in auth service",
|
|
"Implement token signing with [auth_config]"
|
|
],
|
|
"logic_flow": [
|
|
"User login → validate credentials",
|
|
"Generate JWT payload with user data",
|
|
"Sign JWT using secret from [auth_config]",
|
|
"Return signed token"
|
|
],
|
|
"depends_on": [1],
|
|
"output": "jwt_generator"
|
|
}
|
|
```
|
|
|
|
#### target_files Field
|
|
**Purpose**: Specify files to be modified or created
|
|
|
|
**Format**: Array of strings
|
|
- **Existing files**: `"file:function:lines"` (e.g., `"src/auth/login.ts:handleLogin:75-120"`)
|
|
- **New files**: `"path/to/NewFile.ts"` (file path only)
|
|
|
|
### Tool Reference
|
|
|
|
**Available Command Types**:
|
|
|
|
**Gemini CLI**:
|
|
```bash
|
|
gemini "prompt"
|
|
gemini --approval-mode yolo "prompt" # For write mode
|
|
```
|
|
|
|
**Qwen CLI** (Gemini fallback):
|
|
```bash
|
|
qwen "prompt"
|
|
qwen --approval-mode yolo "prompt" # For write mode
|
|
```
|
|
|
|
**Codex CLI**:
|
|
```bash
|
|
codex -C directory --full-auto exec "task" --skip-git-repo-check -s danger-full-access
|
|
codex --full-auto exec "task" resume --last --skip-git-repo-check -s danger-full-access
|
|
```
|
|
|
|
**Built-in Tools**:
|
|
- `Read(file_path)` - Read file contents
|
|
- `Glob(pattern)` - Find files by pattern
|
|
- `Grep(pattern)` - Search content with regex
|
|
- `bash(command)` - Execute bash command
|
|
|
|
**MCP Tools**:
|
|
- `mcp__exa__get_code_context_exa(query="...")` - Get code context from Exa
|
|
- `mcp__exa__web_search_exa(query="...")` - Web search via Exa
|
|
|
|
**Bash Commands**:
|
|
```bash
|
|
bash(rg 'pattern' src/)
|
|
bash(find . -name "*.ts")
|
|
bash(npm test)
|
|
bash(git log --oneline | head -5)
|
|
```
|
|
|
|
### Variable System & Context Flow
|
|
|
|
**Variable Reference Syntax**:
|
|
Both formats use `[variable_name]` syntax for referencing outputs from previous steps.
|
|
|
|
**Variable Types**:
|
|
- **Step outputs**: `[step_output_name]` - Reference any pre_analysis step output
|
|
- **Task properties**: `[task_property]` - Reference any task context field
|
|
- **Previous results**: `[analysis_result]` - Reference accumulated context
|
|
- **Implementation outputs**: Reference outputs from previous implementation steps
|
|
|
|
**Examples**:
|
|
```json
|
|
// Reference pre_analysis output
|
|
"description": "Install JWT library following [role_analyses]"
|
|
|
|
// Reference previous step output
|
|
"description": "Create middleware using [auth_config] and [jwt_generator]"
|
|
|
|
// Reference task context
|
|
"command": "bash(cd [focus_paths] && npm test)"
|
|
```
|
|
|
|
**Context Accumulation Process**:
|
|
1. **Structure Analysis**: `get_modules_by_depth.sh` → project hierarchy
|
|
2. **Pattern Analysis**: Tool-specific commands → existing patterns
|
|
3. **Dependency Mapping**: Previous task summaries → inheritance context
|
|
4. **Task Context Generation**: Combined analysis → task.context fields
|
|
|
|
**Context Inheritance Rules**:
|
|
- **Parent → Child**: Container tasks pass context via `context.inherited`
|
|
- **Dependency → Dependent**: Previous task summaries via `context.depends_on`
|
|
- **Session → Task**: Global session context included in all tasks
|
|
- **Module → Feature**: Module patterns inform feature implementation
|
|
|
|
### Agent Processing Rules
|
|
|
|
**conceptual-planning-agent** (Inline Format):
|
|
- Parses markdown list from prompt
|
|
- Executes 3-5 simple loading steps
|
|
- No dependency resolution needed
|
|
- Accumulates context in variables
|
|
- Used only in brainstorm workflows
|
|
|
|
**code-developer, test-fix-agent** (JSON Format):
|
|
- Loads complete task JSON from file
|
|
- Executes `pre_analysis` steps sequentially
|
|
- Processes `implementation_approach` with dependency resolution
|
|
- Handles complex variable substitution
|
|
- Updates task status in JSON file
|
|
|
|
### Usage Guidelines
|
|
|
|
**Use Inline Format When**:
|
|
- Running brainstorm workflows
|
|
- Need 3-5 simple context loading steps
|
|
- No persistence required
|
|
- No dependencies between steps
|
|
- Temporary context preparation
|
|
|
|
**Use JSON Format When**:
|
|
- Implementing features or tasks
|
|
- Need 10+ complex execution steps
|
|
- Require dependency management
|
|
- Need persistent task definitions
|
|
- Complex variable flow between steps
|
|
- Error handling strategies needed
|
|
|
|
### Variable Reference Syntax
|
|
|
|
Both formats use `[variable_name]` syntax for referencing outputs:
|
|
|
|
**Inline Format**:
|
|
```markdown
|
|
2. **analyze_context**
|
|
- Action: Analyze using [topic_framework] and [role_template]
|
|
- Output: analysis_results
|
|
```
|
|
|
|
**JSON Format**:
|
|
```json
|
|
{
|
|
"step": 2,
|
|
"description": "Implement following [role_analyses] and [codebase_structure]",
|
|
"depends_on": [1],
|
|
"output": "implementation"
|
|
}
|
|
```
|
|
|
|
### Task Validation Rules
|
|
1. **ID Uniqueness**: All task IDs must be unique
|
|
2. **Hierarchical Format**: Must follow IMPL-N[.M] pattern (maximum 2 levels)
|
|
3. **Parent References**: All parent IDs must exist as JSON files
|
|
4. **Status Consistency**: Status values from defined enumeration
|
|
5. **Required Fields**: All 5 core fields must be present (id, title, status, meta, context, flow_control)
|
|
6. **Focus Paths Structure**: context.focus_paths must contain concrete paths (no wildcards)
|
|
7. **Flow Control Format**: pre_analysis must be array with required fields
|
|
8. **Dependency Integrity**: All task-level depends_on references must exist as JSON files
|
|
9. **Artifacts Structure**: context.artifacts (optional) must use valid type, priority, and path format
|
|
10. **Implementation Steps Array**: implementation_approach must be array of step objects
|
|
11. **Step Number Uniqueness**: All step numbers within a task must be unique and sequential (1, 2, 3, ...)
|
|
12. **Step Dependencies**: All step-level depends_on numbers must reference valid steps within same task
|
|
13. **Step Sequence**: Step numbers should match array order (first item step=1, second item step=2, etc.)
|
|
14. **Step Required Fields**: Each step must have step, title, description, modification_points, logic_flow, depends_on, output
|
|
15. **Step Optional Fields**: command field is optional - when omitted, agent executes based on modification_points and logic_flow
|
|
|
|
## Workflow Structure
|
|
|
|
### Unified File Structure
|
|
All workflows use the same file structure definition regardless of complexity. **Directories and files are created on-demand as needed**, not all at once during initialization.
|
|
|
|
#### Complete Structure Reference
|
|
```
|
|
.workflow/
|
|
├── [.scratchpad/] # Non-session-specific outputs (created when needed)
|
|
│ ├── analyze-*-[timestamp].md # One-off analysis results
|
|
│ ├── chat-*-[timestamp].md # Standalone chat sessions
|
|
│ ├── plan-*-[timestamp].md # Ad-hoc planning notes
|
|
│ ├── bug-index-*-[timestamp].md # Quick bug analyses
|
|
│ ├── code-analysis-*-[timestamp].md # Standalone code analysis
|
|
│ ├── execute-*-[timestamp].md # Ad-hoc implementation logs
|
|
│ └── codex-execute-*-[timestamp].md # Multi-stage execution logs
|
|
│
|
|
├── [design-run-*/] # Standalone UI design outputs (created when needed)
|
|
│ └── (timestamped)/ # Timestamped design runs without session
|
|
│ ├── .intermediates/ # Intermediate analysis files
|
|
│ │ ├── style-analysis/ # Style analysis data
|
|
│ │ │ ├── computed-styles.json # Extracted CSS values
|
|
│ │ │ └── design-space-analysis.json # Design directions
|
|
│ │ └── layout-analysis/ # Layout analysis data
|
|
│ │ ├── dom-structure-{target}.json # DOM extraction
|
|
│ │ └── inspirations/ # Layout research
|
|
│ │ └── {target}-layout-ideas.txt
|
|
│ ├── style-extraction/ # Final design systems
|
|
│ │ ├── style-1/ # design-tokens.json, style-guide.md
|
|
│ │ └── style-N/
|
|
│ ├── layout-extraction/ # Layout templates
|
|
│ │ └── layout-templates.json
|
|
│ ├── prototypes/ # Generated HTML/CSS prototypes
|
|
│ │ ├── {target}-style-{s}-layout-{l}.html # Final prototypes
|
|
│ │ ├── compare.html # Interactive matrix view
|
|
│ │ └── index.html # Navigation page
|
|
│ └── .run-metadata.json # Run configuration
|
|
│
|
|
├── active/ # Active workflow sessions
|
|
│ └── WFS-[topic-slug]/
|
|
│ ├── workflow-session.json # Session metadata and state (REQUIRED)
|
|
│ ├── [.brainstorming/] # Optional brainstorming phase (created when needed)
|
|
│ ├── [.chat/] # CLI interaction sessions (created when analysis is run)
|
|
│ │ ├── chat-*.md # Saved chat sessions
|
|
│ │ └── analysis-*.md # Analysis results
|
|
│ ├── [.process/] # Planning analysis results (created by /workflow:plan)
|
|
│ │ └── ANALYSIS_RESULTS.md # Analysis results and planning artifacts
|
|
│ ├── IMPL_PLAN.md # Planning document (REQUIRED)
|
|
│ ├── TODO_LIST.md # Progress tracking (REQUIRED)
|
|
│ ├── [.summaries/] # Task completion summaries (created when tasks complete)
|
|
│ │ ├── IMPL-*-summary.md # Main task summaries
|
|
│ │ └── IMPL-*.*-summary.md # Subtask summaries
|
|
│ ├── [.review/] # Code review results (created by review commands)
|
|
│ │ ├── review-metadata.json # Review configuration and scope
|
|
│ │ ├── review-state.json # Review state machine
|
|
│ │ ├── review-progress.json # Real-time progress tracking
|
|
│ │ ├── dimensions/ # Per-dimension analysis results
|
|
│ │ ├── iterations/ # Deep-dive iteration results
|
|
│ │ ├── reports/ # Human-readable reports and CLI outputs
|
|
│ │ ├── REVIEW-SUMMARY.md # Final consolidated summary
|
|
│ │ └── dashboard.html # Interactive review dashboard
|
|
│ ├── [design-*/] # UI design outputs (created by ui-design workflows)
|
|
│ │ ├── .intermediates/ # Intermediate analysis files
|
|
│ │ │ ├── style-analysis/ # Style analysis data
|
|
│ │ │ │ ├── computed-styles.json # Extracted CSS values
|
|
│ │ │ │ └── design-space-analysis.json # Design directions
|
|
│ │ │ └── layout-analysis/ # Layout analysis data
|
|
│ │ │ ├── dom-structure-{target}.json # DOM extraction
|
|
│ │ │ └── inspirations/ # Layout research
|
|
│ │ │ └── {target}-layout-ideas.txt
|
|
│ │ ├── style-extraction/ # Final design systems
|
|
│ │ │ ├── style-1/ # design-tokens.json, style-guide.md
|
|
│ │ │ └── style-N/
|
|
│ │ ├── layout-extraction/ # Layout templates
|
|
│ │ │ └── layout-templates.json
|
|
│ │ ├── prototypes/ # Generated HTML/CSS prototypes
|
|
│ │ │ ├── {target}-style-{s}-layout-{l}.html # Final prototypes
|
|
│ │ │ ├── compare.html # Interactive matrix view
|
|
│ │ │ └── index.html # Navigation page
|
|
│ │ └── .run-metadata.json # Run configuration
|
|
│ └── .task/ # Task definitions (REQUIRED)
|
|
│ ├── IMPL-*.json # Main task definitions
|
|
│ └── IMPL-*.*.json # Subtask definitions (created dynamically)
|
|
└── archives/ # Completed workflow sessions
|
|
└── WFS-[completed-topic]/ # Archived session directories
|
|
```
|
|
|
|
#### Creation Strategy
|
|
- **Initial Setup**: Create only `workflow-session.json`, `IMPL_PLAN.md`, `TODO_LIST.md`, and `.task/` directory
|
|
- **On-Demand Creation**: Other directories created when first needed
|
|
- **Dynamic Files**: Subtask JSON files created during task decomposition
|
|
- **Scratchpad Usage**: `.scratchpad/` created when CLI commands run without active session
|
|
- **Design Usage**: `design-{timestamp}/` created by UI design workflows in `.workflow/` directly for standalone design runs
|
|
- **Review Usage**: `.review/` created by review commands (`/workflow:review-module-cycle`, `/workflow:review-session-cycle`) for comprehensive code quality analysis
|
|
- **Intermediate Files**: `.intermediates/` contains analysis data (style/layout) separate from final deliverables
|
|
- **Layout Templates**: `layout-extraction/layout-templates.json` contains structural templates for UI assembly
|
|
|
|
#### Scratchpad Directory (.scratchpad/)
|
|
**Purpose**: Centralized location for non-session-specific CLI outputs
|
|
|
|
**When to Use**:
|
|
1. **No Active Session**: CLI analysis/chat commands run without an active workflow session
|
|
2. **Unrelated Analysis**: Quick analysis not related to current active session
|
|
3. **Exploratory Work**: Ad-hoc investigation before creating formal workflow
|
|
4. **One-Off Queries**: Standalone questions or debugging without workflow context
|
|
|
|
**Output Routing Logic**:
|
|
- **IF** active session exists in `.workflow/active/` AND command is session-relevant:
|
|
- Save to `.workflow/active/WFS-[id]/.chat/[command]-[timestamp].md`
|
|
- **ELSE** (no session OR one-off analysis):
|
|
- Save to `.workflow/.scratchpad/[command]-[description]-[timestamp].md`
|
|
|
|
**File Naming Pattern**: `[command-type]-[brief-description]-[timestamp].md`
|
|
|
|
**Examples**:
|
|
|
|
*Workflow Commands (lightweight):*
|
|
- `/workflow:lite-plan "feature idea"` (exploratory) → `.scratchpad/lite-plan-feature-idea-20250105-143110.md`
|
|
- `/workflow:lite-fix "bug description"` (bug fixing) → `.scratchpad/lite-fix-bug-20250105-143130.md`
|
|
|
|
> **Note**: Direct CLI commands (`/cli:analyze`, `/cli:execute`, etc.) have been replaced by semantic invocation and workflow commands.
|
|
|
|
**Maintenance**:
|
|
- Periodically review and clean up old scratchpad files
|
|
- Promote useful analyses to formal workflow sessions if needed
|
|
- No automatic cleanup - manual management recommended
|
|
|
|
### File Naming Conventions
|
|
|
|
#### Session Identifiers
|
|
**Format**: `WFS-[topic-slug]`
|
|
|
|
**WFS Prefix Meaning**:
|
|
- `WFS` = **W**ork**F**low **S**ession
|
|
- Identifies directories as workflow session containers
|
|
- Distinguishes workflow sessions from other project directories
|
|
|
|
**Naming Rules**:
|
|
- Convert topic to lowercase with hyphens (e.g., "User Auth System" → `WFS-user-auth-system`)
|
|
- Add `-NNN` suffix only if conflicts exist (e.g., `WFS-payment-integration-002`)
|
|
- Maximum length: 50 characters including WFS- prefix
|
|
|
|
#### Document Naming
|
|
- `workflow-session.json` - Session state (required)
|
|
- `IMPL_PLAN.md` - Planning document (required)
|
|
- `TODO_LIST.md` - Progress tracking (auto-generated when needed)
|
|
- Chat sessions: `chat-analysis-*.md`
|
|
- Task summaries: `IMPL-[task-id]-summary.md`
|
|
|
|
### Document Templates
|
|
|
|
#### TODO_LIST.md Template
|
|
```markdown
|
|
# Tasks: [Session Topic]
|
|
|
|
## Task Progress
|
|
▸ **IMPL-001**: [Main Task Group] → [📋](./.task/IMPL-001.json)
|
|
- [ ] **IMPL-001.1**: [Subtask] → [📋](./.task/IMPL-001.1.json)
|
|
- [x] **IMPL-001.2**: [Subtask] → [📋](./.task/IMPL-001.2.json) | [✅](./.summaries/IMPL-001.2-summary.md)
|
|
|
|
- [x] **IMPL-002**: [Simple Task] → [📋](./.task/IMPL-002.json) | [✅](./.summaries/IMPL-002-summary.md)
|
|
|
|
## Status Legend
|
|
- `▸` = Container task (has subtasks)
|
|
- `- [ ]` = Pending leaf task
|
|
- `- [x]` = Completed leaf task
|
|
- Maximum 2 levels: Main tasks and subtasks only
|
|
```
|
|
|
|
## Operations Guide
|
|
|
|
### Session Management
|
|
```bash
|
|
# Create minimal required structure
|
|
mkdir -p .workflow/active/WFS-topic-slug/.task
|
|
echo '{"session_id":"WFS-topic-slug",...}' > .workflow/active/WFS-topic-slug/workflow-session.json
|
|
echo '# Implementation Plan' > .workflow/active/WFS-topic-slug/IMPL_PLAN.md
|
|
echo '# Tasks' > .workflow/active/WFS-topic-slug/TODO_LIST.md
|
|
```
|
|
|
|
### Task Operations
|
|
```bash
|
|
# Create task
|
|
echo '{"id":"IMPL-1","title":"New task",...}' > .task/IMPL-1.json
|
|
|
|
# Update task status
|
|
jq '.status = "active"' .task/IMPL-1.json > temp && mv temp .task/IMPL-1.json
|
|
|
|
# Generate TODO list from JSON state
|
|
generate_todo_list_from_json .task/
|
|
```
|
|
|
|
### Directory Creation (On-Demand)
|
|
```bash
|
|
mkdir -p .brainstorming # When brainstorming is initiated
|
|
mkdir -p .chat # When analysis commands are run
|
|
mkdir -p .summaries # When first task completes
|
|
```
|
|
|
|
### Session Consistency Checks & Recovery
|
|
```bash
|
|
# Validate session directory structure
|
|
if [ -d ".workflow/active/" ]; then
|
|
for session_dir in .workflow/active/WFS-*; do
|
|
if [ ! -f "$session_dir/workflow-session.json" ]; then
|
|
echo "⚠️ Missing workflow-session.json in $session_dir"
|
|
fi
|
|
done
|
|
fi
|
|
```
|
|
|
|
**Recovery Strategies**:
|
|
- **Missing Session File**: Recreate workflow-session.json from template
|
|
- **Corrupted Session File**: Restore from template with basic metadata
|
|
- **Broken Task Hierarchy**: Reconstruct parent-child relationships from task JSON files
|
|
- **Orphaned Sessions**: Move incomplete sessions to archives/
|
|
|
|
## Complexity Classification
|
|
|
|
### Task Complexity Rules
|
|
**Complexity is determined by task count and decomposition needs:**
|
|
|
|
| Complexity | Task Count | Hierarchy Depth | Decomposition Behavior |
|
|
|------------|------------|----------------|----------------------|
|
|
| **Simple** | <5 tasks | 1 level (IMPL-N) | Direct execution, minimal decomposition |
|
|
| **Medium** | 5-15 tasks | 2 levels (IMPL-N.M) | Moderate decomposition, context coordination |
|
|
| **Complex** | >15 tasks | 2 levels (IMPL-N.M) | Frequent decomposition, multi-agent orchestration |
|
|
|
|
### Workflow Characteristics & Tool Guidance
|
|
|
|
#### Simple Workflows
|
|
- **Examples**: Bug fixes, small feature additions, configuration changes
|
|
- **Task Decomposition**: Usually single-level tasks, minimal breakdown needed
|
|
- **Agent Coordination**: Direct execution without complex orchestration
|
|
- **Tool Strategy**: `bash()` commands, `grep()` for pattern matching
|
|
|
|
#### Medium Workflows
|
|
- **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` 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` 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
|
|
- **During Execution**: Can upgrade (Simple→Medium→Complex) but never downgrade
|
|
- **Override Allowed**: Users can specify higher complexity manually
|
|
|
|
## Agent Integration
|
|
|
|
### Agent Assignment
|
|
Based on task type and title keywords:
|
|
- **Planning tasks** → @action-planning-agent
|
|
- **Implementation** → @code-developer (code + tests)
|
|
- **Test execution/fixing** → @test-fix-agent
|
|
- **Review** → @universal-executor (optional, only when explicitly requested)
|
|
|
|
### Execution Context
|
|
Agents receive complete task JSON plus workflow context:
|
|
```json
|
|
{
|
|
"task": { /* complete task JSON */ },
|
|
"workflow": {
|
|
"session": "WFS-user-auth",
|
|
"phase": "IMPLEMENT"
|
|
}
|
|
}
|
|
```
|
|
|