Skills may execute instructions and code that could affect your environment. Marketplace scans reduce risk but do not guarantee safety. Always review files, run your own security checks, and use at your own risk.
Angular Architect
Security Scan Summary
Status: Safe
Source: Syntic Skills registry
Automated security scan completed with no high-risk patterns detected. Manual review is still required.
About This Skill
Use when building enterprise applications with Angular 17+, signals, standalone components, RxJS, and NgRx state management.
Downloadable SKILL.md
Download SKILL.md and place it in your Syntic skills folder. For Syntic Code, install in your local skills directory, review contents, and run in a controlled environment first. Acknowledge the risk notice above to enable the download.
---
name: Angular Architect
description: Use when building enterprise applications with Angular 17+, signals, standalone components, RxJS, and NgRx state management.
category: Languages
version: 1.0.0
tools: []
---
# Angular 17+ Architecture
Build enterprise applications leveraging signals, standalone components, and Angular's latest framework capabilities.
## Core Principles
- **Standalone components** are default. Use `standalone: true` on every component, directive, and pipe. NgModules are legacy.
- **Signals** are the future of reactivity. Use `signal()`, `computed()`, and `effect()` for component-local state instead of RxJS.
- **RxJS** for async streams (HTTP, WebSocket, DOM events). Signals for synchronous, derived state.
- **Strict mode** non-negotiable: `strictTemplates`, `strictInjectionParameters`, `strictPropertyInitialization`.
## Component Architecture
- Smart (container) and dumb (presentational) components. Smart inject services; dumb receive data via `input()` and emit via `output()`.
- Use signal-based `input()` and `output()` functions instead of `@Input()` and `@Output()` decorators.
- `ChangeDetectionStrategy.OnPush` on every component. Signals and immutable data make this safe and performant.
- Use `@defer` blocks for lazy-loading heavy components: `@defer (on viewport) { <heavy-chart /> }`.
## Signals and Reactivity
- `signal<T>(initialValue)` for mutable reactive state owned by a component or service.
- `computed(() => ...)` for derived values. Lazy and cached.
- `effect(() => ...)` for side effects that react to signal changes.
- `toSignal()` converts Observables to signals. `toObservable()` for reverse.
## Services and DI
- `providedIn: 'root'` for singleton services. Component-level `providers` for scoped instances.
- `inject()` function instead of constructor injection (cleaner, tree-shakable).
- `InjectionToken<T>` for non-class dependencies.
- `HttpClient` with typed responses. Interceptors as functions: `withInterceptors([...])`.
## Routing
- Functional router: `provideRouter(routes)` with `withComponentInputBinding()` for route params as inputs.
- Lazy loading: `loadComponent: () => import('./admin')`.
- Route guards as functions: `canActivate: [() => inject(AuthService).isAuthenticated()]`.
- Resolvers prefetch data before navigation.
## State Management
- **NgRx SignalStore** for new projects. Integrates directly with signals.
- Feature stores: `signalStore(withState(...), withComputed(...), withMethods(...), withEffects(...), ...)`.
- **ComponentStore** for complex component-local state with side effects.
- **Effects** only for global side effects triggered by actions across features.
## Forms
- Reactive Forms with `FormBuilder` and strong typing: `FormGroup<{ name: FormControl<string> }>`.
- Custom validators as pure functions returning `ValidationErrors | null`.
- `FormArray` for dynamic lists. `ControlValueAccessor` for custom form controls.
## Testing
- Angular Testing Library (`@testing-library/angular`) focused on user behavior.
- `TestBed.configureTestingModule` with `provideHttpClientTesting()`.
- `@ngneat/spectator` for ergonomic component and service testing.
- Test signals by reading `.value` after state changes.
Bundle Download
Includes SKILL.md and bundled support files where provided. Risk acknowledgement is required.
Install Targets
Syntic App
- 1. Create a dedicated folder for this skill in your local skills library.
- 2. Place SKILL.md into that folder.
- 3. Restart Syntic and invoke this skill on matching tasks.
Syntic Code (CLI)
- 1. Save SKILL.md in your local Syntic Code skills directory.
- 2. Keep related files in the same skill folder.
- 3. Run in a safe environment and validate outputs.
Source
https://github.com/rohitg00/awesome-claude-code-toolkit/blob/main/agents/language-experts/angular-architect.md
Open Source LinkRelated Skills
Clojure Developer
Use when building data-oriented systems with Clojure, REPL-driven development, persistent data structures...
LanguagesCsharp Developer
Use when building applications on .NET 8+ with ASP.NET Core, Entity Framework Core, minimal APIs, and async...
LanguagesDjango Developer
Use when building applications with Django 5+ and Django REST Framework, including ORM optimization...
LanguagesElixir Expert
Use when building fault-tolerant, concurrent applications with Elixir, Phoenix, OTP supervision trees...