# Angular 22 Signals, Zoneless and Resources

`angular/angular-22` · Skill · v1.0.0

Angular 21-22 as it runs now - zoneless and OnPush by default, signal component APIs, resource/httpResource, control flow and Vitest tests.

Teaches an agent the Angular that ships today (checked against @angular/core 22.2.4 and the CLI's Vitest runner) instead of the Angular 14-19 most training data describes. It covers what refreshes a view without zone.js and with v22's OnPush default (and why zone.run, in-place array mutation and detectChanges leave screens stale), signal inputs with transforms and aliases, model() and output(), signal queries, computed and linkedSignal instead of effect-driven state, the v20+ resource, rxResource and httpResource API (params and stream, string statuses, value() throwing in the error state, cancellation, chaining), built-in control flow and track keys, inject() and @Service, fetch as the default HttpClient backend, TestBed tests without fakeAsync (Vitest timers, whenStable, HTTP testing without deadlocks), and an upgrade checklist with the official schematics. Every behaviour claim was run on 22.2.4.

## Verdict

- level: **submitted** — In the catalog, not yet checked for this digest.
- uplift: **untested** — No runs exist for this digest.
- digest: `sha256:b87fb3c783f7c58c4240c81e9e8354bb2ad79073499f04f299fcc7a27ca2892b`

## Uplift runs

None for this digest. Untested is not the same as useless: nobody has measured it yet.

## Security

No checks recorded for this digest.

## Compatibility

| agent | targeted | compiled | evaluated |
| --- | --- | --- | --- |
| Claude Code | yes | no record | no record |
| Codex | yes | no record | no record |
| Cursor | yes | no record | no record |
| GitHub Copilot | yes | no record | no record |
| Gemini CLI | yes | no record | no record |
| OpenCode | yes | no record | no record |

## Permissions

- network: registry.npmjs.org
- shell: npm ls, rg, ng update, ng generate, ng test
- filesystem: write
- env: none

## Files

- `SKILL.md` 18071 B sha256:55649bba94b1f075ccaebea3701f4cb35ff0cfff9441a3244b77780aa107e465
- `references/change-detection.md` 7083 B sha256:7682c36cdce1e13add3c555409ee77ade647f7527c26607061c9bb4db4b65729
- `references/migration.md` 7170 B sha256:5950f3a19897b480a028a6ee2812051db921e6c2f7f34ff396aec2b698e661d0
- `references/resources.md` 7119 B sha256:31c014d0a0fa126325bc4449c6439b3f8ed0e89d80c3573b93b2f6b92933b50e
- `references/sources.md` 4407 B sha256:157291ceffc996e90f4545ce127890c65d6a538f20499fd6a7db6f1f12c6b324

## Limitations

- Written and verified against @angular/core 22.2.4 and @angular/cli 22.2.5. Angular ships a major every six months; check the CHANGELOG when the installed version is newer.
- The proof suite runs TestBed in jsdom through ng test, so it measures change detection, signals, resources and HttpClient behaviour, not real-browser rendering, SSR or hydration.
- Signal forms (stable in 22), @defer, SSR and hydration, animations, the router and Angular Material are only mentioned; they are not taught in depth or measured.
- debounced() and resourceFromSnapshots are experimental in 22; their guidance may change in later minors.
- Apps that still load zone.js (provideZoneChangeDetection) behave differently; the skill only covers how to leave that mode.

## Install

```sh
npx sigil add angular/angular-22 --agent claude-code,codex,cursor
```

Source: https://github.com/dgesteves/sigil/tree/5cb851d5b2f2f14446ddf631ef5e91bf9d3263dd/catalog/skills/angular/angular-22