CtrlK
BlogDocsLog inGet started
Tessl Logo

angular-ui-patterns

Modern Angular UI patterns for loading states, error handling, and data display. Use when building UI components, handling async data, or managing component states.

56

Quality

66%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

—

The risk profile of this skill

Fix and improve this skill with Tessl

tessl review fix ./plugins/antigravity-awesome-skills-claude/skills/angular-ui-patterns/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

64%Scale 1-3

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

This is a solid, actionable Angular UI patterns reference with excellent executable code examples using modern Angular features (signals, new control flow syntax). Its main weaknesses are redundancy (anti-patterns section repeats earlier CORRECT/WRONG examples), monolithic structure (all content inline rather than split across files), and generic boilerplate sections at the end. Trimming duplicated examples and splitting detailed component implementations into referenced files would significantly improve it.

Suggestions

Remove the Anti-Patterns section or consolidate it — the CORRECT/WRONG comparisons are already shown inline in the Loading States, Error Handling, and Button States sections, making the anti-patterns section redundant.

Extract detailed component implementations (full form component, dialog service, empty state component) into separate referenced files to reduce the main file length and improve progressive disclosure.

Remove the generic 'When to Use' and 'Limitations' boilerplate sections — they add no actionable information specific to this skill.

Add a brief workflow section that sequences how to approach building a new UI component (e.g., 1. Define states → 2. Implement loading → 3. Add error handling → 4. Run through checklist) to tie the patterns together.

DimensionReasoningScore

Conciseness

The skill is fairly well-structured but contains significant redundancy — the same patterns (loading states, error handling, button disabling) are shown multiple times in slightly different forms (main sections + anti-patterns section). The anti-patterns section largely repeats CORRECT/WRONG examples already shown inline. The boilerplate 'When to Use' and 'Limitations' sections add no value. Some explanations like the core principles list are reasonable but the overall document could be ~30% shorter.

2 / 3

Actionability

The skill provides fully executable, copy-paste-ready Angular component code with modern patterns (signals, @if/@for/@defer control flow, reactive forms). Every pattern includes complete TypeScript component definitions with templates, dependency injection, and error handling — not pseudocode.

3 / 3

Workflow Clarity

The loading state decision tree provides a clear sequence, and the UI state checklist at the end is valuable. However, there's no explicit workflow for building a component from scratch — the patterns are presented as independent recipes without a clear sequencing or validation checkpoints. The checklist is good but disconnected from the workflow of actually implementing these patterns.

2 / 3

Progressive Disclosure

The document is a monolithic ~350-line file with all patterns inline. Content like the full form component, dialog service, and empty state component could be split into separate reference files. The 'Integration with Other Skills' section references other skills but the main content itself has no progressive disclosure structure — everything is dumped into one file.

2 / 3

Total

9

/

12

Passed

Description

67%Scale 1-3

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 has a solid structure with an explicit 'Use when...' clause and identifies the Angular domain clearly. However, it lacks concrete specific actions (listing patterns rather than actionable tasks) and could benefit from more distinctive trigger terms that differentiate it from other frontend framework skills. The trigger terms are somewhat generic and could cause overlap with non-Angular UI skills.

Suggestions

Add more concrete actions like 'create skeleton loaders, implement error boundaries, build paginated data tables, handle Observable streams' instead of abstract pattern categories.

Include more distinctive Angular-specific trigger terms such as 'Angular component', 'Observable', 'RxJS', 'ngIf', 'async pipe', '.component.ts' to reduce conflict with other frontend framework skills.

DimensionReasoningScore

Specificity

Names the domain (Angular UI) and mentions some patterns (loading states, error handling, data display), but these are still somewhat high-level categories rather than concrete specific actions like 'create skeleton loaders, implement retry logic, build data tables'.

2 / 3

Completeness

Clearly answers both 'what' (modern Angular UI patterns for loading states, error handling, and data display) and 'when' (Use when building UI components, handling async data, or managing component states) with an explicit 'Use when...' clause.

3 / 3

Trigger Term Quality

Includes some relevant terms like 'loading states', 'error handling', 'UI components', 'async data', and 'component states', but misses common user-facing variations like 'spinner', 'skeleton loader', 'toast notification', 'Angular component', 'Observable', 'RxJS', or specific file extensions like '.component.ts'.

2 / 3

Distinctiveness Conflict Risk

The Angular specificity helps distinguish it from generic UI skills, but terms like 'UI components', 'error handling', and 'async data' are broad enough to overlap with React, Vue, or general frontend skills. It could also conflict with Angular-specific skills focused on services, routing, or state management.

2 / 3

Total

9

/

12

Passed

Validation

81%

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

Validation — 9 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (518 lines); consider splitting into references/ and linking

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

9

/

11

Passed

Repository
popey/claude-code-skills
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.