CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

spritekit

Build 2D games and animations using SpriteKit. Use when creating game scenes with SKScene and SKView, adding sprites with SKSpriteNode, animating with SKAction sequences, simulating physics with SKPhysicsBody and contact detection, creating particle effects with SKEmitterNode, building tile maps, using SKCameraNode, or integrating SpriteKit scenes in SwiftUI with SpriteView.

Quality

91%

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

86%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-structured entrypoint: lean overview, executable DON'T/DO examples for the highest-value mistakes, a concrete review checklist, and clean two-file progressive disclosure. The only improvements are removing the version-number pinning from the intro and tightening the workflow steps with executable specifics or a recovery loop.

DimensionReasoningScore

Conciseness

The body is lean — terse imperative workflow steps, one-line core decisions, and tight DON'T/DO code fixes with no explanations of concepts Claude already knows. Minor trimmable tokens remain: the intro pins time-sensitive versions ('iOS 26+ using SpriteKit and Swift 6.3') outside any deprecated section, and the self-referential Contents list adds modest padding. Not 5 because of those few non-earning tokens; not 3 because everything else is efficient.

4 / 5

Actionability

Guidance is copy-paste ready and covers the common failure cases: the @State scene vs. per-render GameScene(size:) contrast, 'player.physicsBody?.contactTestBitMask = PhysicsCategory.enemy', and the SKAction.sequence([moveBy, removeFromParent]) pattern are all executable Swift, and even the prose mistakes give exact directives ('Set physicsWorld.contactDelegate = self in didMove(to:)').

5 / 5

Workflow Clarity

The five-step workflow is clearly sequenced with an explicit verification step ('Verify frame-rate behavior, contact delivery, pause/resume, resizing, and scene teardown') and a 17-item Review Checklist. Not 5 because the steps are high-level directives without executable commands and there is no feedback loop telling Claude how to recover when a checklist item fails; not 3 because checkpoints are present and explicit.

4 / 5

Progressive Disclosure

The body is a genuine overview with details appropriately split into two real, one-level-deep bundle files, each clearly signaled with its contents ('Read [core implementation details]... for scene setup, sprites, actions, physics...' / 'Read [extended SpriteKit patterns]... for tile maps, atlases, shaders...'), and the References section aids navigation. Verified that both referenced files exist and contain no nested references.

5 / 5

Total

18

/

20

Passed

Description

92%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: it states what the skill does, provides an explicit 'Use when' clause with concrete trigger tasks, and covers the domain comprehensively with named APIs. The only weakness is that trigger terms skew toward technical class names rather than the full range of natural user phrasings.

DimensionReasoningScore

Specificity

The description lists multiple concrete, API-named actions — 'creating game scenes with SKScene and SKView, adding sprites with SKSpriteNode, animating with SKAction sequences, simulating physics with SKPhysicsBody and contact detection, creating particle effects with SKEmitterNode, building tile maps, using SKCameraNode' — giving comprehensive coverage of the skill's domain.

5 / 5

Completeness

It explicitly answers both questions: 'Build 2D games and animations using SpriteKit' states what the skill does, and 'Use when creating game scenes..., adding sprites..., animating..., simulating physics..., or integrating SpriteKit scenes in SwiftUI with SpriteView' gives concrete trigger phrases for when to use it.

5 / 5

Trigger Term Quality

Natural phrases users would say ('2D games', 'animations', 'sprites', 'physics', 'particle effects', 'tile maps') appear alongside the trigger clause, but the list leans on technical class names (SKScene, SKView, SKCameraNode) and omits common variations like 'iOS game' or 'Swift game development'. Not 3 because several genuinely natural terms are present; not 5 because natural-synonym coverage is incomplete.

4 / 5

Distinctiveness Conflict Risk

SpriteKit-specific class names and tasks ('SKPhysicsBody and contact detection', 'building tile maps', 'SKEmitterNode') carve out a clear niche with distinct triggers; only trivial overlap risk with a general SwiftUI skill, which the 'SpriteView' trigger already disambiguates.

5 / 5

Total

19

/

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/spritekit/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.