Install any skill in seconds. Free to start, no credit card required.
Get Started Free →donchitos/test-helpers
Generate engine-specific test helper libraries for the project's test suite. Reads existing test patterns and produces tests/helpers/ with assertion utilities, factory functions, and mock objects tailored to the project's systems. Reduces boilerplate in new test files.
Passed 8 of 15 test cases with the skill, and 5 of 15 without it.
and 6 more in the full report
6 fixed5 passed either way8 still failing3 broke
Tokens, turns and time describe resource use, not a dollar price.
This benchmark measured an earlier version of the skill.
A newer attempt on gemini-3.6-flash on 10/2/2026 did not produce a publishable comparison (not comparable). The snapshot above is the previously measured run.
One of 6 test cases the skill fixed. Same model, same prompt, with and without the skill.
We need helper functions created for our inventory system. However, project.yaml does not contain engine entries. Where should configuration defaults be read from, and what happens if no engine configuration is found anywhere?
| Checked | Without skill | With skill |
|---|---|---|
| Falls back to checking .claude/docs/technical-preferences.md when project.yaml lacks engine keys. | Missed | Passed |
| Instructs the user to run setup-engine if engine settings are missing from configuration sources. | Missed | Passed |
The instructions your model reads when the skill loads.
!bash "${CLAUDE_SKILL_DIR}/../../hooks/yaml-helper.sh" resolve_config --keys automation
Automation mode: Resolve modes.automation (project.local.yaml →
project.yaml → default collaborative). Every AskUserQuestion call and
every file write follows .claude/docs/automation-modes.md
(collaborative asks always · guided major-only · autonomous logs and proceeds;
automation_always_ask categories always prompt).
Writing test cases is faster and more consistent when common setup, teardown,
and assertion patterns are abstracted into helpers. This skill generates a
tests/helpers/ library tailored to the project's actual engine, language,
and systems — so every developer writes less boilerplate and more assertions.
Output: engine-specific helper files in the engine's helper root —
the only place its test runner compiles them (.claude/docs/directory-structure.md):
| Engine | Helper root |
|---|---|
| Godot | tests/helpers/ |
| Unity | Assets/Tests/EditMode/Helpers/ — inside the EditModeTests assembly /test-setup creates. If PlayMode tests need the same helpers, ask before creating Assets/Tests/Helpers/TestHelpers.asmdef and referencing it from both test assemblies. |
| Unreal | Source/<Module>/Private/Tests/Helpers/ |
tests/helpers/ below means the helper root for the project's engine.
When to run:
/test-setup scaffolds the framework (first time)assert()Generated helpers must assert through the configured test framework's assertion
API, resolved from testing.framework — not through GDScript's built-in
assert().
Two things go wrong with a bare assert() in a helper, and both are silent:
test cases passed, vs 5 / 15 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.