design-discovery
Skill0 starsChanged 9 months agoMITView on GitHub
Goal-directed design process that derives screens from user goals, not feature lists. Based on Alan Cooper's Goal-Directed Design. Includes competitive teardown, user interview mode (autonomous conversations with real users via messaging), and a structured Goals → Scenarios → Requirements → Modes → Screens pipeline. Use when starting a new app or product, planning what to build, someone says "let's think through the UX," "what should this app do," "interview [person] about [project]," or when a PRD is needed but no design thinking has happened. NOT for visual design, UI components, or technical architecture.
5 other projects use a version of this.
Adopted by
Most recently taken up by
- toribryan/design-skillstheir own version, first seen Oct 25, 2026
- lebobo88/pair-programmertheir own version, first seen Oct 15, 2026
- jangjun7091/ai-companytheir own version, first seen Jul 20, 2026
- mmkeewa/design-discoverytheir own version, first seen Jul 2, 2026
- sshtomar/claude-skillstheir own version, first seen May 27, 2026
Other versions5 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 5
- lebobo88/pair-programmer★ 8same name
- jangjun7091/ai-company★ 1same name
- toribryan/design-skills★ 1same name
- mmkeewa/design-discovery★ 0same name
- sshtomar/claude-skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
We split this skill into the rules it gives an agent
5 rules. 0 are common, 5 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 4 edited versions we read keep these.
5
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 28
NEVER start with features or screens: If someone says "I need a settings screen," ask "what goal does that serve?" first.
- Distinctive: line 44
Before defining goals, understand what exists.
- Distinctive: line 69
Write narrative stories. Template: *"[Name] is [context].
- Distinctive: line 71
Write scenarios for: daily use, first use, edge case (worst possible moment), return after absence, success (3 months in).
- Distinctive: line 112
Create tension (choosing one thing means sacrificing another)
“Common” is measured: kept by at least 6 in 10 of the 4 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.
Files
Design Discovery
Derive what to build from user goals. Goals → Scenarios → Requirements → Modes → Screens.
Two Modes
Mode 1: Discovery Session
Work through the process with the product owner. One phase at a time, conversational.
Activate: "Start design discovery for [project]"
Mode 2: User Interview
Autonomous conversation with a real user to gather design input. See references/user-interview.md — MANDATORY READ before any interview.
Activate: "Interview [name] as [role] for [project]"
First message requires human approval. Subsequent messages are autonomous.
NEVER Do These
- NEVER start with features or screens. If someone says "I need a settings screen," ask "what goal does that serve?" first.
- NEVER brainstorm requirements. Extract them from scenarios. Brainstormed requirements are fantasy; scenario-derived requirements are evidence.
- NEVER write user stories in Agile format ("As a user, I want..."). Write narrative scenarios in plain language. User stories are for dev tickets, not discovery.
- NEVER skip straight to wireframes. Modes come before screens. Screens come from modes. If you don't know the modes, your screens are guesses.
- NEVER use design jargon with interview subjects. No "pain points," "user flows," "information architecture." Talk like a human.
- NEVER accept "simple" or "intuitive" as requirements. Push back: "Simple for who? In what context? At what cognitive load?"
- NEVER treat the first answer as the real answer. First answers are surface-level. The expert insight is in the follow-up: "Tell me more about that." "What happens when that fails?"
- NEVER conflate the buyer and the user. A therapist buying the app has different goals than the patient using it. Map goals for EACH role.
- NEVER design for the average case only. The edge case (2am anxiety spike, low battery, public place) reveals the real requirements. Average-case design produces mediocre products.
The Process
Phase 0: Competitive Teardown
Before defining goals, understand what exists. For each competitor:
- Feature matrix — what they actually do
- App Store 1-star reviews — real pain points from real users (this is gold)
- What's bloated — features that add complexity without value (your "won't build" list)
- What's missing — gaps your user has already complained about
- Their actual user vs your actual user — same person or different?
Key insight: 1-star reviews are more valuable than the competitor's feature list. They tell you what to NOT do.
Store: Obsidian Projects/[Project Name]/Competitive Analysis.md
Phase 1: User Goals
Three levels, each shapes different decisions:
- Life goals → brand, emotional tone, long-term positioning
- Experience goals → interaction design, pacing, density
- End goals → features, screen structure, core loop
The trap: Teams fixate on end goals and build feature lists. Life and experience goals are WHERE THE DIFFERENTIATION LIVES. Two apps can have identical end goals but completely different experience goals — and feel like different products.
Output: Goal Statement: "The user wants to [end goal] in a way that feels [experience goal] so they can [life goal]."
Phase 2: Context Scenarios
Write narrative stories. Template: "[Name] is [context]. They [trigger]. They [action]. They [result]. They feel [emotion]."
Write scenarios for: daily use, first use, edge case (worst possible moment), return after absence, success (3 months in).
The expert move: Each scenario SIMULTANEOUSLY reveals requirements. Don't wait — capture them as they emerge. A scenario that says "she's on the subway with one hand free" just told you the app needs one-handed operation. That's not a feature request, it's physics.
Phase 3: Requirements Extraction
For each scenario ask:
- What does this moment DEMAND?
- What would RUIN this moment?
- What's the MINIMUM needed?
Categorize as Must / Should / Won't (v1). The "Won't" list is as important as the "Must" list — it's your scope defense.
Phase 4: Interaction Framework
Define modes, not screens. A mode is a state the user is in:
| Mode | Mindset | Attention | Primary Action |
| Capture | "Log this fast" | Low, distracted | Create entry |
| Review | "How am I doing?" | Medium, reflective | Browse history |
| Setup | "Get this working" | High, one-time | Configure |
Map transitions between modes. THIS IS YOUR APP STRUCTURE. Screens derive from it — not the other way around.
The mistake everyone makes: Designing screens first, then trying to figure out how they connect. That's architecture without a blueprint. Modes first, always.
Phase 5: Screen Derivation
Now — and ONLY now — define screens. For each screen:
- Which scenario demands it?
- Which mode contains it?
- What's the ONE primary action?
- What can be removed and the scenario still works?
If a screen can't point to a scenario that needs it, kill it.
Phase 6: Design Principles & Experience
Derive 3-5 principles FROM the work above. Good principles:
- Are opinionated ("Speed over completeness" — the opposite is also reasonable)
- Create tension (choosing one thing means sacrificing another)
- Are testable (you can audit any screen against them)
See references/design-principles-examples.md for examples from Calm, Duolingo, Linear, Things, Headspace — READ when writing principles to calibrate quality.
Define experience: emotional tone, pace, density, what real-world object is this like, what this must NOT feel like.
Deliverable
Save to Obsidian Projects/[Project Name]/Design Discovery.md:
# Design Discovery: [Product Name]
## Competitive Landscape
## User Goals (with evidence)
## Context Scenarios (3-5 narratives)
## Requirements (extracted, categorized)
## Interaction Framework (modes + transitions)
## Screens (derived, with scenario justification)
## Design Principles (3-5 with rationale)
## Experience Definition
## User Research Notes (interview quotes, observations)This feeds into: PRD → Architecture → UX Spec
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
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.

