CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

bunit-test

Generates bUnit component tests for Blazor components (.razor): renders the page, fills and submits its forms, asserts the rendered markup and the validation and error messages the use case states, and replaces the handlers and services it injects with test doubles, one test per scenario and business rule tagged with [UseCase]. Use when the user asks to "write bUnit tests", "test a Blazor component", "test the Razor page of UC-001", "create UI tests for Blazor", or mentions bUnit or xUnit rendering tests. Backend tests are /dotnet-test, browser tests /playwright-test.

0.96x
Quality

92%

Does it follow best practices?

Impact

96%

0.96x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

The canonical home for this skill is ai-unified-process/aiup-blazor-dotnet

SKILL.md
Quality
Evals
Security

Quality

Content

81%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 strong, disciplined instruction skill: it provides concrete executable guidance, a well-sequenced workflow with real validation and failure-recovery checkpoints, and disciplined traceability rules. The main improvement opportunities are a complete worked test-class example and trimming the policy boilerplate.

Suggestions

Add one complete, runnable example test method (class skeleton with TestContext setup, mock service registration, render, interact, assert) so the fragments in the Workflow section compose into a copy-paste-ready whole.

Trim the security/credential paragraph and the "(or use bUnit test fixture)" hedge to the minimum needed, tightening token efficiency without losing the policy's force.

Consider moving the UseCaseAttribute bootstrap class and the argument-to-heading mapping table into a one-level-deep reference file (e.g. references/traceability.md), keeping SKILL.md focused on the testing workflow.

DimensionReasoningScore

Conciseness

Efficient and assumes Claude's competence — it never explains what Blazor, bUnit, or xUnit is, and every section instructs rather than pads. Not 5: the credential/prompt-injection paragraph, the copyright block, and hedges like "(or use `bUnit` test fixture)" could be trimmed or tightened without losing clarity.

4 / 5

Actionability

Mostly executable guidance: a complete copy-paste-ready `UseCaseAttribute` class, an argument-to-spec-heading mapping table, and concrete API calls (`RenderComponent<PlaceOrderPage>()`, `cut.Find("button#submit").Click()`, `JSInterop.SetupVoid("localStorage.setItem")`). Not 5: no complete end-to-end test-class example is shown — the snippets are fragments, and mock registration is given as API names rather than full statements.

4 / 5

Workflow Clarity

Clear five-step sequence with explicit validation ("Execute `dotnet test` to confirm tests pass", "Run the whole test class afterwards, not only the methods you added") and a full error-recovery feedback loop in "When a Test Fails" that decides which side is wrong before changing anything — matching the anchor's validate → decide → fix/re-report loop.

5 / 5

Progressive Disclosure

No bundle files exist, and the body is well-organized into clearly headed sections with appropriate cross-linking (e.g. the Traceability and "If Tests Already Exist" sections are referenced from the workflow). Not 5: at ~113 lines, content such as the full `UseCaseAttribute` bootstrap and the traceability mapping table is a plausible candidate for a one-level-deep reference file, keeping SKILL.md as a leaner overview.

4 / 5

Total

17

/

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.

An exemplary description: third-person voice, concrete multi-action capability statement, explicit "Use when…" triggers with quoted natural phrases, and explicit routing away from sibling testing skills. Uses "Generates" (third person) and avoids fluff and over-claims.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — "renders the page, fills and submits its forms, asserts the rendered markup and the validation and error messages", "replaces the handlers and services it injects with test doubles" — with comprehensive coverage of the bUnit testing task; not score 4 because there are no minor gaps in action coverage.

5 / 5

Completeness

Explicitly answers both what ("Generates bUnit component tests for Blazor components (.razor)" with enumerated actions) and when ("Use when the user asks to…") with concrete quoted trigger phrases, matching the anchor-5 example structure exactly.

5 / 5

Trigger Term Quality

Comprehensive natural trigger phrases users would actually say ("write bUnit tests", "test a Blazor component", "create UI tests for Blazor") plus synonyms and file extensions ("Razor page", ".razor", "xUnit rendering tests"), matching the top anchor rather than merely good coverage.

5 / 5

Distinctiveness Conflict Risk

Clear niche (bUnit/xUnit component testing for Blazor .razor files) with minimal conflict risk; it even disambiguates adjacent skills explicitly — "Backend tests are /dotnet-test, browser tests /playwright-test" — which is stronger than the anchor-5 example's routing.

5 / 5

Total

20

/

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.

Repository

AI-Unified-Process/marketplace

Path

aiup-blazor-dotnet/skills/bunit-test/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.