Help us improve
Share bugs, ideas, or general feedback.
From gig
Brainstorm with mockups, diagrams, and design notes to align on what to build.
npx claudepluginhub gregrossdev/gigHow this skill is triggered — by the user, by Claude, or both
Slash command
/gig:design [screen or flow to design][screen or flow to design]The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Read `.gig/STATE.md` and display:
Guides technical evaluation of code review feedback: read fully, restate for understanding, verify against codebase, respond with reasoning or pushback before implementing.
Share bugs, ideas, or general feedback.
Read .gig/STATE.md and display:
Version: {version} | Iteration: {iteration} | Status: {status}
Check if .gig/ exists in the current project root.
If NOT present:
Say: "No gig context found. Run /gig:init first." STOP.
If present:
Read .gig/STATE.md for current position.
If status is GATHERING, IMPLEMENTING, or IMPLEMENTED: Say: "An iteration is in progress. Complete it before starting design." STOP.
If status is DESIGNED:
Warn: "A locked design already exists. Running /gig:design will start a new design session. Continue?"
If user says no, STOP.
If status is SPECCED, IDLE, GOVERNED, or DESIGNING (resuming): Proceed.
Read these files for background:
.gig/SPEC.md — locked spec with stories, requirements, constraints.gig/ARCHITECTURE.md — project structure, stack, patterns.gig/ROADMAP.md — current milestone, completed iterations.gig/DESIGN.md — if resuming a previous design sessionIf .gig/SPEC.md exists and has content beyond the template, use it as the foundation for design work. Every design should trace to a requirement in the spec.
If .gig/SPEC.md does not exist or is empty, print: "No spec found. Define stories and requirements when creating the milestone with /gig:milestone." Then proceed — ask the user what screens or flows need design.
If .gig/DESIGN.md exists and has content, present it: "Found existing design. Resuming from where you left off."
If a spec exists:
Review all requirements in .gig/SPEC.md and classify each:
| REQ ID | Description | Needs Design? | Notes |
|---|
Present the classification:
Ask: "Want to design all UI requirements, or focus on specific ones?"
If no spec:
Ask: "What screens, flows, or UI components need design?" Use the user's response to define the design scope.
Update .gig/STATE.md:
DESIGNINGFor each screen or flow in scope:
Describe the design intent — what the screen does, its layout, key components, user interactions. Reference ARCHITECTURE.md for stack/framework context.
Generate an ASCII mockup — create a text-based wireframe showing layout structure:
### {Screen Name}
{Brief description of purpose and what the user does here.}
┌─────────────────────────────────┐
│ {Header / Nav} │
├─────────────────────────────────┤
│ ┌───────────┐ ┌─────────────┐ │
│ │ {Section} │ │ {Section} │ │
│ │ {content} │ │ {content} │ │
│ └───────────┘ └─────────────┘ │
├─────────────────────────────────┤
│ {Actions / Footer} │
└─────────────────────────────────┘
Generate a Mermaid diagram if the screen has user flows or state transitions:
.gig/design/{screen-name}.mmdDocument design decisions — key choices about layout, components, interactions, and why.
Track the design — record: screen name, REQ IDs covered, mockup description, design notes.
Iterate — present the mockup and diagram to the user. If changes are requested, regenerate.
Repeat for each screen/flow until all in-scope designs are complete.
Present the design summary table in full. Do not abbreviate, inline, or collapse into prose.
| # | Screen/Flow | Mockup | REQ IDs | Notes |
|---|---|---|---|---|
| 1 | {name} | ASCII + flow diagram | {REQ-001, REQ-002} | {key design decisions} |
| 2 | {name} | ASCII + state diagram | {REQ-003} | {notes} |
| ... | ... | ... | ... | ... |
Then say:
Does this design look good?
- "approve" / "looks good" — lock the design and write DESIGN.md.
- "change X" — adjust specific screens before locking.
- "not yet" — continue designing (go back to Step 4).
STOP. Do not write DESIGN.md. Do not proceed to gather. Wait for approval.
Once the user approves:
.gig/DESIGN.md with the locked design content:# Design
> Locked design for the current milestone. Gather references these designs when making decisions.
## Design Summary
| # | Screen/Flow | Mockup | REQ IDs | Notes |
|---|-------------|--------|---------|-------|
| {table rows from approval gate} |
## Screen Details
### {Screen Name}
**Requirements:** {REQ IDs}
**Description:** {What this screen does and key design decisions}
**Components:** {Key UI components used}
**Interactions:** {User interactions and navigation}
**Mockup:**
{ASCII mockup from Step 4}
**Diagrams:** {list .gig/design/*.mmd files for this screen}
Update .gig/STATE.md:
DESIGNEDSay:
"Design locked. Run
/gig:gatherto start making decisions — gather will reference these designs when making UI-related choices.""To change the design later, re-run
/gig:design."