CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

activitykit

Build or review Live Activities and Dynamic Island experiences with ActivityKit, including lifecycle, layouts, push updates, and scheduled delivery. Use for time-sensitive Lock Screen or Dynamic Island state; route ordinary widgets to widgetkit.

Quality

89%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

85%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-engineered overview: lean rule-dense body, exact API/key/header values, a sequenced workflow with explicit validation and a checklist, and clean one-level-deep progressive disclosure into three real reference files. The only deductions are minor — the opening routing paragraph duplicates the description, and complete executable examples for the main lifecycle calls live entirely in the references.

DimensionReasoningScore

Conciseness

The body is dense with non-obvious, version-specific rules (hour limits, token rotation, APNs header values) and never explains concepts Claude already knows, but the opening paragraph restates the frontmatter description's routing text and the TOC adds lines that could be trimmed. Efficient with minor trimmable instances, matching the 4 anchor rather than the every-token-earns-its-place 5.

4 / 5

Actionability

Concrete, executable identifiers appear throughout — "NSSupportsLiveActivities = YES", "apns-push-type: liveactivity", "activity.pushTokenUpdates", exact hour limits — plus a compilable ActivityAttributes/ContentState struct, but the complete request/update/end call sites and payload fixtures are deferred to reference files rather than shown, leaving minor gaps versus the copy-paste-ready 5 anchor.

4 / 5

Workflow Clarity

The "For a new Live Activity" section gives a clearly sequenced 5-step process with embedded validation checkpoints ("encode a representative server fixture before integrating APNs", "exercise local update plus every terminal end path", "validate update, end, and push-to-start payloads against the same Codable contract") and a dedicated Review Checklist for the complex process. Not 4 because validation is explicit and checkpoints are present at each phase.

5 / 5

Progressive Disclosure

The SKILL.md is a genuine overview that routes by topic with labeled pointers to three real bundle files (all verified to exist: lifecycle-updates-and-push.md, ending-and-presentation.md, concurrency-state-and-testing.md), references are one level deep with no nested .md chains, and navigation is easy via the Contents and References sections — a clear match to the 5 anchor.

5 / 5

Total

18

/

20

Passed

Description

87%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description that clearly states what the skill does and when to use it, with natural trigger terms and explicit routing that disambiguates it from the closest neighboring skills. Keyword coverage and action granularity are good but not fully comprehensive.

DimensionReasoningScore

Specificity

"Build or review Live Activities and Dynamic Island experiences with ActivityKit, including lifecycle, layouts, push updates, and scheduled delivery" lists several specific capability areas, but the action verbs themselves are broad (build, review) rather than the multiple granular concrete actions of the 5 anchor, and minor coverage gaps exist (e.g., token handling, testing).

4 / 5

Completeness

Both questions are explicitly answered: the "what" is concrete ("Build or review... including lifecycle, layouts, push updates, and scheduled delivery") and the "when" uses an explicit trigger clause with concrete phrases ("Use for time-sensitive Lock Screen or Dynamic Island state"). Not 4 because the trigger guidance is specific and explicit rather than generic.

5 / 5

Trigger Term Quality

Natural iOS terms users would actually say are present — "Live Activities", "Dynamic Island", "Lock Screen", "push updates", "ActivityKit" — but a few common variants are missing (e.g., singular "Live Activity", "push-to-start", "widget extension"), so it falls just short of the comprehensive-synonym coverage of the 5 anchor.

4 / 5

Distinctiveness Conflict Risk

Clear niche (ActivityKit Live Activities / Dynamic Island) with distinct triggers, and it even resolves the nearest conflict explicitly ("route ordinary widgets to widgetkit"), giving minimal overlap risk with related widget/push skills.

5 / 5

Total

18

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

thienqo/ios-skills

Path

skills/activitykit/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.