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

100%

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

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

SKILL.md
Quality
Evals
Security

Quality

Content

100%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.

The body is a dense, rule-driven instruction set with executable code, a complete workflow with explicit validation and error-recovery checkpoints, and a clean one-level-deep reference structure whose three bundle files all exist and match their in-body descriptions. It contains no known-concept padding, no time-sensitive unversioned API guidance, and no buried references.

DimensionReasoningScore

Conciseness

The body never explains concepts Claude already knows; every line is a project-specific rule ('A mock that differs from the DTO tests a contract that does not exist', 'a bare \'/api/room-types\' stops matching once the base URL is set'), and each code snippet illustrates one specific rule — the only repetition is the deliberate DO NOT checklist, not padding.

5 / 5

Actionability

It provides fully executable guidance: the HttpTestingController match/flush snippet, the DOM interaction snippet with `whenStable()`, a concrete DI override ('providers: [{ provide: I18nService, useClass: MockI18nService }]'), the run command 'ng test --watch=false', an assertions table with real examples, and two complete copy-paste-ready spec templates in references/.

5 / 5

Workflow Clarity

The 9-step workflow has pre-flight checks (existing spec reconciliation, package.json/app.config.ts inspection), an explicit validation step (run the tests), a detailed failure-recovery policy (fix test mechanics vs. leave specification disagreements failing, never weaken an assertion), and a structured final report with expected vs. actual values. Test writing is non-destructive, so the destructive/batch cap does not apply.

5 / 5

Progressive Disclosure

All three bundle files exist and are referenced one level deep with clear signals of their content: the Templates section describes references/page.spec.ts.md and references/service.spec.ts.md, and the Markers section links references/markers.md; the bulk template code is correctly split out of SKILL.md.

5 / 5

Total

20

/

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.

The description is exemplary: third-person, concrete about all four test activities and file naming, with an explicit 'Use when' clause quoting natural trigger phrases and explicit disambiguation from the E2E and orchestrating skills. It matches the strongest anchor on every dimension with no padding or over-claims.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions — 'TestBed component tests for the routed page, HttpTestingController for the API boundary, DI overrides for non-HTTP services, and plain service tests' — plus the concrete output convention 'UC-XXX-<slug>.spec.ts files with a describe(\'UC-XXX: …\') block', comprehensively covering everything the skill writes.

5 / 5

Completeness

It explicitly answers both what ('Writes the UI-layer tests of a use case (UC-XXX) for an Angular client with Vitest and Angular's own testing idioms…') and when ('Use when the user asks to…') with concrete trigger phrases, and adds routing context ('Normally run by /use-case-test… it can also be run directly').

5 / 5

Trigger Term Quality

It enumerates natural user phrasings verbatim ('write frontend tests', 'test the Angular component', 'write a Vitest test', 'unit test an Angular page', 'test the UI of UC-001') plus the framework identifiers users mention ('TestBed, ComponentFixture, or HttpTestingController'), covering synonyms across frontend/unit/UI vocabulary.

5 / 5

Distinctiveness Conflict Risk

It carves a clear niche (Angular client + Vitest + TestBed idioms), scopes triggers to Angular ('test the Angular component', 'unit test an Angular page'), and explicitly disambiguates siblings ('Browser tests against the running application are /playwright-e2e-test'), minimizing wrong-skill triggers.

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-angular/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.