CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

unity-test-framework-c

Use whenever pure C code for 8-bit MCUs, Cortex-M or embedded Linux needs unit tests with ThrowTheSwitch Unity (not the Unity game engine): TEST_ASSERT families, setUp and tearDown, RUN_TEST, the test runner generator, config defines and CI via Ceedling JUnit XML.

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 testland/unity-test-framework-c

SKILL.md
Quality
Evals
Security

Quality

Content

86%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 strong, highly actionable reference: executable code and commands for host and cross-build paths, a useful anti-patterns table, and clean progressive disclosure into two real, one-level-deep reference files. The only weaknesses are minor redundancy (the game-engine distinction stated three times, a duplicated link list) and the absence of an explicit fail-then-fix feedback loop. These are polish-level issues.

Suggestions

State the Unity-game-engine disambiguation once (the Overview) and drop the repeats in the Anti-patterns table and References section to save tokens.

Drop the 'Foundational documents' list at the end since every URL is already cited inline where it is used.

Add a short error-recovery step in the Running section (e.g., on FAIL lines, read the expected/was detail and re-run only the failing test) to close the feedback loop.

DimensionReasoningScore

Conciseness

The body is dense and assumes Claude's competence (no padding about what unit testing or MCUs are), but the Unity-game-engine disambiguation appears three times (Overview, Anti-patterns, References) and the final References section re-lists URLs already cited inline - minor trimmable redundancy that keeps it below level 5's 'every token earns its place'.

4 / 5

Actionability

Fully executable, copy-paste-ready guidance throughout: a complete minimal test file, the generate_test_runner.rb invocation, host gcc and arm-none-eabi-gcc + QEMU build commands, the UNITY_OUTPUT_CHAR override, and the grep-based smoke gate, covering the common host and cross-compiled cases.

5 / 5

Workflow Clarity

Sections follow the natural test lifecycle (Authoring, Building, Running, Parsing results, CI) with failure-gating checkpoints via exit code and the ':FAIL:' smoke gate, but there is no explicit error-recovery/feedback loop (e.g., what to do when a test fails), so it matches level 4 rather than level 5.

4 / 5

Progressive Disclosure

A clear overview with well-signaled, verified one-level-deep references: the full assertion table and config defines live in references/assertion-api.md and the CI pipeline in references/ci-integration.md (both real files, no nested references), with key examples inline and bulk detail appropriately split out.

5 / 5

Total

18

/

20

Passed

Description

100%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 exemplary: it states concrete capabilities, an explicit trigger clause with specific target conditions, and an explicit disambiguation from the Unity game engine. Trigger terms cover the natural vocabulary of embedded C developers. No changes needed.

DimensionReasoningScore

Specificity

The description lists multiple specific concrete capabilities - "TEST_ASSERT families, setUp and tearDown, RUN_TEST, the test runner generator, config defines and CI via Ceedling JUnit XML" - covering authoring, configuration, and CI comprehensively for the domain, matching the comprehensive-coverage anchor rather than level 4's 'minor gaps'.

5 / 5

Completeness

It explicitly answers both questions: an explicit "Use whenever pure C code for 8-bit MCUs, Cortex-M or embedded Linux needs unit tests" trigger with concrete conditions, plus a clear what-list of capabilities, matching the level-5 anchor structure; level 4's 'when could be more explicit' does not apply.

5 / 5

Trigger Term Quality

Natural user vocabulary is comprehensively covered - "unit tests", "pure C", "8-bit MCUs", "Cortex-M", "embedded Linux", "ThrowTheSwitch Unity", "Ceedling", "JUnit XML" - with synonym-level coverage of both the target space (three target-class variants) and the tool stack; above level 4's 'a few natural terms missing'.

5 / 5

Distinctiveness Conflict Risk

It explicitly negates the single most likely confusion - "(not the Unity game engine)" - and names the exact library and ecosystem, giving a clear niche with minimal conflict risk; the embedded-C framing further separates it from generic testing skills.

5 / 5

Total

20

/

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

referenced_paths_exist

Referenced path issues: 3 missing

Warning

Total

15

/

16

Passed

Repository

testland/qa

Path

plugins/qa-embedded/skills/unity-test-framework-c/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.