CtrlK
BlogDocsLog inGet started
Tessl Logo

threejs-landscape

Build a live Three.js landscape that stays quiet behind a subject — a noise heightfield on a polar grid so resolution follows the lens, ground coloured by slope and moisture rather than by texture, instanced GPU grass whose wind costs nothing on the CPU, scattered stones, a gradient sky dome, a star field you can actually see, and a time-of-day system that cross-fades instead of cutting. Use for hero backdrops, product stages, scroll worlds, or any scene where a building, object, or figure has to sit in a place rather than float on a gradient.

72

Quality

88%

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

88%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 body: dense, expert-level guidance with concrete code, real tuning constants, and explicit validation checkpoints. The only weaknesses are the incomplete grass-shader snippet and the absence of any reference-file split for the deeper implementation detail.

Suggestions

Complete the grass vertex-shader snippet — replace the 'vec2 gRib = ... ;' ellipsis and undeclared grassUni/uRestBend with working code so the most complex section is copy-paste ready.

Move the full grass and star implementation detail into a references/ file and keep a short summary in SKILL.md, which would also bring the body closer to a 50-line overview.

DimensionReasoningScore

Conciseness

Lean and dense throughout — every section delivers non-obvious hard-won specifics ('pow(t, 2.4) is the whole trick', winding-order warning, DPR star scaling, draw-call-vs-triangle-count advice) with zero padding and no explanation of basics Claude already knows.

5 / 5

Actionability

Most sections give near-executable code with real constants (polar grid loop, landH, vertex colouring, sky gradient, applyState), but the grass shader snippet contains a literal 'vec2 gRib = ... ;' ellipsis and references undeclared identifiers (grassUni, uRestBend), leaving minor gaps.

4 / 5

Workflow Clarity

Sections are sequenced in build order with an in-flow checkpoint ('check by orbiting under the horizon once, deliberately, before you build anything else') and a closing checklist that maps symptom to cause ('If you can see the sky through the ground, your winding is inverted'), giving explicit validation and error-recovery guidance.

5 / 5

Progressive Disclosure

Well-organized section-per-topic structure with clear headers and no buried content, but the ~150-line body is monolithic — the detailed grass shader and star configuration would fit naturally in reference files, and no external references exist to offload them.

4 / 5

Total

18

/

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: concrete capabilities are enumerated specifically, and an explicit 'Use for...' clause gives clear trigger scenarios. Voice is imperative-neutral with no first/second person, and buzzwords are absent. Gaps are minor — a few missing synonyms like 'terrain' and slight breadth in the when-clause.

Suggestions

Add natural synonyms users would say, e.g. 'terrain', '3D background', or 'environment', to the what-clause to broaden trigger matching.

Tighten the when-clause scope so 'any scene where...' does not partially match generic Three.js scene-building requests already covered by sibling skills.

DimensionReasoningScore

Specificity

Lists seven concrete, distinct capabilities ('a noise heightfield on a polar grid', 'ground coloured by slope and moisture', 'instanced GPU grass', 'scattered stones', 'a gradient sky dome', 'a star field', 'a time-of-day system that cross-fades'), which is comprehensive coverage, not just several specific actions with minor gaps.

5 / 5

Completeness

Explicitly answers what (the enumerated landscape capabilities) and when ('Use for hero backdrops, product stages, scroll worlds, or any scene where a building, object, or figure has to sit in a place') with concrete trigger phrases, matching the anchor-5 example structure.

5 / 5

Trigger Term Quality

Good natural keyword coverage including 'Three.js landscape', 'hero backdrops', 'product stages', 'scroll worlds', 'grass', 'sky', and 'time of day', but common synonyms a user would actually say such as 'terrain', '3D background', or 'environment' are missing.

4 / 5

Distinctiveness Conflict Risk

The landscape-backdrop niche is clear, but 'any scene where a building, object, or figure has to sit in a place' is broad and sibling Three.js skills (threejs-weather, threejs-towers) create minor overlap risk with closely related scene-building requests.

4 / 5

Total

18

/

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