CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

threejs-interaction

Picking with raycasting, camera controls, transform gizmos, drag, hover and box selection for three.js, identical under WebGL and WebGPU. Use when handling mouse, touch or keyboard input, detecting clicks on 3D objects, adding camera controls, or making scene objects interactive.

Quality

93%

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.

Excellent executable reference: complete, current (r186-specific), gotcha-rich code with a strong error-correction section, weakened only by structure. The single-file monolith means the full controls API detail always occupies context, and the repeated Timer/loop boilerplate adds tokens without adding information.

Suggestions

Split the per-controls-class sections (FlyControls, FirstPersonControls, PointerLockControls, TrackballControls) into references/ files (e.g., references/camera-controls.md), keeping only the shared Controls base API and OrbitControls in SKILL.md.

State the Timer/animate-loop pattern once near the Quick Start and replace the repeated timer blocks in each controls example with a one-line comment referencing that pattern.

Move the intersection-fields listing and Common Mistakes entries into a references/pitfalls.md, keeping a short pointer in SKILL.md so the overview stays lean.

DimensionReasoningScore

Conciseness

Dense, assumes Claude's competence, and explains only non-obvious API behavior — no concept padding. Not anchor 5: the Timer/animate() boilerplate repeats across five-plus code blocks and the Quick Start scene setup partially reappears in the WebGPU section, so a nontrivial number of tokens could be trimmed.

4 / 5

Actionability

Fully executable copy-paste code throughout: a runnable Quick Start, per-controls-class examples with real property values, transform gizmo wiring, selection and box selection, and a complete WebGPU variant — all specific and complete, not pseudocode.

5 / 5

Workflow Clarity

A reference-style skill with an unambiguous Quick Start sequence and clearly organized task sections; the Common Mistakes section provides explicit wrong-to-right corrections (the closest feedback-loop analog for a code skill), and no destructive or batch operations require validation checkpoints.

5 / 5

Progressive Disclosure

Good section headers, but there are no bundle files at all — the entire ~500-line detailed API surface (per-controls-class coverage, intersection field reference, Common Mistakes) is inlined in SKILL.md and loads into context on every trigger. Content that should live in separate reference files is inline, matching anchor 3; not anchor 4 because no references exist and the split is more than a minor gap.

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

The description is a model example: concrete capabilities enumerated up front, an explicit 'Use when' clause with natural trigger phrases covering mouse/touch/keyboard, clicks, camera controls, and interactivity, and a well-defined niche that won't collide with sibling three.js skills.

DimensionReasoningScore

Specificity

Lists multiple specific concrete capabilities — "Picking with raycasting, camera controls, transform gizmos, drag, hover and box selection" — with comprehensive coverage of the three.js interaction domain; no gaps that would place it at anchor 4.

5 / 5

Completeness

Explicitly answers both what ("Picking with raycasting, camera controls, transform gizmos, drag, hover and box selection for three.js") and when ("Use when handling mouse, touch or keyboard input, detecting clicks on 3D objects, adding camera controls, or making scene objects interactive") with concrete trigger phrases, matching the anchor-5 example.

5 / 5

Trigger Term Quality

Natural user phrasings are comprehensively covered: "handling mouse, touch or keyboard input", "detecting clicks on 3D objects", "adding camera controls", plus "drag", "hover", and "three.js" itself; synonyms and input modalities are all present.

5 / 5

Distinctiveness Conflict Risk

Clear niche (three.js interaction/picking) with distinct triggers and minimal conflict risk; only the broadest phrase "making scene objects interactive" slightly brushes a sibling animation skill, which is not enough to drop below the clear-niche anchor.

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

skill_md_line_count

SKILL.md is long (501 lines); consider splitting into references/ and linking

Warning

Total

15

/

16

Passed

Repository

CloudAI-X/threejs-skills

Path

skills/threejs-interaction/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.