cc-os/plugins/cc-architect/workflows/build-plan.md

116 lines
3.5 KiB
Markdown
Raw Normal View History

# Workflow: Build Execution Plan
Build a structured execution plan that orchestrates cc-architect workflows. This is the CRITICAL first step in all cc-architect operations.
## Who should do this work
- **Sonnet subagent**: Always.
## Inputs
- User request (original message)
- `workflows/catalog.md` (workflow catalog)
## Steps
### 1. Read catalog
Read `workflows/catalog.md` and note workflow names, paths, triggers, complexity, and model tier recommendations.
### 2. Analyze request
Identify:
- Primary intent
- Artifact type (plugin, skill, workflow, command, description)
- Scope (new, modify, audit, improve)
- Dependencies
### 3. Select workflows
- Find primary workflow for main request
- Identify supporting workflows
- Prefer fewer workflows
- Only include workflows directly contributing to output
### 4. Determine sequence
Order: Setup (Haiku) → Processing (Sonnet) → Synthesis (Opus) → Cleanup (Haiku)
Rules:
- Gather before analyzing
- Analyze before synthesizing
- Scaffold before populating
- Cleanup last
### 5. Assign model tiers
| Work Type | Model | Examples |
|-----------|-------|----------|
| Busywork | Haiku | Scaffolding, file gathering, validation, cleanup |
| Processing | Sonnet | Filtering, drafting, analysis, pattern matching |
| Intelligence | Opus | Final artifacts, quality decisions, user-facing output |
Heuristics: Judgment? → Opus. Transform content? → Sonnet. Mechanical? → Haiku.
### 6. Apply batching
Batch same-tier steps with no dependencies. When uncertain, keep sequential.
### 7. Write plan
Write to `.claude/plugin-data/cc-architect/plans/current-plan.md` using format below.
## Output
Write plan to `.claude/plugin-data/cc-architect/plans/current-plan.md`:
```markdown
# Execution Plan
Generated: {timestamp}
Request: {one-line summary}
## Request Summary
{2-3 sentences}
## Selected Workflows
1. **{workflow-name}** - {why needed}
## Execution Steps
### Step N: {action name}
- **Model**: haiku | sonnet | opus
- **Workflow**: `workflows/{name}.md`
- **Input**: {context/files}
- **Output**: `.claude/plugin-data/cc-architect/tasks/{step-N-name}.md`
- **Purpose**: {what this accomplishes}
### Final Step: Synthesize (Opus)
- **Input**: All previous outputs
- **Output**: `.claude/plugin-data/cc-architect/output/final.md`
### Cleanup (Haiku)
- Remove temporary files
## Artifacts
**Final**: `.claude/plugin-data/cc-architect/output/final.md`
**Created**: {persistent files}
```
## Verification
The plan is valid if:
- [ ] Every workflow referenced exists in the catalog
- [ ] Every step has all five required fields (Model, Workflow, Input, Output, Purpose)
- [ ] Step outputs and inputs chain correctly (no references to nonexistent outputs)
- [ ] Final synthesis step uses Opus
- [ ] Cleanup step is present and uses Haiku
- [ ] Batched steps have no dependencies between them
## Anti-patterns
| Anti-Pattern | Why It's Wrong | Correct Approach |
|--------------|----------------|------------------|
| Skipping synthesis step | User output should always be Opus-polished | Always include synthesis |
| Using Opus for file gathering | Wastes expensive model on busywork | Use Haiku for mechanical tasks |
| Batching dependent steps | Creates race conditions | Keep dependent steps sequential |
| Vague output paths | Executor won't know where to write | Always specify exact paths |
| Missing cleanup step | Leaves temporary files cluttering plugin-data | Always include cleanup |
| Plan has AI "decide" something | Plan should be fully deterministic | Specify exact actions |