Implement, review, or improve widgets, Live Activities, and controls using WidgetKit and ActivityKit. Use when building home screen, Lock Screen, or StandBy widgets with timeline providers; when creating interactive widgets with Button/Toggle and AppIntent actions; when adding Live Activities with Dynamic Island layouts (compact, minimal, expanded); when building Control Center widgets with ControlWidgetButton/ControlWidgetToggle; when configuring widget families, refresh budgets, deep links, pu
The WidgetKit skill provides comprehensive support for building iOS widgets, Live Activities, Dynamic Island experiences, and Control Center controls using Apple's WidgetKit and ActivityKit frameworks. It addresses the challenge of creating rich, glanceable experiences that live outside your main app, from home screen widgets to Lock Screen complications and real-time Live Activities that appear in the Dynamic Island. This skill handles the complete lifecycle of widget development, including timeline management, push-based updates, interactive elements, and proper configuration of widget extensions.
The skill covers all widget types and configurations available in iOS 26+, including StaticConfiguration and AppIntentConfiguration with timeline providers, interactive widgets using Button and Toggle with AppIntent actions, and Live Activities with ActivityAttributes and ContentState. It supports all widget families (systemSmall, systemMedium, systemLarge, accessoryCircular, accessoryRectangular, accessoryInline) and includes expertise in Dynamic Island layouts (compact, minimal, expanded), Control Center widgets with ControlWidgetButton and ControlWidgetToggle, and StandBy mode optimization. The skill also handles critical infrastructure setup like App Groups for data sharing between extensions, widget refresh budgets, deep linking, and Xcode project configuration.
This skill is essential for iOS developers building modern apps that need to provide information or functionality outside the main app interface. Use cases include order tracking widgets, fitness activity displays, delivery status Live Activities, smart home quick controls, calendar event complications, and any scenario where users benefit from at-a-glance information or quick actions without launching the full app. It's particularly valuable for apps that need real-time updates through Live Activities or want to provide Control Center integration for frequent user actions.
StaticConfiguration creates non-configurable widgets that use a TimelineProvider, while AppIntentConfiguration creates user-configurable widgets that use an AppIntentTimelineProvider, allowing users to customize widget settings through AppIntent-based configuration interfaces.
Enable App Groups in both the main app and widget extension targets, then use UserDefaults(suiteName:) or shared file containers to read and write data that both targets can access. The widget can read data written by the app to display current information.
Live Activities require iOS 16.1+, while Dynamic Island presentations are available on iPhone 14 Pro and later models. This skill targets iOS 26+ but includes patterns compatible with earlier versions where applicable.
Timeline providers supply an array of TimelineEntry objects that specify when to display different content. The system controls refresh frequency based on budget constraints, user interaction patterns, and system resources. Push-based updates can trigger refreshes outside the normal schedule.
Yes, starting with iOS 17, widgets support interactive elements like Button and Toggle that trigger AppIntent actions directly from the widget without opening the app. Control Center widgets (iOS 18+) use ControlWidgetButton and ControlWidgetToggle for similar functionality.
Quick Setup:
.claude/skills/Repository
dpearson2699/swift-ios-skills