CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

threejs-shaders

Three.js shaders - GLSL, ShaderMaterial, uniforms, custom effects. Use when creating custom visual effects, modifying vertices, writing fragment shaders, or extending built-in materials.

Quality

78%

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 ./.agents/skills/threejs-shaders/SKILL.md

The canonical home for this skill is threejs-shaders in CloudAI-X/threejs-skills

SKILL.md
Quality
Evals
Security

Quality

Content

63%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 well-organized, highly actionable reference with strong Three.js-specific knowledge (material types, uniform handling, onBeforeCompile, instancing, debugging). Its main weaknesses are inline padding of standard GLSL functions Claude already knows and the absence of any progressive disclosure — everything lives in one monolithic file rather than being split across reference files.

Suggestions

Move the GLSL Built-in Functions section and the common pattern library (noise, gradients, fresnel, rim, dissolve) into a references/ file (e.g. references/patterns.md), keeping SKILL.md as a lean overview with the Quick Start, ShaderMaterial vs RawShaderMaterial comparison, and onBeforeCompile guidance.

Delete or drastically trim content that restates standard GLSL knowledge (basic math/vector/texture function listings, basic mix-based gradient snippets) since Claude already knows these.

Complete the fragmentary examples — give the dissolve effect its full ShaderMaterial wrapper with varyings, and make the instanced-mesh example self-contained (define instanceCount, show how offsets are filled).

DimensionReasoningScore

Conciseness

Most content is genuinely non-obvious Three.js knowledge (ShaderMaterial vs RawShaderMaterial built-ins, onBeforeCompile injection points, GLSL1 vs GLSL3 texture functions), but the ~55-line "GLSL Built-in Functions" section (abs, sin, mix, dot, cross, normalize...) and basic gradient snippets (mix(colorA, colorB, vUv.y)) re-explain standard GLSL Claude already knows.

3 / 5

Actionability

The Quick Start and most pattern examples are complete, copy-pasteable ShaderMaterial configurations with matching uniform declarations, but several snippets are fragments: the noise "Usage" line (float n = noise(vUv * 10.0 + time);) has no JS context, the dissolve effect lacks its JavaScript wrapper and varying declarations, and the instanced example leaves "// Fill offsets..." with an undefined instanceCount.

4 / 5

Workflow Clarity

The content progresses coherently from Quick Start through material types, patterns, and debugging, and the Debugging section provides error-detection checkpoints (renderer.debug.checkShaderErrors, logging compiled shaders, visual debug outputs) — though it is a topical reference rather than an explicitly sequenced workflow, so minor sequence/checkpoint gaps remain.

4 / 5

Progressive Disclosure

The body has clear section headers and easy navigation, but no bundle files exist at all — the GLSL function reference, uniform type tables, and pattern library (~640 lines total) are all inlined in SKILL.md when much of this reference material clearly belongs in separate reference files.

3 / 5

Total

14

/

20

Passed

Description

83%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 names a specific niche with concrete technical terms, includes an explicit "Use when" trigger clause with actionable phrases, and stays concise. The only weaknesses are a topic-list opening rather than action verbs, the missing literal "vertex shaders" trigger phrase, and minor overlap risk with sibling Three.js skills.

DimensionReasoningScore

Specificity

The trigger clause lists four concrete actions ("creating custom visual effects, modifying vertices, writing fragment shaders, or extending built-in materials") plus specific domain terms ("GLSL, ShaderMaterial, uniforms"), but the opening "what" is a topic list rather than verb-driven actions, leaving minor gaps versus a fully comprehensive action list.

4 / 5

Completeness

Both parts are explicit: the what ("Three.js shaders - GLSL, ShaderMaterial, uniforms, custom effects") and an explicit "Use when" clause with four concrete trigger phrases ("creating custom visual effects, modifying vertices, writing fragment shaders, or extending built-in materials"), matching the anchor-5 pattern of clear what plus explicit when with concrete triggers.

5 / 5

Trigger Term Quality

Good coverage of natural terms users would say — "Three.js shaders", "GLSL", "ShaderMaterial", "uniforms", "fragment shaders", "visual effects", "built-in materials" — but a few natural variations are missing, notably the literal phrase "vertex shaders" (only "modifying vertices" appears) and there are no synonyms like ".glsl".

4 / 5

Distinctiveness Conflict Risk

The Three.js/GLSL shader niche is clear with distinct technical triggers (ShaderMaterial, uniforms, GLSL), but "extending built-in materials" overlaps with the sibling threejs-materials skill referenced in the body, and full-screen effect work brushes against threejs-postprocessing — minor overlap risk with closely related skills.

4 / 5

Total

17

/

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 (643 lines); consider splitting into references/ and linking

Warning

Total

15

/

16

Passed

Repository

calesthio/OpenMontage

Path

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