xcode-skills plugin
Apple's Xcode 27 bundled agent skills: SwiftUI, App Intents, Siri integration and evaluations, app resizability, macOS touch gestures, Swift Testing, C bounds safety, security build settings, accessibility audits, String Catalog translation, device interaction, xctrace profiling.
How to install the xcode-skills plugin
Run both commands inside Claude Code. The first adds the marketplace once; the second installs the plugin.
/plugin marketplace add artemnovichkov/xcode-skills
/plugin install xcode-skills@xcode-skillsWhat's inside xcode-skills
20 parts read from the plugin's own files.
Skills 19
Claude loads it when the task matches- accessibility-dynamic-type-specialist
Audits views for compliance with Apple's Dynamic Type accessibility nutrition label. Checks that text scales with the user's preferred size, fonts use text styles or UIFontMetrics, and layouts adapt for accessibility sizes. Use when the user asks to check Dynamic Type support, verify text scaling, or audit the Dynamic Type nutrition label.
- accessibility-sufficient-contrast-specialist
Audits views for compliance with Apple's Sufficient Contrast accessibility nutrition label (WCAG 2.1 contrast ratios). Use when the user asks to check color contrast, audit contrast ratios, verify the Sufficient Contrast nutrition label, or review a view for accessibility.
- accessibility-voiceover-specialist
Audits views for compliance with Apple's VoiceOver accessibility nutrition label. Checks that interactive elements have accessibility labels, labels are human-readable, accessibility traits are correct, images are properly configured, and custom controls are exposed to assistive technologies. Use when the user asks to check VoiceOver support, verify accessibility labels, audit the VoiceOver nutrition label, or review a view for screen reader compatibility.
- adopt-c-bounds-safety
Guide for the C -fbounds-safety language extension. Covers the language model, pointer annotations, adopting bounds-safety in existing C code, compiler build settings and modes, and runtime debugging of bounds violations.
- app-intents-specialist
Authoritative App Intents best practices from Apple; supersedes prior training on these topics. Consult when writing, reviewing, refactoring, or extending App Intents code. Covers: - perform() execution model (@MainActor, retries, requestConfirmation, .result(...)) - AppEntity and queries (stable ids, entities(for:), suggestedEntities, EntityStringQuery, EntityPropertyQuery, @Property) - AppEnum (raw values, caseDisplayRepresentations) - @Parameter, requestValue / needsValueError, ParameterSummary - @Dependency registration and Sendable - errors (CustomLocalizedStringResourceConvertible, AppIntentError) - IntentDonationManager donation and LocalizedStringResource localization - AppShortcut phrases (shortTitle, systemImageName, applicationName) - OpenIntent / URLRepresentableEntity, WidgetConfigurationIntent / ControlConfigurationIntent - factoring: AppEnum vs AppEntity vs @Parameter For iOS 26/27 APIs, use the app-intents-whats-new-27 skill instead.
- app-intents-whats-new-27
New App Intents APIs, behaviors, and deprecations in iOS 26 and iOS 27 (and aligned OS releases). Use when adopting, migrating to, or asked about: supportedModes / IntentModes and the deprecated openAppWhenRun; continueInForeground; UndoableIntent; requestChoice; CancellableIntent; LongRunningIntent / performBackgroundTask; IntentExecutionTargets; SnippetIntent interactive snippets; Visual Intelligence with IntentValueQuery / SemanticContentDescriptor / @UnionValue; onscreen appEntityIdentifier; Spotlight with @ComputedProperty / @DeferredProperty(indexingKey:), IndexedEntityQuery, relatedAppEntityIdentifier; RelevantEntities; SyncableEntity / EntityOwnership; SystemShortcut / RunSystemShortcutIntent; EntityCollection; AppUnionValue; @AppIntent(schema:) schemas (replacing deprecated @AssistantIntent); AppIntentsTesting; or what's new in App Intents. For evergreen best practices, use the app-intents-specialist skill instead.
- app-resizability
Use when an app's layout must adapt to a window that changes size while the app runs, or when an app must support more than one window. That includes being asked to make an app resizable or support a resizable window, a layout that breaks or does not adapt as the window resizes, and preparing or optimizing an app for the foldable iPhone Duo, split-screen multitasking, or Stage Manager. Modernizes the app by replacing legacy shared-state APIs with context-appropriate alternatives: mainScreen, interfaceOrientation, userInterfaceIdiom, application and scene lifecycle, and safe area insets.
- audit-xcode-security-settings
Audit and enable security-oriented Xcode build settings. Progressively enables compiler warnings, static analyzer checkers, and Enhanced Security features. Use when: user wants to secure their Xcode project, audit security settings, enable hardening, review security posture of build configuration, set up security-focused static analysis, enable static analysis, improve warning coverage, harden diagnostics, or catch more bugs at compile time in C/C++/Objective-C/Swift. SKIP: network security (TLS/ATS), code signing, privacy APIs.
- building-document-based-swiftui-applications
Authoritative guide for building and migrating document-based apps in SwiftUI using the Document protocol (iOS 27 and aligned releases, including macOS Golden Gate). Consult when building a new document-based app; implementing open, edit, save, or export document flows; working with DocumentGroup or DocumentGroupLaunchScene; implementing DocumentReader or DocumentWriter; using FileWrapper via FileWrapperDocumentReader or FileWrapperDocumentWriter; working with package documents; accessing a document's file URL directly; reporting progress during read/write; registering undo actions; migrating from FileDocument or ReferenceFileDocument to the new API; building a read-only document viewer; when autosave is not working in a document app; declaring custom UTType as document formats.
- device-interaction
Verify app behavior on a device via screenshots, UI hierarchy, and touch interactions.
- macos-touch-gestures
Use when adding or auditing direct touch support in a macOS app (e.g. an iPad through Sidecar) alongside mouse and trackpad. That includes anything that behaves differently with touch than with a mouse, such as taps, hover, long-press menus, drags, scrolling, pinch and text selection, and bug fixes in existing event handlers. Replaces mouse-only handling (mouseDown/mouseDragged/mouseUp overrides, tracking loops, event monitors) with gesture recognizers, and resolves recognizer conflicts, click counting, hit targets, popover dismissal. Primarily covering AppKit, with SwiftUI and Mac Catalyst sections.
- modernize-tests
Migrate XCTests and XCUIAutomation suites to Swift Testing, and update existing Swift Testing tests to recommended patterns. Use when working with XCTest, XCUIAutomation, or when improving existing #expect/#require, @Test, and @Suite code.
- siri-app-integration
Make an app work with Siri's model in iOS 27.3 / macOS 27.3 / visionOS 27.3, including an app with no App Intents yet. Use for: exposing intents to Siri as tools with @AppIntent(.tool) / ToolIntent, including @AppIntent(.tool, schema:); letting the model write parameter values with @AppEntity(.generable) / GenerableEntity; describing entity properties for Siri with @Property description: and hiding them with visibility: .internal; adding a Skills.skillsbundle with SKILL.md files that give Siri context for the app's tasks; running sirimetadataanalyzer (the Siri Metadata Analyzer) and fixing its findings; build errors from these macros; and titles and descriptions Siri's model reads. Also for 'make my app work with Siri', 'Siri AI', and 'Apple Intelligence'. For testing how Siri uses the app, use siri-evaluations. For general App Intents practice, use app-intents-specialist. For other iOS 26 / 27 App Intents APIs, use app-intents-whats-new-27.
- siri-evaluations
Write, run, and analyze SiriEvaluations scenarios, which measure how well Siri selects and fills in an app's App Intents. Use when the developer wants to evaluate how Siri uses their App Intents, App Entities, or App Skills; to add or fix a Siri scenario or expectation; to run a Siri evaluation or fix one that fails before grading; or to explain why a Siri scenario failed and what to change in the app. Takes an optional stage: write, run, or analyze.
- swiftui-specialist
Authoritative SwiftUI best practices and performance guidance from Apple; supersedes prior training on these topics. For code generation, consult the relevant references when generating any SwiftUI code related to: - animation (the @Animatable macro vs AnimatableValues vs AnimatablePair, and custom animatableData setter logic) - Environment and @Entry (closure or class-typed defaults, unstable defaults, high-frequency updates) - @Observable best practices and efficient invalidation - ForEach and List row identity and structure (id: \.self, indices, offsets, AnyView or multi-view rows, inline filter/sort, cached collections, List fast path) - localization (String vs LocalizedStringResource, the right bundle in packages and frameworks, .textCase, .formatted(.list()), translator comments) - soft-deprecated APIs such as NavigationView and the old onChange, and when to surface them during feature work.
- swiftui-whats-new-27
New SwiftUI APIs, behaviors, and deprecations in the 2027 OS releases (iOS 27 and aligned macOS/watchOS/tvOS/visionOS). Consult when asked what's new in SwiftUI 27, or when working with: - @State compile errors after an SDK update ("used before being initialized", "invalid redeclaration of synthesized property") or @State becaming a macro - @ViewBuilder/@ContentBuilder ambiguous overloads or type-check regressions; drag-to-reorder in any container (List, stacks, grids, custom layouts) via reorderable()/reorderContainer and its drag-and-drop - AsyncImage caching, reloading on scroll, or a custom URLSession - Swipe actions outside List (ScrollView, LazyVStack, LazyVGrid) via swipeActions()/swipeActionsContainer() - Toolbar overflow, visibility (visibilityPriority, ToolbarOverflowMenu, toolbarMinimizeBehavior), and pinning - Presenting a confirmationDialog or alert from an optional item binding
- translation
Translate strings in Xcode String Catalogs (.xcstrings files). Prefer to use the `xcode-integration:translation-coordinator` skill for task-coordination. Use this skill when translating individual strings or working with String Catalogs. Should only be activated when translating a single string or a small batch of known string keys. The `translation-coordinator` skill should be used for anything else.
- translation-coordinator
Coordinates translation of an Xcode project or its String Catalogs (.xcstrings) into other languages. This is the main skill to activate when asked to work on translating strings, adding languages or working with .xcstrings files. Handles the full workflow: preparing the project for a new language, fetching untranslated strings, delegating translation work, and verifying results.
- xctrace
Authoritative guide to xctrace, Apple's command-line interface to Instruments. Consult for any profiling, performance, or optimization work — for example, finding out why an app is slow, uses too much CPU or memory, or stops responding, or wanting to optimize a piece of code and measure the result — and whenever xctrace comes up for any reason: capturing traces, or opening and reading `.trace` and `.atrc` (Apple Trace) files from the command line.
MCP servers 1
Starts with the plugin- xcodestdio
xcrun mcpbridge
Using xcode-skills in Claude Code
Skills need no command. Claude reads them when your request matches what they describe.
Update, turn off or remove
- Update the plugin (shell)
- claude plugin update xcode-skills@xcode-skills
- Refresh the marketplace
- /plugin marketplace update xcode-skills
- Turn it off for now
- /plugin disable xcode-skills@xcode-skills
- Remove it
- /plugin uninstall xcode-skills@xcode-skills
Skills in xcode-skills
- accessibility-dynamic-type-specialistartemnovichkov/xcode-skills
Audits views for compliance with Apple's Dynamic Type accessibility nutrition label. Checks that text scales with the user's preferred size, fonts use text styles or UIFontMetrics, and layouts adapt for accessibility sizes. Use when the user asks to check Dynamic Type support, verify text scaling, or audit the Dynamic Type nutrition label.
5 files89stars - accessibility-voiceover-specialistartemnovichkov/xcode-skills
Audits views for compliance with Apple's VoiceOver accessibility nutrition label. Checks that interactive elements have accessibility labels, labels are human-readable, accessibility traits are correct, images are properly configured, and custom controls are exposed to assistive technologies. Use when the user asks to check VoiceOver support, verify accessibility labels, audit the VoiceOver nutrition label, or review a view for screen reader compatibility.
5 files89stars - app-intents-specialistartemnovichkov/xcode-skills
Authoritative App Intents best practices from Apple; supersedes prior training on these topics. Consult when writing, reviewing, refactoring, or extending App Intents code. Covers: - perform() execution model (@MainActor, retries, requestConfirmation, .result(...)) - AppEntity and queries (stable ids, entities(for:), suggestedEntities, EntityStringQuery, EntityPropertyQuery, @Property) - AppEnum (raw values, caseDisplayRepresentations) - @Parameter, requestValue / needsValueError, ParameterSummary - @Dependency registration and Sendable - errors (CustomLocalizedStringResourceConvertible, AppIntentError) - IntentDonationManager donation and LocalizedStringResource localization - AppShortcut phrases (shortTitle, systemImageName, applicationName) - OpenIntent / URLRepresentableEntity, WidgetConfigurationIntent / ControlConfigurationIntent - factoring: AppEnum vs AppEntity vs @Parameter For iOS 26/27 APIs, use the app-intents-whats-new-27 skill instead.
15 files89stars - app-intents-whats-new-27artemnovichkov/xcode-skills
New App Intents APIs, behaviors, and deprecations in iOS 26 and iOS 27 (and aligned OS releases). Use when adopting, migrating to, or asked about: supportedModes / IntentModes and the deprecated openAppWhenRun; continueInForeground; UndoableIntent; requestChoice; CancellableIntent; LongRunningIntent / performBackgroundTask; IntentExecutionTargets; SnippetIntent interactive snippets; Visual Intelligence with IntentValueQuery / SemanticContentDescriptor / @UnionValue; onscreen appEntityIdentifier; Spotlight with @ComputedProperty / @DeferredProperty(indexingKey:), IndexedEntityQuery, relatedAppEntityIdentifier; RelevantEntities; SyncableEntity / EntityOwnership; SystemShortcut / RunSystemShortcutIntent; EntityCollection; AppUnionValue; @AppIntent(schema:) schemas (replacing deprecated @AssistantIntent); AppIntentsTesting; or what's new in App Intents. For evergreen best practices, use the app-intents-specialist skill instead.
15 files89stars - app-resizabilityartemnovichkov/xcode-skills
Use when an app's layout must adapt to a window that changes size while the app runs, or when an app must support more than one window. That includes being asked to make an app resizable or support a resizable window, a layout that breaks or does not adapt as the window resizes, and preparing or optimizing an app for the foldable iPhone Duo, split-screen multitasking, or Stage Manager. Modernizes the app by replacing legacy shared-state APIs with context-appropriate alternatives: mainScreen, interfaceOrientation, userInterfaceIdiom, application and scene lifecycle, and safe area insets.
6 files89stars - audit-xcode-security-settingsartemnovichkov/xcode-skills
Audit and enable security-oriented Xcode build settings. Progressively enables compiler warnings, static analyzer checkers, and Enhanced Security features. Use when: user wants to secure their Xcode project, audit security settings, enable hardening, review security posture of build configuration, set up security-focused static analysis, enable static analysis, improve warning coverage, harden diagnostics, or catch more bugs at compile time in C/C++/Objective-C/Swift. SKIP: network security (TLS/ATS), code signing, privacy APIs.
18 files89stars - building-document-based-swiftui-applicationsartemnovichkov/xcode-skills
Authoritative guide for building and migrating document-based apps in SwiftUI using the Document protocol (iOS 27 and aligned releases, including macOS Golden Gate). Consult when building a new document-based app; implementing open, edit, save, or export document flows; working with DocumentGroup or DocumentGroupLaunchScene; implementing DocumentReader or DocumentWriter; using FileWrapper via FileWrapperDocumentReader or FileWrapperDocumentWriter; working with package documents; accessing a document's file URL directly; reporting progress during read/write; registering undo actions; migrating from FileDocument or ReferenceFileDocument to the new API; building a read-only document viewer; when autosave is not working in a document app; declaring custom UTType as document formats.
4 files89stars - macos-touch-gesturesartemnovichkov/xcode-skills
Use when adding or auditing direct touch support in a macOS app (e.g. an iPad through Sidecar) alongside mouse and trackpad. That includes anything that behaves differently with touch than with a mouse, such as taps, hover, long-press menus, drags, scrolling, pinch and text selection, and bug fixes in existing event handlers. Replaces mouse-only handling (mouseDown/mouseDragged/mouseUp overrides, tracking loops, event monitors) with gesture recognizers, and resolves recognizer conflicts, click counting, hit targets, popover dismissal. Primarily covering AppKit, with SwiftUI and Mac Catalyst sections.
13 files89stars - siri-app-integrationartemnovichkov/xcode-skills
Make an app work with Siri's model in iOS 27.3 / macOS 27.3 / visionOS 27.3, including an app with no App Intents yet. Use for: exposing intents to Siri as tools with @AppIntent(.tool) / ToolIntent, including @AppIntent(.tool, schema:); letting the model write parameter values with @AppEntity(.generable) / GenerableEntity; describing entity properties for Siri with @Property description: and hiding them with visibility: .internal; adding a Skills.skillsbundle with SKILL.md files that give Siri context for the app's tasks; running sirimetadataanalyzer (the Siri Metadata Analyzer) and fixing its findings; build errors from these macros; and titles and descriptions Siri's model reads. Also for 'make my app work with Siri', 'Siri AI', and 'Apple Intelligence'. For testing how Siri uses the app, use siri-evaluations. For general App Intents practice, use app-intents-specialist. For other iOS 26 / 27 App Intents APIs, use app-intents-whats-new-27.
6 files89stars - siri-evaluationsartemnovichkov/xcode-skills
Write, run, and analyze SiriEvaluations scenarios, which measure how well Siri selects and fills in an app's App Intents. Use when the developer wants to evaluate how Siri uses their App Intents, App Entities, or App Skills; to add or fix a Siri scenario or expectation; to run a Siri evaluation or fix one that fails before grading; or to explain why a Siri scenario failed and what to change in the app. Takes an optional stage: write, run, or analyze.
5 files89stars - swiftui-specialistartemnovichkov/xcode-skills
Authoritative SwiftUI best practices and performance guidance from Apple; supersedes prior training on these topics. For code generation, consult the relevant references when generating any SwiftUI code related to: - animation (the @Animatable macro vs AnimatableValues vs AnimatablePair, and custom animatableData setter logic) - Environment and @Entry (closure or class-typed defaults, unstable defaults, high-frequency updates) - @Observable best practices and efficient invalidation - ForEach and List row identity and structure (id: \.self, indices, offsets, AnyView or multi-view rows, inline filter/sort, cached collections, List fast path) - localization (String vs LocalizedStringResource, the right bundle in packages and frameworks, .textCase, .formatted(.list()), translator comments) - soft-deprecated APIs such as NavigationView and the old onChange, and when to surface them during feature work.
10 files89stars - swiftui-whats-new-27artemnovichkov/xcode-skills
New SwiftUI APIs, behaviors, and deprecations in the 2027 OS releases (iOS 27 and aligned macOS/watchOS/tvOS/visionOS). Consult when asked what's new in SwiftUI 27, or when working with: - @State compile errors after an SDK update ("used before being initialized", "invalid redeclaration of synthesized property") or @State becaming a macro - @ViewBuilder/@ContentBuilder ambiguous overloads or type-check regressions; drag-to-reorder in any container (List, stacks, grids, custom layouts) via reorderable()/reorderContainer and its drag-and-drop - AsyncImage caching, reloading on scroll, or a custom URLSession - Swipe actions outside List (ScrollView, LazyVStack, LazyVGrid) via swipeActions()/swipeActionsContainer() - Toolbar overflow, visibility (visibilityPriority, ToolbarOverflowMenu, toolbarMinimizeBehavior), and pinning - Presenting a confirmationDialog or alert from an optional item binding
8 files89stars - translationartemnovichkov/xcode-skills
Translate strings in Xcode String Catalogs (.xcstrings files). Prefer to use the `xcode-integration:translation-coordinator` skill for task-coordination. Use this skill when translating individual strings or working with String Catalogs. Should only be activated when translating a single string or a small batch of known string keys. The `translation-coordinator` skill should be used for anything else.
59 files89stars - accessibility-sufficient-contrast-specialistartemnovichkov/xcode-skills
Audits views for compliance with Apple's Sufficient Contrast accessibility nutrition label (WCAG 2.1 contrast ratios). Use when the user asks to check color contrast, audit contrast ratios, verify the Sufficient Contrast nutrition label, or review a view for accessibility.
89stars - device-interactionartemnovichkov/xcode-skills
Verify app behavior on a device via screenshots, UI hierarchy, and touch interactions.
89stars - modernize-testsartemnovichkov/xcode-skills
Migrate XCTests and XCUIAutomation suites to Swift Testing, and update existing Swift Testing tests to recommended patterns. Use when working with XCTest, XCUIAutomation, or when improving existing #expect/#require, @Test, and @Suite code.
89stars - translation-coordinatorartemnovichkov/xcode-skills
Coordinates translation of an Xcode project or its String Catalogs (.xcstrings) into other languages. This is the main skill to activate when asked to work on translating strings, adding languages or working with .xcstrings files. Handles the full workflow: preparing the project for a new language, fetching untranslated strings, delegating translation work, and verifying results.
89stars - adopt-c-bounds-safetyartemnovichkov/xcode-skills
Guide for the C -fbounds-safety language extension. Covers the language model, pointer annotations, adopting bounds-safety in existing C code, compiler build settings and modes, and runtime debugging of bounds violations.
6 files89stars - xctraceartemnovichkov/xcode-skills
Authoritative guide to xctrace, Apple's command-line interface to Instruments. Consult for any profiling, performance, or optimization work — for example, finding out why an app is slow, uses too much CPU or memory, or stops responding, or wanting to optimize a piece of code and measure the result — and whenever xctrace comes up for any reason: capturing traces, or opening and reading `.trace` and `.atrc` (Apple Trace) files from the command line.
3 files89stars
xcode-skills plugin questions
How do I install the xcode-skills plugin?
In Claude Code run /plugin marketplace add artemnovichkov/xcode-skills, then /plugin install xcode-skills@xcode-skills.
What does the xcode-skills plugin include?
xcode-skills bundles 19 skills, MCP servers.
How do I update or remove the xcode-skills plugin?
Update it with claude plugin update xcode-skills@xcode-skills in your shell, or from the Installed tab of /plugin. Remove it with /plugin uninstall xcode-skills@xcode-skills.