mcpField
S
swift-apps

swift-apps

github.com/petekpDevelopment4845 installsUpdated 2d ago
Repository

About swift-apps

A development skill for building and maintaining native-feeling Apple-platform apps with SwiftUI and Apple frameworks. It gives task-specific guidance on architecture, interface patterns, accessibility, performance, and verification.

Key features

  1. 01SwiftUI-first app design
  2. 02State and data-flow guidance
  3. 03Platform-specific interface patterns
  4. 04Accessibility and performance checks
  5. 05Task-specific reference guides

Use cases

  1. 01Planning a new app screen
  2. 02Refactoring SwiftUI state ownership
  3. 03Debugging performance issues
  4. 04Checking macOS interaction details

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/petekp/claude-code-setup --skill swift-apps

After installing, type/swift-appsin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

agents/
openai.yaml
references/
architecture-and-state.md
liquid-glass.md
macos-quality-bar.md
official-docs-map.md
performance-and-debugging.md
ui-patterns.md

Details

From the project README

Swift Apps

Engineer native-feeling Apple-platform software with SwiftUI-first patterns, clear state ownership, platform fidelity, accessibility, and performance discipline. Default to direct, readable code that works with Apple frameworks instead of layering web-style abstractions onto SwiftUI.

Choose The Track

Apply The Core Rules

  1. Prefer system structure before custom structure. Use NavigationStack, NavigationSplitView, TabView, List, Form, Table, Commands, and built-in materials before custom containers.

  2. Design for states, not screenshots. Every feature should account for loading, empty, error, offline, partial, and permission-restricted states.

  3. Keep state close to the view that owns it. Use @State, @Binding, @Bindable, @Environment, @Observable, @Query, and .task as the default toolset. Introduce a view model only when the existing codebase already relies on them or when non-view orchestration truly needs a reference type.

  4. Keep body cheap and identity stable. Do not sort, filter, format, decode images, create UUIDs, or perform I/O in body. Precompute or cache expensive work, and use stable IDs.

  5. Compose small views with explicit inputs. Prefer narrow data and bindings over passing large models everywhere. Split large bodies into focused subviews instead of piling more logic into one type.

  6. Treat accessibility and motion as first-class constraints. Verify Dynamic Type, VoiceOver, reduced motion, reduced transparency, contrast, focus order, and touch target size.

  7. Match the platform. iPhone, iPad, Mac, and Vision Pro have different interaction contracts. Preserve platform idioms unless the product has a measured reason to diverge.

Load The Right Reference

NeedLoad
State ownership, Observation, async flow, routing, dependency injectionreferences/architecture-and-state.md
Container choice, component composition, sheets, navigation, app-shell wiringreferences/ui-patterns.md
Jank, invalidation storms, layout thrash, profiling, bug triage, verificationreferences/performance-and-debugging.md
Menu bar, shortcuts, windows, sidebars, toolbars, Mac polish, AppKit escape hatchesreferences/macos-quality-bar.md
Liquid Glass placement, modifier order, containers, availability, transitionsreferences/liquid-glass.md
Official Apple docs and WWDC sessions for state, navigation, scenes, Liquid Glass, and performancereferences/official-docs-map.md

Deliver The Result

  • Start by naming the target platform, app archetype, and primary interaction model.
  • Call out the chosen state and data-flow approach whenever the architecture is non-obvious.
  • Use previews for fast iteration, but verify critical behavior in Simulator or on device when scenes, windows, focus, animation, or performance are involved.
  • When reviewing, report the highest-risk issues first: correctness, platform mismatch, accessibility gaps, performance risks, then style.
  • When debugging, share the leading hypotheses, the evidence that ruled them in or out, and the final root cause.
  • Finish with verification steps: tests, build or lint commands, profiling passes, and any manual checks still needed.

Comments

Markdown supported