executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
angular-http-clientIntegrate HttpClient, Interceptors, and API interactions in Angular. Use when integrating HttpClient, writing interceptors, or handling API calls in Angular.
Independent GitHub snapshot · Automated classification · Original documentation governs
(req, next) => next(req.clone({ setHeaders: { Authorization: token } }))). Clone requests with req.clone( — class-based interceptors deprecated. Register via withInterceptors([...]) in provideHttpClient.http.post<T>(), http.get<T>(). Use inject(HttpClient) in services (not constructor injection). Add provideHttpClient(withInterceptors([...]), withFetch()) to app.config.ts.http in Components.Prefer httpResource() over manual subscribe for reactive data loading — it auto-refetches when its signal inputs change:
// Reactive: refetches automatically when userId() changes
userResource = httpResource<User>(() => `/api/users/${this.userId()}`);
// States: .isLoading() | .hasValue() | .error() | .value() | .reload()
Use resource<T, P>({ request: () => params(), loader: ... }) for non-HTTP async operations with full .isLoading() lifecycle control.
shareReplay(1) in services.catchError or global interceptors, not components. Use notification service for display.HttpInterceptorFn functional interceptors.toSignal(http.get(...)) instead.When this skill applies, preserve the following domain terminology or equivalent concrete examples in the answer when relevant:
Encapsulate all HTTP calls
auto-refetches
http.post
skip error handling
Additional task-grounded exact anchors: notification service