CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

3d-paper-material

Build a paper sheet in Three.js that reads as paper up close — washi, cotton rag or kraft with baked fibre and tooth relief, laid and chain lines, a torn deckle edge with frayed fibres, four-layer thickness, a rolled corner and crease, ink that wicks along the fibres, toasted aged edges, contact shadows and back-lit translucency. Use for a hung sheet, scroll, page, label, shoji pane or card that must survive a macro close-up, or when paper looks like a flat white plane, has ruler-straight edges, no thickness, or does not glow when lit from behind. Use 3d-wood-material, 3d-cloth-material or 3d-metal-material for those materials, and paper-cinder-transition for burning paper.

70

Quality

88%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

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 dense, expert-level build guide with rare concreteness — measured constants, exact shader expressions, and symptom-first gotchas — that mostly respects the reader's intelligence. Its main weaknesses are bundle hygiene: the demo and source files it tells the reader to read are absent, there is no complete code in the skill itself, and a couple of meta sections spend tokens on non-guidance content.

Suggestions

Ship demo.html (and kibori.html or a distilled reference) in the bundle, or inline the essential onBeforeCompile patch code — the body's key instruction is 'Read demo.html for a working build' and that file is not there.

Move the self-score table and provenance section into a reference file (or trim them) — they are self-assessment, not build guidance, and cost roughly 13 lines of context.

Add one explicit validation checkpoint per pipeline stage (e.g. 'at overview, confirm the tear reads torn, not wavy, before enabling macro') so the error-recovery loops in Gotchas attach to the sequence rather than living apart from it.

DimensionReasoningScore

Conciseness

The body is dense and assumes competence — no explanation of what Three.js, height maps, or albedo are, and every rule is paired with the failure it prevents ("Rules and the failure each prevents"). It is not a 5 because the "Self-score against the anchored rubric" table and "Provenance" section (~13 lines combined) are self-assessment/meta content rather than build guidance, and the "Playback and lifecycle" section overlaps knowledge Claude already has (document.hidden, DPR caps, ResizeObserver), so a few tokens could be trimmed.

4 / 5

Actionability

Highly concrete throughout: exact formulas ("tr = 0.74 + (0.5-form)*0.85 + (0.5-lowfbm)*0.45 - fibre*0.22 - fleck*0.45"), working GLSL expressions (the smoothstep ink-bleed and ellipse-fleck snippets), a full constants table per stock, and specific gotcha fixes. It stops short of anchor 5 because there is no complete executable code — the reader is pointed to "demo.html for a working build", and that file (along with kibori.html) is not present in the bundle, leaving the copy-paste-ready anchor missing.

4 / 5

Workflow Clarity

The 7-step pipeline is clearly sequenced (bake, warp, mask, shape, shade, transmit, macro) with exact parameters at each step, and the symptom-first "Gotchas" section provides genuine error-recovery feedback loops (e.g. fringe fibres vanish → alphaTest explanation → alphaToCoverage fix). Not a 5 because there are no explicit validation checkpoints between stages (e.g. no 'verify the tear reads torn at overview before proceeding to shading'), so checkpoints remain implicit rather than stated.

4 / 5

Progressive Disclosure

Sections are well-organized and clearly headed, but the body references "demo.html" and "kibori.html" as load-bearing materials ('Read demo.html for a working build', 'ported unchanged from the Kibori workshop page') and neither file exists in the bundle — no references/, scripts/, assets/ directories are present. Per the guideline to score against the actual bundle structure, these are dangling references to files that cannot be read; the constants table and gotchas are also candidates for a separate reference file given the >50-line length.

3 / 5

Total

15

/

20

Passed

Description

100%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.

An exemplary description: comprehensive concrete capability list, explicit dual trigger clauses (both use-cases and failure symptoms), and explicit redirects to sibling skills. It uses third-person imperative voice and stays dense without padding. No weaknesses to report.

DimensionReasoningScore

Specificity

The description enumerates many concrete capabilities — "baked fibre and tooth relief, laid and chain lines, a torn deckle edge with frayed fibres, four-layer thickness, a rolled corner and crease, ink that wicks along the fibres, toasted aged edges, contact shadows and back-lit translucency" — matching the 'multiple specific concrete actions; comprehensive coverage' anchor exactly. It is not below (4) because coverage of the capability surface is comprehensive rather than having minor gaps, and it is written in third-person imperative form with no fluff.

5 / 5

Completeness

Both halves are explicit: the 'what' is the full feature list above, and the 'when' is stated twice with concrete trigger phrases — "Use for a hung sheet, scroll, page, label, shoji pane or card that must survive a macro close-up, or when paper looks like a flat white plane, has ruler-straight edges, no thickness, or does not glow when lit from behind." This matches the anchor-5 example structure (what-list followed by 'Use when...'), not the anchor-4 case where the 'when' could be more specific.

5 / 5

Trigger Term Quality

Natural terms a user would say are comprehensively covered with synonyms: "paper", "washi, cotton rag or kraft", "hung sheet, scroll, page, label, shoji pane or card", "Three.js", "macro close-up", "back-lit". Anchor 5 ('comprehensive coverage of natural terms including synonyms') fits; I could not identify a natural phrasing a user would utter that is missing, so 4 would understate the coverage.

5 / 5

Distinctiveness Conflict Risk

The niche is unambiguous (a Three.js paper material) and it actively defuses conflicts by redirecting: "Use 3d-wood-material, 3d-cloth-material or 3d-metal-material for those materials, and paper-cinder-transition for burning paper." Clear niche with distinct triggers and explicit sibling disambiguation — minimal conflict risk, so below-anchor 4 would be wrong.

5 / 5

Total

20

/

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

MengTo/Skills

Path

agent-skills/3d/3d-paper-material/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.