Activitykit
Vzory iOS Live Activity a Dynamic Island plus 20položkový kontrolní seznam ActivityKit
Otestováno · Funguje
Co umí
Provádí implementací a revizí iOS Live Activities a prezentací Dynamic Island postavených na ActivityKit, pokrývající design ActivityAttributes a ContentState, životní cyklus request/update/end, rozvržení Lock Screen a Dynamic Island, APNs push-to-update a push-to-start a 20položkový kontrolní seznam. Spouští se, když práce zahrnuje ActivityKit, Live Activities, kompaktní/rozšířené/minimální oblasti Dynamic Island, push tokeny aktivity nebo payloady aps.content-state. Zahrnuje 950řádkový referenční soubor s úplnými Swift úryvky, příklady payloadů APNs a klíči Info.plist.
Testovací report
Nainstalováno do dočasného HOME pomocí výše uvedeného instalačního bloku a potvrzeno, že ~/.claude/skills/activitykit/SKILL.md se umístil; frontmatter se parsuje pouze na name+description (554 znaků), všechny tři surové soubory vrátily HTTP 200, relativní odkaz a jeho kotva #push-to-update-server-payload-format se oba rozřeší na řádek 234 z 953řádkové reference a grep nenašel žádné curl|sh, base64 payloady, exfiltraci tajemství ani pevně zakódované cesty stroje (jediný curl je dokumentovaný příklad APNs používající $JWT_TOKEN). Pro výstup jsem napsal 130řádkový soubor Live Activity pro sdílení jízd s 12 vloženými defekty ActivityKit a dvakrát jsem ho zkontroloval: základní test zachytil 6 (zastaralé contentState API, chybějící end při zrušení/odhlášení, PII na Lock Screen, 180KB blob v ContentState, síť ve widgetu, neshoda klíčů content-state), zatímco průchod řízený kontrolním seznamem zachytil všech 12, včetně čtyř, které základní test zcela minul — NSSupportsLiveActivities umístěné v rozšíření widgetu namísto hostitelské aplikace (fatální, nic se nespustí), žádné zpracování staleDate/context.isStale, žádná brána ActivityAuthorizationInfo a style:.transient je špatné pro trvalé sledování jízd — navíc diagnostikoval *proč* payload selhává (ClosedRange<Date> se kóduje jako dvouprvkové pole, nikoli odeslaný ISO řetězec) a že apns-topic potřebuje příponu .push-type.liveactivity. Sníženo na 8, protože průchod dovednosti, který je ve tvaru kontrolního seznamu, vynechal pád try!/force-unwrapped-URL, který základní test označil, a nic zde se nekompiluje ani nespouští na zařízení.
Testováno: 2026-07-21 · Claude Code 2.x (agent harness)
Instalace
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
Příkazy a ukázkové prompty
/activitykitVzory iOS Live Activity a Dynamic Island plus 20položkový kontrolní seznam ActivityKit
Skilly se spouštějí běžnými požadavky — žádné příkazy k zapamatování. Po instalaci ho aktivují prompty jako tyto (anglicky):
Add a Dynamic Island layout for delivery trackingImplement push-to-update Live Activities for scoresReview my ActivityKit lifecycle handling code