From 72cb21b82cf7125f858c4e9d2100bb8f8d88dc72 Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Thu, 11 Jun 2026 10:31:48 -0700 Subject: [PATCH] Constraints block is the reviewer's attention lens: copy spec verbatim, never improvise process rules E30 replay: the planted-DRY catch is causally determined by the controller-composed constraints block (0/6 with process-shaped vs 5/6 with the spec's own wording). E31 micro: this recipe doubles the rate at which composed blocks carry the spec's cross-component relationship (6/6 vs 3/6). Affects dev and the redesign equally (E29: both 4/5). --- skills/subagent-driven-development/SKILL.md | 10 +++++++--- .../task-reviewer-prompt.md | 6 ++++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/skills/subagent-driven-development/SKILL.md b/skills/subagent-driven-development/SKILL.md index 55c8e3d1..eb4623ab 100644 --- a/skills/subagent-driven-development/SKILL.md +++ b/skills/subagent-driven-development/SKILL.md @@ -150,9 +150,13 @@ final whole-branch review. When you fill a reviewer template: loop. If the prompt you are writing contains "do not flag," "don't treat X as a defect," "at most Minor," or "the plan chose" — stop: you are pre-judging, usually to spare yourself a review loop. -- Include the spec/design's global constraints that bind the task (version - floors, naming and copy rules, platform requirements) in the requirements - you paste — a reviewer can only enforce what you hand them. +- The global-constraints block you hand the reviewer is its attention + lens. Copy the binding requirements verbatim from the plan's Global + Constraints section or the spec: exact values, exact formats, and the + stated relationships between components ("same layout as X", "matches + Y"). The reviewer's template already carries the process rules (YAGNI, + test hygiene, review method) — the constraints block is for what THIS + project's spec demands. - Hand the reviewer its diff as a file: run this skill's `scripts/review-package BASE HEAD` and pass the reviewer the file path it prints (or, without bash: `git log --oneline`, `git diff --stat`, diff --git a/skills/subagent-driven-development/task-reviewer-prompt.md b/skills/subagent-driven-development/task-reviewer-prompt.md index 3bc019a0..d2177f0f 100644 --- a/skills/subagent-driven-development/task-reviewer-prompt.md +++ b/skills/subagent-driven-development/task-reviewer-prompt.md @@ -159,8 +159,10 @@ Subagent (general-purpose): - `[MODEL]` — REQUIRED: reviewer model per SKILL.md Model Selection - `[BRIEF_FILE]` — REQUIRED: the task brief file (`scripts/task-brief PLAN N` prints the path; same file the implementer worked from) -- `[GLOBAL_CONSTRAINTS]` — the spec/design's global constraints that bind - this task (version floors, naming and copy rules, platform requirements) +- `[GLOBAL_CONSTRAINTS]` — the binding requirements copied verbatim from + the plan's Global Constraints section or the spec: exact values, formats, + and stated relationships between components (not process rules — those + are already in this template) - `[REPORT_FILE]` — REQUIRED: the file the implementer wrote its detailed report to - `[BASE_SHA]` — commit before this task