CtrlK
BlogDocsLog inGet started
Tessl Logo

angular-state-management

Master modern Angular state management with Signals, NgRx, and RxJS. Use when setting up global state, managing component stores, choosing between state solutions, or migrating from legacy patterns.

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-state-management/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

42%Scale 1-3

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

The skill provides highly actionable, executable Angular state management code covering multiple patterns, which is its primary strength. However, it is severely over-long and monolithic—it reads more like a comprehensive tutorial than a concise skill file, explaining patterns and library APIs that Claude already knows well. The content would benefit enormously from splitting into separate reference files and trimming to only project-specific conventions or non-obvious patterns.

Suggestions

Reduce the body to a concise overview with selection criteria and one brief Signal example, moving NgRx Store, ComponentStore, server state, and migration patterns into separate referenced files (e.g., NGRX_STORE.md, MIGRATION.md).

Remove explanations of standard library APIs (NgRx actions/reducers/effects, ComponentStore updaters/effects) that Claude already knows—focus only on project-specific conventions or non-obvious patterns.

Add validation checkpoints to the migration workflow (e.g., 'verify signal reactivity in template before removing BehaviorSubject', 'confirm devtools integration after store setup').

Cut the best practices tables to only non-obvious guidance; items like 'use computed() for derived data' and 'prefer inject() over constructor' are standard Angular knowledge.

DimensionReasoningScore

Conciseness

The skill is extremely verbose at ~500+ lines, covering six state categories, five full patterns with complete code examples, migration guides, best practices tables, and RxJS patterns. Much of this (how NgRx actions/reducers/effects work, BehaviorSubject patterns, ComponentStore API) is knowledge Claude already has. The state category table and selection criteria are useful, but the exhaustive code examples for well-documented libraries are wasteful of token budget.

1 / 3

Actionability

All code examples are fully executable TypeScript with proper imports, decorators, and component usage patterns. The examples cover complete feature slices (actions, reducers, selectors, effects) and include component integration showing template usage. The optimistic update pattern with rollback is particularly concrete and copy-paste ready.

3 / 3

Workflow Clarity

The selection criteria provide a decision tree for choosing state solutions, and the migration section shows clear before/after patterns. However, there are no validation checkpoints for state management setup (e.g., verifying devtools connection, testing selectors, confirming store registration). The migration path lacks a step-by-step sequence with verification points.

2 / 3

Progressive Disclosure

This is a monolithic wall of content with no references to supporting files. All patterns (Signal services, NgRx Store, ComponentStore, server state, migration) are fully inline. The NgRx feature slice pattern alone could be a separate reference file. External links at the bottom are to third-party docs, not bundle files that organize the content hierarchically.

1 / 3

Total

7

/

12

Passed

Description

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

This is a solid skill description that clearly identifies its domain (Angular state management) and provides explicit trigger guidance via a 'Use when' clause. The trigger terms are well-chosen and cover the main technologies and scenarios. The main weakness is that the capabilities could be more concrete — listing specific actions rather than broad categories would improve specificity.

Suggestions

Replace broad action categories with more concrete actions, e.g., 'Creates NgRx stores with actions/reducers/effects, converts BehaviorSubjects to Signals, implements component-level stores with NgRx ComponentStore' instead of 'setting up global state, managing component stores'.

DimensionReasoningScore

Specificity

Names the domain (Angular state management) and mentions specific technologies (Signals, NgRx, RxJS), but the actions are somewhat vague — 'setting up global state', 'managing component stores', 'choosing between state solutions', and 'migrating from legacy patterns' are more categories of work than concrete actions like 'create a signal-based store' or 'convert BehaviorSubject to Signal'.

2 / 3

Completeness

Clearly answers both 'what' (master modern Angular state management with Signals, NgRx, and RxJS) and 'when' (explicit 'Use when' clause covering setting up global state, managing component stores, choosing between state solutions, or migrating from legacy patterns).

3 / 3

Trigger Term Quality

Includes strong natural keywords users would say: 'Angular', 'Signals', 'NgRx', 'RxJS', 'global state', 'component stores', 'state management', and 'migrating from legacy patterns'. These cover the main terms a developer would use when seeking help with Angular state management.

3 / 3

Distinctiveness Conflict Risk

The combination of Angular-specific state management technologies (Signals, NgRx, RxJS) creates a clear niche that is unlikely to conflict with general Angular skills, React state management skills, or generic coding skills. The triggers are well-scoped to state management specifically.

3 / 3

Total

11

/

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 (641 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.