Content
70%Weight 40%Scale 1-5Reviews 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 single-file catalog of R3F materials with excellent code examples and a clear selection table, weakened mainly by its monolithic inline structure — a large fraction of the catalog (Drei materials, base three.js properties) should live in reference files, and a few snippets depend on undefined variables. Conciseness suffers from restating three.js fundamentals Claude already knows.
Suggestions
Split the Drei special materials, custom shader, and base/common properties sections into references/ files (e.g., references/drei-materials.md, references/common-properties.md), keeping SKILL.md as a selection guide with one-level-deep pointers.
Remove or drastically trim the 'Common Material Properties' section — visible/transparent/depthTest/blending are standard three.js knowledge Claude already has; keep only genuinely non-obvious notes like polygonOffset for z-fighting and toneMapped={false} for emissive bloom.
Fix the non-standalone snippets by defining or stubbing the undefined texture variables (colorTexture, envTexture, emissiveTexture, spriteTexture) and adding the missing imports to the Custom Shader section so every example is copy-paste executable.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The document is reference-style and mostly code with terse, high-value comments (e.g., "roughness 0 = mirror, 1 = diffuse"), but ~600 lines inline sizable content Claude already knows — the "Common Material Properties" section restates base three.js Material properties (visible, transparent, depthTest, blending modes), and the Material Types table duplicates what each section repeats. Mostly efficient but includes unnecessary explanation that could be tightened, matching the level-3 anchor; it is not level 2's pervasive padding, nor level 4's merely minor trimmable instances. | 3 / 5 |
Actionability | Nearly all guidance is copy-paste-ready TSX covering the common cases (PBR texture sets, glass, car paint, fabric, reflective floors, wobble/distort/transmission, discard, emissive bloom, env maps, dynamic updates, per-face materials), which approaches level 5. However, several snippets reference undefined variables (colorTexture, alphaTexture, envTexture, emissiveTexture, spriteTexture) and the Custom Shader section uses useRef/useFrame without imports, so the code is not fully standalone-executable — matching level 4's "concrete code with minor gaps". | 4 / 5 |
Workflow Clarity | This is a single-purpose lookup/selection skill with no multi-step or risky process, so the simple-skill exception applies: the action (identify the need, pick a material via the Material Types overview table with its Use Case column, copy the matching example) is unambiguous, with performance guidance for tie-breaking. No validation checkpoints are needed since nothing destructive or batch-oriented is performed, so nothing caps this below the level-5 anchor. | 5 / 5 |
Progressive Disclosure | No bundle files exist and the entire ~600-line catalog is inline in SKILL.md, with only cross-skill pointers ("See `r3f-shaders` for detailed shader material usage") to offload detail. Structure is decent (clear per-material sections), but content that clearly belongs in separate reference files — Drei special materials, custom shaders, the base-properties listing — is inlined, matching the level-3 anchor rather than level 4's "most content appropriately placed" split across files. | 3 / 5 |
Total | 15 / 20 Passed |