What problem does it solve? Angular developers often mix legacy decorator APIs with signals, leak subscriptions, or recompute values with getters, leading to memory leaks and race conditions. This Skill provides ready-made patterns for declaring state and streams correctly in Angular classes. ## Core Features & Use Cases - Signal-based APIs: Enforces input(), output(), and viewChild() signal functions instead of @Input()/@Output() decorators. - Derived state with computed: Replaces effects and getters with computed() for values derived from other signals. - Service state encapsulation: Shows the private writable signal plus public readonly exposure pattern in injectable services. - Subscription discipline: Declares a single subscription in the constructor with takeUntilDestroyed, a Subject action source, and the correct flattening operator (switchMap, exhaustMap, mergeMap). - Use Case: When building an Angular component that loads a list on demand, apply this pattern to declare a #loadSource Subject, subscribe once in the constructor with switchMap and takeUntilDestroyed, and expose results as readonly signals. ## Quick Start Apply the angular state pattern to declare signals, computed values, and a single constructor subscription in my component.