diff --git a/scripts/resolvers/design.ts b/scripts/resolvers/design.ts
index c272bc769..55e095cd9 100644
--- a/scripts/resolvers/design.ts
+++ b/scripts/resolvers/design.ts
@@ -44,7 +44,7 @@ source <(${ctx.paths.binDir}/gstack-diff-scope 2>/dev/null)
1. **Check for DESIGN.md.** If \`DESIGN.md\` or \`design-system.md\` exists in the repo root, read it. All design findings are calibrated against it — patterns blessed in DESIGN.md are not flagged. If not found, use universal design principles.
-2. **Read \`.claude/skills/review/design-checklist.md\`.** If the file cannot be read, skip design review with a note: "Design checklist not found — skipping design review."
+2. **Read \`~/.claude/skills/gstack/review/design-checklist.md\`.** If the file cannot be read, skip design review with a note: "Design checklist not found — skipping design review."
3. **Read each changed frontend file** (full file, not just diff hunks). Frontend files are identified by the patterns listed in the checklist.
diff --git a/ship/sections/review-army.md b/ship/sections/review-army.md
index 41ceefd69..4c5ebe58f 100644
--- a/ship/sections/review-army.md
+++ b/ship/sections/review-army.md
@@ -88,7 +88,7 @@ source <(~/.claude/skills/gstack/bin/gstack-diff-scope 2>/dev/null)
1. **Check for DESIGN.md.** If `DESIGN.md` or `design-system.md` exists in the repo root, read it. All design findings are calibrated against it — patterns blessed in DESIGN.md are not flagged. If not found, use universal design principles.
-2. **Read `.claude/skills/review/design-checklist.md`.** If the file cannot be read, skip design review with a note: "Design checklist not found — skipping design review."
+2. **Read `~/.claude/skills/gstack/review/design-checklist.md`.** If the file cannot be read, skip design review with a note: "Design checklist not found — skipping design review."
3. **Read each changed frontend file** (full file, not just diff hunks). Frontend files are identified by the patterns listed in the checklist.
diff --git a/test/fixtures/golden/codex-ship-SKILL.md b/test/fixtures/golden/codex-ship-SKILL.md
index 9d227cfd4..58b11dd89 100644
--- a/test/fixtures/golden/codex-ship-SKILL.md
+++ b/test/fixtures/golden/codex-ship-SKILL.md
@@ -1718,7 +1718,7 @@ source <($GSTACK_BIN/gstack-diff-scope 2>/dev/null)
1. **Check for DESIGN.md.** If `DESIGN.md` or `design-system.md` exists in the repo root, read it. All design findings are calibrated against it — patterns blessed in DESIGN.md are not flagged. If not found, use universal design principles.
-2. **Read `.agents/skills/gstack/review/design-checklist.md`.** If the file cannot be read, skip design review with a note: "Design checklist not found — skipping design review."
+2. **Read `$GSTACK_ROOT/review/design-checklist.md`.** If the file cannot be read, skip design review with a note: "Design checklist not found — skipping design review."
3. **Read each changed frontend file** (full file, not just diff hunks). Frontend files are identified by the patterns listed in the checklist.
diff --git a/test/fixtures/golden/factory-ship-SKILL.md b/test/fixtures/golden/factory-ship-SKILL.md
index 98e07933e..250ddb527 100644
--- a/test/fixtures/golden/factory-ship-SKILL.md
+++ b/test/fixtures/golden/factory-ship-SKILL.md
@@ -1725,7 +1725,7 @@ source <($GSTACK_BIN/gstack-diff-scope 2>/dev/null)
1. **Check for DESIGN.md.** If `DESIGN.md` or `design-system.md` exists in the repo root, read it. All design findings are calibrated against it — patterns blessed in DESIGN.md are not flagged. If not found, use universal design principles.
-2. **Read `.factory/skills/gstack/review/design-checklist.md`.** If the file cannot be read, skip design review with a note: "Design checklist not found — skipping design review."
+2. **Read `$GSTACK_ROOT/review/design-checklist.md`.** If the file cannot be read, skip design review with a note: "Design checklist not found — skipping design review."
3. **Read each changed frontend file** (full file, not just diff hunks). Frontend files are identified by the patterns listed in the checklist.
diff --git a/test/gen-skill-docs.test.ts b/test/gen-skill-docs.test.ts
index dc7c66cae..cc4a8eaaf 100644
--- a/test/gen-skill-docs.test.ts
+++ b/test/gen-skill-docs.test.ts
@@ -1834,6 +1834,16 @@ describe('DESIGN_REVIEW_LITE extended with Codex', () => {
expect(content).toContain('SCOPE_FRONTEND');
});
+ test('design-checklist path uses installed gstack/review root (#2694)', () => {
+ // #2694: generateDesignReviewLite used to emit
+ // `.claude/skills/review/design-checklist.md` (missing the gstack/ segment).
+ // After install the file lives at ~/.claude/skills/gstack/review/design-checklist.md.
+ // The bad relative form must not appear — the good path does not contain it
+ // as a substring because `gstack/` sits between `skills/` and `review/`.
+ expect(content).toContain('~/.claude/skills/gstack/review/design-checklist.md');
+ expect(content).not.toContain('.claude/skills/review/design-checklist.md');
+ });
+
});
// ─── Codex Generation Tests ─────────────────────────────────