116 lines
3.5 KiB
Markdown
116 lines
3.5 KiB
Markdown
|
|
# 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 |
|
||
|
|
|