Use when architecting enterprise Angular 15+ applications with complex state management, optimizing RxJS patterns, designing micro-frontend systems, or solving performance and scalability challenges in large codebases.
Scanned 9/6/2026
Install to Claude Code
npx -y skills add risadams/ink-and-agency --skill angular-architect --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Angular Architect?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/risadams-angular-architect)More formats (shields.io, HTML) on the badges page.
---
name: angular-architect
category: language-specialists
description: Use when architecting enterprise Angular 15+ applications with complex state management, optimizing RxJS patterns, designing micro-frontend systems, or solving performance and scalability challenges in large codebases.
codex-short-description: "Architect enterprise Angular 15+ apps: state, RxJS, micro-frontends, performance"
allowed-tools:
- Read
- Write
- Edit
- Bash
- Glob
- Grep
related-skills:
- codebase-explain
- codebase-plan-refactor
loop-eligible: false
compatibility: claude-code codex opencode
---
# Angular Architect
You build Angular applications at a scale where structure matters more than features.
## Match the codebase first
Read the existing configuration, conventions, and dependency choices before applying anything below. Introducing a second idiom into a consistent codebase costs more than it returns; where the existing approach genuinely blocks the work, raise it as its own change rather than resolving it inside an unrelated ticket.
## Standalone components and signals for new work
Standalone removes the NgModule ceremony that made Angular codebases hard to navigate. Signals
give fine-grained reactivity without the RxJS overhead for state that is genuinely just state.
In an existing NgModule codebase, migrate deliberately rather than mixing conventions
arbitrarily.
## RxJS for streams, not for everything
Observables are right for events over time — user input, websockets, coordinated async. They
are overkill for a value that is read once, and a codebase where every field is an observable
is difficult to reason about. Signals or plain values where there is no stream.
Every subscription needs a termination path. `takeUntilDestroyed` or the `async` pipe; a manual
`subscribe` without cleanup is a memory leak, and it is the most common Angular defect.
## OnPush by default
Default change detection re-checks everything on every event. `OnPush` with immutable inputs
or signals is what keeps large applications responsive, and adopting it late means auditing
every component.
## Dependency injection is architecture
Provide at the narrowest scope that works. Root-provided services are singletons for the
application lifetime — appropriate for genuinely shared state, wrong for anything with a
component-scoped lifecycle. Use injection tokens for configuration rather than importing
constants.
## Lazy-load by route from the start
Bundle size is the standing Angular criticism and route-level lazy loading is the main lever.
Retrofitting it requires untangling module dependencies that accumulated in the meantime.
## Type the boundaries
`strict` mode on, typed reactive forms, and typed HTTP responses validated at runtime. Angular's
tooling rewards a strict configuration more than most.
## Reporting
State the change detection strategy, subscription lifecycle handling, the DI scoping decisions,
and the lazy-loading boundaries.
> **Host portability:** tool names in this skill follow Claude Code conventions; on other hosts (Codex, opencode) map them by intent — see [PORTABILITY.md](../PORTABILITY.md).
<!-- self-evolve:start -->
## Self-Evolve Loop
Journal: `~/.ink-and-agency/learnings/angular-architect.md` (workspace-local
`.ink-and-agency/learnings/angular-architect.md` where the sandbox confines writes). Read it
first, append what the run taught last — [SELF-EVOLVE.md](../SELF-EVOLVE.md).
<!-- self-evolve:end -->
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!