From 42ccced5cf5c6120ae9707be1e6dffdf15b8035a Mon Sep 17 00:00:00 2001 From: Lockyer <135391289+Lockyer228@users.noreply.github.com> Date: Fri, 28 Aug 2026 21:23:30 +0800 Subject: [PATCH] fix: point ship design-checklist at installed gstack/review path The /ship Design Review step skipped the checklist because the generated path omitted the gstack/ install segment. Sync the generated skill doc and pin a regression assertion. Co-authored-by: Cursor --- scripts/resolvers/design.ts | 2 +- ship/sections/review-army.md | 2 +- test/gen-skill-docs.test.ts | 10 ++++++++++ 3 files changed, 12 insertions(+), 2 deletions(-) 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 247c6b2f0..a517935fb 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/gen-skill-docs.test.ts b/test/gen-skill-docs.test.ts index 47a94b466..59671d11e 100644 --- a/test/gen-skill-docs.test.ts +++ b/test/gen-skill-docs.test.ts @@ -1778,6 +1778,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 ─────────────────────────────────