From Engineering Flow
Evaluate a plan's task dependencies to determine serial vs parallel execution — builds a dependency graph, identifies the critical path, and recommends the right approach without asking
How this skill is triggered — by the user, by Claude, or both
Slash command
/engineering-flow:execution-strategyopusThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
After a plan is written and approved, determine the right execution approach — serial (inline), parallel (subagent-driven), or hybrid — based on the actual dependency structure of the tasks. This replaces asking the user which approach they want with an informed recommendation backed by analysis.
After a plan is written and approved, determine the right execution approach — serial (inline), parallel (subagent-driven), or hybrid — based on the actual dependency structure of the tasks. This replaces asking the user which approach they want with an informed recommendation backed by analysis.
For each task in the plan, identify:
Map these into a directed acyclic graph (DAG):
Task 1 ──→ Task 2 ──→ Task 3 ──┬──→ Task 4
├──→ Task 5
├──→ Task 6
└──→ Task 7 ──→ Task 8
This is the gate for parallelism. Two tasks can run in parallel ONLY if:
Common conflict patterns:
| Pattern | Parallel? | Why |
|---|---|---|
| Both modify the same source file | No | Concurrent edits create merge conflicts |
| Task B imports a function Task A creates | No | B fails until A is committed |
| Task A modifies backend, Task B modifies frontend | Usually yes | Different files, independent compilation |
| Both modify the same test file | No | Same file conflict |
| Both add new files in different directories | Yes | No overlap |
| Task A creates a DB table, Task B writes to it | No | Schema must exist first |
The critical path is the longest chain of sequential dependencies. Everything else is potential parallelism.
Measure:
Parallel execution has real overhead:
This overhead is only worth paying when the parallelism saves significant time.
Use this decision matrix:
Parallel window exists?
/ \
Yes No
/ \
Tasks >10 min each? → SERIAL (inline)
/ \ No parallelism possible.
Yes No
/ \
File ownership clean? → SERIAL (inline)
/ \ Tasks too small to justify
Yes No coordination overhead.
/ \
→ PARALLEL → SERIAL (inline)
(subagent-driven) File conflicts make
Non-overlapping parallel unsafe.
file ownership,
substantial tasks.
When in doubt, recommend serial. The cost of a race condition or merge conflict exceeds the time saved by parallelism. Parallelism is worth it when you have genuinely independent workstreams of substantial size.
When recommending parallel/hybrid, define each track in coordinator-consumable form:
A track's ownership set must be disjoint from every other track's. If you cannot make the sets disjoint, the tasks are not parallel — say so and recommend serial.
Present the analysis concisely:
**Dependency graph:**
Tasks 1→2→3 (sequential — same file)
After 3: Tasks 4, 5, 6 (independent files) → 7 (cleanup)
**Critical path:** 5 tasks sequential (1→2→3→4→7)
**Parallel window:** Tasks 4, 5, 6 after task 3 (~15 min savings)
**File conflicts:** Tasks 4 and 7 both touch ws.js
**Recommendation: [Serial/Parallel/Hybrid]**
[1-2 sentence rationale]
Sometimes the right answer is hybrid — sequential for the core chain, then fan out for independent work:
Only recommend hybrid when:
Calibration from a large multi-phase build (a full Astro/MariaDB site, ~7 phases, dozens of plan tasks, executed via superpowers:subagent-driven-development):
queries.ts, the admin sidebar, shared schema) cause contention. Do them up front (e.g. one "all queries" slice) so later per-entity slices don't collide — and run the slices serially since they edit shared files.After determining the execution strategy:
superpowers:executing-plans or execute inlinesuperpowers:subagent-driven-development with file ownership boundaries from the dependency analysisGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub ericmittman/engineering-flow --plugin engineering-flow