# Design Angular State Management

Angular teams can struggle to choose suitable state tools and patterns. This skill provides decision guidance and implementation examples for Signals, NgRx, and RxJS.

## Install

```bash
npx skillstore add sickn33/angular-state-management
```

## Metadata

- Status: approved
- Slug: sickn33-angular-state-management
- Skillstore revision: r2
- Version status: missing
- Tree hash: 26ee07f078c6bf5ee707f0cda8a2a2269e68efb4583dcd97d2184a061b3f1e1b
- Author: sickn33
- GitHub username: sickn33
- License: MIT
- Repository: https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/angular-state-management
- Ref: ebdfe608f5de2b66ff37ab4af12af8ac4f5e8006
- Supported tools: Claude, Codex, Claude Code
- Audit status: complete
- Agent install advisory: allowed
- Manual install advisory: allowed
- Artifact signature: available
- Audit attestation: unavailable
- Human verification: not\_verified
- Risk factors: network, external\_commands
- Quality score: 77
- Quality tier: bronze
- Public page: https://skillstore.pages.dev/skills/sickn33-angular-state-management
- Manifest: https://skillstore.pages.dev/api/skills/sickn33-angular-state-management/manifest

## Capabilities

- Classifies Angular state as local, shared, global, server, URL, or form state.
- Recommends Signals, SignalStore, NgRx Store, or ComponentStore based on application complexity.
- Provides Signal service and NgRx SignalStore patterns with computed state and actions.
- Explains NgRx actions, reducers, selectors, effects, and standalone provider setup.
- Demonstrates server loading, error state, and optimistic rollback patterns.
- Guides migration from BehaviorSubject and bridges Signals with RxJS observables.

## Use Cases

- Choose a State Strategy: Compare state scope and complexity to select Signals, SignalStore, ComponentStore, or NgRx Store.
- Standardize Enterprise State: Define actions, reducers, selectors, effects, and store boundaries for complex cross-feature workflows.
- Modernize Reactive Services: Plan an incremental migration from BehaviorSubject services while preserving required Observable integrations.

## Prompt Templates

### Select a State Tool

```
Classify this Angular state requirement and recommend Signals, SignalStore, ComponentStore, or NgRx Store. Explain the decision: [requirement].
```

### Design a Signal Service

```
Design a Signal-based service for [feature]. Include private writable state, public read-only state, computed values, actions, loading, and errors.
```

### Plan an NgRx Feature

```
Create an NgRx architecture plan for [workflow]. Define state boundaries, actions, reducers, selectors, effects, failure handling, and testing priorities.
```

### Migrate Reactive State

```
Review this BehaviorSubject-based design: [design]. Plan a staged Signals migration, identify Observable boundaries, and address concurrency, rollback, testing, and compatibility risks.
```

## Limitations

- Examples require adaptation to the project model, API contracts, and Angular version.
- The skill does not inspect an existing repository unless its files are provided.
- It does not replace application testing, performance measurement, or security review.
- Coverage focuses on Signals, NgRx, and RxJS rather than every Angular state library.

## Best Practices

- Keep state near the feature that owns it and globalize only cross-feature concerns.
- Expose read-only state and use computed values instead of storing derived data.
- Model loading, failure, concurrency, and rollback behavior before implementing remote state.

## Anti Patterns

- Do not select NgRx Store only because the application is large.
- Do not mutate Signal values outside controlled store methods.
- Do not mix Signals and Observables without explicit conversion boundaries.

## Security Audit

- Audited at: 2026-07-23T19:23:46.965\+00:00
- Summary: All 54 static findings are false positives caused by Markdown syntax, illustrative TypeScript, relative application endpoints, or official documentation links. No executable shell commands, system reconnaissance, prompt injection, data exfiltration, or malicious intent were found.

## Stats

- Views: 81
- Downloads: 8
- Favorites: 0
- Popularity score: 0
