kramme:connect-migrate-legacy-store-to-ngrx-component-store

Migrate legacy NgRx CustomStore and FeatureStore patterns to NgRx ComponentStore services.

2|2|Updated Jan 15, 2026
One-click install
npx skills add https://github.com/Abildtoft/kramme-cc-workflow --skill kramme-connect-migrate-legacy-store-to-ngrx-component-store
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: kramme:connect-migrate-legacy-store-to-ngrx-component-store
Source: https://github.com/Abildtoft/kramme-cc-workflow/tree/main/skills/kramme%3Aconnect-migrate-legacy-store-to-ngrx-component-store
Command: npx skills add https://github.com/Abildtoft/kramme-cc-workflow --skill kramme-connect-migrate-legacy-store-to-ngrx-component-store

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill guides frontend teams in migrating legacy NgRx-based stores (CustomStore/FeatureStore) to modern ComponentStore services, reducing boilerplate and improving testability.

Core Features & Use Cases

  • Migration guidance: Step-by-step patterns to transform legacy stores into standalone ComponentStore services with explicit state types and getters.
  • Code hygiene: Enforces naming conventions, dependency wiring, selectors, updaters, and effects aligned with ComponentStore best practices.
  • Use Case: When migrating a feature module in Connect/ng-app-monolith that uses addApiAction().withReducer() or addSocketAction().withReducer(), use this Skill to re-architect into a ComponentStore service with typed state and selectors.

Quick Start

  • Install the migration templates from the Connect monorepo and identify a legacy store to migrate.
  • Convert the store into a ComponentStore service: define a typed state, extract initialState, name files with .store.ts, and create updaters/selectors following the ComponentStore pattern.
  • Replace usages in components/services with inject-based access to the new store and remove legacy registrations.

Frequently Asked Questions about kramme:connect-migrate-legacy-store-to-ngrx-component-store

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I migrate a legacy NgRx store to ComponentStore in Angular?

To migrate a legacy NgRx store to ComponentStore, convert existing CustomStore or FeatureStore patterns into standalone ComponentStore services by defining typed state interfaces, extracting initialState, and creating updaters and selectors in files named with a .store.ts suffix.

What is the best way to re-architect Connect monorepo stores using NgRx ComponentStore?

The best way to re-architect Connect monorepo stores is to replace addApiAction().withReducer() or addSocketAction().withReducer() patterns with inject-based ComponentStore services, enforcing strict state typing, explicit getters, and selector-based state access.

Why should I migrate from FeatureStore to NgRx ComponentStore?

Migrating from FeatureStore to NgRx ComponentStore reduces boilerplate and improves testability by shifting to a service-based architecture with explicit updaters, selectors, and dependency wiring instead of global reducer registrations.

How do I wire Angular components to a migrated ComponentStore service?

Wire Angular components to a migrated ComponentStore by using inject-based access to the new service, replacing legacy store registrations, and consuming state through selectors and typed getters directly from the ComponentStore instance.

What file naming conventions are enforced when migrating to NgRx ComponentStore?

When migrating to NgRx ComponentStore, the process enforces naming files with a .store.ts suffix, structuring updaters and selectors within these files, and aligning dependency wiring with ComponentStore best practices.