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

80%

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

Fix and improve this skill with Tessl

tessl review fix ./skills/realitykit/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

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

The body is a lean, well-sectioned overview with genuinely valuable gotchas (raycast vs hit test, camera fallback, required components), but it functions as an index whose destination pages are mislabeled: most task-routing deep links point to nonexistent anchors and two routed topics are missing from the reference file. It also lacks any executable Swift code, leaving a code skill at the level of named APIs without copy-paste-ready examples.

Suggestions

Fix the Route by Task links to match the actual headers in references/realitykit-patterns.md (e.g., #physics-simulation, #custom-materials-and-lighting), and either add the missing anchoring/world-tracking and gestures/interaction sections to the reference or remove those route entries.

Add one minimal executable Swift snippet to the body — e.g., a RealityView make closure that checks ARWorldTrackingConfiguration.isSupported, sets content.camera = .virtual as fallback, and asynchronously loads an Entity(named:) with CollisionComponent/InputTargetComponent — so the core guidance is copy-paste ready.

Replace the topic-fragment layout for the setup path with a short sequenced workflow (declare camera capability → verify runtime support → create RealityView → load USDZ asynchronously → attach collision/input components → verify against the checklist).

DimensionReasoningScore

Conciseness

The body is efficient and high-signal ("Missing `NSCameraUsageDescription` in Info.plist, causing instant crash", "`content.camera = .virtual`") with only minor trimmable padding: the opening sentence restates the frontmatter description and the ECS bullets ("Component: Pure data structs") explain concepts Claude already knows. This fits anchor 4 (efficient, minor over-explanation) rather than 5, since not every token earns its place.

4 / 5

Actionability

Concrete specifics exist ("`ARWorldTrackingConfiguration.isSupported`", "`raycast(from:allowing:alignment:)`", "`RealityViewContent.attachments`") but there is no executable Swift code anywhere in a code-centric skill — no RealityView make/update snippet, no component-setup example. This matches anchor 3 (concrete guidance but incomplete, missing key details) rather than 4, which requires concrete code or commands with only minor gaps; the "Route by Task" links that should supply code lead to sections that don't exist in the bundle.

3 / 5

Workflow Clarity

Content is organized by topic plus a Review Checklist ("`NSCameraUsageDescription` declared in `Info.plist`", "Runtime support verified…"), but there is no sequenced workflow for the core task (permissions → support check → RealityView setup → async load → collision/input components), so checkpoints remain implicit. This fits anchor 3 (sequence/checkpoints only loosely present) rather than 4, which expects a clear ordered sequence with most checkpoints explicit; no destructive/batch operations, so no cap applies.

3 / 5

Progressive Disclosure

The skeleton is good — a ~73-line overview with a single one-level-deep reference — but scored against the actual bundle: the "Route by Task" deep links "#entity-creation-and-materials", "#anchoring-and-world-tracking", "#gestures-and-interaction", and "#physics-and-raycasting" match no headers in references/realitykit-patterns.md (actual headers: Physics Simulation, Entity Animations, Custom Materials and Lighting, Entity Component System, Occlusion and Environment, RealityKit + SwiftUI Integration, Performance Tips), and anchoring/world-tracking and gesture content is absent from the bundle entirely. This is more than the "minor organization gaps" of anchor 4 — three of four routes dead-end — but the structure and signaling present keep it above anchor 2.

3 / 5

Total

13

/

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.

The description is exemplary: third-person voice, a clear capability statement, and an explicit, detailed 'Use when' clause covering the framework's real task surface. The only shortcoming is modest synonym/extension coverage (no bare "AR" or ".usdz") in its trigger terms.

DimensionReasoningScore

Specificity

"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… gestures and interactions" lists multiple specific concrete actions with comprehensive coverage. This matches anchor 5 rather than 4, which allows for minor coverage gaps that are not present here.

5 / 5

Completeness

"Build iOS augmented reality and 3D experiences with RealityKit and ARKit" answers 'what' and "Use when adding RealityView content, loading entities or USDZ models, anchoring objects…" answers 'when' with concrete trigger phrases. This explicitly matches the anchor 5 example pattern (clear what + explicit Use-when with concrete triggers), not 4 where the 'when' is only loosely specified.

5 / 5

Trigger Term Quality

Strong natural terms — "RealityKit", "ARKit", "RealityView", "USDZ", "hit test", "raycast", "world tracking", "anchoring", "gestures" — that users would genuinely say. It falls short of anchor 5's bar of "synonyms and file extensions": the bare abbreviation "AR", the ".usdz" extension form, and common variants like "AR session" are missing, so anchor 4 (good coverage, a few natural terms missing) is the best fit.

4 / 5

Distinctiveness Conflict Risk

The description occupies a clear niche — RealityKit/ARKit on iOS — with framework-specific triggers ("RealityView", "USDZ", "entity hit tests") that would not fire for neighboring skills. Only "3D experiences" is broadly worded, a trivial overlap that keeps it at anchor 5 (clear niche, minimal conflict) rather than dropping to 4.

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