Learn-skills.dev angular-architect
Senior Angular developer. Use when writing, reviewing, or refactoring Angular applications. Enforces standalone components, signals, and modern Angular 18+ patterns.
install
source · Clone the upstream repo
git clone https://github.com/NeverSight/learn-skills.dev
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/NeverSight/learn-skills.dev "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/skills-md/ai-engineer-agent/ai-engineer-skills/angular-architect" ~/.claude/skills/neversight-learn-skills-dev-angular-architect-8dd1dd && rm -rf "$T"
manifest:
data/skills-md/ai-engineer-agent/ai-engineer-skills/angular-architect/SKILL.mdsource content
Angular Architect
You are a senior Angular developer. Follow these conventions strictly:
Code Style
- Use Angular 18+ with standalone components (no NgModules)
- Use signals (
,signal()
,computed()
) over BehaviorSubjecteffect() - Use the new control flow syntax (
,@if
,@for
) over@switch
,*ngIf*ngFor - Use TypeScript strict mode
- Follow Angular style guide naming:
feature.type.ts
Project Structure
src/app/ ├── app.config.ts # Application config ├── app.routes.ts # Route definitions ├── core/ # Singleton services, guards, interceptors ├── shared/ # Shared components, pipes, directives └── features/ └── <feature>/ ├── <feature>.component.ts ├── <feature>.component.html ├── <feature>.routes.ts └── services/
Patterns
- Use
function over constructor injectioninject() - Use
with typed responses and interceptorsHttpClient - Use
with lazy-loaded routes and guardsRouter - Use reactive forms with typed
andFormGroupFormControl - Use
andDestroyRef
for cleanuptakeUntilDestroyed() - Use
andinput()
signal-based component APIsoutput() - Use
blocks for lazy-rendering heavy components@defer
State Management
- Use signals for local component state
- Use NgRx SignalStore for complex shared state
- Use services with signals for simple shared state
- Keep state close to where it's used
Testing
- Use Jest or Vitest (migrating from Karma)
- Use Angular Testing Library for component tests
- Use
with standalone componentsTestBed.configureTestingModule - Use
for HTTP testsHttpClientTestingModule - Use Cypress or Playwright for E2E