relevancekit

Attach contextual relevance signals to watchOS Smart Stack widgets.

Updated May 10, 2026
One-click install
npx skills add https://github.com/FelixRauch/medat-figuren --skill relevancekit-felixrauch
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: relevancekit
Source: https://github.com/FelixRauch/medat-figuren/tree/main/.agents/skills/relevancekit
Command: npx skills add https://github.com/FelixRauch/medat-figuren --skill relevancekit-felixrauch

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

RelevanceKit helps app and widget developers increase Smart Stack visibility by providing accurate, contextual “when this widget matters” signals on Apple Watch.

Core Features & Use Cases

  • Time-based relevance: Make widgets appear around specific moments using single dates, date ranges, or intervals with optional date kinds (e.g., scheduled).
  • Location-based relevance: Trigger widget visibility from inferred places (home/work/school/commute) or from specific regions and point-of-interest categories.
  • Personal context relevance: Drive relevance using fitness and sleep states (HealthKit) and connected hardware (e.g., headphones).
  • Composable relevance logic: Return multiple relevance attributes ordered by priority so the system can select the best subset.
  • Two integration paths: Add relevance to timeline providers via relevance() and/or build watchOS 26+ “relevant widgets” via RelevanceConfiguration + RelevanceEntriesProvider.
  • Practical widget wiring: Handle widget-extension permissions, preview rendering, placeholder entries, deduplication with .associatedKind(_:), and permission-aware graceful degradation.

Quick Start

Implement RelevanceKit relevance for your watchOS widget by creating RelevantContext clues (time/location/fitness/sleep/hardware as needed), returning ordered WidgetRelevanceAttribute items from your provider, and wiring them into either AppIntentTimelineProvider.relevance() or a RelevanceConfiguration using RelevanceEntriesProvider on watchOS 26+.

Frequently Asked Questions about relevancekit

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I make my watchOS widget appear in the Smart Stack at the right time?

You trigger Smart Stack widget visibility on watchOS by constructing RelevantContext clues and returning ordered WidgetRelevanceAttribute lists via a relevance provider, attaching contextual signals that tell the system when your widget matters.

What is the difference between AppIntentTimelineProvider.relevance() and RelevanceEntriesProvider for watchOS widgets?

AppIntentTimelineProvider.relevance() adds relevance signals to existing timeline providers, while RelevanceEntriesProvider with RelevanceConfiguration builds dedicated relevant widgets introduced in watchOS 26+. RelevanceKit supports both integration paths for surfacing widgets contextually.

Can I combine time, location, and HealthKit fitness signals for a single watchOS widget?

Yes, you can combine time, location, and fitness or sleep states into composable relevance logic. You return multiple WidgetRelevanceAttribute items ordered by priority so the system can select the best subset for your Smart Stack widget.

How do I handle watchOS widget extension permissions when configuring Smart Stack relevance?

You must configure correct watchOS permissions for your widget extension to ensure graceful degradation. RelevanceKit guides you through permission-aware handling, preview rendering, and placeholder entries so widgets degrade smoothly if required access is denied.

What are the options for location-based widget relevance on Apple Watch?

Location-based widget relevance can be triggered by inferred places like home, work, school, or commute, as well as specific geographic regions and point-of-interest categories. You construct these as RelevantContext clues for the Smart Stack.

How do I deduplicate Smart Stack widgets using associatedKind?

You deduplicate Smart Stack widgets by applying the .associatedKind(_:) modifier to your relevance attributes. This ensures the system correctly identifies and manages overlapping widget entries when multiple relevance contexts trigger simultaneously.