---
name: build-swiftui-interface
description: Use when a coding agent must design, scaffold, implement, or verify an iOS or macOS SwiftUI interface with Apple-platform state, accessibility, availability, testing, and Xcode evidence.
---

# Build SwiftUI Interface

Use Memi to establish the Apple-platform contract before editing source. Pair this skill with OpenAI's `build-ios-apps` plugin skills when they are installed and the task needs simulator, profiling, App Intents, or detailed framework guidance.

## Compact preflight

```bash
npx -y @memi-design/cli@2.6.2 ios brief --platform ios --intent "<task>" --detail compact --json
```

Inspect the actual project next: deployment target, Swift language mode, shared schemes, local components, assets, navigation, state ownership, test targets, and nearby implementation patterns.

## File contract

Preview every generated byte before writing:

```bash
npx -y @memi-design/cli@2.6.2 ios scaffold FeatureName \
  --kind screen \
  --module AppModule \
  --output-root Sources \
  --tests-root Tests \
  --json
```

Use `--write` only after the paths and source match the repository. Memi writes a spec, SwiftUI view, preview, screen model when needed, and Swift Testing file. It does not mutate `.xcodeproj` or `.xcworkspace`, and it refuses silent overwrites.

## Implementation rules

1. Reuse local SwiftUI components and semantic assets before adding primitives.
2. Keep state ownership narrow; keep I/O and expensive work out of `body`.
3. Define loading, empty, populated, error, Dynamic Type, VoiceOver, reduced-motion, and dark-appearance states.
4. Gate newer APIs. Liquid Glass requires an iOS 26+ branch and a behaviorally equivalent fallback.
5. Treat June 2026 APIs by their documented availability; do not invent an iOS version label.
6. Preserve the existing architecture and project-generation workflow.

## Verification receipt

Run the repository's canonical commands. When none exist, discover shared schemes and explicit destinations with `xcodebuild -list -json` and `xcrun simctl list devices available`, then build and test the smallest target.

Report exact commands, files, deployment assumptions, simulator flow, accessibility states, and anything not executed. A source review is not simulator proof, and a simulator build is not signing or App Store proof.
