CtrlK
BlogDocsLog inGet started
Tessl Logo
PluginPublic

testland/unity-test-framework

Use whenever C# code in a Unity game-engine project needs tests that use the Unity runtime or editor: Unity Test Framework EditMode vs PlayMode tests, [Test] and [UnityTest], assembly definitions, the Test Runner window, batch-mode command-line runs and CI. Not the ThrowTheSwitch C library.

Quality

83%

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

71%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 skill with executable examples, a coherent author→run→parse→CI lifecycle, and exemplary use of one-level-deep reference files. The main drag is token efficiency: scattered version numbers, a tangential sibling-skill section, repeated guidance, and an empty TearDown stub that undercuts its own cleanup advice.

Suggestions

Confine version-sensitive details (NUnit 3.5, v1.4/v1.8 doc pins, Unity 2019.2) to a single 'Versions' note or the references instead of scattering them through the body prose.

Fill in the EditMode example's [TearDown] with the actual Object.DestroyImmediate cleanup the anti-patterns table prescribes, instead of leaving an empty stub with only a comment.

Trim the 'Composes with' sibling-skill list to one line and state the 'prefer [Test] over [UnityTest]' advice once instead of in both the EditMode and NUnit assertion APIs sections.

DimensionReasoningScore

Conciseness

The body is mostly disciplined — it quotes the docs briefly and pushes the attribute cheatsheet, CLI flag table, XML schema, and CI workflow into references — but version-sensitive details ("NUnit 3.5", "UTF is currently v1.8... pin to the v1.4", "Unity 2019.2") are scattered through the prose rather than confined to a versions/deprecated section, the 'Composes with' sibling-skill list is tangential, and the 'prefer [Test] over [UnityTest]' advice is stated twice (EditMode section and NUnit assertion APIs section). This matches anchor 3's 'mostly efficient but includes some unnecessary explanation or could be tightened' rather than anchor 4's 'minor instances'.

3 / 5

Actionability

The guidance is largely executable: complete EditMode and PlayMode C# test examples, a PlayMode asmdef JSON block, a copy-paste batch-mode CLI invocation, and full flag/CI detail in the references. The minor gap keeping it from anchor 5: the EditMode example's [TearDown] is an empty stub ("// EditMode tests must clean up created GameObjects") even though the skill itself prescribes `Object.DestroyImmediate(go)` in its anti-patterns table.

4 / 5

Workflow Clarity

The lifecycle is clearly sequenced — When to use → Authoring (install, EditMode, PlayMode, attributes) → Running (Test Runner, CLI) → Parsing results → CI — with an explicit verification checkpoint ("treat the -testResults XML as the source of truth"). It lacks an explicit failure-recovery loop (parse failures → fix → rerun), so it fits anchor 4's 'clear sequence with most checkpoints present; minor validation gaps' rather than anchor 5; it is well above anchor 3, where checkpoints are only implicit.

4 / 5

Progressive Disclosure

The body is a genuine overview: three real, one-level-deep reference files, each clearly signaled with what it contains — "[references/attributes.md]", "the full batch-mode flag table ... in [references/cli.md]", "A complete GitHub Actions workflow is in [references/results-and-ci.md]" — and all three files exist in the bundle with the promised content. This matches anchor 5's 'clear overview with well-signaled one-level-deep references; content appropriately split'.

5 / 5

Total

16

/

20

Passed

Description

87%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 states a concrete, multi-part capability list, an explicit 'Use whenever...' trigger clause, and pre-emptive disambiguation against the same-named C testing library. The only gaps are a few natural synonyms (NUnit, 'unit tests') and topic-style phrasing rather than action verbs.

DimensionReasoningScore

Specificity

The description enumerates six concrete capability areas — "EditMode vs PlayMode tests, [Test] and [UnityTest], assembly definitions, the Test Runner window, batch-mode command-line runs and CI" — spanning authoring, running, and CI. They are noun-phrase topics rather than the explicit verb-actions of the anchor-5 example, and result parsing / NUnit assertions are omitted, so anchor 4 (several specific items, minor gaps) fits better than 5 and clearly better than anchor 3's '1-2 concrete actions'.

4 / 5

Completeness

It explicitly answers both questions: what it covers ("EditMode vs PlayMode tests, [Test] and [UnityTest], assembly definitions... batch-mode command-line runs and CI") and when to use it ("Use whenever C# code in a Unity game-engine project needs tests that use the Unity runtime or editor") — a concrete, explicit trigger clause matching the anchor-5 example. Anchor 4's 'when could be more explicit' does not apply.

5 / 5

Trigger Term Quality

Good coverage of terms a user would naturally say: "Unity", "C#", "EditMode", "PlayMode", "Test Runner", "batch-mode", "CI", plus the attribute names "[Test]" and "[UnityTest]". Common synonyms like "NUnit" and the plain phrase "unit tests" are missing, so it falls just short of anchor 5's 'comprehensive coverage including synonyms' but is well above anchor 3's partial keyword set.

4 / 5

Distinctiveness Conflict Risk

Clear niche — C# tests using the Unity runtime/editor — with distinct triggers, and it explicitly defuses the main name collision: "Not the ThrowTheSwitch C library." This matches anchor 5's 'clear niche with distinct triggers; minimal conflict risk'; anchor 4's 'minor overlap risk with closely related skills' is already addressed by the disambiguation.

5 / 5

Total

18

/

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