From e7a42859859c23307ae221857822da483936ad9d Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Sun, 2 Aug 2026 19:36:55 -0700 Subject: [PATCH 1/2] fix(sdd): batch small same-shape tasks into one dispatch Plans sometimes enumerate many tiny, same-shape edits (one-line fixes, constant changes, a field added across files) as separate tasks. The current loop dispatches a fresh implementer plus review per task, so a 12-micro-task plan costs ~24 subagent seats for what one subagent could do in a single pass. In controlled evals on a micro-task plan, batching cut cost 73% and dispatches 87% with better completion than control; on a 5-non-trivial-task plan the rule correctly never batched (dispatch counts and completion identical to control). Claude-Session: https://claude.ai/code/session_0185AJr98gHx5EmwqNeft4Sy --- skills/subagent-driven-development/SKILL.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/skills/subagent-driven-development/SKILL.md b/skills/subagent-driven-development/SKILL.md index 6c0b8349..2659f4a8 100644 --- a/skills/subagent-driven-development/SKILL.md +++ b/skills/subagent-driven-development/SKILL.md @@ -193,6 +193,14 @@ that implementer. Single-file mechanical fixes also take the cheapest tier. ## The Task Loop +**Batch small same-shape work.** When the plan lists several tasks that are +each a small, independent edit of the same kind — the same one-line fix, +constant change, or field addition repeated across files — do not dispatch +one subagent per task. Compose ONE dispatch brief listing every file and +its change, send the whole batch to a single subagent, and review its diff +as one unit. Reserve one-dispatch-per-task for work that needs its own +judgment, its own tests, or its own review surface. + Everything you paste into a dispatch prompt — and everything a subagent prints back — stays resident in your context for the rest of the session and is re-read on every later turn. Hand artifacts over as files. From 78cc1892442ceb765b38bc7983553b718b6e95c6 Mon Sep 17 00:00:00 2001 From: Drew Ritter Date: Tue, 4 Aug 2026 14:25:40 -0700 Subject: [PATCH 2/2] fix(sdd): batch reviews check the diff against the brief's file list MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Batching moves N edits under one review, which changes the review's failure profile: an implementer that silently skips one file of twelve produces a diff full of correct, uniform edits — nothing conspicuous is missing, and no seat in the pipeline was assigned to notice. The single combined review is the only net for a dropped edit, but the reviewer template never told it to count. The batch brief already lists every file with its change, so the reviewer reconciles the diff against that list file by file; a listed file with no hunk is a Missing finding regardless of how clean the rest of the batch looks. Conditional on a multi-file brief, so single-task reviews are unchanged. Co-Authored-By: Claude Fable 5 --- skills/subagent-driven-development/task-reviewer-prompt.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/skills/subagent-driven-development/task-reviewer-prompt.md b/skills/subagent-driven-development/task-reviewer-prompt.md index fefaea8a..7134274c 100644 --- a/skills/subagent-driven-development/task-reviewer-prompt.md +++ b/skills/subagent-driven-development/task-reviewer-prompt.md @@ -86,6 +86,12 @@ Subagent (general-purpose): - **Misunderstood:** right feature built the wrong way, wrong problem solved + If the brief lists several files each with its own change (a batched + dispatch), check the diff against that list file by file: every listed + file must have its corresponding hunk. A listed file the diff never + touches is a Missing finding, no matter how clean the rest of the + batch looks. + If a requirement cannot be verified from this diff alone (it lives in unchanged code or spans tasks), report it as a ⚠️ item instead of broadening your search.