ios-design
SwiftUI interface implementation patterns aligned with the iOS 26 / Swift 6.2 clinic modular MVVM-C architecture, grounded in Creative Selection and Design…
Skill by pproenca
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/pproenca-ios-design
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, data
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/ios-design
What's inside
- Skill name
ios-design- Description
- SwiftUI interface implementation patterns aligned with the iOS 26 / Swift 6.2 clinic modular MVVM-C architecture, grounded in Creative Selection and Design Like Apple principles. Use when building new SwiftUI views/screens while respecting Domain/Data boundaries, App-target route-shell navigation, and production-grade accessibility/interaction standards.
- License
- MIT
- Instructions
- 171 lines in SKILL.md · view on GitHub
Files (66)
- SKILL.md
- _template.md · assets/templates/
- metadata.json
- _sections.md · references/
- compose-body-some-view.md · references/
- compose-custom-properties.md · references/
- compose-modifier-order.md · references/
- compose-prefer-composition.md · references/
- compose-prefer-value-types.md · references/
- compose-viewbuilder.md · references/
- converse-dismiss.md · references/
- converse-hierarchy.md · references/
- converse-nav-bar.md · references/
- converse-navigationstack.md · references/
- converse-search.md · references/
- converse-sheet-item.md · references/
- converse-tab-bar.md · references/
- converse-tabview.md · references/
- converse-toolbar.md · references/
- craft-avoid-body-state.md · references/
- craft-minimize-scope.md · references/
- craft-state-bindable.md · references/
- craft-state-binding.md · references/
- craft-state-environment.md · references/
- craft-state-local.md · references/
- craft-state-observable.md · references/
- empathy-dark-mode.md · references/
- empathy-foreground-style.md · references/
- empathy-readable-width.md · references/
- empathy-reduce-motion.md · references/
- empathy-safe-areas.md · references/
- empathy-semantic-colors.md · references/
- empathy-touch-targets.md · references/
- empathy-voiceover-labels.md · references/
- layout-adaptive.md · references/
- layout-frame-sizing.md · references/
- layout-grid.md · references/
- layout-lazy-grids.md · references/
- layout-scroll-indicators.md · references/
- layout-spacer.md · references/
- layout-stacks.md · references/
- layout-zstack.md · references/
- product-content-unavailable.md · references/
- product-list-cells.md · references/
- product-loading-states.md · references/
- product-matched-geometry.md · references/
- product-menus.md · references/
- product-segmented.md · references/
- product-transitions.md · references/
- product-with-animation.md · references/
- system-gradients.md · references/
- system-material-backgrounds.md · references/
- system-sf-symbols.md · references/
- system-spacing-grid.md · references/
- system-stack-config.md · references/
- system-standard-margins.md · references/
- system-typography.md · references/
- system-visual-hierarchy.md · references/
- taste-action-sheets.md · references/
- taste-alerts.md · references/
- …and 6 more
SKILL.md (first lines)
# Apple SwiftUI iOS Design Best Practices A builder's guide for implementing Apple-quality iOS interfaces in SwiftUI, grounded in two foundational design texts: - **Ken Kocienda** — *Creative Selection* (empathy for the user, craft in coding, taste in choosing the best solution, demo culture of iterative refinement) - **John Edson** — *Design Like Apple* (systems thinking, the product is the marketing, design out loud, design with conviction) Contains 62 rules across 8 principle-based categories. Each rule identifies a specific anti-pattern, grounds the fix in a named principle, and provides the correct iOS 26 / Swift 6.2 SwiftUI implementation. ## Scope & Relationship to Sibling Skills This skill is the **building and implementation guide** — it teaches how to construct new SwiftUI interfaces from scratch using Apple-quality patterns. When loaded alongside `ios-ui-refactor` (reviewing/refactoring existing UI), this skill covers the greenfield implementation that `ios-ui-refactor` later audits. Use this skill for building new screens; use the sibling for evaluating and improving existing ones. ## Clinic Architecture Contract (iOS 26 / Swift 6.2) All guidance in this skill assumes the clinic modular MVVM-C architecture: - Feature modules import `Domain` + `DesignSystem` only (never `Data`, never sibling features) - App target is the convergence point and owns `DependencyContainer`, concrete coordinators, and Route Shell wiring - `Domain` stays pure Swift and defines models plus repository, `*Coordinating`, `ErrorRouting`, and `AppError` contracts - `Data` owns SwiftData/network/sync/retry/background I/O and implements Domain protocols - Read/write flow defaults to stale-while-revalidate reads and optimistic queued writes - ViewModels call repository protocols directly (no default use-case/interactor layer) ## When to Apply Reference these guidelines when: - Building new SwiftUI views and screens from scratch - Choosing between semantic colors, system typography, and spacing grids (Edson's Systems Thinking) - Managing state with @State, @Binding, @Observable, @Environment (Kocienda's Craft) - Selecting the right component: List vs LazyVStack, Sheet vs FullScreenCover (Kocienda's Taste) - Composing views with @ViewBuilder, custom modifiers, and value types (Kocienda's Creative Selection) - Implementing navigation with NavigationStack, TabView, sheets (Edson's Conversation) - Laying out content with stacks, grids, frames, and adaptive layouts (Edson's Design Out Loud) - Ensuring VoiceOver, touch targets, Dark Mode, and reduce motion support (Kocienda's Empathy) - Adding transitions, loading states, and animation polish (Edson's Product Is the Marketing) ## Rule Categories by Priority | Priority | Category | Principle | Impact | Prefix | Rules | |----------|----------|-----------|--------|--------|-------| | 1 | Empathy in Every Pixel | Kocienda "Empathy" · Edson "Design Is About People" | CRITICAL | `empathy-` | 8 | | 2 | The Visual System | Edson "Systems Thinking" · Kocienda "Convergence" | CRITICAL | `system-` | 8 | | 3 | Craft: State as Foundation | Kocienda "Craft" | CRITICAL | `craft-` | 7 | | 4 | Creative Composition | Kocienda "Creative Selection" | HIGH | `compose-` | 6 | | 5 | Taste: The Right Choice | Kocienda "Taste" · Edson "Design with Conviction" | HIGH | `taste-` | 8 | | 6 | Navigation as Conversation | Edson "Design Is a Conversation" · Kocienda "The Demo" | HIGH | `converse-` | 9 | | 7 | Design Out Loud: Layout | Edson "Design Out Loud" · Kocienda "Intersection" | HIGH | `layout-` | 8 | | 8 | The Product Speaks | Edson "Product Is the Marketing" · Kocienda "Demo Culture" | MEDIUM | `product-` | 8 | ## Quick Reference ### 1. Empathy in Every Pixel (CRITICAL) Kocienda: "Empathy — trying to see the world from other people's perspectives." Edson: design begins with the person holding the device. - [`empathy-semantic-colors`](references/empathy-semantic-colors.md) - Use semantic colors, never hard-coded values - [`empathy-dark-mode`](references/empathy-dark-mode.md) - Support Dark Mode from day one - [`empathy-foreground-style`](references/empathy-foreground-style.md) - Use foregroundStyle over foregroundColor - [`empathy-safe-areas`](references/empathy-safe-areas.md) - Always respect safe areas for content - [`empathy-voiceover-labels`](references/empathy-voiceover-labels.md) - Add VoiceOver labels to every interactive element - [`empathy-touch-targets`](references/empathy-touch-targets.md) - Ensure 44x44 point minimum touch targets - [`empathy-reduce-motion`](references/empathy-reduce-motion.md) - Always provide reduce motion fallback - [`empathy-readable-width`](references/empathy-readable-width.md) - Constrain text to readable width on iPad ### 2. The Visual System (CRITICAL) Edson: "Zoom out to see relationships between objects." Kocienda: convergence — many decisions narrowing toward one coherent whole. - [`system-typography`](references/system-typography.md) - Use system typography styles, never fixed sizes - [`system-visual-hierarchy`](references/system-visual-hierarchy.md) - Establish clear visual hierarchy through size, weight, and color - [`system-spacing-grid`](references/system-spacing-grid.md) - Use a 4pt base unit for all spacing - [`system-material-backgrounds`](references/system-material-backgrounds.md) - Use material backgrounds for depth and layering - [`system-sf-symbols`](references/system-sf-symbols.md) - Use SF Symbols for consistent iconography - [`system-gradients`](references/system-gradients.md) - Apply gradients for visual depth, not decoration - [`system-standard-margins`](references/system-standard-margins.md) - Use system standard margins consistently - [`system-stack-config`](references/system-stack-config.md) - Configure stack alignment and spacing explicitly ### 3. Craft: State as Foundation (CRITICAL) Kocienda: "Craft — applying skill to achieve a high-quality result." - [`craft-state-local`](references/craft-state-local.md) - Use @State for view-local value types - [`craft-state-binding`](references/craft-state-binding.md) - Use @Binding for child view mutations - [`craft-state-environment`](references/craft-state-environment.md) - Use @Environment for shared app-wide data - [`craft-state-observable`](references/craft-state-observable.md) - Use @Observable for model classes - [`craft-avoid-body-state`](references/craft-avoid-body-state.md) - Never create state inside the view body - [`craft-minimize-scope`](references/craft-minimize-scope.md) - Minimize state scope to reduce re-renders - [`craft-state-bindable`](references/craft-state-bindable.md) - Use @Bindable for @Observable bindings ### 4. Creative Composition (HIGH) Kocienda: "Creative selection — great software is built through composition and recombination." - [`compose-body-some-view`](references/compose-body-some-view.md) - Return some View from body, never concrete types - [`compose-custom-properties`](references/compose-custom-properties.md) - Use properties to make views configurable - [`compose-modifier-order`](references/compose-modifier-order.md) - Apply view modifiers in the correct order - [`compose-viewbuilder`](references/compose-viewbuilder.md) - Use @ViewBuilder for flexible slot-based composition - [`compose-prefer-value-types`](references/compose-prefer-value-types.md) - Prefer value types for view data - [`compose-prefer-composition`](references/compose-prefer-composition.md) - Prefer composition over inheritance for view reuse ### 5. Taste: The Right Choice (HIGH) Kocienda: "Taste — refined judgment, the ability to choose the one right solution." Edson: commit to one approach and perfect it. - [`taste-list-vs-lazyvstack`](references/taste-list-vs-lazyvstack.md) - Choose List for system features, LazyVStack for custom layouts - [`taste-sheet-vs-fullscreen`](references/taste-sheet-vs-fullscreen.md) - Choose sheet for tasks, fullScreenCover for immersion - [`taste-picker`](references/taste-picker.md) - Choose the right picker style for the data type - [`taste-grid-vs-lazygrid`](references/taste-grid-vs-lazygrid.md) - Choose Grid for aligned data, LazyVGrid for scrollable collections - [`taste-button`](references/taste-button.md) - Use button styles that match the action's importance - [`taste-textfield`](references/taste-textfield.md) - Configure text input with the right keyboard and content type - [`taste-alerts`](references/taste-alerts.md) - Use alerts only for critical, blocking information - [`taste-action-sheets`](references/taste-action-sheets.md) - Use confirmation dialogs for contextual multi-choice actions ### 6. Navigation as Conversation (HIGH) Edson: "Design is a conversation between the product and the person." Kocienda: demos as conversations about whether the interface speaks clearly.
From pproenca/dot-skills, MIT.
More from pproenca/dot-skills
- 0.694score
tanstack-query
community
TanStack Query v5 performance optimization for data fetching, caching, mutations, and query patterns.
SkillCFreshness: C★ 218Claude Code +9 - 0.596score
mlflow-3
pproenca
MLflow 3 (open-source, pinned to 3.15) for classic-ML MLOps — logging and registering models, promoting versions across dev/staging/prod, standing up a…
SkillBFreshness: B★ 218Claude Code +9 - 0.596score
ray
pproenca
Production Ray (open-source, pinned to 2.57) for classic-ML workloads from training to serving — Ray Train, Tune, Data, Serve, Core, and cluster deployment on…
SkillBFreshness: B★ 218Claude Code +9 - 0.596score
mlflow-mlops-migration
pproenca
Guided workflow for taking any ML codebase — including one with no experiment tracking at all, or one full of MLflow 2-era idioms — to a production-grade…
SkillBFreshness: B★ 218Claude Code +9 - 0.596score
ray-llm
pproenca
LLM workloads on open-source Ray (pinned to 2.57) — OpenAI-compatible serving with ray.serve.llm (vLLM-backed LLMConfig + build_openai_app) and batch…
SkillBFreshness: B★ 218Claude Code +9 - 0.550score
expo-ui
pproenca
Library reference for @expo/ui SwiftUI components on iOS — covers Host boundaries, modifier composition, iOS 26 Liquid Glass and Human Interface Guidelines…
SkillCFreshness: C★ 218Claude Code +9 - 0.550score
debug
pproenca
Comprehensive debugging methodology for finding and fixing bugs (formerly debugging).
SkillCFreshness: C★ 218Claude Code +9 - 0.550score
bug-review
pproenca
Use this skill when a user asks to review a pull request for bugs, wants AI code review focused on correctness issues, or runs /bug-review.
SkillCFreshness: C★ 218Claude Code +9 - 0.550score
ios-taste
pproenca
Designs iOS 18+ SwiftUI experiences with real taste — starting from user goals, not pixels.
SkillCFreshness: C★ 218Claude Code +9 - 0.550score
implementation-functional-patterns
pproenca
TypeScript's functional answers to the 22 Gang of Four classes — factory functions (Factory Method, Abstract Factory, Prototype, Memento), module-scope…
SkillCFreshness: C★ 218Claude Code +9 - 0.550score
expo
pproenca
Expo React Native performance optimization guidelines.
SkillCFreshness: C★ 218Claude Code +9 - 0.550score
deterministic-metric-design
pproenca
Inventing deterministic metrics — turning a fuzzy property like 'maintainability', 'risk', or 'how reducible this code is' into a deterministic, computable…
SkillCFreshness: C★ 218Claude Code +9
Signals
- Stars
- 218
- Forks
- 19
- Open issues
- 3
- Last commit (this folder)
- May 27, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/pproenca/dot-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from pproenca
- 0.596score
ray-llm
pproenca
LLM workloads on open-source Ray (pinned to 2.57) — OpenAI-compatible serving with ray.serve.llm (vLLM-backed LLMConfig + build_openai_app) and batch…
SkillBFreshness: B★ 218Claude Code +9 - 0.596score
mlflow-mlops-migration
pproenca
Guided workflow for taking any ML codebase — including one with no experiment tracking at all, or one full of MLflow 2-era idioms — to a production-grade…
SkillBFreshness: B★ 218Claude Code +9 - 0.596score
mlflow-3
pproenca
MLflow 3 (open-source, pinned to 3.15) for classic-ML MLOps — logging and registering models, promoting versions across dev/staging/prod, standing up a…
SkillBFreshness: B★ 218Claude Code +9 - 0.596score
ray
pproenca
Production Ray (open-source, pinned to 2.57) for classic-ML workloads from training to serving — Ray Train, Tune, Data, Serve, Core, and cluster deployment on…
SkillBFreshness: B★ 218Claude Code +9 - 0.550score
expo
pproenca
Expo React Native performance optimization guidelines.
SkillCFreshness: C★ 218Claude Code +9 - 0.550score
debug
pproenca
Comprehensive debugging methodology for finding and fixing bugs (formerly debugging).
SkillCFreshness: C★ 218Claude Code +9
Cite this page
ios-design skill. Agent Mart. https://agentmart.dev/skills/pproenca-ios-design (last updated 2026-10-24)