CtrlK
BlogDocsLog inGet started
Tessl Logo
PluginPublic

testland/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

90%

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

Overview
Quality
Evals
Security
Files

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.

A well-structured, highly actionable reference with real bundle files correctly split off and concrete commands for host, cross, and CI paths. The only gaps are a slightly redundant inline-cited-links References section and absent failure-recovery guidance in the workflow.

Suggestions

Drop or compress the References section — every URL in it is already cited inline at its point of use, so re-listing them duplicates tokens without adding navigational value.

Add a short troubleshooting/feedback loop for the build-and-run workflow, e.g., what to check when the QEMU semihosting run produces no output or the runner-generation step fails.

DimensionReasoningScore

Conciseness

The body is dense and assumes competence — no basic-concept padding — and delivers Unity-specific knowledge (config defines, semihosting, anti-patterns) throughout. Minor trim opportunities remain, e.g., the References section re-lists every URL already cited inline. Fits the efficient-with-minor-trims (4) anchor, not the every-token-earns-its-place (5) anchor.

4 / 5

Actionability

Fully executable guidance throughout: a complete minimal test with setUp/tearDown/main, runnable gcc host-build and arm-none-eabi + QEMU cross-build commands, the generate_test_runner.rb invocation, exact output formats, exit-code semantics, and a copy-paste grep smoke gate. Covers the common cases end to end.

5 / 5

Workflow Clarity

Sections sequence the natural lifecycle (Authoring → Building → Running → Parsing → CI) with validation gates present (UNITY_END() exit code, grep -c ':FAIL:', the CI ! grep -q gate). Not 5 because there is no error-recovery or feedback-loop guidance (e.g., what to do when a cross-build or QEMU run fails).

4 / 5

Progressive Disclosure

The body keeps only key examples inline and clearly signals one-level-deep references — the assertion table and config defines in references/assertion-api.md, the full CI pipeline in references/ci-integration.md — both verified to exist, with descriptive link text and appropriate content split.

5 / 5

Total

18

/

20

Passed

Description

92%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 specific, explicit about both what it covers and when to use it, and proactively disambiguates the Unity name collision. Keyword coverage is strong but could add a few more natural synonyms a user might say.

DimensionReasoningScore

Specificity

Enumerates multiple concrete capabilities — "TEST_ASSERT families, setUp and tearDown, RUN_TEST, the test runner generator, config defines and CI via Ceedling JUnit XML" — comprehensively covering the skill's domain with specific API and tool names rather than generic verbs.

5 / 5

Completeness

"Use whenever pure C code ... needs unit tests with ThrowTheSwitch Unity" explicitly answers when with concrete trigger phrases, and the colon-separated list explicitly answers what it covers. Not 4, because both halves are explicit and specific rather than the 'when' being merely present.

5 / 5

Trigger Term Quality

Strong natural keyword coverage ("pure C", "8-bit MCUs", "Cortex-M", "embedded Linux", "unit tests", "ThrowTheSwitch Unity", "Ceedling", "JUnit XML"), but a few terms users would naturally say are missing (e.g., "microcontroller", "firmware", "AVR"). This sits between the good-coverage (4) and comprehensive-synonym (5) anchors, closer to 4.

4 / 5

Distinctiveness Conflict Risk

The parenthetical "(not the Unity game engine)" plus scoping to ThrowTheSwitch, pure C, and embedded targets establishes a clear niche with minimal conflict risk against the similarly-named game-engine skill.

5 / 5

Total

19

/

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

Reviewed

On this page