Patch Exec Profile
Audit and fill missing lane metadata in the ### Execution Profile blocks of tasks/todo.md. Invoked just-in-time — typically auto-invoked by /exec when an agent-team phase has incomplete lane specs. Without complete Mode, Depends on, and (for write lanes) Owns / Must not edit / Branch values, /exec cannot build the lane DAG, push branch-backed lane work, open PRs, or enforce write-boundary integration.
Prerequisites
tasks/todo.md must exist and contain at least one ### Execution Profile block.
Process
- Read
tasks/todo.md. Find every phase with Parallel mode: agent-team or Parallel mode: implementation-safe.
- For each lane in each such profile, check presence and concreteness of:
Mode: — one of read-only | write | review.
Depends on: — comma-separated lane names within the same phase, or none.
Owns: — required when Mode: write.
Must not edit: — required when Mode: write.
Branch: — required for agent-team write lanes and must not be main or master.
- Placeholder values (e.g.,
read-only | write | review, [lane, step, or none], path/or/glob) count as missing.
- Apply inference rules for obvious cases:
- Lane name contains
review (e.g., correctness-review, security-reviewer) → Mode: review, Depends on: <all write lanes in the phase>.
- Lane name contains
research, explorer, docs-research, or ends in -research-only → Mode: read-only, Depends on: none.
- Otherwise →
Mode: write. Depends on: defaults to none unless step text references an explicit ordering (e.g., "after lane X completes").
- For ambiguous cases (write lanes with no clear dependency signal but plausible orderings, multiple review lanes with unclear scope), enter plan mode and ask the user via
AskUserQuestion before writing. Do not guess.
- Validate after inference:
- All write lanes in a phase have disjoint
Owns paths (no path prefix overlap). If overlap is detected, surface it and stop — this is a profile design error, not a fill-in.
- Every
Depends on: reference names an existing lane in the same phase.
- The lane DAG has no cycles.
- Every
agent-team write lane has a unique non-primary Branch: value.
- The phase includes a consolidation/PR review step after write lanes and before final validation or shipping. If it is missing, surface it and stop; do not invent new implementation steps.
- Write the patched profile back to
tasks/todo.md. Do not commit. Do not push. /ship owns shipping.
Constraints
- Do not modify anything outside
### Execution Profile blocks.
- Do not change
Parallel mode itself — that is a /plan-phase decision.
- Do not invent new lanes or new implementation steps. Only fill missing metadata on lanes that already exist.
- Do not fill
Owns or Must not edit by inference — those are load-bearing write-boundary declarations. If a write lane is missing either field, stop and ask the user via AskUserQuestion.
- Do not fill
Branch by inference when the phase naming or lane identity is ambiguous. If obvious, use agent-team/phase-N-<lane-name> and ensure it is unique.
- Do not touch
tasks/roadmap.md, tasks/history.md, tasks/manual-todo.md, or any non-task file.
Output
Report concisely:
- Phase(s) audited
- Lanes patched (lane name → fields filled with inferred values)
- Lanes flagged for user input (with the ambiguity)
- Validation errors surfaced (overlapping
Owns, unresolved Depends on, cycles)
Next-Step Routing
- Next work: resume the original executor (typically
/exec) against the patched profile.
- Recommended next command:
/exec (or whatever invoked this skill).
Default Shipping Contract
Follow the shared shipping contract convention in CLAUDE.md.
1---2name: patch-exec-profile3description: Patch Exec Profile4---5
6# Patch Exec Profile
7
8Audit and fill missing lane metadata in the `### Execution Profile` blocks of `tasks/todo.md`. Invoked just-in-time — typically auto-invoked by `/exec` when an `agent-team` phase has incomplete lane specs. Without complete `Mode`, `Depends on`, and (for write lanes) `Owns` / `Must not edit` / `Branch` values, `/exec` cannot build the lane DAG, push branch-backed lane work, open PRs, or enforce write-boundary integration.
9
10## Prerequisites
11
12- `tasks/todo.md` must exist and contain at least one `### Execution Profile` block.
13
14## Process
15
161. **Read `tasks/todo.md`.** Find every phase with `Parallel mode: agent-team` or `Parallel mode: implementation-safe`.
172. **For each lane in each such profile**, check presence and concreteness of:
18 - `Mode:` — one of `read-only | write | review`.
19 - `Depends on:` — comma-separated lane names within the same phase, or `none`.
20 - `Owns:` — required when `Mode: write`.
21 - `Must not edit:` — required when `Mode: write`.
22 - `Branch:` — required for `agent-team` write lanes and must not be `main` or `master`.
23 - Placeholder values (e.g., `read-only | write | review`, `[lane, step, or none]`, `path/or/glob`) count as missing.
243. **Apply inference rules for obvious cases:**
25 - Lane name contains `review` (e.g., `correctness-review`, `security-reviewer`) → `Mode: review`, `Depends on: <all write lanes in the phase>`.
26 - Lane name contains `research`, `explorer`, `docs-research`, or ends in `-research-only` → `Mode: read-only`, `Depends on: none`.
27 - Otherwise → `Mode: write`. `Depends on:` defaults to `none` unless step text references an explicit ordering (e.g., "after lane X completes").
284. **For ambiguous cases** (write lanes with no clear dependency signal but plausible orderings, multiple review lanes with unclear scope), enter plan mode and ask the user via `AskUserQuestion` before writing. Do not guess.
295. **Validate after inference:**
30 - All write lanes in a phase have disjoint `Owns` paths (no path prefix overlap). If overlap is detected, surface it and stop — this is a profile design error, not a fill-in.
31 - Every `Depends on:` reference names an existing lane in the same phase.
32 - The lane DAG has no cycles.
33 - Every `agent-team` write lane has a unique non-primary `Branch:` value.
34 - The phase includes a consolidation/PR review step after write lanes and before final validation or shipping. If it is missing, surface it and stop; do not invent new implementation steps.
356. **Write the patched profile back to `tasks/todo.md`.** Do not commit. Do not push. `/ship` owns shipping.
36
37## Constraints
38
39- Do not modify anything outside `### Execution Profile` blocks.
40- Do not change `Parallel mode` itself — that is a `/plan-phase` decision.
41- Do not invent new lanes or new implementation steps. Only fill missing metadata on lanes that already exist.
42- Do not fill `Owns` or `Must not edit` by inference — those are load-bearing write-boundary declarations. If a write lane is missing either field, stop and ask the user via `AskUserQuestion`.
43- Do not fill `Branch` by inference when the phase naming or lane identity is ambiguous. If obvious, use `agent-team/phase-N-<lane-name>` and ensure it is unique.
44- Do not touch `tasks/roadmap.md`, `tasks/history.md`, `tasks/manual-todo.md`, or any non-task file.
45
46## Output
47
48Report concisely:
49- Phase(s) audited
50- Lanes patched (lane name → fields filled with inferred values)
51- Lanes flagged for user input (with the ambiguity)
52- Validation errors surfaced (overlapping `Owns`, unresolved `Depends on`, cycles)
53
54## Next-Step Routing
55
56- **Next work:** resume the original executor (typically `/exec`) against the patched profile.
57- **Recommended next command:** `/exec` (or whatever invoked this skill).
58
59## Default Shipping Contract
60
61Follow the shared shipping contract convention in CLAUDE.md.
62