CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

unit-testing

Unit testing patterns, mock builder usage, and test data construction strategies for the Lichtblick monorepo.

Quality

73%

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 ./.github/skills/unit-testing/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.

The body is a well-organized, project-specific reference with executable code, a clear architecture map, and concrete anti-patterns — it adds information Claude cannot know (the Lichtblick builder conventions) rather than generalities. Its main weaknesses are the non-actionable Test Structure Reference stub and a small amount of inferable rationale padding.

DimensionReasoningScore

Conciseness

The body is dense and project-specific — an architecture tree, a usage snippet, a copy-paste builder template, an API table, and anti-patterns — with only minor trimming candidates (the 'Why Builders?' bullets restate benefits Claude can infer, and the BasicBuilder API table is borderline reference material). It matches 'Efficient; minor instances of over-explanation that could be trimmed' rather than the notably-verbose anchor 2 or the perfectly lean anchor 5.

4 / 5

Actionability

Concrete, executable TypeScript examples cover the common cases — 'PlayerBuilder.topic({ name: "/camera/image" })', a full MyEntityBuilder template, and a method-by-method BasicBuilder table — matching 'Mostly executable guidance; concrete code or commands with minor gaps'. It is not a 5 because the 'Test Structure Reference' section only lists topic bullets ('Given-When-Then (GWT) pattern', 'Naming conventions') without any example, leaving the testing-pattern half of the skill's promise non-executable.

4 / 5

Workflow Clarity

The document proceeds in a coherent sequence (why → architecture → usage → creating a new builder → principles → API → anti-patterns) and 'Creating a New Builder' plus the scope-placement rules give a clear procedure; this is a reference/pattern skill with no destructive or batch operations, so missing validation checkpoints do not trigger the cap. Minor gaps (no explicit ordered steps for choosing scope or verifying a builder compiles/tests) keep it below 5.

4 / 5

Progressive Disclosure

With no bundle files present, the body itself is well-sectioned and its external pointers are one level deep and clearly signaled: the ADR-0002 link is inline in context, and 'See the Unit Test Agent (`.github/agents/lb-unit-test.agent.md`)' is a single clearly-named reference. This matches 'Good structure; most content is appropriately placed; references mostly clear; minor organization gaps' — the BasicBuilder API table is reference-style content that could live in a separate file.

4 / 5

Total

16

/

20

Passed

Description

57%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 is concise, specific to a single monorepo niche, and clearly states what the skill covers, but it reads as a capability list with no trigger guidance. Adding a 'Use when...' clause and natural synonyms (tests, specs, fixtures, mocking) would materially improve discoverability.

Suggestions

Add an explicit trigger clause, e.g. 'Use when writing or reviewing unit/integration tests, creating mocks or test fixtures, or constructing test data in the Lichtblick monorepo.'

Include natural user-facing synonyms and tool terms (tests, specs, jest, fixtures, mocking) alongside 'mock builder' and 'test data'.

Consider naming one or two concrete actions users ask for, such as 'creating new domain builders with @lichtblick/test-builders' to round out the capability list.

DimensionReasoningScore

Specificity

The description names the domain ("unit testing ... for the Lichtblick monorepo") and three capability areas ("Unit testing patterns, mock builder usage, and test data construction strategies"), which matches the anchor 'Names domain and 1-2 concrete actions, but not comprehensive' — the phrases are capability nouns rather than a comprehensive list of concrete actions, and it is not a full 4 because it omits specifics like builder creation or mocking patterns beyond naming them.

3 / 5

Completeness

There is a clear 'what' (three named capability areas) but no 'when' clause — 'Use when...' or equivalent trigger guidance is entirely absent, which per the judging guidelines caps completeness at 3 ('Has a clear what but when is missing or only weakly implied'). It cannot be 4 because no 'when' is even weakly implied.

3 / 5

Trigger Term Quality

Relevant keywords are present ("unit testing", "mock builder", "test data", "Lichtblick") but common variations users would naturally say are missing (e.g., "tests", "specs", "jest", "fixtures"), matching the anchor 'Some relevant keywords but missing common variations or synonyms' rather than the good-coverage anchor 4.

3 / 5

Distinctiveness Conflict Risk

The scope is pinned to the 'Lichtblick monorepo' and its specific mock-builder architecture ('@lichtblick/test-builders' domain vocabulary is implied), giving it a clear niche with distinct triggers and minimal conflict risk with other skills; it is not generic enough to overlap with unrelated skills.

5 / 5

Total

14

/

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

lichtblick-suite/lichtblick

Path

.github/skills/unit-testing/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.