This walks you through the modern Angular reactive patterns you'll actually use: BehaviorSubject for state management, proper Observable service setup, and the async pipe in templates. It covers the essentials like shareReplay for caching HTTP calls and takeUntil for cleanup, which honestly should be muscle memory if you're doing Angular professionally. The examples are current with Angular 21's control flow syntax, and the code snippets are practical enough to copy and adapt. If you're still manually subscribing everywhere or not using BehaviorSubject for shared state, this will get you on track quickly.

skills.sh installs
177
GitHub stars
7
last updated
Aug 21, 2026

Install

$ npx -y skills add oguzhan18/angular-ecosystem-skills --skill angular-reactive --agent claude-code

Installs into .claude/skills of the current project.

Files

Angular Reactive Programming

Version: Angular 21 (2025) Tags: Reactive, Observables, RxJS, BehaviorSubject

References: Reactive Guide • RxJS

Best Practices

  • Use BehaviorSubject for state
@Injectable({ providedIn: 'root' })
export class StateService {
  private state = new BehaviorSubject<State>(initialState);
  state$ = this.state.asObservable();
  
  updateState(newState: Partial<State>) {
    this.state.next({ ...this.state.value, ...newState });
  }
}
  • Use Observable in services
@Injectable({ providedIn: 'root' })
export class DataService {
  private http = inject(HttpClient);
  
  getData(): Observable<Data[]> {
    return this.http.get<Data[]>('/api/data');
  }
}
  • Use async pipe
@Component({
  template: `
    @if (data$ | async; as data) {
      {{ data.name }}
    }
  `
})
export class MyComponent {
  data$ = this.service.getData();
}
  • Use shareReplay for caching
data$ = this.http.get('/api/data').pipe(
  shareReplay(1)
);
  • Use takeUntil for cleanup

Sponsors

Details

Repository
github.com/oguzhan18/angular-ecosystem-skills
Category
Frontend Development
First seen
Jun 3, 2026

More from oguzhan18/angular-ecosystem-skills

All 45
1charleswiltgen avataraxiom-auto-layout-debuggingcharleswiltgen/axiomUse when encountering "Unable to simultaneously satisfy constraints" errors, constraint conflicts, ambiguous layout warnings, or views positioned incorrectly - 176skills.sh installs
2harlan-zw avatarvue-i18n-skilldharlan-zw/vue-ecosystem-skillsvue i18n skilld176skills.sh installs
3vercel-labs avatarvercel-react-native-skillsvercel-labs/claude-skillsvercel react native skills176skills.sh installs
4oguzhan18 avatarangular-dioguzhan18/angular-ecosystem-skillsALWAYS use when working with Angular Dependency Injection, providers, services, inject tokens, or hierarchical injection in Angular applications.175skills.sh installs
5sickn33 avatarhtml-injection-testingsickn33/antigravity-awesome-skillshtml injection testing174skills.sh installs
6longbridge avatargenerate-component-documentationlongbridge/gpui-componentGenerate documentation for new components. Use when writing docs, documenting components, or creating component documentation.172skills.sh installs