agentleFS
cenconq25cenconq25/claude-code-app-studio/.claude/skills/quick-design/SKILL.md

quick-design

Skill40 starsChanged 7 months agoMITView on GitHub

Lightweight design spec for small changes — copy tweaks, single-screen polish, parameter adjustments — when a full PRD is overkill. Produces a Quick Design Spec that embeds directly into a story file. Use when a change is too small to justify a new PRD section but still needs a written spec for traceability.

9 other projects use a version of this.

Adopted by

Most recently taken up by

The file

Show its rules and text

We split this skill into the rules it gives an agent

14 rules. 0 are common, 9 are distinctive, and 5 are very specific to this project.

  • 0

    Common

    Most of the 9 edited versions we read keep these.

  • 9

    Distinctive

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Do not run when:

    line 24
  2. Distinctive:

    If no change name is provided, ask:

    line 46
  3. Very specific:

    No flag → standalone mode (writes design/quick/<change-name>.md)

    line 54
  4. Distinctive:

    Read only what is needed:

    line 60
  5. Distinctive:

    Use a compact Q&A loop. Each question maps to a section of the spec.

    line 71
  6. Very specific:

    Use AskUserQuestion for cohort question (closed list).

    line 81
  7. Distinctive:

    Keep this under 30 lines. If it grows past that, recommend converting to a full PRD update.

    line 120
  8. Very specific:

    If embed mode: append the block to the story file using Edit, anchoring to the end of ## Acceptance Criteria or the bottom of the file.

    line 134
  9. Very specific:

    If standalone: write the file with a header # Quick Design — <name> plus the block.

    line 136
  10. Distinctive:

    Update the parent PRD's "Open Questions" section to note "see quick spec at <path>" if a tracking link is useful

    line 139
  11. Very specific:

    If embed mode: also note "Story <path> now has the embedded spec — run /story-readiness <path> before implementation."

    line 149
  12. Distinctive:

    The user wants the spec but not the story embed: write standalone. The story can reference the path later.

    line 157
  13. Distinctive:

    Before: "No lists yet."

    line 174
  14. Distinctive:

    After: "Tap + to start your first list — it takes about 10 seconds."

    line 175

“Common” is measured: kept by at least 6 in 10 of the 9 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Quick Design — Light Spec

For changes where opening /design-system would be heavyweight: copy tweaks, single-control re-designs, paywall-position changes, debounce tuning, error-message rewrites. The spec ends up embedded inside a story file, not as a standalone PRD.


Purpose / When to Run

Run when:

  • A change is too small to update a full PRD section
  • The PRD for the affected system is already complete and the change is a delta
  • A bug fix has product implications worth recording
  • The user types /quick-design for a one-off tweak

Do not run when:

  • The change crosses multiple systems → use /design-system
  • The change introduces a new system → use /design-system
  • The change has no PRD context at all → use /design-system from scratch

Inputs

  • Change name (required)
  • Optional --story <path> to embed the spec into a specific story
  • Existing PRD for the affected system if any
  • design/concept.md

Outputs

Either:

  • A standalone design/quick/<change-name>.md, OR
  • An appended ## Quick Design Spec block inside the named story file

Phase 1: Argument Resolution

If no change name is provided, ask:

  • Prompt: "What is the change?"
  • Free text — capture as kebab-case for filename.

Detect parent PRD: ask the user which existing PRD this change touches. Use Glob design/prd/*.md and offer the list as AskUserQuestion options if they don't know.

Detect mode:

  • --story <path> provided → embed mode
  • No flag → standalone mode (writes design/quick/<change-name>.md)

Phase 2: Lightweight Context

Read only what is needed:

  • The parent PRD section the change affects (not the whole PRD)
  • The story file if embed mode
  • Relevant entries in design/design-bible.md if the change is visual

Print a one-line context summary: "Change touches PRD <system>, section <name>. Embedding into story <NNN>."


Phase 3: Capture the Spec

Use a compact Q&A loop. Each question maps to a section of the spec.

  1. What is changing? (one sentence)
  2. Why? — link to a bug, metric goal, user feedback, or concept-doc principle
  3. Specifically what is the new behavior? — exact copy / value / sequence / position
  4. What is replaced? — exact prior behavior, so the diff is unambiguous
  5. Who does this affect? — all users / new users only / paying users / specific cohort
  6. Are there edge cases? — minimum required: offline, accessibility, dark mode if visual
  7. How will we know it worked? — one or two acceptance criteria in GIVEN-WHEN-THEN

Use AskUserQuestion for cohort question (closed list); free text for the rest.

For visual / copy changes, also ask:

  • "Copy: provide the exact final text" (free text)
  • "Visual: any token changes from the design bible? Which?" (AskUserQuestion with bible token names if bible exists)

For threshold / parameter changes, also ask:

  • "Old value, new value, valid range, who can change it without a release?"

Phase 4: Draft the Spec

Build a compact block:

## Quick Design Spec — <Change Name>

> **Created**: <date>
> **Affects PRD**: `design/prd/<system>.md` § <section>
> **Cohort**: <all / new / paying / specific>

### Change
<one paragraph — what is changing and why>

### Behavior diff
**Before:** <exact prior behavior>
**After:** <exact new behavior>

### Edge cases
- <list, mobile-relevant>

### Acceptance criteria
- **GIVEN** <state> **WHEN** <action> **THEN** <observable result>

### Notes
- <any callouts — feature flag name, A/B test, kill switch, instrumentation event>

Keep this under 30 lines. If it grows past that, recommend converting to a full PRD update.


Phase 5: Approval & Write

Show the draft. Ask via AskUserQuestion:

  • Prompt: "Approve and write this spec?"
  • Options:
    • Approve — write to story (if embed mode)
    • Approve — write to design/quick/<name>.md (if standalone)
    • Make changes — describe
    • Discard

If embed mode: append the block to the story file using Edit, anchoring to the end of ## Acceptance Criteria or the bottom of the file.

If standalone: write the file with a header # Quick Design — <name> plus the block.

After write:

  • Update the parent PRD's "Open Questions" section to note "see quick spec at <path>" if a tracking link is useful
  • Update production/session-state/active.md

Phase 6: Suggest Next

Print:

"Quick spec written. If this change should ship in the active sprint, run /sprint-plan (or update the existing sprint plan)."

If embed mode: also note "Story <path> now has the embedded spec — run /story-readiness <path> before implementation."


Edge Cases

  • The "small" change keeps growing: pause after question 3 if the change is touching more than one system or 3+ screens. Recommend /design-system instead.
  • No parent PRD: the change is too foundational for quick-design; redirect to /design-system.
  • The user wants the spec but not the story embed: write standalone. The story can reference the path later.

Quality Gates

  • The spec must include at least one acceptance criterion in GIVEN-WHEN-THEN form
  • The before/after diff must be exact — no "improve" language without the specific change
  • For copy changes, the exact final string is captured verbatim
  • For threshold changes, old value + new value + range are all specified

Examples

/quick-design empty-state-copy --story production/epics/onboarding/story-007-add-list.md

  • Change: rewrite the empty state on the lists screen
  • Before: "No lists yet."
  • After: "Tap + to start your first list — it takes about 10 seconds."
  • Acceptance: GIVEN a new account WHEN the user opens the lists screen THEN the new copy is shown.
  • Embedded into the story file.

/quick-design paywall-trigger-timing

  • Change: paywall now triggers after the 3rd successful action, not the 1st app launch
  • Standalone spec written to design/quick/paywall-trigger-timing.md
  • Acceptance: GIVEN a free-tier user has completed 3 actions WHEN they attempt the 4th THEN the paywall is shown
  • Notes: feature-flag paywall_trigger_v2, A/B test against current behavior

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.