widgetkit
Installation
SKILL.md
WidgetKit — Foundations Skill
Purpose
Route WidgetKit implementation tasks to the minimum required WidgetKit
Knowledge Contracts. v1 scope is home-screen and Lock-Screen widgets
built with Widget/WidgetConfiguration and TimelineProvider only —
no Live Activities, no watchOS complications as a distinct surface, no
Control Widgets, no StandBy-specific layout.
Routing
Load only the contracts relevant to the task. All paths relative to knowledge/widgetkit/.
- Conforming to
Widget,WidgetBundle, orWidgetConfiguration; choosingStaticConfiguration/AppIntentConfiguration; declaringsupportedFamiliesor reading@Environment(\.widgetFamily); applying.containerBackground(for: .widget); or thekindstring's stability -> widget-declaration-and-families.md - Implementing
TimelineProvider'splaceholder(in:),getSnapshot(in:completion:), orgetTimeline(in:completion:); building aTimelineofTimelineEntryvalues; or choosing aTimelineReloadPolicy-> timeline-provider-and-entries.md - Wiring
widgetURL(_:),Link,Button(intent:), orToggle(_:isOn:intent:)into a widget's view -> widget-interactivity-and-deep-links.md - Calling
WidgetCenter.shared.reloadTimelines(ofKind:)/reloadAllTimelines(), or reasoning about the refresh budget -> timeline-reloading-and-refresh-budget.md