Activitykit
iOS Live Activity und Dynamic Island Muster plus eine 20-Punkte ActivityKit-Überprüfungscheckliste
Getestet · Funktioniert
Was es kann
Leitet die Implementierung und Überprüfung von iOS Live Activities und Dynamic Island-Präsentationen, die auf ActivityKit basieren, abdeckend ActivityAttributes und ContentState-Design, den Request/Update/End-Lebenszyklus, Lock Screen- und Dynamic Island-Layouts, APNs Push-to-Update und Push-to-Start sowie eine 20-Punkte-Überprüfungscheckliste. Wird ausgelöst, wenn die Arbeit ActivityKit, Live Activities, Dynamic Island kompakte/erweiterte/minimale Regionen, Aktivitäts-Push-Tokens oder aps.content-state-Payloads umfasst. Enthält eine 950-zeilige Referenzdatei mit vollständigen Swift-Snippets, APNs-Payload-Beispielen und Info.plist-Schlüsseln.
Testbericht
Installiert in einem temporären HOME über den obigen Installationsblock und bestätigt, dass ~/.claude/skills/activitykit/SKILL.md landet; Frontmatter wird nur zu name+description (554 Zeichen) geparst, alle drei Rohdateien liefern HTTP 200, der relative Link und sein #push-to-update-server-payload-format-Anker lösen sich beide auf Zeile 234 der 953-zeiligen Referenz auf, und grep fand keine curl|sh, base64-Payloads, Geheimnis-Exfiltration oder fest codierte Maschinenpfade (der einzige curl ist ein dokumentiertes APNs-Beispiel, das $JWT_TOKEN verwendet). Für die Ausgabe schrieb ich eine 130-zeilige Ride-Sharing Live Activity-Datei mit 12 eingebauten ActivityKit-Fehlern und überprüfte sie zweimal: Baseline fing 6 ab (veraltete contentState API, fehlendes Ende bei Abbruch/Abmeldung, PII auf dem Sperrbildschirm, 180KB Blob in ContentState, Netzwerk in der Widget-Ansicht, Content-State-Schlüssel-Fehlübereinstimmung), während der Checklisten-gesteuerte Durchlauf alle 12 abfing, einschließlich der vier, die die Baseline vollständig verpasste – NSSupportsLiveActivities in der Widget-Erweiterung statt in der Host-App (fatal, nichts startet), keine staleDate/context.isStale-Behandlung, kein ActivityAuthorizationInfo-Gate und style:.transient falsch für persistente Fahrtenverfolgung – plus es diagnostizierte *warum* die Payload fehlschlägt (ClosedRange<Date> wird als Zwei-Elemente-Array kodiert, nicht als gesendeter ISO-String) und dass apns-topic das .push-type.liveactivity-Suffix benötigt. Auf 8 Punkte abgewertet, weil der Skill-Durchlauf, da er Checklisten-förmig ist, den try!/force-unwrapped-URL-Absturz, den die Baseline markierte, fallen ließ, und hier nichts auf einem Gerät kompiliert oder läuft.
Getestet am: 2026-07-21 · Claude Code 2.x (agent harness)
Installation
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
Befehle & Beispiel-Prompts
/activitykitiOS Live Activity und Dynamic Island Muster plus eine 20-Punkte ActivityKit-Überprüfungscheckliste
Skills reagieren auf normale Anfragen — keine Slash-Befehle nötig. Nach der Installation aktivieren Prompts wie diese den Skill (auf Englisch):
Add a Dynamic Island layout for delivery trackingImplement push-to-update Live Activities for scoresReview my ActivityKit lifecycle handling code