Skip to content
Back to skills

Angular 20

ASecurity

Angular 20 knowledge and best practices. Use this skill when asked about Angular 20 development, architecture, components, routing, state management, performance, testing, and deployment. Includes standalone components, signals, and modern Angular patterns.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 27, 2026
developmenttypescriptbashreactangulartestinggitapiperformance

Works with

  • cli
  • api

Security analysis

A100/100

Scanned September 27, 2026

npx -y skills add David-Li0406/meta-skill-evloving --skill angular-20 --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Angular 20?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Angular 20
[![Security: A β€” Skills Directory](https://www.skillsdirectory.com/api/skills/david-li0406-angular-20/badge)](https://www.skillsdirectory.com/skills/david-li0406-angular-20)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: angular-20
description: Angular 20 knowledge and best practices. Use this skill when asked about Angular 20 development, architecture, components, routing, state management, performance, testing, and deployment. Includes standalone components, signals, and modern Angular patterns.
license: MIT
---

# Angular 20 Skill for AI Agents

## 🧩 Purpose
This skill provides structured guidance and best practices for Angular 20 development, including typical workflows, common patterns, quality standards, and example templates.

## πŸ› οΈ Angular 20 Core Concepts
- Angular 20 features & changes  
- TypeScript-first architecture  
- Standalone components  
- Signals and reactivity  
- Composition API  
- Angular CLI workflows

## πŸ“š Key Tasks & When to Use

### 1) Create a new Angular 20 app
Use Angular CLI to bootstrap projects, follow style/architecture rules:
```bash
ng new your-app --routing --style=scss
```

### 2) Component & Template Patterns
- Use standalone components where possible
- Keep templates clean & concise
- Enforce accessibility (a11y) guidelines

### 3) 🚦 Routing & Navigation
- Setup RouterModule with routes
- Use lazy-loaded routes for large modules
- Implement prefetching strategies for performance

### 4) πŸ”„ State & Reactivity
- Prefer Signals for local state
- Consider @ngrx/signals for global state
- Manage effects/rx workflows carefully

### 5) πŸ“¦ HTTP & REST
- Use HttpClient with typed responses
- Centralize API service layer with error handling

### 6) πŸ“‘ Testing
- Unit test with Jasmine/Karma or Jest
- E2E tests with Playwright

### 7) 🎯 Performance
- Use AOT compilation
- Optimize bundle with `ng build`
- Use OnPush change detection where applicable

### 8) πŸš€ Deployment
- Build artifacts: `ng build`
- Serve with static hosts / CDNs
- Configure environment-specific settings

## πŸ“Œ Examples & Code Snippets

### Example Standalone Component
```typescript
import { Component } from '@angular/core';
import { CommonModule } from '@angular/common';

@Component({
  selector: 'app-example',
  standalone: true,
  imports: [CommonModule],
  template: `
    @if (showContent()) {
      <div>Content here</div>
    }
  `
})
export class ExampleComponent {
  showContent = signal(true);
}
```

### Example Reactive Form
```typescript
import { Component, inject } from '@angular/core';
import { FormBuilder, ReactiveFormsModule, Validators } from '@angular/forms';

@Component({
  selector: 'app-form',
  standalone: true,
  imports: [ReactiveFormsModule],
  template: `
    <form [formGroup]="form">
      <input formControlName="name" />
    </form>
  `
})
export class FormComponent {
  private fb = inject(FormBuilder);
  
  form = this.fb.group({
    name: ['', Validators.required]
  });
}
```

### Example API Service
```typescript
import { Injectable, inject } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';

@Injectable({ providedIn: 'root' })
export class ApiService {
  private http = inject(HttpClient);
  
  getData(): Observable<any[]> {
    return this.http.get<any[]>('/api/data');
  }
}
```

Refer to official Angular docs and community standards for evolving best practices.

---

## πŸ“‚ Installation Path

### 🎯 Project-specific skill
`.github/skills/angular-20/SKILL.md`

### 🎯 Personal global skill
`~/.github/skills/angular-20/SKILL.md`

πŸ’‘ Copilot will automatically load this skill based on your prompt content.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…