skills/design/SKILL.md
Brainstorm with mockups, diagrams, and design notes to align on what to build.
npx skillsauth add gregrossdev/gig gig:designInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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."
tools
Show current state and suggest the ONE next action to take.
testing
Deep-dive a topic using subagents. Feeds findings into decisions or working memory.
testing
Create milestones with spec elicitation, complete milestones, manage ROADMAP.md, tag releases.
tools
Create structured lesson plans for learning new concepts or following courses.