CtrlK
BlogDocsLog inGet started
Tessl Logo

three-best-practices

Three.js performance optimization and best practices guidelines. Use when writing, reviewing, or optimizing Three.js code. Triggers on tasks involving 3D scenes, WebGL/WebGPU rendering, geometries, materials, textures, lighting, shaders, or TSL.

60

Quality

68%

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/three-best-practices/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

50%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 well-structured catalog with runnable code examples for key patterns, but it functions as an index to rule files that are absent from the bundle, so most guidance never becomes actionable. Internal inconsistencies (duplicated rule entries, wrong category count) and the missing referenced files are the main quality issues.

Suggestions

Ship the referenced 'rules/*.md' files in the bundle (or restructure the references/ directory to hold them) — the entire navigation model of the skill depends on them, but no rules/ directory exists.

Deduplicate rule entries listed under multiple sections (e.g. 'geometry-merge-static' and 'geometry-instanced-mesh' appear in both §3 and §4) and correct the '120+ rules across 18 categories' claim to match the 23 categories actually listed.

Add a short sequenced workflow (e.g. monitor with stats-gl → identify the applicable category from the priority table → apply its rules → re-measure) so the index converts into an actionable process.

DimensionReasoningScore

Conciseness

The one-line rule index assumes Claude's competence and avoids concept explanations, but it could be tightened: rule entries are duplicated across sections (e.g. 'geometry-merge-static' and 'geometry-instanced-mesh' appear under both §3 and §4), a 'Sources & Credits' block adds little actionable value, and the claim '120+ rules across 18 categories' contradicts the 23 categories listed in the table. Not 2 because there is no padded concept teaching; not 4 because the duplicates and inconsistencies are more than minor.

3 / 5

Actionability

Four complete, executable code blocks (import maps, disposal, TSL, mobile pixel-ratio) plus specific numeric targets ('under 100 draw calls', 'Limit to 3 or fewer active lights', 'Limit pixel ratio to 2') give real concrete guidance. However, most of the 120+ rules are direction-only one-liners ('Minimize vertex count', 'Consider interleaved buffers') whose executable detail is deferred to rule files that are not present, so the body alone is incomplete guidance.

3 / 5

Workflow Clarity

'When to Apply' and 'How to Use' sketch a rough usage pattern (find a category by priority, read the rule file), but there is no explicit sequence for applying the skill to a task (e.g. profile → pick category → apply → verify). This is a reference-index skill rather than a multi-step process, so no validation checkpoints are required, but the navigation-to-action sequence remains implicit.

3 / 5

Progressive Disclosure

The body is well organized as an index (priority table, prefixed rule IDs, one-level-deep references to rules/*.md), but every reference points to a 'rules/' directory that does not exist anywhere in the bundle (no rules/, references/, scripts/, or assets/ are present), leaving all navigation as dead ends. Not 4 because references that cannot be resolved are more than a minor organization gap.

3 / 5

Total

12

/

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 strong description: it states the domain and purpose plainly, gives an explicit 'Use when...' clause with a natural trigger list, and is tightly scoped to Three.js. The only weakness is missing a few synonyms users might naturally say (e.g. '3D models', '.gltf').

DimensionReasoningScore

Specificity

Lists several specific actions — 'writing, reviewing, or optimizing Three.js code' — anchored to a concrete domain with named subsystems (geometries, materials, textures, lighting, shaders), though 'best practices guidelines' is generic phrasing. Not 5 because 'performance optimization and best practices' is not as concrete as the actions in the top anchor; not 3 because it goes beyond naming the domain with 1–2 actions.

4 / 5

Completeness

Explicitly answers both what ('Three.js performance optimization and best practices guidelines') and when ('Use when writing, reviewing, or optimizing Three.js code', reinforced by an explicit trigger list), matching the top anchor with concrete trigger phrases.

5 / 5

Trigger Term Quality

Good natural keyword coverage ('3D scenes', 'WebGL/WebGPU rendering', 'geometries', 'materials', 'textures', 'lighting', 'shaders', 'TSL') that a user would plausibly say. Not 5 because common variations are missing — '3D models', 'WebXR', 'threejs', or asset extensions like '.gltf'/''.glb'.

4 / 5

Distinctiveness Conflict Risk

Clear Three.js niche with distinct, unambiguous trigger terms; very low risk of firing for the wrong skill.

5 / 5

Total

18

/

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
zebbern/claude-code-guide
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.