CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

iwsdk-grab

Use emulated XR controllers or hands to verify proximity grabbing for OneHandGrabbable and TwoHandsGrabbable objects. Use for pick up, move, release, or regression-test requests involving near-hand grab with the squeeze button or a hand pinch.

Quality

96%

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

92%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 tight, highly actionable skill body: lean prose, concrete CLI/JSON examples, a numbered workflow with explicit stop conditions, a bounded one-retry correction loop, and clean section organization. The only notable gap is that the controller-grab path names its animate/query/verify steps without the actual commands, unlike the fully specified hand-pinch path.

Suggestions

Add the concrete commands for the controller path's animate and query steps (e.g., the `xr run-sequence` or equivalent invocation for `controller-right` approach and the ECS query for `Grabbed`), so steps 4 and 6 are as copy-paste ready as the hand-pinch sequence.

Show a minimal example of how to query the requested observable state (e.g., the CLI command that reads `Grabbed` or the transform) rather than only naming the observable.

Include the expected success signal for the controller squeeze path (analogous to the `selectstart` note for pinch) so a silent failure is diagnosable.

DimensionReasoningScore

Conciseness

There is no padding and no explanation of concepts Claude already knows; every line carries project-specific facts (button index 1 vs 0, `grabbing.useHandPinchForGrab` default, `selectstart` semantics, step `position` = object base). It matches the 'lean and efficient; every token earns its place' anchor, not the level-4 anchor which requires some trimmable over-explanation.

5 / 5

Actionability

The hand path is copy-paste ready (full `npx @iwsdk/cli xr run-sequence` with input JSON and `--timeout 45000`) and the squeeze press is given as concrete JSON ("buttons":[{"index":1,"value":1}]), but the controller path's animate/query steps ("Animate the requested controller to the object", "Query the entity for `Grabbed`") name the actions without the corresponding commands. That is 'mostly executable guidance with minor gaps' — the level-5 anchor's full copy-paste coverage of common cases is not quite met.

4 / 5

Workflow Clarity

The numbered sequence has explicit validation checkpoints and a bounded feedback loop: stop-with-evidence if the entity is absent ("list nearby grabbable matches once and stop"), confirm the component type, "If the grab did not qualify, make one focused correction... and retry once", and query the final state after release. This matches the clear-sequence-with-explicit-validation-and-error-recovery anchor.

5 / 5

Progressive Disclosure

The skill is a single ~68-line file with no references/, scripts/, or assets/ bundle; content is organized into three well-labeled sections (Execute the requested path, Hand pinch grab, Evidence and stopping) and nothing is inlined that belongs in a separate file, so navigation is trivial. The single-file layout is appropriate for a skill of this size and purpose, satisfying the well-organized-sections condition.

5 / 5

Total

19

/

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.

The description is exemplary: it states what the skill does with concrete, domain-specific actions and gives an explicit 'Use for...' trigger clause covering the natural request phrasings (pick up, move, release, regression-test, squeeze, pinch). It is concise, uses imperative voice, and is tightly scoped to proximity grab for OneHandGrabbable/TwoHandsGrabbable.

DimensionReasoningScore

Specificity

Quotes: "verify proximity grabbing for OneHandGrabbable and TwoHandsGrabbable objects", "pick up, move, release, or regression-test". It lists multiple specific concrete actions (verify, pick up, move, release, regression-test) tied to named component types, matching the comprehensive-coverage anchor; the level-4 anchor's 'minor gaps in coverage' does not apply since every core capability of the skill is named.

5 / 5

Completeness

Quotes: "Use emulated XR controllers or hands to verify proximity grabbing..." (what) and "Use for pick up, move, release, or regression-test requests involving near-hand grab with the squeeze button or a hand pinch" (when). Both what and when are explicitly stated with concrete trigger phrases, exactly matching the level-5 anchor; the explicit 'Use for...' clause also clears the rubric's cap concern.

5 / 5

Trigger Term Quality

Quotes: "pick up, move, release, or regression-test", "near-hand grab with the squeeze button or a hand pinch". Natural user phrasings are covered with synonyms (grab / pick up / hand pinch) plus the domain's technical hooks (XR controllers, hands, squeeze); this matches the comprehensive synonym coverage of the level-5 anchor rather than the 'a few natural terms missing' level-4 anchor.

5 / 5

Distinctiveness Conflict Risk

Quotes: "proximity grabbing for OneHandGrabbable and TwoHandsGrabbable objects", "near-hand grab with the squeeze button or a hand pinch". The niche is sharply defined by component names and the proximity/squeeze qualifiers, and the body explicitly excludes the DistanceGrabbable ray path, so conflict risk with adjacent XR interaction skills is minimal.

5 / 5

Total

20

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository

facebook/immersive-web-sdk

Path

packages/create/guidance/claude/.claude/skills/iwsdk-grab/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.