feat: persist design mockups to ~/.gstack/projects/$SLUG/designs/

Mockups were going to .context/mockups/ (gitignored, workspace-local).
This meant designs disappeared when switching workspaces or conversations,
and downstream skills couldn't reference approved mockups from earlier
reviews.

Now all three design skills save to persistent project-scoped dirs:
- /plan-design-review: ~/.gstack/projects/$SLUG/designs/<screen>-<date>/
- /design-consultation: ~/.gstack/projects/$SLUG/designs/design-system-<date>/
- /design-review: ~/.gstack/projects/$SLUG/designs/design-audit-<date>/

Each directory gets an approved.json recording the user's pick, feedback,
and branch. This lets /design-review verify against mockups that
/plan-design-review approved, and design history is browsable via
ls ~/.gstack/projects/$SLUG/designs/.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Garry Tan
2026-03-27 00:27:13 -06:00
co-authored by Claude Opus 4.6
parent ceb7f6382e
commit 25e6e8fb16
6 changed files with 102 additions and 58 deletions
+9 -7
View File
@@ -584,8 +584,10 @@ If `DESIGN_NOT_AVAILABLE`: skip mockup generation — the fix loop works without
**Create output directories:**
```bash
REPORT_DIR=".gstack/design-reports"
eval "$(~/.claude/skills/gstack/bin/gstack-slug 2>/dev/null)"
REPORT_DIR=~/.gstack/projects/$SLUG/designs/design-audit-$(date +%Y%m%d)
mkdir -p "$REPORT_DIR/screenshots"
echo "REPORT_DIR: $REPORT_DIR"
```
---
@@ -999,8 +1001,8 @@ Record baseline design score and AI slop score at end of Phase 6.
## Output Structure
```
.gstack/design-reports/
├── design-audit-{domain}-{YYYY-MM-DD}.md # Structured report
~/.gstack/projects/$SLUG/designs/design-audit-{YYYYMMDD}/
├── design-audit-{domain}.md # Structured report
├── screenshots/
│ ├── first-impression.png # Phase 1
│ ├── {page}-annotated.png # Per-page annotated
@@ -1219,15 +1221,15 @@ After all fixes are applied:
## Phase 10: Report
Write the report to both local and project-scoped locations:
Write the report to `$REPORT_DIR` (already set up in the setup phase):
**Local:** `.gstack/design-reports/design-audit-{domain}-{YYYY-MM-DD}.md`
**Primary:** `$REPORT_DIR/design-audit-{domain}.md`
**Project-scoped:**
**Also write a summary to the project index:**
```bash
eval "$(~/.claude/skills/gstack/bin/gstack-slug 2>/dev/null)" && mkdir -p ~/.gstack/projects/$SLUG
```
Write to `~/.gstack/projects/{slug}/{user}-{branch}-design-audit-{datetime}.md`
Write a one-line summary to `~/.gstack/projects/{slug}/{user}-{branch}-design-audit-{datetime}.md` with a pointer to the full report in `$REPORT_DIR`.
**Per-finding additions** (beyond standard design audit report):
- Fix Status: verified / best-effort / reverted / deferred
+9 -7
View File
@@ -89,8 +89,10 @@ If `DESIGN_NOT_AVAILABLE`: skip mockup generation — the fix loop works without
**Create output directories:**
```bash
REPORT_DIR=".gstack/design-reports"
eval "$(~/.claude/skills/gstack/bin/gstack-slug 2>/dev/null)"
REPORT_DIR=~/.gstack/projects/$SLUG/designs/design-audit-$(date +%Y%m%d)
mkdir -p "$REPORT_DIR/screenshots"
echo "REPORT_DIR: $REPORT_DIR"
```
---
@@ -108,8 +110,8 @@ Record baseline design score and AI slop score at end of Phase 6.
## Output Structure
```
.gstack/design-reports/
├── design-audit-{domain}-{YYYY-MM-DD}.md # Structured report
~/.gstack/projects/$SLUG/designs/design-audit-{YYYYMMDD}/
├── design-audit-{domain}.md # Structured report
├── screenshots/
│ ├── first-impression.png # Phase 1
│ ├── {page}-annotated.png # Per-page annotated
@@ -248,15 +250,15 @@ After all fixes are applied:
## Phase 10: Report
Write the report to both local and project-scoped locations:
Write the report to `$REPORT_DIR` (already set up in the setup phase):
**Local:** `.gstack/design-reports/design-audit-{domain}-{YYYY-MM-DD}.md`
**Primary:** `$REPORT_DIR/design-audit-{domain}.md`
**Project-scoped:**
**Also write a summary to the project index:**
```bash
{{SLUG_SETUP}}
```
Write to `~/.gstack/projects/{slug}/{user}-{branch}-design-audit-{datetime}.md`
Write a one-line summary to `~/.gstack/projects/{slug}/{user}-{branch}-design-audit-{datetime}.md` with a pointer to the full report in `$REPORT_DIR`.
**Per-finding additions** (beyond standard design audit report):
- Fix Status: verified / best-effort / reverted / deferred