← All needs

[Bug] /dev-story re-reads full ADRs despite /create-stories embedding Decision Summary as "what programmer reads instead of the ADR"

**Description** The `/create-stories` skill (`.claude/skills/create-stories/SKILL.md` line 224-229) embeds a distilled ADR Decision Summary + Implementation Notes into every story file and states the contract explicitly: > *Implementation Notes — Derived from ADR-NNNN Implementation Guidelines: > [Specific, actionable guidance from the ADR... **This is what the > programmer reads instead of the ADR.**]* But `/dev-story` (`.claude/skills/dev-story/SKILL.md` Phase 2, lines 74–104) violates this contract on every invocation by instructing the agent to re-read the full ADR file: > *"Read all of the following simultaneously..."* > *"### The governing ADR — Read `docs/architecture/[adr-file].md`. Extract: > The full Decision section / The Implementation Guidelines section / > The Engine Compatibility section / The ADR Dependencies section."* > *"Do not rely on any inline text in the story file (may be stale)."* This creates two problems: 1. **`/create-stories`' distillation work is wasted.** Every `/dev-story` invocation re-reads ~70k tokens of ADR content that `/create-stories` already distilled into the story. 2. **Single-story sessions hit 67%+ context capacity** for one story. Empirically measured in a fresh session: ~133k of a 200k window consumed before implementation begins, mostly from full ADR reads. A typical story (3-5k tokens) already embeds Decision Summary + Implementation Notes + Acceptance Criteria with concrete worked examples + QA test cases. The full ADR (often 35k+ per file, two ADRs = 70k+) is redundant at implementation time. **Steps to Reproduce** 1. Open Claude Code in a project using this template 2. Run `/create-stories ` to generate stories from an ADR 3. Open one of the generated story files — confirm the Context section contains `**ADR Decision Summary**:` and an `## Implementation Notes` section 4. Run `/dev-story ` against that story 5. Observe in the tool-call trace: `/dev-story` calls `Read` on the governing ADR file (often hitting the 25k Read cap on larger ADRs and requiring offset/limit retries) 6. The Decision Summary already in the story is ignored **Expected Behavior** `/dev-story` should treat the story's embedded `**ADR Decision Summary**:` + `## Implementation Notes` as the primary source of truth for ADR content at implementation time, in line with `/create-stories`' stated contract. `/story-readiness` already catches staleness (Manifest Version checks), and `/code-review` catches violations post-implementation — these two gates make full ADR re-read redundant. **Actual Behavior** `/dev-story` re-reads the full ADR file in Phase 2, ignoring the distilled summary in the story. On ADRs exceeding the 25k Read cap (common for non-trivial decisions), it hits the cap, retries with offset+limit, doubling the read cost. **Environment** - OS: macOS 14 (also reproduced on Linux containers) - Shell: zsh / bash - Claude Code version: any recent - Template version: v1.0.0 (commit 984023dd) - jq installed: N/A - Python installed: N/A **Affected Component** - [x] Skill: `dev-story` (primary), `create-stories` (contract definer) - [ ] Agent - [ ] Hook - [ ] Rule - [ ] Template - [ ] Documentation