CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

realitykit

Build iOS augmented reality and 3D experiences with RealityKit and ARKit. Use when adding RealityView content, loading entities or USDZ models, anchoring objects to planes or world positions, distinguishing entity hit tests from ARKit real-world raycasts, handling AR camera availability, world tracking, scene updates, or RealityKit entity gestures and interactions.

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

The canonical home for this skill is dpearson2699/swift-ios-skills

SKILL.md
Quality
Evals
Security

Quality

Content

78%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 strong, code-first skill body with excellent progressive disclosure and a genuinely useful raycasting-distinctions section, held back slightly by repeated capability-check guidance, some boilerplate SwiftUI, and an underspecified ARKit raycast example. The Review Checklist and DON'T sections make it reliably actionable.

Suggestions

Show the ARRaycastQuery construction and how to obtain the ARSession (e.g., via RealityView's ARSession accessor or UIViewRepresentable) in the Raycasting example so the snippet is fully executable end-to-end.

Consolidate the `ARWorldTrackingConfiguration.isSupported` guidance into the Setup section and reference it from elsewhere instead of restating it in RealityView Basics, Scene Understanding, and Common Mistakes.

Compress the camera-permission example to the essential authorization-status/request pattern and its fallback UI, and add a short failure-recovery note (e.g., what to do when a plane anchor fails to resolve or a USDZ load throws) to strengthen workflow checkpoints.

DimensionReasoningScore

Conciseness

Mostly efficient, domain-specific code with little padding, but there are minor trims: the `ARWorldTrackingConfiguration.isSupported` guidance is repeated across Setup, RealityView Basics, Scene Understanding, and Common Mistakes, and the ~35-line camera-permission example is largely boilerplate SwiftUI Claude already knows. Not level 5 ('every token earns its place') given this duplication; not level 3 since none of it is generic concept explanation.

4 / 5

Actionability

Nearly all guidance is executable, copy-paste Swift (RealityView setup, make/update, anchoring, drag gesture, permission gating, wrong-vs-correct pairs). The gap keeping it below level 5 is the ARKit raycast path: `let results = session.raycast(query)` never shows how the `ARRaycastQuery` is constructed or how the session is obtained within a SwiftUI/RealityView context.

4 / 5

Workflow Clarity

The skill is reference-style rather than a multi-step process, and it is clearly sequenced (Setup → RealityView → entities → anchoring → raycasting → gestures → mistakes → Review Checklist) with a checklist serving as verification checkpoints. It falls short of level 5 because there are no explicit validate-and-recover feedback loops (e.g., what to do when a plane anchor never resolves or a model fails to load), and no destructive/batch operation that would trigger a cap.

4 / 5

Progressive Disclosure

The body is a concise overview that correctly defers physics, animations, lighting, ECS, occlusion, accessibility, and performance to a single real, one-level-deep reference (references/realitykit-patterns.md, whose 'Entity Animations' anchor the body links to), signposted both inline and in a References section. This matches the level-5 anchor exactly.

5 / 5

Total

17

/

20

Passed

Description

100%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.

Excellent description: third-person voice, concrete and comprehensive capability list, explicit 'Use when' trigger clause with natural domain vocabulary, and a clear niche that minimizes triggering for the wrong skill.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions — 'adding RealityView content, loading entities or USDZ models, anchoring objects to planes or world positions, distinguishing entity hit tests from ARKit real-world raycasts, handling AR camera availability, world tracking, scene updates, or RealityKit entity gestures and interactions' — which is comprehensive coverage of the skill's scope, matching the level-5 anchor rather than the level-4 anchor ('several specific actions; minor gaps').

5 / 5

Completeness

Explicitly answers 'what' ('Build iOS augmented reality and 3D experiences with RealityKit and ARKit') and 'when' via a concrete 'Use when adding RealityView content, loading entities or USDZ models, ...' clause with multiple specific trigger scenarios — the exact pattern of the level-5 anchor example.

5 / 5

Trigger Term Quality

Natural terms a user would say are comprehensively covered, including synonyms and platform/file tokens: 'augmented reality', 'AR camera', 'RealityKit', 'ARKit', 'RealityView', 'USDZ', 'raycasts', 'hit tests', 'world tracking', 'gestures'. Not level 4 because no common natural phrasing for this domain is obviously missing.

5 / 5

Distinctiveness Conflict Risk

The RealityKit/ARKit-on-iOS niche plus a distinction even between entity hit tests and ARKit raycasts gives it distinct triggers with minimal conflict risk; it would not fire for generic 3D, SceneKit, or visionOS-immersive skills. Level 4's 'minor overlap risk with closely related skills' is not a better fit.

5 / 5

Total

20

/

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

dpearson2699/swift-ios-skills

Path

skills/realitykit/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.