CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

angular-ui-test

Writes the UI-layer tests of a use case (UC-XXX) for an Angular client with Vitest and Angular's own testing idioms: TestBed component tests for the routed page, HttpTestingController for the API boundary, DI overrides for non-HTTP services, and plain service tests — in UC-XXX-<slug>.spec.ts files with a describe('UC-XXX: …') block. Use when the user asks to "write frontend tests", "test the Angular component", "write a Vitest test", "unit test an Angular page", "test the UI of UC-001", or mentions TestBed, ComponentFixture, or HttpTestingController. Normally run by /use-case-test as the UI test layer of a project whose docs/architecture/stack.md names Angular; it can also be run directly. Browser tests against the running application are /playwright-e2e-test.

Quality

94%

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

SKILL.md
Quality
Evals
Security

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 lean, well-organized instruction-only skill body that fully respects the token budget and structures its one external reference exemplarily. Its only weaknesses are the absence of a minimal spec skeleton example and an implicit (delegated) run/validate loop for the tests it writes.

Suggestions

Add a minimal TestBed + HttpTestingController spec skeleton (a few lines showing describe('UC-XXX: …'), the mock backend expect/flush pair) so the common case is copy-paste ready.

Make the run-and-iterate loop explicit — e.g. state that the specs are run with the project's Vitest command and re-run until green, or point to where /use-case-test defines that loop.

In 'What to Test', name the concrete assertion targets for the HTTP boundary (the expected URL/method and the Problem Details body) so the API-boundary check is unambiguous.

DimensionReasoningScore

Conciseness

~30 lean lines that assume Claude's competence ('no server, no database', 'Touch no other row') and explain nothing Angular- or Vitest-generic; every sentence carries instruction and each token earns its place.

5 / 5

Actionability

Concrete, executable naming and tool guidance ('UC-XXX-<slug>.spec.ts next to the page or service', HttpTestingController for the mocked backend, expected values taken from the specification), but no example spec skeleton, leaving it just short of copy-paste-ready for the common case — between anchors 4 and 5, fitting 4.

4 / 5

Workflow Clarity

The single task is unambiguous (what to test: rendering, validation, the request, outcome messages; where files go) and failure handling is delegated by name to /use-case-test's sections, but the run-and-iterate loop is never stated or pointed to concretely — a minor checkpoint gap matching anchor 4 rather than 5.

4 / 5

Progressive Disclosure

A short, well-sectioned overview whose only reference, references/markers.md, is real, clearly signaled in the Markers section, one level deep, and appropriately holds the table content that does not belong inline — the level-5 structure.

5 / 5

Total

18

/

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, concrete about every capability, with an explicit 'Use when' clause containing natural trigger phrases, and clear boundary disambiguation against neighboring skills. It fully matches the strongest anchors on all four dimensions.

DimensionReasoningScore

Specificity

Lists multiple concrete, distinct actions — 'TestBed component tests for the routed page, HttpTestingController for the API boundary, DI overrides for non-HTTP services, and plain service tests' — plus concrete file ('UC-XXX-<slug>.spec.ts') and block ('describe(\'UC-XXX: …\')') conventions; coverage is comprehensive with no gaps.

5 / 5

Completeness

Explicitly answers 'what' (first sentence naming the concrete testing idioms) and 'when' (a 'Use when…' clause with quoted trigger phrases), and adds boundary guidance ('Browser tests against the running application are /playwright-e2e-test') — the level-5 anchor verbatim in structure.

5 / 5

Trigger Term Quality

Six natural user phrasings ('write frontend tests', 'test the Angular component', 'write a Vitest test', 'unit test an Angular page', 'test the UI of UC-001') plus API names users would mention (TestBed, ComponentFixture, HttpTestingController) give comprehensive natural-term coverage including synonyms.

5 / 5

Distinctiveness Conflict Risk

A clear Angular+Vitest UI-test niche with distinct triggers, explicitly disambiguated from adjacent skills ('Normally run by /use-case-test… Browser tests… are /playwright-e2e-test'), so wrong-skill triggering risk is minimal.

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-core/evals/stack-angular-jpa-api-integration/layer-skills/angular-ui-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.