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