Generate UI/UX prototypes in Figma and produce DESIGN.md with design decisions and links.
From gignpx claudepluginhub gregrossdev/gigThis skill uses the workspace's default tool permissions.
Generates step-by-step plans for multi-session engineering projects with self-contained step contexts, dependency graphs, parallel detection, and adversarial review. Use for complex multi-PR tasks.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
Designs and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
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. Consider running /gig:spec first for complex features." 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 UI/UX 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 the Figma design — use mcp__figma__generate_figma_design or mcp__figma__create_new_file to create the design in Figma. Provide clear descriptions of:
Capture a screenshot — use mcp__figma__get_screenshot to verify the design looks correct. Present it to the user.
Track the design — record: screen name, Figma file key, Figma URL, REQ IDs covered, design notes.
Iterate — if the user requests changes, use mcp__figma__get_design_context to read the current state, then regenerate or modify.
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 | Figma Link | REQ IDs | Notes |
|---|---|---|---|---|
| 1 | {name} | {Figma URL} | {REQ-001, REQ-002} | {key design decisions} |
| 2 | {name} | {Figma URL} | {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 iteration. Gather references these designs when making decisions.
## Design Summary
| # | Screen/Flow | Figma Link | REQ IDs | Notes |
|---|-------------|------------|---------|-------|
| {table rows from approval gate} |
## Screen Details
### {Screen Name}
**Figma:** {URL}
**Requirements:** {REQ IDs}
**Description:** {What this screen does and key design decisions}
**Components:** {Key UI components used}
**Interactions:** {User interactions and navigation}
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."