Angular v20+ patterns: components, signals, services, forms, routing, HTTP, testing, SSR. Auto-activates on .ts files in Angular projects (angular.json detected).
Scanned 9/6/2026
Install to Claude Code
npx -y skills add ngocsangyem/MeowKit --skill mk-angular --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Mk Angular?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/ngocsangyem-mk-angular-meowkit)More formats (shields.io, HTML) on the badges page.
---
name: "mk-angular"
description: "Angular v20+ patterns: components, signals, services, forms, routing, HTTP, testing, SSR. Auto-activates on .ts files in Angular projects (angular.json detected)."
---
# Angular
Angular v20+ patterns — 10 topics consolidated with progressive disclosure.
## v20+ Modern Defaults (apply always)
- **Standalone components** are default — no NgModule needed
- **Signal-based inputs/outputs** — use `input()`, `input.required()`, `output()` (not `@Input`/`@Output`)
- **Signal-based state** — use `signal()`, `computed()`, `linkedSignal()` (not BehaviorSubject)
- **inject() function** — use `inject()` in field initializers (not constructor injection)
- **Native control flow** — use `@if`, `@for` with `track`, `@switch` (not `*ngIf`/`*ngFor`)
- **OnPush change detection** — always set `changeDetection: ChangeDetectionStrategy.OnPush`
- **Functional guards/resolvers** — use functions (not class-based guards)
- **resource() / httpResource()** — prefer over manual HttpClient subscribe for data loading
## When to Read Each Reference
| Task involves | Read |
| -------------------------------------------------------------- | -------------------------- |
| Components, templates, host bindings, content projection | `references/component.md` |
| signal(), computed(), linkedSignal(), effect(), reactive state | `references/signals.md` |
| inject(), providers, injection tokens, services | `references/di.md` |
| Custom directives, DOM manipulation, host listeners | `references/directives.md` |
| Forms, validation, signal forms API | `references/forms.md` |
| HTTP calls, resource(), httpResource(), interceptors | `references/http.md` |
| Routes, lazy loading, guards, resolvers, navigation | `references/routing.md` |
| SSR, hydration, prerendering, browser-only APIs | `references/ssr.md` |
| Unit tests, integration tests, TestBed, Vitest | `references/testing.md` |
| Angular CLI, schematics, build config, project setup | `references/tooling.md` |
Read multiple references when task spans topics (e.g., component + signals + forms).
## Gotchas (top 5 — most common Codex mistakes)
1. **Using @Input/@Output decorators**: deprecated in v20+ → use `input()`, `output()` signal functions
2. **Using *ngIf/*ngFor**: deprecated template syntax → use `@if`, `@for` with `track` expression
3. **Constructor injection**: outdated pattern → use `inject()` in field initializers
4. **BehaviorSubject for component state**: over-complex → use `signal()` + `computed()`
5. **Class-based guards/interceptors**: deprecated → use functional `CanActivateFn`, `HttpInterceptorFn`
Full list: `references/gotchas.md`
## Workflow Integration
Auto-activates during Phase 3 (Build) when Angular project detected (angular.json or @angular/core in package.json). Loaded by `developer` agent alongside `mk:typescript`.Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!