This skill provides guidelines and best practices for Angular development, ensuring maintainability and performance. It's designed for developers working with Angular to create high-quality applications.
$ npx skills add https://github.com/angular/skills --skill angular-developerThis skill generates production-ready Angular code and delivers architectural guidance aligned with Angular's style guide and best practices. It supports modern Angular features including Signals, linkedSignal, resource for async reactivity, Signal Forms, dependency injection, routing strategies, SSR, ARIA accessibility patterns, animations, component styling with Tailwind CSS, and testing. The skill analyzes your project's Angular version before providing recommendations, ensures generated code passes build validation with `ng build`, and uses Angular CLI for consistent scaffolding of components, services, directives, pipes, and routes. It serves developers building high-quality, maintainable Angular applications across all complexity levels.
Install the skill using the command: '$ npx skills add https://github.com/angular/skills --skill angular-developer'
Creating new Angular projects with best practices
Generating code that adheres to Angular's style guide
Running and fixing build errors in Angular applications
$ npx skills add https://github.com/angular/skills --skill angular-developergit clone https://github.com/angular/skillsCopy the install command above and run it in your terminal.
Launch Claude Code, Cursor, or your preferred AI coding agent.
Use the prompt template or examples below to test the skill.
Adapt the skill to your specific use case and workflow.
I need guidance on best practices for [ANGULAR_VERSION] in [COMPANY]'s [INDUSTRY] application. Focus on [SPECIFIC_AREA: performance optimization, state management, component architecture, etc.]. Provide code examples using [METHODOLOGY: RxJS, NgRx, standalone components, etc.] where relevant. Include common pitfalls and how to avoid them.
## Angular Best Practices for E-commerce Dashboard (v17)
### State Management with NgRx
Avoid the common anti-pattern of scattering API calls across components. Instead, centralize state management:
```typescript
// store/effects/cart.effects.ts
actions$: createEffect(() => this.actions$.pipe(
ofType(loadCart),
switchMap(() => this.cartService.getCart().pipe(
map(cart => loadCartSuccess({ data: cart })),
catchError(error => of(loadCartFailure({ error })))
))
));
```
### Component Architecture
Break down complex components like `ProductGrid`:
- **Parent**: `ProductGridComponent` (handles filtering/sorting)
- **Child**: `ProductCardComponent` (dumb, receives @Input())
- **Pure**: `ProductFilterPipe` (stateless filtering)
### Performance Optimization
```typescript
// Use OnPush change detection
@Component({
selector: 'app-product-card',
changeDetection: ChangeDetectionStrategy.OnPush,
// ...
})
export class ProductCardComponent {
@Input() product: Product;
}
```
**Common Pitfalls:**
1. **Memory Leaks**: Unsubscribe from Observables in `ngOnDestroy`
2. **Change Detection**: Avoid manual triggers in large lists
3. **RxJS**: Prefer `async` pipe in templates to auto-manage subscriptions
Would you like me to elaborate on any of these areas or provide examples for a specific use case?Take a free 3-minute scan and get personalized AI skill recommendations.
Take free scan