CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

threejs-geometry

Creating and shaping three.js geometry: built-in shapes, 3D text, vertex buffers and attributes, merging, instancing, batching, point clouds and lines, on WebGL or with WebGPU and TSL. Use when building 3D shapes or text, custom vertex data, custom meshes, instanced meshes, or point clouds.

Quality

86%

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

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.

An excellent executable reference: complete, runnable, parameter-annotated code throughout, terse comments that carry real three.js-specific gotchas (WebGPU quirks, r163/r176 renames), and a Common Mistakes section that captures deprecated patterns in the right place. The main structural weakness is that all ~500 lines live in SKILL.md with zero progressive disclosure into bundle files, plus some duplicated renderer boilerplate that could be trimmed.

Suggestions

Offload the bulk catalog content — the built-in geometry constructor signatures and the WebGPU/TSL details — into a references/ file (e.g., references/built-in-geometries.md, references/webgpu-tsl.md) and keep SKILL.md as a compact overview with one-level-deep, clearly signaled links, mirroring the See Also pattern already used.

Remove the duplicated renderer/scene/camera setup in the WebGPU section (and trim Quick Start's) to just the lines that differ from WebGL setup, pointing to threejs-fundamentals for the shared boilerplate.

Make the InstancedBufferGeometry WebGL path fully executable — inline a minimal ShaderMaterial vertex-shader snippet or link to a concrete example in threejs-shaders — rather than leaving it as a prose comment.

DimensionReasoningScore

Conciseness

The body is dense commented code where comments carry non-obvious facts (e.g., "setIndex([...]) with a plain array picks Uint16 or Uint32 itself", "WebGPU backend draws Points at one pixel"), not filler. It falls short of score 5 because of minor trimmable over-explanation: the renderer/scene/camera boilerplate is fully duplicated between Quick Start and the WebGPU section, content Claude already knows from threejs-fundamentals. It is well above score 3 ('some unnecessary explanation') since nearly every token carries three.js-specific information.

4 / 5

Actionability

Nearly every section is complete, copy-paste-ready code with parameter-annotated constructors (e.g., "new THREE.CylinderGeometry(1, 1, 2, 32); // radiusTop, radiusBottom, height, radialSegments..." and the full InstancedMesh loop ending "instancedMesh.instanceMatrix.needsUpdate = true"). The one gap — the InstancedBufferGeometry WebGL shader path is deferred via a comment "declare `in vec3 offset;` ... (see threejs-shaders)" — is a minor gap that still leaves an actionable pointer, consistent with the score-5 anchor ('copy-paste ready code; specific examples cover the common cases').

5 / 5

Workflow Clarity

This is a reference/catalog skill, and where multi-step processes exist they are shown in order with explicit flags as checkpoints: "positions.needsUpdate = true; // upload the change", "Build the mesh after assigning morphAttributes so it picks up the targets", "mesh.instanceMatrix.needsUpdate = true; // flag after any batch of setMatrixAt calls". It is not score 5 because there are no explicit validate-and-recover loops, but nothing here is a destructive or batch data operation that would require one, and the rubric's cap for missing validation on destructive/batch workflows does not apply. It exceeds score 3 because sequencing that does exist is explicit and gotcha-flagged.

4 / 5

Progressive Disclosure

Headers are well-organized with easy navigation and a See Also section, but the entire ~495-line API catalog is inlined in SKILL.md with no bundle files at all (no references/, scripts/, or assets/ directories exist). The rubric's rationale ('SKILL.md should be an overview pointing to detailed materials') and its score-3 example ('200 lines of API reference that could be in a separate file') describe exactly this: the built-in constructor catalog and the WebGPU/TSL section are bulk reference content that could live one level deep in a references/ file. It is not score 2 because structure is strong, not 'minimal', and it is not score 4 because no content is offloaded — the score-4 anchor expects 'most content appropriately placed' across files. The simple-skill exception (score 5 for well-organized sections alone) applies only to skills under 50 lines.

3 / 5

Total

16

/

20

Passed

Description

88%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: third-person, specific, and comprehensive on capabilities, with an explicit 'Use when' trigger clause covering five natural scenarios. The only weaknesses are minor — a few natural trigger synonyms are missing and generic terms like 'custom meshes' slightly overlap sibling three.js skills.

DimensionReasoningScore

Specificity

"Creating and shaping three.js geometry: built-in shapes, 3D text, vertex buffers and attributes, merging, instancing, batching, point clouds and lines, on WebGL or with WebGPU and TSL" lists multiple concrete capabilities with comprehensive coverage of the geometry domain, in third person. It exceeds the score-4 anchor ('several specific actions; minor gaps') because the enumerated capabilities span essentially the whole feature surface, including renderer backends.

5 / 5

Completeness

It explicitly answers both: the what ("Creating and shaping three.js geometry: built-in shapes, 3D text, vertex buffers and attributes, merging, instancing, batching, point clouds and lines") and the when ("Use when building 3D shapes or text, custom vertex data, custom meshes, instanced meshes, or point clouds") with concrete trigger phrases, exactly matching the score-5 anchor structure. The score-4 anchor ('when could be more explicit or specific') is surpassed since the when-clause enumerates five concrete triggers.

5 / 5

Trigger Term Quality

"building 3D shapes or text, custom vertex data, custom meshes, instanced meshes, or point clouds" uses phrases a three.js user would naturally say. It is not score 5 because some natural terms a user might say are absent from the trigger clause (e.g., "wireframe", "lines", "merging meshes", "BufferGeometry"), and it is clearly above score 3 ('some relevant keywords but missing common variations') because five distinct natural trigger phrases are present.

4 / 5

Distinctiveness Conflict Risk

The niche ("three.js geometry") is clear and triggers like "custom vertex data" and "instanced meshes" are geometry-specific. It sits at score 4 rather than 5 because the skill family referenced in See Also (threejs-materials, threejs-shaders, threejs-fundamentals) creates minor overlap risk for generic triggers like "custom meshes" or "3D shapes", which a user might say when they need materials or shaders instead.

4 / 5

Total

18

/

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

Warning

Total

15

/

16

Passed

Repository

CloudAI-X/threejs-skills

Path

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