CtrlK
BlogDocsLog inGet started
Tessl Logo

threejs

Use when building or debugging interactive 3D scenes on the web with Three.js (scene/camera/renderer, lights/materials, GLTF loading, controls, performance). Helpful for designers shipping 3D UI moments.

64

Quality

77%

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 ./agent-skills/web-design/threejs/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

76%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 lean, well-organized body with an executable reference recipe and genuinely useful pitfalls. The gaps are missing usage snippets for controls/loaders (where the addon import path is a real gotcha), absent validation checkpoints in the workflow, and no debugging guidance despite the description advertising it.

Suggestions

Add minimal import/usage snippets for OrbitControls, GLTFLoader, and DRACOLoader — especially the `three/addons/controls/OrbitControls.js` addon path, which is the most common import failure.

Add validation checkpoints to the workflow: verify disposal on route change/unmount, and test on a low-end mobile device before shipping (the pitfalls section lists the risks but no verification steps).

Include a short debugging sequence (e.g., black screen → check camera bounds/lights; context loss → check dispose) to back up the "debugging" claim in the description.

DimensionReasoningScore

Conciseness

Terse fragment bullets, API signatures, and pitfalls with no explanations of concepts Claude already knows; the only prose is a short 'What to ask the user' list. Every section earns its place.

5 / 5

Actionability

The spinning-cube recipe is fully executable (renderer, resize handling, render loop) and pitfalls name concrete fixes ("geometry.dispose()", "Draco/KTX2"). Not 5 because common cases like OrbitControls/PointerLockControls, GLTFLoader, and DRACO are named without usage or import-path snippets (the `three/addons/...` path is a common failure point), and the reduced-motion recipe is a one-liner with no code.

4 / 5

Workflow Clarity

A clear ordered sequence exists (Core mental model → render loop, mirrored in the recipe), but validation checkpoints are absent or implicit: no verify-disposal-on-unmount step, no device/perf verification, and no debugging workflow even though the description promises "building or debugging". Not 4 because checkpoints are wholly missing rather than having minor gaps.

3 / 5

Progressive Disclosure

Single-file skill with clean section headers (When to use / Core mental model / Key APIs / Pitfalls / Recipes / Questions) and no buried or nested references. Not 5 because at ~93 lines with a 35-line inline code recipe, some content (the full recipe, extended controls examples) could be split into a references file, which the 50-line self-contained guideline does not cover.

4 / 5

Total

16

/

20

Passed

Description

78%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 strong description: specific domain, explicit trigger clause, third-person voice, and a distinct Three.js niche. Its main weakness is that the 'what' is carried entirely by a parenthetical topic list rather than explicit action statements, and a few natural trigger synonyms (WebGL, .glb) are missing.

Suggestions

Lead with an explicit action statement (e.g., "Builds, debugs, and optimizes interactive 3D scenes with Three.js…") before the 'Use when' clause, so 'what' is stated as actions rather than a parenthetical topic list.

Add natural trigger synonyms users would say — "WebGL", "3D model viewer", and file extensions like ".glb/.gltf" — to broaden keyword coverage.

"Helpful for designers shipping 3D UI moments" is close to fluff; folding it into the trigger clause (e.g., "use for hero scenes and product spins") would add trigger value without extra tokens.

DimensionReasoningScore

Specificity

Lists several specific capability areas — "scene/camera/renderer, lights/materials, GLTF loading, controls, performance" — grounded in the Three.js domain. Not 5 because the concrete actions are limited to "building or debugging"; the parenthetical is topical coverage rather than a list of distinct executable actions.

4 / 5

Completeness

The explicit "Use when building or debugging…" clause answers 'when' clearly, and the parenthetical plus "Helpful for designers shipping 3D UI moments" conveys scope. Not 5 because the 'what' is only implied by the topic list — there is no standalone explicit statement of what the skill does.

4 / 5

Trigger Term Quality

Includes natural phrases users would say: "interactive 3D scenes on the web", "Three.js", "GLTF", "controls", "3D UI". Not 5 because common synonyms and extensions like "WebGL", ".glb", or "3D model viewer" are absent.

4 / 5

Distinctiveness Conflict Risk

"Three.js" names a highly specific niche with distinct triggers; minimal overlap with other web/UI skills. Voice is third person ("Helpful for designers…"), so no penalty applies.

5 / 5

Total

17

/

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