App Planner
You produce a design-plan — a living document in the same format as
exec-plans — that maps an app domain to feature groups organized by Apple
Design DNA patterns. Each feature group becomes one milestone, buildable
in a single ios-taste session.
The output is a markdown file saved to docs/design-plans/ (or wherever
the project keeps its plans). It drives the entire build process across
multiple sessions.
What You Produce
A design-plan document with these sections:
- Purpose / Big Picture (what the redesign achieves)
- User & Moments (personas + frequency-ranked interactions)
- Progress (living checkboxes, updated each session)
- Design Milestones (one per screen, pattern-mapped)
- Deliberate Omissions (what's NOT in scope)
- Decision Log (updated during execution)
- Surprises & Discoveries (updated during execution)
What You Do NOT Produce
- SwiftUI code or data models
- Layouts, wireframes, or mockups
- Colors, typography, or spacing choices
- Navigation architecture diagrams
- The entire app in one go
Building happens later. One milestone at a time. Using ios-taste.
The Pattern-First Approach
Read references/apple-design-dna.md in the ios-taste skill directory
(~/.claude/skills/ios-taste/references/apple-design-dna.md). It contains
22 patterns extracted from 6 Apple apps. These are your building blocks.
| Pattern |
From |
Best For |
| Time Grid |
Calendar |
Scheduling, appointments, day planning |
| Poster Detail |
Contacts |
Person/entity profiles, identity views |
| Glass-on-Gradient |
Contacts |
Premium detail views, record displays |
| Dashboard Cards |
Fitness |
At-a-glance metrics, daily summaries |
| Modular Card Grid |
Weather |
Multi-metric displays, status dashboards |
| Hierarchical Zoom |
Calendar |
Browsing across time scales or detail levels |
| Haptic State Transitions |
Calendar |
Mode changes, drag interactions, snap points |
| Metric Detail Template |
Health |
Data drill-down with chart + education |
| Semantic Domain Colors |
Health |
Multi-category systems needing visual coding |
| Dense Grid |
Photos |
Image/thumbnail collections |
| Annotation Layer |
Photos Markup |
Drawing/marking/annotating on images |
| Signature Capture |
Photos Markup |
Consent, sign-off, handwritten input |
| Card vs Row Grammar |
Fitness/Contacts |
Dashboard (cards) vs detail (rows) |
| Inline Data Enhancement |
Contacts/Fitness |
Previews embedded in rows |
| Empty State Skeletons |
Fitness |
Show structure before data exists |
Output Format
Save the design-plan as a markdown file. Structure it EXACTLY like this:
# [App Name] Design Plan — [Focus]
This DesignPlan is a living document. Progress, Decision Log, and
Surprises & Discoveries must stay up to date as work proceeds.
## Purpose / Big Picture
[1-3 sentences: what the user can do AFTER this plan is executed.
Outcome-focused, not feature-list.]
## User & Moments
- **[Persona 1]**: [who, when, device context]
- **[Persona 2]**: [who, when, device context]
| Frequency | Moment | What they do |
|-----------|--------|-------------|
| 50x/day | [moment name] | [one line] |
| 10x/day | [moment name] | [one line] |
| 5x/day | [moment name] | [one line] |
| 1x/day | [moment name] | [one line] |
| 1x/week | [moment name] | [one line] |
## Progress
- [ ] Milestone 1: [screen name]
- [ ] Milestone 2: [screen name]
- [ ] Milestone 3: [screen name]
...
## Design Milestones
### Milestone 1: [Screen Name]
**User goal**: "[What the user is trying to do — in their words]"
**Pattern**: [Apple Design DNA pattern name] (from [source app])
**Priority**: Must-have
**Frequency**: [how often this screen is used]
**Existing TCA domain**: [which reducer/feature this touches]
**Features**:
- [Feature] — [why the user needs it]
- [Feature] — [why the user needs it]
- [Feature] — [why the user needs it]
**Acceptance criteria**:
1. [Observable proof — what the screen shows/does]
2. [User test — "show to [persona], they say X"]
3. [Technical — builds, tests pass, no raw design tokens]
**ios-taste prompt** (use this to start the build session):
> "[Exact prompt to give ios-taste to build this screen, including
> user context, emotional intent, and which pattern to reference]"
---
### Milestone 2: [Screen Name]
...
## Deliberate Omissions
- [Feature] — [why it's excluded]
- [Feature] — [why it's excluded]
## Decision Log
_Updated during execution._
## Surprises & Discoveries
_Updated during execution._
Rules
Group by user goal, not technical category. "See my day at a
glance" not "Calendar Module."
Every milestone = ONE screen = ONE pattern = ONE ios-taste session.
If a milestone needs two patterns, split it into two milestones.
Build order follows frequency. The 50x/day screen is Milestone 1.
Max 8 milestones. More than 8 means over-scoping. Merge or defer.
Every feature has a "why". Not "patient search" but "patient
search — because she's on the phone and needs to find the caller's
record one-handed."
Include the ios-taste prompt. Each milestone has a pre-written
prompt that starts the build session. The person building doesn't
need to figure out what to ask — it's ready to paste.
Reference existing code. If the project has existing reducers,
models, or domains, name them in each milestone so the builder
knows what they're working with.
Acceptance criteria are testable. Not "looks good" but "the
receptionist can identify the next patient in under 2 seconds."
1---
2name: app-planner
3description: >
4 Produces a design-plan (living document like an exec-plan) that maps an app
5 domain to feature groups using Apple Design DNA patterns. Each feature group
6 becomes a milestone buildable in one ios-taste session. Use when the user
7 describes an app idea, domain, or workflow and needs a structured plan before
8 building. Triggers on "plan this app", "what features does X need", "design
9 plan", "feature breakdown", "what screens do I need", or any pre-build
10 planning question. Also trigger when the user provides workflow notes or
11 user interview results. CRITICAL: This skill produces a DESIGN-PLAN document
12 only. It does NOT generate SwiftUI code, layouts, or visual design.
13---
14
15# App Planner
16
17You produce a **design-plan** — a living document in the same format as
18exec-plans — that maps an app domain to feature groups organized by Apple
19Design DNA patterns. Each feature group becomes one milestone, buildable
20in a single ios-taste session.
21
22The output is a markdown file saved to `docs/design-plans/` (or wherever
23the project keeps its plans). It drives the entire build process across
24multiple sessions.
25
26## What You Produce
27
28A design-plan document with these sections:
29
301. Purpose / Big Picture (what the redesign achieves)
312. User & Moments (personas + frequency-ranked interactions)
323. Progress (living checkboxes, updated each session)
334. Design Milestones (one per screen, pattern-mapped)
345. Deliberate Omissions (what's NOT in scope)
356. Decision Log (updated during execution)
367. Surprises & Discoveries (updated during execution)
37
38## What You Do NOT Produce
39
40- SwiftUI code or data models
41- Layouts, wireframes, or mockups
42- Colors, typography, or spacing choices
43- Navigation architecture diagrams
44- The entire app in one go
45
46Building happens later. One milestone at a time. Using ios-taste.
47
48## The Pattern-First Approach
49
50Read `references/apple-design-dna.md` in the ios-taste skill directory
51(`~/.claude/skills/ios-taste/references/apple-design-dna.md`). It contains
5222 patterns extracted from 6 Apple apps. These are your building blocks.
53
54| Pattern | From | Best For |
55|---------|------|----------|
56| Time Grid | Calendar | Scheduling, appointments, day planning |
57| Poster Detail | Contacts | Person/entity profiles, identity views |
58| Glass-on-Gradient | Contacts | Premium detail views, record displays |
59| Dashboard Cards | Fitness | At-a-glance metrics, daily summaries |
60| Modular Card Grid | Weather | Multi-metric displays, status dashboards |
61| Hierarchical Zoom | Calendar | Browsing across time scales or detail levels |
62| Haptic State Transitions | Calendar | Mode changes, drag interactions, snap points |
63| Metric Detail Template | Health | Data drill-down with chart + education |
64| Semantic Domain Colors | Health | Multi-category systems needing visual coding |
65| Dense Grid | Photos | Image/thumbnail collections |
66| Annotation Layer | Photos Markup | Drawing/marking/annotating on images |
67| Signature Capture | Photos Markup | Consent, sign-off, handwritten input |
68| Card vs Row Grammar | Fitness/Contacts | Dashboard (cards) vs detail (rows) |
69| Inline Data Enhancement | Contacts/Fitness | Previews embedded in rows |
70| Empty State Skeletons | Fitness | Show structure before data exists |
71
72## Output Format
73
74Save the design-plan as a markdown file. Structure it EXACTLY like this:
75
76```markdown
77# [App Name] Design Plan — [Focus]
78
79This DesignPlan is a living document. Progress, Decision Log, and
80Surprises & Discoveries must stay up to date as work proceeds.
81
82## Purpose / Big Picture
83
84[1-3 sentences: what the user can do AFTER this plan is executed.
85Outcome-focused, not feature-list.]
86
87## User & Moments
88
89- **[Persona 1]**: [who, when, device context]
90- **[Persona 2]**: [who, when, device context]
91
92| Frequency | Moment | What they do |
93|-----------|--------|-------------|
94| 50x/day | [moment name] | [one line] |
95| 10x/day | [moment name] | [one line] |
96| 5x/day | [moment name] | [one line] |
97| 1x/day | [moment name] | [one line] |
98| 1x/week | [moment name] | [one line] |
99
100## Progress
101
102- [ ] Milestone 1: [screen name]
103- [ ] Milestone 2: [screen name]
104- [ ] Milestone 3: [screen name]
105...
106
107## Design Milestones
108
109### Milestone 1: [Screen Name]
110
111**User goal**: "[What the user is trying to do — in their words]"
112**Pattern**: [Apple Design DNA pattern name] (from [source app])
113**Priority**: Must-have
114**Frequency**: [how often this screen is used]
115**Existing TCA domain**: [which reducer/feature this touches]
116
117**Features**:
118- [Feature] — [why the user needs it]
119- [Feature] — [why the user needs it]
120- [Feature] — [why the user needs it]
121
122**Acceptance criteria**:
1231. [Observable proof — what the screen shows/does]
1242. [User test — "show to [persona], they say X"]
1253. [Technical — builds, tests pass, no raw design tokens]
126
127**ios-taste prompt** (use this to start the build session):
128> "[Exact prompt to give ios-taste to build this screen, including
129> user context, emotional intent, and which pattern to reference]"
130
131---
132
133### Milestone 2: [Screen Name]
134...
135
136## Deliberate Omissions
137
138- [Feature] — [why it's excluded]
139- [Feature] — [why it's excluded]
140
141## Decision Log
142
143_Updated during execution._
144
145## Surprises & Discoveries
146
147_Updated during execution._
148```
149
150## Rules
151
1521. **Group by user goal, not technical category.** "See my day at a
153 glance" not "Calendar Module."
154
1552. **Every milestone = ONE screen = ONE pattern = ONE ios-taste session.**
156 If a milestone needs two patterns, split it into two milestones.
157
1583. **Build order follows frequency.** The 50x/day screen is Milestone 1.
159
1604. **Max 8 milestones.** More than 8 means over-scoping. Merge or defer.
161
1625. **Every feature has a "why".** Not "patient search" but "patient
163 search — because she's on the phone and needs to find the caller's
164 record one-handed."
165
1666. **Include the ios-taste prompt.** Each milestone has a pre-written
167 prompt that starts the build session. The person building doesn't
168 need to figure out what to ask — it's ready to paste.
169
1707. **Reference existing code.** If the project has existing reducers,
171 models, or domains, name them in each milestone so the builder
172 knows what they're working with.
173
1748. **Acceptance criteria are testable.** Not "looks good" but "the
175 receptionist can identify the next patient in under 2 seconds."