CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

angular-forms

Build typed reactive forms with strict FormGroup typing, custom validators, and nonNullable controls in Angular. Use when implementing typed reactive forms, custom validators, or form control patterns.

61

Quality

77%

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

Fix and improve this skill with Tessl

tessl review fix ./skills/angular/angular-forms/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

60%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 compact, well-sectioned rule set with a properly linked single reference file containing executable TypeScript examples. Its weaknesses are repetition between the rules and Anti-Patterns sections, no inline code snippets, an off-topic bullet in the validation section, and a cryptic 'Canonical response anchors' section that points at an unnamed file.

Suggestions

Delete or concretize the 'Canonical response anchors' section — either name the actual file it points to or remove the dangling 'separate file' placeholder.

Deduplicate guidance: state each rule once and let the Anti-Patterns section reference the rules (or cut it), and cite references/typed-forms.md once in the References section instead of three times inline.

Move 'Sync valueChanges to stores using takeUntilDestroyed()' out of the 'Extract Validation Logic' section into its own rule, and add one short inline snippet (e.g., a fb.nonNullable.group example) so the body is actionable without opening the reference.

DimensionReasoningScore

Conciseness

The body is short and free of concept explanations Claude already knows, but it could be tightened: 'never use untyped FormGroup' and 'extract into standalone validator functions' are each stated twice (rules sections plus Anti-Patterns), the same reference link is repeated three times, and lines like 'This ensures form values always strings — avoids null in form values' and the cryptic 'Canonical response anchors' section add noise. This matches the 'mostly efficient but could be tightened' anchor rather than the minor-trim anchor at 4.

3 / 5

Actionability

Bullets name concrete APIs ('fb.nonNullable.group(...)', 'takeUntilDestroyed()', 'validators.ts') but the body contains no executable code — all examples are deferred to references/typed-forms.md — and section 2 mixes an unrelated directive ('Sync valueChanges to stores') into the validation-extraction rule. This is 'some concrete guidance but incomplete' rather than the mostly-executable 4 anchor.

3 / 5

Workflow Clarity

This is a conventions skill with three clearly stated, unambiguous rules rather than a multi-step workflow, and no destructive or batch operations require validation checkpoints. It sits at 4 rather than 5 because section 2's directive is convoluted ('Name the validator module as a separate file... in the response') and bundles an off-topic valueChanges/store-sync bullet that muddies the rule's intent.

4 / 5

Progressive Disclosure

The body is under 50 lines, well-sectioned, and points to a real one-level-deep reference (references/typed-forms.md, verified to exist with executable examples) that is clearly signaled both inline and in a References section. It misses 5 because the trailing 'Canonical response anchors: Additional task-grounded exact anchors: separate file' section is a dangling pointer that names no actual file and adds navigation confusion.

4 / 5

Total

14

/

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, focused description: it states concrete capabilities with specific Angular APIs and pairs them with an explicit, natural 'Use when' trigger clause. The only weakness is mild redundancy between 'typed reactive forms' and 'strict FormGroup typing' and a few missing natural synonyms.

DimensionReasoningScore

Specificity

The description lists several concrete actions — 'Build typed reactive forms with strict FormGroup typing, custom validators, and nonNullable controls in Angular' — naming specific APIs and techniques. It falls short of a 5 because 'typed reactive forms' and 'strict FormGroup typing' largely restate the same action, so effective coverage is narrower than the raw action count suggests.

4 / 5

Completeness

It explicitly answers 'what' ('Build typed reactive forms with strict FormGroup typing, custom validators, and nonNullable controls') and 'when' with a concrete 'Use when...' clause listing three trigger phrases. This matches the anchor for clearly answering both with concrete triggers; below it, the 'when' would be weaker or implied.

5 / 5

Trigger Term Quality

'implementing typed reactive forms, custom validators, or form control patterns' gives good natural keyword coverage that an Angular developer would actually say. A few natural variations are missing (e.g., 'form validation', 'Angular forms', file/type references), so it does not reach the comprehensive synonym coverage of a 5.

4 / 5

Distinctiveness Conflict Risk

'typed reactive forms... in Angular' with 'FormGroup'/'nonNullable' triggers carves out a clear niche with minimal overlap against generic forms or validation skills. It is not the 4-anchor case because the trigger phrases are Angular-forms-specific rather than shared with closely related skills.

5 / 5

Total

18

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

Total

14

/

16

Passed

Repository

HoangNguyen0403/agent-skills-standard

Path

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