Activitykit
Wzorce iOS Live Activity i Dynamic Island plus 20-punktowa lista kontrolna przeglądu ActivityKit
Testowano · Działa
Co robi ten skill
Prowadzi przez implementację i przegląd iOS Live Activities i prezentacji Dynamic Island zbudowanych na ActivityKit, obejmując projekt ActivityAttributes i ContentState, cykl życia request/update/end, układy Lock Screen i Dynamic Island, APNs push-to-update i push-to-start oraz 20-punktową listę kontrolną przeglądu. Uruchamia się, gdy praca dotyczy ActivityKit, Live Activities, regionów Dynamic Island compact/expanded/minimal, tokenów push aktywności lub ładunków aps.content-state.
Raport z testu
Zainstalowano w tymczasowym HOME za pomocą powyższego bloku instalacji i potwierdzono, że ~/.claude/skills/activitykit/SKILL.md wylądował; frontmatter parsowany tylko do name+description (554 znaki), wszystkie trzy surowe pliki zwróciły HTTP 200, względny link i jego kotwica #push-to-update-server-payload-format oba rozwiązują się do linii 234 z 953-liniowej referencji, a grep nie znalazł curl|sh, ładunków base64, eksfiltracji tajemnic ani hardcoded machine paths (jedyny curl to udokumentowany przykład APNs używający $JWT_TOKEN). Dla wyjścia napisałem 130-liniowy plik Live Activity do współdzielenia przejazdów z 12 zasadzonymi defektami ActivityKit i przejrzałem go dwukrotnie: bazowy wykrył 6 (przestarzałe API contentState, brak end przy anulowaniu/wylogowaniu, PII na Lock Screen, 180KB blob w ContentState, sieć w widoku widżetu, niezgodność klucza content-state), podczas gdy przejście oparte na liście kontrolnej wykryło wszystkie 12, w tym cztery, które bazowy całkowicie pominął — NSSupportsLiveActivities znajdujące się w rozszerzeniu widżetu zamiast w aplikacji hosta (fatalne, nic się nie uruchamia), brak obsługi staleDate/context.isStale, brak bramki ActivityAuthorizationInfo, i style:.transient będące błędne dla trwałego śledzenia przejazdów — plus zdiagnozował *dlaczego* ładunek zawodzi (ClosedRange<Date> koduje się jako dwuelementowa tablica, a nie wysłany ciąg ISO) i że apns-topic potrzebuje sufiksu .push-type.liveactivity. Obniżono do 8, ponieważ przejście umiejętności, będąc w formie listy kontrolnej, pominęło awarię try!/force-unwrapped-URL, którą zgłosił bazowy, i nic tutaj nie kompiluje się ani nie działa na urządzeniu.
Testowano: 2026-07-21 · Claude Code 2.x (agent harness)
Instalacja
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
Komendy i przykładowe prompty
/activitykitWzorce iOS Live Activity i Dynamic Island plus 20-punktowa lista kontrolna przeglądu ActivityKit
Skille uruchamiają się na zwykłe polecenia — bez komend do zapamiętania. Po instalacji aktywują go prompty takie jak te (po angielsku):
Add a Dynamic Island layout for delivery trackingImplement push-to-update Live Activities for scoresReview my ActivityKit lifecycle handling code