CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

lua-binding-reference

Quick reference for Cataclysm-BN Lua binding macros, Luna usertypes, libraries, documentation, type patterns, build steps, and common errors.

Quality

77%

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/lua-binding-reference/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

76%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, highly actionable reference that rewards every token with concrete macro syntax, registration patterns, build commands, and an error-to-fix table. Its weaknesses are an implicit rather than explicit workflow — the steps for adding a binding are scattered across sections with no ordered checklist or validation loop — and mild duplication between the macro-wrapper and luna:: sections. No bundle files exist, so all content is inline, which the clear sectioning and one-level-deep references mostly offset.

Suggestions

Add an explicit ordered workflow section near the top, e.g. "1. Add LUNA_* macro to src/catalua_luna_doc.h → 2. Write reg_my_domain in a new catalua_bindings_*.cpp → 3. Call it from reg_all_bindings → 4. Build → 5. Test in the debug-menu Lua console", with a validation step (rerun the Lua checker) after building.

Trim the "Lua Testing Patterns" section, which repeats the optional-value and collection idioms already shown under "Common Type Patterns", keeping only patterns not demonstrated elsewhere.

Consider moving the per-type pattern details (units, time, coordinates, collections) into a references/ file and keeping SKILL.md as an overview with one-level-deep pointers, to reduce inline bulk.

DimensionReasoningScore

Conciseness

The body is a dense, tightly formatted reference: nearly every line is a macro signature, registration snippet, or usage example, with almost no prose padding. Minor trimming is possible — the SET_MEMB/SET_FX "Utility Macros" section restates the later luna::set/luna::set_fx forms, and "Lua Testing Patterns" re-covers optional-value and collection idioms already demonstrated in "Common Type Patterns".

4 / 5

Actionability

Fully concrete and executable: exact macro invocations (LUNA_VAL( my_type, "MyType" )), complete registration-function skeletons wired into reg_all_bindings, a literal build command (cmake --build --preset linux-full --target cataclysm-bn-tiles), Lua-side usage examples, and an error-to-fix table. Together these cover the common cases copy-paste-ready.

5 / 5

Workflow Clarity

All the components of the binding workflow are present (add LUNA_* macro to catalua_luna_doc.h, write a registration function, hook it into reg_all_bindings, build, test via the in-game Lua console) but they are scattered across sections and never explicitly sequenced as steps. Validation is only implicit — one mention that the Lua checker should be rerun after doc-generator changes, with no check/fix/retry loop.

3 / 5

Progressive Disclosure

The file is well-sectioned with clear headers and ends with a clearly signaled "Key References" section pointing one level deep to repo docs (lua_integration.md, lua_style.md, catalua_luna.h, example binding files) and the sol2 docs. The main gap is that the entire API reference lives inline in a ~465-line SKILL.md with no bundle split into reference files.

4 / 5

Total

16

/

20

Passed

Description

70%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 concrete, well-scoped description for a niche domain, listing seven specific coverage areas with no vague fluff. Its main weakness is the complete absence of a "Use when…" trigger clause, which both caps completeness and leaves invocation conditions implicit. Adding a few common synonyms (sol2, Lua API) would round out trigger coverage.

Suggestions

Append a trigger clause, e.g. "Use when adding or modifying Lua bindings in Cataclysm: Bright Nights, registering Luna/sol2 usertypes, or when the user mentions sol2, Lua API, or exposing C++ types to Lua."

Include the common synonyms "sol2" and "expose C++ to Lua" among the keywords so users who name the underlying library still match this skill.

Frame one or two items as actions (e.g. "Register Luna usertypes and sol2 functions") to move from topic-noun listing toward concrete capability statements.

DimensionReasoningScore

Specificity

The description enumerates several concrete coverage areas ("binding macros, Luna usertypes, libraries, documentation, type patterns, build steps, and common errors") with no vague filler. It falls short of the 5 anchor because it lists topics as nouns rather than the concrete action verbs ("Extract text… fill forms… merge documents") the top anchor exemplifies, and there are minor gaps in how the actions are framed.

4 / 5

Completeness

It clearly answers "what" (a quick reference covering macros, usertypes, libraries, documentation, type patterns, build steps, and common errors) but contains no "Use when…" clause or equivalent explicit trigger guidance, which caps this dimension at 3 per the judging guidelines. The "when" is entirely absent, not merely weakly implied.

3 / 5

Trigger Term Quality

Good natural keyword coverage: "Lua binding", "Cataclysm-BN", "Luna usertypes", "build steps" are phrases a user of this skill would naturally say. A few natural terms are missing, notably "sol2" (the underlying library users would likely mention), "expose C++ to Lua", and "Lua API".

4 / 5

Distinctiveness Conflict Risk

"Cataclysm-BN Lua binding macros, Luna usertypes" names a highly specific niche with distinct triggers; it is unlikely to fire for any unrelated skill and no other skill would plausibly compete for these triggers.

5 / 5

Total

16

/

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

relative_links

Relative link issues: 4 missing

Warning

Total

15

/

16

Passed

Repository

cataclysmbn/Cataclysm-BN

Path

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