CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

add-lua-binding-simple

Add simple Cataclysm-BN Lua bindings for string_id types, enums, and basic read-only C++ types. Use when exposing straightforward C++ types to Lua.

Quality

80%

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

Fix and improve this skill with Tessl

tessl review fix ./.agents/skills/add-lua-binding-simple/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

75%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 well-structured, executable guide: concrete code patterns for all three binding types, a real build command, a test step, and troubleshooting. All dimensions land at 4 due to minor gaps — implicit feedback loops, judgment calls left to the reader (binding-file choice), and slight content duplication across sections.

Suggestions

Make the build-and-test loop an explicit feedback checkpoint: after testing in the Lua console, state 'if the binding is nil or the build fails, fix and re-run' rather than leaving the fix cycle implicit in Common Issues.

Give a concrete rule for choosing the binding file (e.g., which catalua_bindings_*.cpp corresponds to which type category) instead of "appropriate catalua_bindings_*.cpp file".

Trim duplication: the Luna macro list, the in-code macro comments, and "Files to Modify" repeat the same information — consolidate into one table or one section.

DimensionReasoningScore

Conciseness

The body is lean and assumes C++ competence (e.g., "SET_MEMB(name) - Mutable member variable or property" with no basic explanations). Minor duplication — the macros used in code examples are re-listed under "Luna Macros" and file names reappear in "Files to Modify" — keeps it below the every-token-earns-its-place anchor 5.

4 / 5

Actionability

Concrete, near copy-paste code blocks for all three type categories plus a build command ("cmake --build --preset linux-full --target cataclysm-bn-tiles") and Lua test snippets. Small gaps remain: "appropriate catalua_bindings_*.cpp file" leaves file selection to judgment, and the test path ("debug menu -> Lua console") is manual rather than scripted, so it is not fully anchor-5 copy-paste ready.

4 / 5

Workflow Clarity

A clear 5-step sequence ("What You'll Do") is followed by per-type instructions, an explicit Testing step, and a "Common Issues" recovery list (linker errors, missing operators). The validate→fix→retry loop is implied by Common Issues rather than an explicit checkpoint, matching anchor 4 with minor validation gaps.

4 / 5

Progressive Disclosure

No bundle files exist, and the body is well-sectioned (steps, patterns, testing, issues, files, references) with a clearly labeled, one-level-deep References section pointing to real project files (lua_integration.md, catalua_bindings_ids.cpp, catalua_luna.h). Minor organization overlap between the examples, macro tables, and "Files to Modify" sections keeps it at anchor 4 rather than 5.

4 / 5

Total

16

/

20

Passed

Description

78%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, third-person description that names a specific niche and includes an explicit "Use when..." clause. Its main limitation is that the when-clause is somewhat circular, restating the what instead of adding distinct trigger scenarios or additional natural synonyms.

DimensionReasoningScore

Specificity

"Add simple Cataclysm-BN Lua bindings for string_id types, enums, and basic read-only C++ types" names the domain and several specific binding targets with a concrete action verb. It is more comprehensive than the 1-2-action anchor but stops short of anchor 5's multiple distinct concrete actions (e.g., it doesn't enumerate what each binding kind does).

4 / 5

Completeness

It explicitly answers both "what" (add Lua bindings for string_id, enums, read-only C++ types) and "when" ("Use when exposing straightforward C++ types to Lua"). The when-clause is present and concrete but largely restates the what rather than adding distinct trigger scenarios, so it falls short of anchor 5's clear concrete trigger phrases.

4 / 5

Trigger Term Quality

"Lua bindings", "string_id", "enums", "C++ types", and "exposing straightforward C++ types to Lua" are natural phrases a Cataclysm-BN developer would say. A few natural terms are missing (e.g., "Lua API", "sol2", "Luna"), matching anchor 4 rather than the comprehensive synonym/extension coverage of anchor 5.

4 / 5

Distinctiveness Conflict Risk

"Cataclysm-BN Lua bindings for string_id types" carves out a clear niche with distinct, project-specific trigger terms; it would not plausibly invoke a different skill. Not below 5 because no overlap with generic binding or scripting skills exists.

5 / 5

Total

17

/

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

metadata_version

'metadata.version' is missing

Warning

Total

15

/

16

Passed

Repository

cataclysmbn/Cataclysm-BN

Path

.agents/skills/add-lua-binding-simple/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.