Activitykit

iOS Live Activity and Dynamic Island patterns plus a 20-item ActivityKit review checklist

Tested · Works

Test report

Verdict
Tested · Works
Score
8.8/10
Tested
Jul 21, 2026
Environment
Claude Code 2.x (agent harness)
Upstream re-checked
Aug 10, 2026 · 936d023

Installed into a throwaway HOME via the install block above and confirmed ~/.claude/skills/activitykit/SKILL.md lands; frontmatter parses to name+description only (554 chars), all three raw files return HTTP 200, the relative link and its #push-to-update-server-payload-format anchor both resolve to line 234 of the 953-line reference, and grep found no curl|sh, base64 payloads, secret exfiltration, or hardcoded machine paths (the only curl is a documented APNs example using $JWT_TOKEN). For output I wrote a 130-line ride-sharing Live Activity file with 12 planted ActivityKit defects and reviewed it twice: baseline caught 6 (deprecated contentState API, missing end on cancel/sign-out, PII on Lock Screen, 180KB blob in ContentState, network in the widget view, content-state key mismatch) while the checklist-driven pass caught all 12, including the four baseline missed entirely — NSSupportsLiveActivities sitting in the widget extension instead of the host app (fatal, nothing starts), no staleDate/context.isStale handling, no ActivityAuthorizationInfo gate, and style:.transient being wrong for persistent ride tracking — plus it diagnosed *why* the payload fails (ClosedRange<Date> encodes as a two-element array, not the ISO string sent) and that apns-topic needs the .push-type.liveactivity suffix. Docked to 8 because the skill pass, being checklist-shaped, dropped the try!/force-unwrapped-URL crash that baseline flagged, and nothing here compiles or runs on a device.

Scored on four weighted criteria — install, triggering, output vs. baseline, docs. How scoring works

  • Installs cleanly 5/5
  • Triggers reliably 5/5
  • Output vs. baseline 7/10
  • Docs & honesty 5/5

What Activitykit does

Guides implementation and review of iOS Live Activities and Dynamic Island presentations built on ActivityKit, covering ActivityAttributes and ContentState design, the request/update/end lifecycle, Lock Screen and Dynamic Island layouts, APNs push-to-update and push-to-start, and a 20-item review checklist. Triggers when work involves ActivityKit, Live Activities, Dynamic Island compact/expanded/minimal regions, activity push tokens, or aps.content-state payloads. Includes a 950-line reference file with full Swift snippets, APNs payload examples, and Info.plist keys.

How to install Activitykit

git clone --depth 1 https://github.com/dpearson2699/swift-ios-skills.git /tmp/activitykit-src
mkdir -p ~/.claude/skills
cp -R /tmp/activitykit-src/skills/activitykit ~/.claude/skills/activitykit
# Installs SKILL.md + references/activitykit-patterns.md + evals/evals.json. No deps, no API keys.
# Repo holds 86 sibling iOS skills; this copies only activitykit.
# Alternative (whole marketplace, Claude Code plugin): /plugin marketplace add dpearson2699/swift-ios-skills
# Alternative (interactive picker, any agent): npx skills add dpearson2699/swift-ios-skills
# Cleanup: rm -rf /tmp/activitykit-src

Skills live in ~/.claude/skills/ (global) or .claude/skills/ (per-project). Restart Claude Code after installing.

Commands — how to trigger Activitykit

  • /activitykit iOS Live Activity and Dynamic Island patterns plus a 20-item ActivityKit review checklist

It also activates on plain-language prompts like these:

  • Add a Dynamic Island layout for delivery tracking
  • Implement push-to-update Live Activities for scores
  • Review my ActivityKit lifecycle handling code

Frequently asked questions

Is the Activitykit skill free?
Yes. The skill itself is free from dpearson2699/swift-ios-skills. SkillProof publishes the install command and an independent test verdict at no cost.
Does Activitykit work with Claude Code?
We tested it with Claude Code 2.x (agent harness) on Jul 21, 2026. Verdict: Tested · Works. Installed into a throwaway HOME via the install block above and confirmed ~/.claude/skills/activitykit/SKILL.md lands; frontmatter parses to name+description only (554 chars), all three raw files return HTTP 200, the relative link and its #push-to-update-server-payload-format anchor both resolve to line 234 of the 953-line reference, and grep found no curl|sh, base64 payloads, secret exfiltration, or hardcoded machine paths (the only curl is a documented APNs example using $JWT_TOKEN). For output I wrote a 130-line ride-sharing Live Activity file with 12 planted ActivityKit defects and reviewed it twice: baseline caught 6 (deprecated contentState API, missing end on cancel/sign-out, PII on Lock Screen, 180KB blob in ContentState, network in the widget view, content-state key mismatch) while the checklist-driven pass caught all 12, including the four baseline missed entirely — NSSupportsLiveActivities sitting in the widget extension instead of the host app (fatal, nothing starts), no staleDate/context.isStale handling, no ActivityAuthorizationInfo gate, and style:.transient being wrong for persistent ride tracking — plus it diagnosed *why* the payload fails (ClosedRange<Date> encodes as a two-element array, not the ISO string sent) and that apns-topic needs the .push-type.liveactivity suffix. Docked to 8 because the skill pass, being checklist-shaped, dropped the try!/force-unwrapped-URL crash that baseline flagged, and nothing here compiles or runs on a device.
What is the Activitykit SkillProof Score?
8.8/10 — installs cleanly 5/5, triggers reliably 5/5, output vs. baseline 7/10, docs & honesty 5/5.
How do I install Activitykit?
Copy the install command from this page, run it in your terminal, and restart Claude Code. Skills live in ~/.claude/skills/ (global) or .claude/skills/ inside a project.
Can I use Activitykit with Cursor, Copilot, Gemini CLI, Codex or other AI tools?
The SKILL.md format is native to Claude (Claude Code, Desktop, claude.ai). The instructions inside adapt to other assistants: Cursor rules, GitHub Copilot instructions, Windsurf rules, Custom GPTs, AGENTS.md for OpenAI Codex, and GEMINI.md for Google Gemini CLI — our conversion guides cover each, and the free converter on the tools page does the wrapping for you.