Activitykit
iOS Live Activity en Dynamic Island patronen plus een 20-item ActivityKit review checklist
Getest · Werkt
Wat het doet
Begeleidt de implementatie en beoordeling van iOS Live Activities en Dynamic Island presentaties gebouwd op ActivityKit, met betrekking tot ActivityAttributes en ContentState ontwerp, de request/update/end lifecycle, Lock Screen en Dynamic Island layouts, APNs push-to-update en push-to-start, en een 20-item review checklist. Activeert wanneer werk ActivityKit, Live Activities, Dynamic Island compact/expanded/minimal regions, activity push tokens, of aps.content-state payloads omvat. Bevat een 950-regelig referentiebestand met volledige Swift snippets, APNs payload voorbeelden, en Info.plist keys.
Testrapport
Geïnstalleerd in een tijdelijke HOME via het bovenstaande installatieblok en bevestigd dat ~/.claude/skills/activitykit/SKILL.md terechtkomt; frontmatter parset alleen naar name+description (554 tekens), alle drie de ruwe bestanden retourneren HTTP 200, de relatieve link en zijn #push-to-update-server-payload-format anker lossen beide op naar regel 234 van de 953-regelige referentie, en grep vond geen curl|sh, base64 payloads, geheime exfiltratie, of hardcoded machinepaden (de enige curl is een gedocumenteerd APNs voorbeeld met $JWT_TOKEN). Voor de output schreef ik een 130-regelig ride-sharing Live Activity bestand met 12 ingebouwde ActivityKit defecten en beoordeelde het twee keer: baseline ving 6 op (deprecated contentState API, ontbrekende end bij annuleren/uitloggen, PII op Lock Screen, 180KB blob in ContentState, netwerk in de widget view, content-state key mismatch) terwijl de checklist-gedreven pass alle 12 ving, inclusief de vier die baseline volledig miste — NSSupportsLiveActivities in de widget extensie in plaats van de host app (fataal, niets start), geen staleDate/context.isStale afhandeling, geen ActivityAuthorizationInfo gate, en style:.transient verkeerd voor persistente ritregistratie — plus het diagnosticeerde *waarom* de payload faalt (ClosedRange<Date> codeert als een twee-elementen array, niet de verzonden ISO string) en dat apns-topic de .push-type.liveactivity suffix nodig heeft. Afgewaardeerd naar 8 omdat de skill pass, omdat het checklist-vormig was, de try!/force-unwrapped-URL crash die baseline markeerde, liet vallen, en niets hiervan compileert of draait op een apparaat.
Getest op: 2026-07-21 · Claude Code 2.x (agent harness)
Installatie
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
Commando's en voorbeeldprompts
/activitykitiOS Live Activity en Dynamic Island patronen plus een 20-item ActivityKit review checklist
Skills reageren op gewone verzoeken — geen commando's om te onthouden. Na installatie activeren prompts zoals deze de skill (in het Engels):
Add a Dynamic Island layout for delivery trackingImplement push-to-update Live Activities for scoresReview my ActivityKit lifecycle handling code