Agent skill · software engineering · dpearson2699
widgetkit
Implement, review, or improve WidgetKit widgets and controls. Use when building Home Screen, Lock Screen, StandBy, or CarPlay widgets with timeline providers; configurable widgets with AppIntentTimelineProvider; interactive widgets or Control Center controls with Button/Toggle wiring; WidgetKit push reloads, refresh budgets, deep links, Smart Stack relevance, Liquid Glass/accented rendering, widget extension setup, WidgetBundle, App Groups, and entitlements.
Why this skill is useful
Provides specific implementation patterns and configurations for WidgetKit that the AI wouldn't reliably generate on its own.
What it needs
Requires xcode installed locally. About 8k tokens when loaded. Last updated 2026-07-31. 973 stars on the source repository.
What this skill does
WidgetKit Build home screen widgets, Lock Screen widgets, Control Center controls, and StandBy or CarPlay widget surfaces for iOS 26+. Keep adjacent-framework guidance scoped to WidgetKit integration. Include ActivityKit and App Intents only where they connect directly to WidgetKit surfaces; hand off full lifecycle, APNs content-state, Siri/Shortcuts/Spotlight, or entity-modeling work to sibling activitykit or app-intents skills. See references/widgetkit-advanced.md for timeline strategies, push-based updates, Xcode setup, and advanced patterns. Contents Workflow Widget Protocol and WidgetBundle Configuration Types TimelineProvider AppIntentTimelineProvider Widget Families Interactive Widgets (iOS 17+) ActivityConfiguration Handoff Control Center Widgets (iOS 18+) Lock Screen Widgets StandBy Mode Widget URL Handling and Deep Links Smart Stack Relevance Design Patterns iOS 26 Additions Common Mistakes Review Checklist References Workflow 1. Create a new widget 1. Add a Widget Extension target in Xcode (File > New > Target > Widget Extension). 2. Enable App Groups for shared data between the app and widget extension. 3. Define a TimelineEntry struct with a date property and display data. 4. Implement a TimelineProvider (static) or AppIntentTimelineProvider (configurable). 5. Build the widget view using SwiftUI, adapting layout per WidgetFamily. 6. Declare the Widget conforming struct with a configuration and supported families. 7. Register all widgets in a WidgetBundle annotated with @main. 2. Integrate adjacent surfaces 1. Register an ActivityConfiguration in the widget bundle when the app has a Live Activity, but keep ActivityAttributes, request/update/end, APNs content-state, and Dynamic Island layout depth in activitykit. 2. Place Button, Toggle, ControlWidgetButton, and ControlWidgetToggle in WidgetKit views or controls, but keep intent modeling, entities, queries, Siri, Shortcuts, and Spotlight in app-intents. 3. Add a Control Center control 1. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills dpearson2699/widgetkit