CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

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.

79

1.50x
Quality

75%

Does it follow best practices?

Impact

99%

1.50x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./plugins/AI-Agents-Safe-Coding-Skills-claude/skills/angular-state-management/SKILL.md

The canonical home for this skill is angular-state-management in sickn33/agentic-awesome-skills

SKILL.md
Quality
Evals
Security

Quality

Content

57%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 well-organized, code-dense catalog of Angular state patterns with mostly executable examples and a useful selection guide. It is held back by significant length from inlined boilerplate and reference-depth material that belongs in separate bundle files, plus a few internal inconsistencies (unused imports, undefined types) and no explicit decision workflow or debugging guidance despite the When-to-Use promises.

Suggestions

Trim boilerplate scaffolding Claude already knows (the full counter service and the four-file NgRx actions/reducers/selectors/effects listing) down to the minimal canonical pattern, keeping only what encodes project-specific conventions.

Split the NgRx Store, RxJS Component Store, and Migration Path sections into references/ files (e.g., references/ngrx.md, references/migration.md) and keep SKILL.md as an overview plus selection guide with clearly signaled one-level-deep links.

Fix internal inconsistencies: remove the unused HttpClient/toSignal imports in UserStore (or use them instead of fetch()), import computed in the signalStore example, define Product/Todo interfaces, and add a debugging section to back the "Debugging state-related issues" bullet in When to Use.

DimensionReasoningScore

Conciseness

Prose is lean and code-focused, but ~600 lines include substantial boilerplate Claude already knows — a full counter service, complete NgRx "user.actions.ts / user.reducer.ts / user.selectors.ts / user.effects.ts" scaffolding, and before/after migration snippets — plus repeated loading/error patterns across UserStore and ProductApiService. Mostly efficient but could be tightened considerably, which fits anchor 3 better than the padded anchor 2.

3 / 5

Actionability

Nearly all patterns are complete, executable TypeScript (CounterService, UserStore, ProductStore, TodoStore, optimistic-delete ProductApiService). Minor gaps keep it below a 5: UserStore imports "toSignal" and injects "HttpClient" but then uses fetch(); the signalStore example uses "computed" without importing it; "Product" and "Todo" types are referenced but never defined.

4 / 5

Workflow Clarity

The "Selection Criteria" block ("Small app, simple state → Signal Services ...") gives an implicit decision sequence and patterns progress from local to global state, but there is no explicit step-by-step decision workflow or checkpoints. "Debugging state-related issues" is promised in When-to-Use with no corresponding section. This matches anchor 3 (sequence present but implicit, checkpoints missing) rather than anchor 4's clear sequence with most checkpoints.

3 / 5

Progressive Disclosure

The body has clear section headers and a Resources list, so it is above the header-less monolith of anchor 2, but no bundle files exist (no references/, scripts/, or assets/) and everything — the NgRx deep-dive, RxJS Component Store, server-state, and Migration sections — is inlined in a single ~600-line SKILL.md. Content that should be split into reference files is inline, matching anchor 3.

3 / 5

Total

13

/

20

Passed

Description

83%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 description that clearly states what the skill does and when to use it, with concrete, natural trigger phrases anchored to a well-defined Angular state-management niche. The main weaknesses are minor: capability-level rather than fully concrete actions, a few missing synonyms, and framework-agnostic when-clauses that create slight overlap risk with adjacent skills.

DimensionReasoningScore

Specificity

"setting up global state, managing component stores, choosing between state solutions, or migrating from legacy patterns" lists several specific capabilities anchored to named technologies ("Signals, NgRx, and RxJS"). It sits below a 5 because the actions are capability-level rather than fully concrete technical operations, and body-level capabilities like optimistic updates and debugging are absent from the description.

4 / 5

Completeness

The what is explicit ("Master modern Angular state management with Signals, NgRx, and RxJS") and the when is explicit with concrete trigger phrases ("Use when setting up global state, managing component stores, choosing between state solutions, or migrating from legacy patterns"). Both questions are clearly answered, matching the top anchor; a 4 would require the when to be less explicit or specific, which it is not.

5 / 5

Trigger Term Quality

Natural terms users would say are present: "Signals", "NgRx", "RxJS", "global state", "component stores", "migrating from legacy patterns". A few natural terms are missing (e.g., Akita/Elf, "store", "state management setup" phrasings), which fits the good-but-not-comprehensive anchor rather than the 5 with synonyms/extensions.

4 / 5

Distinctiveness Conflict Risk

The "Angular state management" niche with named libraries is mostly distinct, but the "Use when" triggers ("setting up global state", "choosing between state solutions") are framework-agnostic and "RxJS" is shared with closely related non-state skills, creating minor overlap risk. It is more distinct than the broad anchor 3 example but does not fully meet the minimal-conflict top anchor.

4 / 5

Total

17

/

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

skill_md_line_count

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

Warning

frontmatter_unknown_keys

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

Warning

Total

14

/

16

Passed

Repository

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

plugins/AI-Agents-Safe-Coding-Skills-claude/skills/angular-state-management/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.