composable-architectur…
Use when building features with TCA (The Composable Architecture), structuring reducers,…
Use when implementing on-device AI with Apple's Foundation Models framework (iOS 26+), building summarization/extraction/classification features, or using @Generable for type-safe structured output.
$ npx -y skills add johnrogers/claude-swift-engineering --skill foundation-models --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/foundation-modelsContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when implementing on-device AI with Apple's Foundation Models framework (iOS 26+), building summarization/extraction/classification features, or using @Generable for type-safe structured output.
name: foundation-models description: Use when implementing on-device AI with Apple's Foundation Models framework (iOS 26+), building summarization/extraction/classification features, or using @Generable for type-safe structured output.
Apple's on-device AI framework providing access to a 3B parameter language model for summarization, extraction, classification, and content generation. Runs entirely on-device with no network required.
Foundation Models enable intelligent text processing directly on device without server round-trips, user data sharing, or network dependencies. The core principle: leverage on-device AI for specific, contained tasks (not for general knowledge).
**ALWAYS load reference files if there is even a small chance the content may be required.** It's better to have the context than to miss a pattern or make a mistake.
| Reference | Load When | |-----------|-----------| | **[Getting Started](references/getting-started.md)** | Setting up LanguageModelSession, checking availability, basic prompts | | **[Structured Output](references/structured-output.md)** | Using `@Generable` for type-safe responses, `@Guide` constraints | | **[Tool Calling](references/tool-calling.md)** | Integrating external data (weather, contacts, MapKit) via Tool protocol | | **[Streaming](references/streaming.md)** | AsyncSequence for progressive UI updates, PartiallyGenerated types | | **[Troubleshooting](references/troubleshooting.md)** | Context overflow, guardrails, errors, anti-patterns |
1. Check availability with `SystemLanguageModel.default.availability` 2. Create `LanguageModelSession` with optional instructions 3. Choose output type: plain String or @Generable struct 4. Use streaming for long generations (>1 second) 5. Handle errors: context overflow, guardrails, unsupported language
| Use Case | Foundation Models? | Alternative | |----------|-------------------|-------------| | Summarization | Yes | - | | Extraction (key info) | Yes | - | | Classification | Yes | - | | Content tagging | Yes (built-in adapter) | - | | World knowledge | No | ChatGPT, Claude, Gemini | | Complex reasoning | No | Server LLMs |
1. **Using Foundation Models for world knowledge** — The 3B model is trained for on-device tasks only. It won't know current events, specific facts, or "who is X". Use ChatGPT/Claude for that. Keep prompts to: summarizing user's own content, extracting info, classifying text.
2. **Blocking the main thread** — LanguageModelSession calls must run on a background thread or async context. Blocking the main thread locks UI. Always use `Task { }` or background queue.
3. **Ignoring context overflow** — The model has finite context. If the user pastes a 50KB document, it will fail silently or truncate. Check input length and trim/truncate proactively.
4. **Forgetting to check availability** — Not all devices support Foundation Models. Check `SystemLanguageModel.default.availability` before using. Graceful degradation is required.
5. **Ignoring guardrails** — The model won't answer harmful queries. Instead of fighting it, design prompts that respect safety guidelines. Rephrasing requests usually works.
Claude Code plugin marketplace for modern Swift/SwiftUI development A specialized AI toolkit for building professional iOS/macOS features with modern Swift 6.2, TCA (The Composable Architecture), and SwiftUI.
Use when building features with TCA (The Composable Architecture), structuring reducers,…
Use when encountering unfamiliar import statements, exploring dependency APIs, or when user…
Use when writing raw SQL with GRDB, complex joins across 4+ tables, window functions,…
Use when adding haptic feedback for user confirmations (button presses, toggles, purchases),…
Use when implementing iOS 26 features (Liquid Glass, new SwiftUI APIs, WebView, Chart3D),…
Use when designing iOS interfaces, implementing accessibility (VoiceOver, Dynamic Type),…