CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

threejs-textures

Three.js textures - texture types, UV mapping, environment maps, texture settings. Use when working with images, UV coordinates, cubemaps, HDR environments, or texture optimization.

Quality

81%

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-textures in CloudAI-X/threejs-skills

SKILL.md
Quality
Evals
Security

Quality

Content

71%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 highly actionable, code-complete reference whose examples are executable and cover the common Three.js texture tasks well. Its main weaknesses are monolithic structure with no progressive disclosure into reference files, plus duplicated examples (HDR loading, uv2 setup) that inflate token cost without adding value.

Suggestions

Split advanced sections (render targets, CubeCamera, procedural textures, texture pooling, UV transforms in shaders) into references/ files linked from a lean SKILL.md overview, keeping only loading, configuration, and PBR map essentials inline.

De-duplicate repeated examples: keep one canonical HDR/equirectangular environment setup and one uv2-for-aoMap snippet, cross-referencing them instead of repeating near-identical code.

Add brief decision guidance between competing approaches (e.g., RGBELoader + PMREMGenerator vs. direct EquirectangularReflectionMapping, and when to prefer KTX2 over TextureLoader) so readers can pick a path without running both snippets.

DimensionReasoningScore

Conciseness

The body is code-dense with little concept over-explanation, but there is noticeable duplication that could be tightened: the RGBELoader/environment setup appears twice ("Equirectangular to Cubemap" and "HDR Textures > RGBELoader"), the uv2-for-aoMap snippet appears in both "Second UV Channel" and "Material Texture Maps", and the promise-wrapped loader is re-implemented inside "Texture Pooling". This fits the anchor 'mostly efficient but includes some unnecessary explanation or could be tightened' rather than the lean score-5 or padded score-2 extremes.

3 / 5

Actionability

Nearly every section provides complete, executable, copy-paste-ready code with correct imports (e.g., "import { KTX2Loader } from \"three/examples/jsm/loaders/KTX2Loader.js\""), covering the common cases: loading with callbacks/promises, color-space rules, wrapping/filtering settings, cube/HDR environments, data/canvas/video textures, atlases, disposal, and pooling. It is not below 5 since examples are concrete rather than pseudocode and include key caveats (e.g., dispose pmremGenerator, hide reflective object before cubeCamera.update).

5 / 5

Workflow Clarity

This is a reference-style skill, not a multi-step pipeline, and it opens with a Quick Start followed by well-ordered topical sections (loading → configuration → types → environments → UV → materials → performance), so navigation by task is clear. It does not reach 5 because there are no decision guidance or checkpoints between alternative approaches (e.g., when to use RGBELoader+PMREM vs. plain EquirectangularReflectionMapping, which are shown as competing snippets), and no verification hint for the dispose/pool lifecycle beyond the code itself. No destructive or batch operation exists that would cap the score at 3.

4 / 5

Progressive Disclosure

The single SKILL.md is ~624 lines of reference material (render targets, procedural textures, pooling, full PBR map reference, shader UV transforms) with no bundle files in references/, scripts/, or assets/ — content that clearly belongs in split, on-demand files is all inlined. Section headers are well-organized, so it is above the unstructured score-2 anchor, but it matches the score-3 pattern of '200+ lines of API reference that could be in a separate file' with everything in one monolithic document. The See Also links point to sibling skills, not to progressive-disclosure bundle files.

3 / 5

Total

15

/

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, well-formed description that names a clear domain, lists concrete capability areas, and includes an explicit 'Use when...' clause with natural trigger terms. Minor improvements possible by adding a few more synonyms (skybox, normal map, .hdr) and sharpening the generic 'texture settings' phrase.

DimensionReasoningScore

Specificity

The description lists several concrete capability areas — "texture types, UV mapping, environment maps, texture settings" — rather than vague language, though these are topic nouns rather than enumerated actions, and "texture settings" is somewhat generic. It sits between the score-3 anchor (1-2 concrete actions) and score-5 anchor (comprehensive multi-action coverage), noticeably above the midpoint but with minor gaps (e.g., loading, PBR maps, and memory management covered in the body are absent).

4 / 5

Completeness

It explicitly answers both what ("texture types, UV mapping, environment maps, texture settings") and when ("Use when working with images, UV coordinates, cubemaps, HDR environments, or texture optimization") with concrete trigger phrases, matching the top anchor's pattern. It is not below 5 because the when-clause is explicit and lists multiple specific triggers rather than being weakly implied.

5 / 5

Trigger Term Quality

The when-clause includes natural terms users would actually say — "images", "UV coordinates", "cubemaps", "HDR environments", "texture optimization" — giving good keyword coverage. Not a 5 because common variations users might say are missing, such as "skybox", "normal map", "environment map", or file extensions like ".hdr" and ".ktx2".

4 / 5

Distinctiveness Conflict Risk

The "Three.js textures" niche is clear and triggers are distinct, but there is minor overlap risk with the closely related skills it itself references (threejs-materials, threejs-loaders), and the bare trigger "images" is broad enough to fire in non-texture image tasks. Mostly distinct, so 4 rather than 5; far too specific for the generic-overlap anchors of 1-2.

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

Warning

Total

15

/

16

Passed

Repository

calesthio/OpenMontage

Path

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