axiom-extensions-widgets-ref▌
charleswiltgen/axiom · updated Apr 8, 2026
MDX-style export adds YAML metadata + attribution linking explainx.ai and this canonical listing URL.
This skill provides comprehensive API reference for Apple's widget and extension ecosystem:
Extensions & Widgets API Reference
Overview
This skill provides comprehensive API reference for Apple's widget and extension ecosystem:
- Standard Widgets (iOS 14+) — Home Screen, Lock Screen, StandBy widgets
- Interactive Widgets (iOS 17+) — Buttons and toggles with App Intents
- Live Activities (iOS 16.1+) — Real-time updates on Lock Screen and Dynamic Island
- Control Center Widgets (iOS 18+) — System-wide quick controls
- Liquid Glass Widgets (iOS 26+) — Accented rendering, glass effects, container backgrounds
- visionOS Widgets (visionOS 2+) — Mounting styles, textures, proximity awareness
- App Extensions — Shared data, lifecycle, entitlements
Widgets are SwiftUI archived snapshots rendered on a timeline by the system. Extensions are sandboxed executables bundled with your app.
When to Use This Skill
✅ Use this skill when:
- Implementing any type of widget (Home Screen, Lock Screen, StandBy)
- Creating Live Activities for ongoing events
- Building Control Center controls
- Sharing data between app and extensions
- Understanding widget timelines and refresh policies
- Integrating widgets with App Intents
- Adopting Liquid Glass rendering in widgets
- Supporting watchOS or visionOS widgets
- Implementing visionOS mounting styles, textures, or proximity awareness
❌ Do NOT use this skill for:
- Pure App Intents questions (use app-intents-ref skill)
- SwiftUI layout issues (use swiftui-layout skill)
- Performance optimization (use swiftui-performance skill)
- Debugging crashes (use xcode-debugging skill)
Related Skills
- app-intents-ref — App Intents for interactive widgets and configuration
- swift-concurrency — Async/await patterns for widget data loading
- swiftui-performance — Optimizing widget rendering
- swiftui-layout — Complex widget layouts
- extensions-widgets — Discipline skill with anti-patterns and debugging
Key Terminology
- Timeline — Series of entries defining when/what content to display; system shows entries at specified times
- TimelineProvider — Protocol supplying timeline entries (placeholder, snapshot, timeline generation)
- TimelineEntry — Struct with widget data + display date
- Timeline Budget — Daily limit (40-70) for timeline reloads
- Budget-Exempt — Reloads that don't count (user-initiated, app foregrounding, system-initiated)
- Widget Family — Size/shape (systemSmall, systemMedium, accessoryCircular, etc.)
- App Groups — Entitlement for shared data container between app and extensions
- ActivityAttributes — Static data (set once) + dynamic ContentState (updated during lifecycle)
- ContentState — Changing part of ActivityAttributes; must be under 4KB total
- Dynamic Island — iPhone 14 Pro+ Live Activity display; compact, minimal, and expanded sizes
- ControlWidget — iOS 18+ widgets for Control Center, Lock Screen, and Action Button
- Supplemental Activity Families — Enables Live Activities on Apple Watch or CarPlay
Part 1: Standard Widgets (iOS 14+)
Widget Configuration Types
StaticConfiguration
For widgets that don't require user configuration.
@main
struct MyWidget: Widget {
let kind: String = "MyWidget"
var body: some WidgetConfiguration {
StaticConfiguration(kind: kind, provider: Provider()) { entry in
MyWidgetEntryView(entry: entry)
}
.configurationDisplayName("My Widget")
.description("This widget displays...")
.supportedFamilies([.systemSmall, .systemMedium, .systemLarge])
}
}
AppIntentConfiguration (iOS 17+)
For widgets with user configuration using App Intents.
struct MyConfigurableWidget: Widget {
let kind: String = "MyConfigurableWidget"
var body: some WidgetConfiguration {
AppIntentConfiguration(
kind: kind,
intent: SelectProjectIntent.self,
provider: Provider()
) { entry in
MyWidgetEntryView(entry: entry)
}
.configurationDisplayName("Project Status")
.description("Shows your selected project")
}
}
Migration from IntentConfiguration: iOS 16 and earlier used IntentConfiguration with SiriKit intents. Migrate to AppIntentConfiguration for iOS 17+.
ActivityConfiguration
For Live Activities (covered in Live Activities section).
Choosing the Right Configuration
No user configuration needed? Use StaticConfiguration. Simple static options? Use AppIntentConfiguration with WidgetConfigurationIntent. Dynamic options from app data? Use AppIntentConfiguration + EntityQuery.
Quick Reference:
- StaticConfiguration — No customization (weather, battery status)
- AppIntentConfiguration (simple) — Fixed options (timer presets, theme selection)
- AppIntentConfiguration (EntityQuery) — Dynamic list from app data (project/contact/playlist picker)
- ActivityConfiguration — Live ongoing events (delivery tracking, workout progress, sports scores)
Widget Families
System Families (Home Screen)
systemSmall(~170×170, iOS 14+) — Single piece of info, iconsystemMedium(~360×170, iOS 14+) — Multiple data points, chartsystemLarge(~360×380, iOS 14+) — Detailed view, listsystemExtraLarge(~720×380, iOS 15+ iPad only) — Rich layouts, multiple views
Accessory Families (Lock Screen, iOS 16+)
accessoryCircular(~48×48pt) — Circular complication, icon or gaugeaccessoryRectangular(~160×72pt) — Above clock, text + iconaccessoryInline(single line) — Above date, text only
Example: Supporting Multiple Families
struct MyWidget: Widget {
var body: some WidgetConfiguration {
StaticConfiguration(kind: "MyWidget", provider: Provider()) { entry in
if #available(iOSApplicationExtension 16.0, *) {
switch entry.family {
case .systemSmall:
SmallWidgetView(entry: entry)
case .systemMedium:
MediumWidgetView(entry: entry)
case .accessoryCircular:
CircularWidgetView(entry: entry)
case .accessoryRectangular:
RectangularWidgetView(entry: entry)
default:
Text("Unsupported")
}
} else {
LegacyWidgetView(entry: entry)
}
}
.supportedFamilies([
.systemSmall,
.systemMedium,
.accessoryCircular,
.accessoryRectangular
])
}
}
Timeline System
TimelineProvider Protocol
Provides entries that define when the system should render your widget.
struct Provider: TimelineProvider {
// Placeholder while loading
func placeholder(in context: Context) -> SimpleEntry {
SimpleEntry(date: Date(), emoji: "😀")
}
// Shown in widget gallery
func getSnapshot(in context: Context, completion: @escaping (SimpleEntry) -> ()) {
let entry = SimpleEntry(date: Date(), emoji: "📷")
completion(entry)
}
// Actual timeline
func getTimeline(in context: Context, completion: @escaping (Timeline<Entry>) -> ()) {
var entries: [SimpleEntry] = []
let currentDate = Date()
// Create entry every hour for 5 hours
for hourOffset in 0 ..< 5 {
let entryDate = Calendar.current.date(byAdding: .hour, value: hourOffset, to: currentDate)!
let entry = how to use axiom-extensions-widgets-refHow to use axiom-extensions-widgets-ref on Cursor
AI-first code editor with Composer
1Prerequisites
Before installing skills in Cursor, ensure your development environment meets these requirements:
- ›Cursor installed and configured on your development machine
- ›Node.js version 16.0+ with npm package manager (verify with
node --version) - ›Active project directory or workspace where you want to add axiom-extensions-widgets-ref
2Execute installation command
Execute the skills CLI command in your project's root directory to begin installation:
$npx skills add https://github.com/charleswiltgen/axiom --skill axiom-extensions-widgets-refThe skills CLI fetches axiom-extensions-widgets-ref from GitHub repository charleswiltgen/axiom and configures it for Cursor.
3Select Cursor when prompted
The CLI will show a list of available agents. Use arrow keys to navigate and space to select Cursor:
◆ Which agents do you want to install to?││ ── Universal (.agents/skills) ── always included ────│ • Amp│ • Antigravity│ • Cline│ • Codex│ ●Cursor(selected)│ • Cursor│ • Windsurf4Verify installation
Confirm successful installation by checking the skill directory location:
.cursor/skills/axiom-extensions-widgets-refReload or restart Cursor to activate axiom-extensions-widgets-ref. Access the skill through slash commands (e.g., /axiom-extensions-widgets-ref) or your agent's skill management interface.
⚠Security & Verification Notice
We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.
Skills execute code in your development environment. Always verify the publisher's identity, review recent commits, and test in isolated environments before production deployment.
Additional Resources
List & Monetize Your Skill
Submit your Claude Code skill and start earning
GET_STARTED →Use Cases▌
User Story & Requirements Generation
Create detailed user stories, acceptance criteria, and feature specs
Example
Generate user stories for 'password reset feature' with acceptance criteria, edge cases, and test scenarios
✓Reduce spec writing time by 50%, ensure comprehensive coverage
Competitive Analysis
Research competitors, compare features, identify gaps
Example
Analyze 5 competitor products, create feature comparison matrix, suggest differentiation opportunities
✓Complete competitive research in 2 hours instead of 2 days
Roadmap Prioritization
Evaluate features using frameworks (RICE, ICE, Kano) and create prioritized backlogs
Example
Score 20 feature ideas using RICE framework, generate prioritized roadmap with rationale
✓Make data-driven prioritization decisions faster
Stakeholder Communication
Draft PRDs, status updates, and stakeholder presentations
Example
Create executive summary of Q3 roadmap, monthly progress report, feature launch announcement
✓Save 3-5 hours/week on communication overhead
Implementation Guide▌
Prerequisites
- ›Claude Desktop or compatible AI client
- ›Access to product documentation and roadmap tools (Jira, Notion, etc.)
- ›Understanding of product management frameworks (RICE, Jobs-to-be-Done, etc.)
- ›Stakeholder contact information and communication channels
Time Estimate
30-60 minutes to see productivity improvements
Installation Steps
- 1.Install product management skill
- 2.Start with user story generation for known feature
- 3.Progress to competitive analysis: research 2-3 competitors
- 4.Use for roadmap prioritization: apply RICE/ICE scoring
- 5.Draft stakeholder communications and refine based on feedback
- 6.Build template library for recurring PM tasks
- 7.Share effective prompts with product team
Common Pitfalls
- ⚠Not validating competitive research—verify facts before sharing
- ⚠Accepting user stories without involving engineering team
- ⚠Over-relying on frameworks without qualitative judgment
- ⚠Not customizing outputs to company culture and communication style
- ⚠Skipping stakeholder validation of generated requirements
Best Practices▌
✓ Do
- +Validate research and competitive analysis with real data
- +Collaborate with engineering when generating technical requirements
- +Customize frameworks and templates to your company context
- +Use skill for first drafts, refine with stakeholder input
- +Document successful prompt patterns for PM tasks
- +Combine AI efficiency with human judgment and intuition
✗ Don't
- −Don't publish competitive analysis without fact-checking
- −Don't finalize user stories without engineering review
- −Don't make prioritization decisions solely on AI scoring
- −Don't skip customer validation of generated requirements
- −Don't ignore company-specific context and culture
💡 Pro Tips
- ★Provide context: company goals, constraints, customer feedback
- ★Ask for alternatives: 'Show 3 ways to prioritize this roadmap'
- ★Request stakeholder-specific formatting: 'Executive summary vs. engineering spec'
- ★Use skill for 70% generation + 30% customization to company needs
When to Use This▌
✓ Use When
Use for user story writing, competitive research, roadmap prioritization, stakeholder communication, and PRD drafting. Best for reducing repetitive documentation and research work.
✗ Avoid When
Avoid for strategic product vision (requires deep customer empathy), pricing decisions (needs market and financial expertise), or when face-to-face customer discovery is more valuable than speed.
Learning Path▌
- 1Basic: user stories, feature specs, status updates
- 2Intermediate: competitive analysis, prioritization frameworks, PRDs
- 3Advanced: product strategy, go-to-market planning, OKR setting
- 4Expert: product vision, market positioning, business model innovation
Discussion
Product Hunt–style comments (not star reviews)- No comments yet — start the thread.
general reviewsRatings
4.7★★★★★37 reviews- ★★★★★Henry Martinez· Dec 16, 2024
axiom-extensions-widgets-ref is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
- ★★★★★Chaitanya Patil· Dec 12, 2024
axiom-extensions-widgets-ref has been reliable in day-to-day use. Documentation quality is above average for community skills.
- ★★★★★Camila Dixit· Nov 15, 2024
axiom-extensions-widgets-ref has been reliable in day-to-day use. Documentation quality is above average for community skills.
- ★★★★★Camila Johnson· Nov 7, 2024
Solid pick for teams standardizing on skills: axiom-extensions-widgets-ref is focused, and the summary matches what you get after install.
- ★★★★★Charlotte Singh· Oct 26, 2024
We added axiom-extensions-widgets-ref from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
- ★★★★★Kiara Torres· Oct 6, 2024
Useful defaults in axiom-extensions-widgets-ref — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
- ★★★★★Hana Malhotra· Sep 21, 2024
axiom-extensions-widgets-ref is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
- ★★★★★Piyush G· Sep 5, 2024
Solid pick for teams standardizing on skills: axiom-extensions-widgets-ref is focused, and the summary matches what you get after install.
- ★★★★★Ren Harris· Sep 1, 2024
We added axiom-extensions-widgets-ref from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
- ★★★★★Shikha Mishra· Aug 24, 2024
We added axiom-extensions-widgets-ref from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
showing 1-10 of 37
1 / 4