hoangnguyen0403/angular-http-client
Integrate HttpClient, Interceptors, and API interactions in Angular. Use when integrating HttpClient, writing interceptors, or handling API calls in Angular.
npx skills add https://github.com/HoangNguyen0403/agent-skills-standard --skill angular-http-client
(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<T>() 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:
Take hoangnguyen0403/angular-http-client from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.