CtrlK
BlogDocsLog inGet started
Tessl Logo

setup-engine

Configure engine and version. Pins it in CLAUDE.md; WebSearch fills reference docs when the version is beyond LLM training data.

55

Quality

69%

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

Fix and improve this skill with Tessl

tessl review fix ./.claude/skills/setup-engine/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

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

This is an exceptionally actionable and well-validated workflow: every write is confirmed, every command is concrete with verified exit codes, and the dual-write/read-back/coherence-check loop is a model of workflow discipline. Its weaknesses are verbosity and asymmetric disclosure — long rationale blockquotes narrating past errors and design debates inflate the token cost on every invocation, and the Unity/Unreal material that parallels the split-out Godot reference stays inlined in an already huge body.

Suggestions

Strip or compress the rationale blockquotes (e.g. the multi-paragraph notes under §5.5.1's naming table and §8.5's "This section exists because prose did not hold") into one-line comments — they are design-history narrative, not runtime guidance, and likely cost tens of thousands of tokens per invocation.

Apply the Godot reference pattern symmetrically: move the Unity and Unreal CLAUDE.md templates, naming conventions, specialist routing tables, and per-OS command blocks into references/ files loaded only for those engines, mirroring the existing godot-language-config.md split.

Extract the §10 refresh and §11 upgrade subcommand flows into a separate reference (they are alternate modes, not the main path), leaving the main invocation sequence as the SKILL.md spine.

DimensionReasoningScore

Conciseness

The ~1,400-line body interleaves actionable instructions with many padded rationale blockquotes — "Why this table has a shape column and the others do not", "This is not cosmetic", "Deliberately not a project.yaml key", and §8.5's "This section exists because prose did not hold" — which are revision-history meta-commentary about past mistakes rather than guidance. This matches the anchor for noticeably verbose with several unnecessary explanations or padded sections; not 3 because the padding is pervasive (a large fraction of the file is justification prose), though not 1 since it never explains concepts Claude already knows and the core instructions are dense.

2 / 5

Actionability

Fully executable throughout: exact shell commands with per-OS probe paths ("godot --version", the Unity Hub editor paths), verbatim YAML templates for every engine, verified exit-code semantics ("exits 0 when all pass, 100 on a failure, 101 when all pass but nodes leaked"), and complete worked examples for all three engines and three platforms. Matches the anchor for copy-paste ready commands covering the common cases.

5 / 5

Workflow Clarity

The 12 sections run in execution order with ask-before-write checkpoints at every mutation and explicit validation loops: §5.5.3 reads project.yaml back and stops on divergence, §8 verifies the import via its marker, and §8.5 runs project-coherence.sh with "Report every [DIFFERS] line to the user and resolve it before finishing". Matches the anchor for clear sequence, explicit validation, and error-recovery feedback; not 4 because the checkpoints are both present and enforced.

5 / 5

Progressive Disclosure

The Godot lookup tables are correctly split one level deep into references/godot-language-config.md with clear A1/A2/A3 anchoring, verified load discipline ("On any engine other than Godot, never load it"), and the reference file exists in the bundle. However, the SKILL.md body itself remains a ~74KB monolith: the full Unity/Unreal templates, three per-OS Unreal command blocks, and the entire §11 upgrade subcommand are inlined where the Godot content was split out — matching the anchor for good structure with minor organization gaps rather than the anchor 5 ideal of content appropriately split.

4 / 5

Total

16

/

20

Passed

Description

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

The description states concrete, third-person actions and honestly scopes one behavior (reference docs filled only when the version is beyond training data), but it reads like a mid-pipeline step rather than an invocable skill: it lacks any "Use when..." trigger guidance and omits the engine names (Godot/Unity/Unreal) and game context that would let a user or Claude select it. It is functional but below the rubric's good examples on triggering and completeness.

Suggestions

Add an explicit trigger clause naming the domain and engines, e.g. "Use when setting up a game project's engine (Godot, Unity, or Unreal), pinning its version, or when the user mentions engine setup, engine choice, or upgrading to a new engine version."

Broaden the what-clause to cover the skill's full scope — guided engine selection with tradeoffs, project.yaml/technical-preferences population, and the refresh and upgrade subcommands — so the description is not read as CLAUDE.md-only.

Include natural user phrasings such as "pick a game engine", "set up Godot/Unity/Unreal", and "engine version" to improve trigger-term coverage.

DimensionReasoningScore

Specificity

Lists three concrete actions — "Configure engine and version", "Pins it in CLAUDE.md", "WebSearch fills reference docs" — matching the anchor for several specific actions with minor gaps. Not 5 because coverage is incomplete (guided engine selection, project.yaml dual-write, and the refresh/upgrade subcommands are unmentioned); not 3 because it goes beyond 1-2 actions.

4 / 5

Completeness

The "what" is clear (configure engine and version, pin it, populate reference docs), but there is no "Use when..." clause or equivalent invocation guidance — "when the version is beyond LLM training data" is a conditional inside an action, not a trigger for using the skill. The rubric caps completeness at 3 for a missing when-clause; not 4 because the when is absent rather than merely imprecise.

3 / 5

Trigger Term Quality

Contains relevant keywords ("engine", "version", "CLAUDE.md", "reference docs", "LLM training data") but misses the natural terms a user would actually say: no "game", "Godot", "Unity", or "Unreal". Matches the anchor for some relevant keywords missing common variations or synonyms; not 4 because the most natural trigger terms are absent.

3 / 5

Distinctiveness Conflict Risk

"Configure engine and version" is specific within a game-development skill suite but generically worded — "engine" without a game context could overlap other setup/configuration skills. Matches the anchor for somewhat specific with residual overlap risk; not 4 because no engine names or game context sharpen the niche.

3 / 5

Total

13

/

20

Passed

Validation

81%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (1417 lines); consider splitting into references/ and linking

Warning

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

13

/

16

Passed

Repository
Donchitos/Claude-Code-Game-Studios
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.