CtrlK
BlogDocsLog inGet started
Tessl Logo
PluginPublic

testland/ceedling-build-runner

Use when a C project wants Unity, CMock and CException run by one build command, or CMock mocks need writing or reading: Ceedling project scaffolding, project.yml, test tasks, JUnit XML, gcov coverage, host vs cross builds and CI. The Unity assertion API is unity-test-framework-c.

Quality

92%

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-crafted content body: fully executable commands and config throughout, a coherent authoring-to-CI workflow with exit-code gating, and clean progressive disclosure that pushes the full project.yml schema, task surface, and CMock API into real, well-signaled reference files. The remaining slack is minor: a little redundancy between Overview, 'When to use', and the References section, and an only-implied test-failure feedback loop.

Suggestions

Merge the Overview paragraph's host-build/coverage sentences into 'When to use' and drop the References section's restatement of already-inline citations to tighten conciseness.

After 'Parsing results', add one explicit feedback-loop line (parse the file:line:test:reason failure -> fix in test_*.c -> re-run 'ceedling test:<module>') to make the validation cycle a stated checkpoint.

DimensionReasoningScore

Conciseness

The body is dense with Ceedling-specific facts Claude would not know (flag semantics, report paths, exit-code behavior, the anti-patterns table) with almost no padding of known concepts, but the Overview paragraph overlaps the 'When to use' bullets and the References section restates already-inline citations, so it is not fully lean.

4 / 5

Actionability

Everything is copy-paste executable: 'gem install ceedling', 'ceedling new my-firmware --docs --local', a complete project.yml block, 'ceedling module:create[ringbuffer]', the chained 'ceedling clobber test:all release gcov:all' invocation, and a full GitHub Actions workflow with action versions and artifact paths covering the common cases.

5 / 5

Workflow Clarity

Sections give a clear scaffold -> configure -> module -> run -> parse -> CI sequence with an explicit validation gate ('ceedling test:all returns non-zero on any test failure; CI gates on the exit code') and state hygiene ('Always clobber before the CI run'), but the failure -> fix -> re-run loop is only implied by the output-parsing section rather than stated as an explicit checkpoint.

4 / 5

Progressive Disclosure

The SKILL.md keeps the core loop inline and clearly signals one-level-deep references to real bundle files for the bulk detail ('is in references/project-yml-schema.md', 'is in references/task-reference.md', 'see references/cmock.md'), all of which exist and do not nest further into other bundle files.

5 / 5

Total

18

/

20

Passed

Description

95%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: it explicitly states both what the skill covers and when to use it with concrete trigger phrases, names the specific tools and artifacts involved, and cleanly boundaries itself against sibling skills. The only weakness is that parts of the capability list are domain nouns (e.g. 'JUnit XML', 'project.yml') rather than concrete actions.

DimensionReasoningScore

Specificity

Enumerates many concrete capabilities ("project scaffolding, project.yml, test tasks, JUnit XML, gcov coverage, host vs cross builds and CI") with comprehensive coverage, but several are domain nouns rather than the concrete actions of the anchor-5 example, so it sits between anchors 4 and 5.

4 / 5

Completeness

An explicit 'Use when' clause with concrete trigger conditions ("a C project wants Unity, CMock and CException run by one build command, or CMock mocks need writing or reading") is paired with a clear what-list, fully matching the anchor requiring both what and when with concrete triggers.

5 / 5

Trigger Term Quality

Covers the natural terms a user would say: tool names ("Unity, CMock and CException", "Ceedling"), a filename ("project.yml"), output formats ("JUnit XML", "gcov coverage"), and workflow phrases ("mocks need writing or reading", "CI"), matching the comprehensive-synonyms anchor rather than the 'a few natural terms missing' anchor.

5 / 5

Distinctiveness Conflict Risk

The description is anchored to the distinct Ceedling/ThrowTheSwitch niche and explicitly deflects the adjacent skill ("The Unity assertion API is unity-test-framework-c"), giving a clear niche with minimal conflict risk.

5 / 5

Total

19

/

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.

Reviewed

On this page