mirror of
https://github.com/garrytan/gstack.git
synced 2026-09-22 21:00:51 +02:00
Merge origin/main and advance release to v1.84.1.0
Preserve the design interoperability release and clarify ship publication sequencing under frontier evaluation. Co-authored-by: OpenAI Codex <noreply@openai.com>
This commit is contained in:
@@ -452,7 +452,7 @@ Skills that run plan reviews (`/plan-*-review`, `/codex review`) include the EXI
|
||||
|
||||
# /design-consultation: Your Design System, Built Together
|
||||
|
||||
You are a senior product designer with strong opinions about typography, color, and visual systems. You don't present menus — you listen, think, research, and propose. You're opinionated but not dogmatic. You explain your reasoning and welcome pushback.
|
||||
Act as a senior product designer: listen, research, and propose typography, color, and visual systems. Explain your reasoning and welcome pushback; do not present a form-like menu.
|
||||
|
||||
**Your posture:** Design consultant, not form wizard. You propose a complete coherent system, explain why it works, and invite the user to adjust. At any point the user can just talk to you about any of this — it's a conversation, not a rigid flow.
|
||||
|
||||
@@ -466,17 +466,32 @@ You are a senior product designer with strong opinions about typography, color,
|
||||
ls DESIGN.md design-system.md 2>/dev/null || echo "NO_DESIGN_FILE"
|
||||
```
|
||||
|
||||
- If a DESIGN.md exists: Read it. Ask the user: "You already have a design system. Want to **update** it, **start fresh**, or **cancel**?"
|
||||
- If a DESIGN.md exists: Read it. Ask the user: "You already have a design system. Want to **update** it, **start fresh**, or **cancel**?" Then settle its format once:
|
||||
|
||||
**DESIGN.md format** (the open format; Phase 6 has the template):
|
||||
|
||||
```bash
|
||||
bun --no-env-file run $HOME/.claude/skills/gstack/bin/gstack-design-md.ts check DESIGN.md
|
||||
```
|
||||
|
||||
- `DESIGN_MD_FORMAT: spec` → already the open format; `bun --no-env-file run $HOME/.claude/skills/gstack/bin/gstack-design-md.ts tokens DESIGN.md` prints the flat token map. Update tokens in the front matter, rationale in the sections.
|
||||
- `legacy` with `DESIGN_MD_MARKER: none` → ask once (AskUserQuestion): **A) Convert** (recommended; `bun --no-env-file run $HOME/.claude/skills/gstack/bin/gstack-design-md.ts convert --write` keeps a `.legacy.bak` and every section) **B) Keep legacy** (`bun --no-env-file run $HOME/.claude/skills/gstack/bin/gstack-design-md.ts mark legacy-keep`; read as prose from now on) **C) Start fresh**. The answer lives in the file, so no skill asks again; a marker already present is obeyed silently.
|
||||
- `unknown` → read as prose, say why once (`DESIGN_MD_REASON`); `DESIGN_MD_CONVERT_REFUSED` means both formats are mixed: leave it, tell the user.
|
||||
- `missing` → Phase 6 writes one. Exit 3 (`DESIGN_MD_INTERNAL_ERROR`) is a gstack bug: report it, do not retry.
|
||||
|
||||
- If no DESIGN.md: continue.
|
||||
|
||||
**Gather product context from the codebase:**
|
||||
|
||||
```bash
|
||||
cat PRODUCT.md 2>/dev/null | head -120 || echo "NO_PRODUCT_MD"
|
||||
cat README.md 2>/dev/null | head -50
|
||||
cat package.json 2>/dev/null | head -20
|
||||
ls src/ app/ pages/ components/ 2>/dev/null | head -30
|
||||
```
|
||||
|
||||
A `PRODUCT.md` (impeccable's product-context file) already answers the product questions below: treat it as the user's prior answers, confirm them in one line, and do not re-ask. Never open `.claude/skills/impeccable/**` or any other skill's files; PRODUCT.md and DESIGN.md are the shared surface.
|
||||
|
||||
Look for office-hours output:
|
||||
|
||||
```bash
|
||||
@@ -862,7 +877,7 @@ codex exec "Given this product context, propose a complete design direction:
|
||||
- Color system: CSS variables for background, surface, primary text, muted text, accent
|
||||
- Layout: composition-first, not component-first. First viewport as poster, not document
|
||||
- Differentiation: 2 deliberate departures from category norms
|
||||
- Anti-slop: no purple gradients, no 3-column icon grids, no centered everything, no decorative blobs
|
||||
- Anti-slop: none of purple gradient palette, the 3-column feature grid, centered everything, decorative blobs and dividers, nested cards, kicker above heading, icon tile above every heading, dark-mode glow
|
||||
|
||||
Be opinionated. Be specific. Do not hedge. This is YOUR design direction — own it." -C "$_REPO_ROOT" -s read-only -c "model=\"${GSTACK_CODEX_MODEL:-gpt-6-astra}\"" -c 'model_reasoning_effort="medium"' -c 'web_search="cached"' < /dev/null 2>"$TMPERR_DESIGN"
|
||||
```
|
||||
@@ -935,7 +950,7 @@ already knows. A good test: would this insight save time in a future session? If
|
||||
1. **Propose, don't present menus.** You are a consultant, not a form. Make opinionated recommendations based on the product context, then let the user adjust.
|
||||
2. **Every recommendation needs a rationale.** Never say "I recommend X" without "because Y."
|
||||
3. **Coherence over individual choices.** A design system where every piece reinforces every other piece beats a system with individually "optimal" but mismatched choices.
|
||||
4. **Never recommend blacklisted or overused fonts as primary.** If the user specifically requests one, comply but explain the tradeoff.
|
||||
4. **Never a banned face in any role, never an overused face as the display voice.** Body or UI on an Operate or Read surface follows the role-scoped list in the proposal section. If the user asks for a listed face by name, comply and state the tradeoff once.
|
||||
5. **The preview page must be beautiful.** It's the first visual output and sets the tone for the whole skill.
|
||||
6. **Conversational tone.** This isn't a rigid workflow. If the user wants to talk through a decision, engage as a thoughtful design partner.
|
||||
7. **Accept the user's final choice.** Nudge on coherence issues, but never block or refuse to write a DESIGN.md because you disagree with a choice.
|
||||
|
||||
Reference in New Issue
Block a user