CtrlK
BlogDocsLog inGet started
Tessl Logo

threejs-interaction

Three.js interaction - raycasting, controls, mouse/touch input, object selection. Use when handling user input, implementing click detection, adding camera controls, or creating interactive 3D experiences.

68

Quality

83%

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 threejs-interaction in administrakt0r/AI-Agents-Safe-Coding-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 thorough, highly actionable code reference for Three.js interaction that stays lean and assumes competence. Its main weakness is structure: it is a monolithic single-file dump with no progressive disclosure, so the less-common controls variants and API reference tables could be offloaded to reference files.

Suggestions

Split the per-controls reference (FlyControls, FirstPersonControls, TrackballControls, MapControls, PointerLockControls) into a references/controls.md file, leaving OrbitControls inline in Quick Start and linking out for the rest.

Factor the repeated mouse/touch-to-NDC conversion into a single helper snippet referenced from each example instead of duplicating it five times.

Move the detailed raycaster intersection-object field table (distance/point/face/uv/normal/instanceId) into references/raycaster.md and keep only setFromCamera/intersectObjects usage in the body.

DimensionReasoningScore

Conciseness

Lean, code-first body with no padded prose explaining concepts Claude already knows; however the mouse-to-NDC coordinate conversion is repeated verbatim across Quick Start, Mouse Position Conversion, Click to Select, Hover Effects, and InteractionManager, which could be factored out.

4 / 5

Actionability

Copy-paste ready, executable examples cover the common cases (raycasting/picking, every major controls class, selection, hover, keyboard input, world/screen conversion), with concrete APIs and inline comments.

5 / 5

Workflow Clarity

A clear Quick Start plus well-sectioned topical structure gives an unambiguous entry path; no destructive or batch operations require validation checkpoints, but there is also no explicit multi-step workflow sequencing for assembling a full interaction system.

4 / 5

Progressive Disclosure

No bundle files exist (references/, scripts/, assets/ are absent), and all content — six controls variants, the full raycaster intersection reference, and a full InteractionManager class — is inlined in one ~670-line file that would benefit from being split into one-level-deep reference files.

3 / 5

Total

16

/

20

Passed

Description

87%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 well-formed description that clearly states capabilities and provides an explicit, concrete 'Use when' trigger clause covering the common interaction scenarios. The only weakness is that 'controls' and 'interactive 3D experiences' are slightly broad, leaving a couple of natural trigger synonyms unmentioned.

DimensionReasoningScore

Specificity

Names the domain plus several concrete actions ('raycasting, controls, mouse/touch input, object selection'), with only minor generic gaps ('controls'); not quite the comprehensive multi-action list of the 5 anchor.

4 / 5

Completeness

Explicitly answers what ('raycasting, controls, mouse/touch input, object selection') and when ('Use when handling user input, implementing click detection, adding camera controls, or creating interactive 3D experiences') with concrete trigger phrases.

5 / 5

Trigger Term Quality

Natural, user-sayable terms ('Three.js interaction', 'click detection', 'camera controls', 'raycasting') are present with good coverage, though a few synonyms/extensions a user might say are missing.

4 / 5

Distinctiveness Conflict Risk

Targets a clear interaction niche (raycasting/selection/controls) distinct from sibling skills like threejs-fundamentals/animation/shaders, with minimal overlap risk.

5 / 5

Total

18

/

20

Passed

Validation

87%

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

Validation14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

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

Warning

frontmatter_unknown_keys

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

Warning

Total

14

/

16

Passed

Repository
administrakt0r/AI-Agents-Safe-Coding-Skills
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.