Activitykit
iOS Live Activity og Dynamic Island-mønstre pluss en 20-punkts ActivityKit-gjennomgangsjekkliste
Bestått
Hva den gjør
Veileder implementering og gjennomgang av iOS Live Activities og Dynamic Island-presentasjoner bygget på ActivityKit, som dekker ActivityAttributes og ContentState-design, request/update/end livssyklusen, Lock Screen og Dynamic Island-layouter, APNs push-to-update og push-to-start, og en 20-punkts gjennomgangsjekkliste. Utløses når arbeid involverer ActivityKit, Live Activities, Dynamic Island kompakte/utvidede/minimale regioner, aktivitet push-tokens, eller aps.content-state nyttelast. Inkluderer en 950-linjers referansefil med fullstendige Swift-snutter, APNs nyttelast-eksempler og Info.plist-nøkler.
Testrapport
Installert i en midlertidig HOME via installasjonsblokken ovenfor og bekreftet at ~/.claude/skills/activitykit/SKILL.md lander; frontmatter parset til kun name+description (554 tegn), alle tre råfilene returnerer HTTP 200, den relative lenken og dens #push-to-update-server-payload-format anker løser begge til linje 234 i den 953-linjers referansen, og grep fant ingen curl|sh, base64-nyttelast, hemmelig eksfiltrering, eller hardkodede maskinstier (den eneste curl er et dokumentert APNs-eksempel som bruker $JWT_TOKEN). For utdata skrev jeg en 130-linjers ride-sharing Live Activity-fil med 12 plantede ActivityKit-defekter og gjennomgikk den to ganger: baseline fanget 6 (deprecated contentState API, manglende end ved avbryt/logg ut, PII på Lock Screen, 180KB blob i ContentState, nettverk i widget-visningen, content-state nøkkel-mismatch) mens den sjekkliste-drevne gjennomgangen fanget alle 12, inkludert de fire baseline helt bommet på — NSSupportsLiveActivities som sitter i widget-utvidelsen i stedet for vertsappen (fatal, ingenting starter), ingen staleDate/context.isStale håndtering, ingen ActivityAuthorizationInfo gate, og style:.transient som var feil for vedvarende rutesporing — pluss at den diagnostiserte *hvorfor* nyttelasten feiler (ClosedRange<Date> koder som en to-elementers array, ikke ISO-strengen som ble sendt) og at apns-topic trenger .push-type.liveactivity-suffikset. Redusert til 8 fordi ferdighetsgjennomgangen, som er sjekkliste-formet, droppet try!/force-unwrapped-URL-krasjet som baseline flagget, og nothing here compiles or runs on a device.
Testet på: 2026-07-21 · Claude Code 2.x (agent harness)
Installer
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
Kommandoer og eksempelprompter
/activitykitiOS Live Activity og Dynamic Island-mønstre pluss en 20-punkts ActivityKit-gjennomgangsjekkliste
Skills utløses av vanlige forespørsler — ingen kommandoer å huske. Etter installasjonen aktiverer prompter som disse skillen (på engelsk):
Add a Dynamic Island layout for delivery trackingImplement push-to-update Live Activities for scoresReview my ActivityKit lifecycle handling code