Activitykit

Pattern iOS Live Activity e Dynamic Island più una checklist di revisione ActivityKit di 20 elementi.

di dpearson2699 · dpearson2699/swift-ios-skills

Promosso ★ 8.8/10

Activitykit — Pattern iOS Live Activity e Dynamic Island più una checklist di revisione ActivityKit di 20 elementi.

Cosa fa

Guida l'implementazione e la revisione di iOS Live Activities e presentazioni Dynamic Island basate su ActivityKit, coprendo la progettazione di ActivityAttributes e ContentState, il ciclo di vita request/update/end, i layout Lock Screen e Dynamic Island, APNs push-to-update e push-to-start, e una checklist di revisione di 20 elementi. Si attiva quando il lavoro coinvolge ActivityKit, Live Activities, regioni compatte/espanse/minimali di Dynamic Island, token push di attività o payload aps.content-state. Include un file di riferimento di 950 righe con snippet Swift completi, esempi di payload APNs e chiavi Info.plist.

Rapporto di test

Installato in una HOME temporanea tramite il blocco di installazione sopra e confermato che ~/.claude/skills/activitykit/SKILL.md si trova; il frontmatter analizza solo name+description (554 caratteri), tutti e tre i file raw restituiscono HTTP 200, il link relativo e il suo ancoraggio #push-to-update-server-payload-format si risolvono entrambi alla riga 234 del riferimento di 953 righe, e grep non ha trovato curl|sh, payload base64, esfiltrazione di segreti o percorsi macchina hardcoded (l'unico curl è un esempio APNs documentato che usa $JWT_TOKEN). Per l'output ho scritto un file Live Activity di ride-sharing di 130 righe con 12 difetti ActivityKit inseriti e l'ho revisionato due volte: la baseline ne ha catturati 6 (API contentState deprecata, end mancante su cancel/sign-out, PII su Lock Screen, blob da 180KB in ContentState, rete nella vista del widget, disallineamento chiave content-state) mentre il passaggio guidato dalla checklist li ha catturati tutti e 12, inclusi i quattro che la baseline aveva completamente mancato — NSSupportsLiveActivities che si trova nell'estensione del widget invece che nell'app host (fatale, nulla parte), nessuna gestione staleDate/context.isStale, nessun gate ActivityAuthorizationInfo, e style:.transient errato per il tracciamento persistente delle corse — inoltre ha diagnosticato *perché* il payload fallisce (ClosedRange<Date> codifica come un array di due elementi, non la stringa ISO inviata) e che apns-topic necessita del suffisso .push-type.liveactivity. Penalizzato a 8 perché il passaggio della skill, essendo a forma di checklist, ha omesso il crash try!/force-unwrapped-URL che la baseline aveva segnalato, e nulla qui compila o viene eseguito su un dispositivo.

Testato il: 2026-07-21 · Claude Code 2.x (agent harness)

Installazione

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

Comandi e prompt di esempio

  • /activitykitPattern iOS Live Activity e Dynamic Island più una checklist di revisione ActivityKit di 20 elementi.

Gli skill si attivano con richieste in linguaggio naturale, senza comandi da ricordare. Dopo l'installazione, prompt come questi lo attivano (in inglese):

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