CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

add-carnival-game

Add a new game to the Carnival Arcade midway, following the water cannon pattern and the house rules. Use when asked to build, add or create a carnival game or booth, such as ring toss, whack-a-mole or hook a duck.

Quality

93%

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

The canonical home for this skill is add-carnival-game in Cornebidouille/tessl-carnival

SKILL.md
Quality
Evals
Security

Quality

Content

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

The body is an exemplary skill document: a tight, sequenced ten-step workflow grounded in a concrete reference implementation, with exact APIs, commands, file paths, and an explicit validation loop and completion checklist. Every token is project-specific and earns its place, and nothing that belongs in a separate file is inlined. No weaknesses were found against any dimension.

DimensionReasoningScore

Conciseness

The body is lean and assumes Claude's competence: every sentence is project-specific instruction (e.g. "Don't touch `src/games/index.ts`. It finds every folder whose `game.ts` has a default export") with no explanations of concepts Claude already knows and no padding. Even the brief rationale clauses ("keep them free of the canvas and the DOM so Vitest can run them") earn their tokens by preventing a real mistake.

5 / 5

Actionability

Guidance is fully executable: exact paths (`src/games/<game-id>/`), exact APIs (`recordScore(ringToss.id, score)` from `src/carnival`, `theme.colors.*`, `canvasFont(...)`), commands (`npm run format`, `npm run check`, `npm run dev`), and a copy-paste-ready `CarnivalGame` template showing the required named and default exports. The commented `start(canvas)` body is justified flexibility since each game's loop differs and step 1 directs to the complete water-cannon pattern to copy, so this is not the pseudocode penalty of anchor 3.

5 / 5

Workflow Clarity

Ten clearly sequenced steps with explicit validation and a feedback loop ("Run `npm run format`, then `npm run check`, and fix anything it reports") plus a "Done when" checklist with concrete verifiable outcomes (playable at `#/play/<game-id>`, best score shows on the midway, registry test passes). This matches the top anchor with checkpoints and a checklist; the operation is additive rather than destructive or batch, so no cap applies.

5 / 5

Progressive Disclosure

There are no bundle files and none are needed: this is a single-task skill whose entire content (steps, one compact code template, a done-checklist) belongs inline, organized under clear "Steps" and "Done when" sections. Per the rubric's simple-skill note, a skill of this size with no need for external references and well-organized sections scores 5; the in-repo pattern file it points to (`src/games/water-cannon/game.ts`) is a real, clearly signaled source of detail exactly one level deep.

5 / 5

Total

20

/

20

Passed

Description

82%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 that clearly and explicitly states both what the skill does and when to use it, with natural trigger verbs, noun synonyms, and concrete example games. The only mild weakness is that it names a single primary action rather than enumerating several specific capabilities. Third-person voice is used correctly and there is no padding.

DimensionReasoningScore

Specificity

"Add a new game to the Carnival Arcade midway, following the water cannon pattern and the house rules" names the domain and one concrete action with concrete constraints, matching the anchor for 1-2 concrete actions that is not comprehensive. It is not a 4 because the description does not list several specific capabilities, and not a 2 because it is far more concrete than generic domain-naming.

3 / 5

Completeness

It explicitly answers both questions: the what is "Add a new game to the Carnival Arcade midway, following the water cannon pattern and the house rules" and the when is "Use when asked to build, add or create a carnival game or booth, such as ring toss, whack-a-mole or hook a duck" with concrete trigger phrases. This matches the top anchor exactly; the neighboring anchor 4 is for weaker or less explicit 'when' clauses, which does not apply here.

5 / 5

Trigger Term Quality

"build, add or create a carnival game or booth, such as ring toss, whack-a-mole or hook a duck" covers three verb synonyms, two noun synonyms, and three concrete example games, giving good keyword coverage. It falls short of 5 because a few natural phrasings users might say (e.g. "make", "stall", "arcade game") are absent.

4 / 5

Distinctiveness Conflict Risk

The description is tied to a specific codebase ("the Carnival Arcade midway", "the water cannon pattern") with distinct triggers and named example games, giving it a clear niche with minimal conflict risk. Anchor 4's "minor overlap risk with closely related skills" does not apply because no competing generic skill would trigger on these phrases.

5 / 5

Total

17

/

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

xinyuliew/tessl-carnival

Path

skills/add-carnival-game/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.