build-task-graph
Build task dependency graph YAML from interface and pseudocode
SKILL.md
Full skill instructions
Build Task Graph
Create the task dependency graph from interface and pseudocode documents.
When Invoked
After rough-draft-skeleton completes, before rough-draft-handoff.
Process
Step 1: Read Interface and Pseudocode Documents
Read all interface-item-N.md and pseudocode-item-N.md documents:
Tool: mcp__plugin_mermaid-collab_mermaid__list_documents
Args: { "project": "<cwd>", "session": "<session>" }
Filter for interface-* and pseudocode-* documents and read each.
Step 2: Extract File Changes
For each item's interface document:
- Find "File Structure" section
- Extract all file paths (new and modified)
- Note which files depend on others (imports, references)
Step 3: Build Task List
For each file:
- Create task ID from file path (e.g., src/auth/service.ts → auth-service)
- Set files array
- Generate test file paths:
- {dir}/{name}.test{ext}
- {dir}/__tests__/{name}.test{ext}
- Extract description from interface doc
- Analyze dependencies:
- If file imports from another file, add dependency
- If pseudocode mentions "after X", add dependency
Step 4: Identify Parallel Tasks
Mark tasks as parallel: true if:
- No dependencies
- Or all dependencies are from previous waves
Step 5: Calculate Execution Waves
Group tasks by wave:
- Wave 1: Tasks with no dependencies
- Wave N: Tasks depending only on waves 1 to N-1
Step 6: Check File Conflicts
Identify tasks that modify the same file:
- Warn about conflicts
- Suggest ordering to avoid merge issues
Step 7: Create task-graph.md
Tool: mcp__plugin_mermaid-collab_mermaid__create_document
Args: {
"project": "<cwd>",
"session": "<session>",
"name": "task-graph",
"content": "<task graph content>"
}
Output Format
# Task Dependency Graph
## YAML Task Graph
```yaml
tasks:
- id: task-id
files: [path/to/file.ts]
tests: [path/to/file.test.ts]
description: What this task implements
parallel: true
depends-on: [other-task-id]
Execution Waves
Wave 1 (no dependencies):
- task-1
- task-2
Wave 2 (depends on Wave 1):
- task-3
File Conflict Analysis
[Note any files modified by multiple tasks]
Summary
- Total tasks: N
- Total waves: M
- Max parallelism: P
## Completion
At the end of this skill's work, call complete_skill:
Tool: mcp__plugin_mermaid-collab_mermaid__complete_skill Args: { "project": "<cwd>", "session": "<session>", "skill": "build-task-graph" }
**Handle response:**
- If `action == "clear"`: Invoke skill: collab-clear
- If `next_skill` is not null: Invoke that skill
- If `next_skill` is null: Workflow complete
