mcpField
F
foundation-models

foundation-models

github.com/johnrogersDevelopment233152 installsUpdated 40w ago
Repository

About foundation-models

A development skill for using Apple's Foundation Models framework for contained text-processing tasks on device. It covers summarization, extraction, classification, and generation without network access.

Key features

  1. 01On-device text processing
  2. 02Summarization and extraction
  3. 03Classification and content tagging
  4. 04Structured output guidance
  5. 05Streaming generation guidance

Use cases

  1. 01Summarizing user-provided content
  2. 02Extracting key information from text
  3. 03Classifying or tagging content

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/johnrogers/claude-swift-engineering --skill foundation-models

After installing, type/foundation-modelsin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
getting-started.md
streaming.md
structured-output.md
tool-calling.md
troubleshooting.md

Details

From the project README

Foundation Models

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.

Overview

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).

Reference Loading Guide

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.

ReferenceLoad When
Getting StartedSetting up LanguageModelSession, checking availability, basic prompts
Structured OutputUsing @Generable for type-safe responses, @Guide constraints
Tool CallingIntegrating external data (weather, contacts, MapKit) via Tool protocol
StreamingAsyncSequence for progressive UI updates, PartiallyGenerated types
TroubleshootingContext overflow, guardrails, errors, anti-patterns

Core Workflow

  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

Model Capabilities

Use CaseFoundation Models?Alternative
SummarizationYes-
Extraction (key info)Yes-
ClassificationYes-
Content taggingYes (built-in adapter)-
World knowledgeNoChatGPT, Claude, Gemini
Complex reasoningNoServer LLMs

Platform Requirements

  • iOS 26+, macOS 26+, iPadOS 26+, visionOS 26+
  • Apple Intelligence-enabled device (iPhone 15 Pro+, M1+ iPad/Mac)
  • User opted into Apple Intelligence

Common Mistakes

  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.

Comments

Markdown supported