jpskill.com
🛠️ 開発・MCP コミュニティ

angular-20

Angular 20の開発、アーキテクチャ、コンポーネント、ルーティング、状態管理、テスト、デプロイに関する最新の知識とベストプラクティスを提供するSkill。

📜 元の英語説明(参考)

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.

🇯🇵 日本人クリエイター向け解説

一言でいうと

Angular 20の開発、アーキテクチャ、コンポーネント、ルーティング、状態管理、テスト、デプロイに関する最新の知識とベストプラクティスを提供するSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-17
取得日時
2026-05-17
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

Angular 20 スキル

ルール

コンポーネントアーキテクチャ

スタンドアロンコンポーネントを必須とします。

  • すべての新しいコンポーネントはスタンドアロンでなければなりません。
  • コンポーネントはデコレータで standalone: true を使用しなければなりません。
  • コンポーネントは imports 配列で依存関係を明示的にインポートしなければなりません。

新しいコードでは NgModule ベースのコンポーネントを使用してはなりません。

  • 新しいコンポーネントに対する NgModule 宣言は禁止されています。

状態管理

ローカル状態には Signals を使用することを必須とします。

  • コンポーネントレベルのリアクティブな状態には signal() を使用します。
  • 派生状態には computed() を使用します。
  • 副作用には effect() を使用します。

グローバル状態には @ngrx/signals を使用することを必須とします。

  • 一元化されたアプリケーション状態は @ngrx/signals を使用しなければなりません。
  • カスタムの状態管理ソリューションを使用してはなりません。

ルーティング

大規模モジュールには遅延ロードされたルートを使用することを必須とします。

  • フィーチャーモジュールは遅延ロードされなければなりません。
  • ルーティングには loadChildren または loadComponent を使用します。

プリフェッチ戦略を実装することを必須とします。

  • パフォーマンス最適化のためにプリロード戦略を設定します。

HTTP & API

型付きレスポンスを持つ HttpClient を使用することを必須とします。

  • すべての HTTP 呼び出しはレスポンスの型を指定しなければなりません。
  • API サービスは HTTP ロジックを一元化しなければなりません。
  • すべての HTTP 呼び出しに対してエラーハンドリングを実装しなければなりません。

テスト

単体テストを含めることを必須とします。

  • 単体テストには Jasmine/Karma または Jest を使用します。
  • コンポーネントには対応する spec ファイルがなければなりません。

重要なフローには E2E テストを含めることを必須とします。

  • E2E テストには Playwright を使用します。

パフォーマンス

本番環境では AOT コンパイルを使用することを必須とします。

  • 本番ビルドでは AOT を使用して ng build を実行しなければなりません。

該当する場合は OnPush 変更検知を使用することを必須とします。

  • Signals を使用するコンポーネントは ChangeDetectionStrategy.OnPush を使用すべきです。

アクセシビリティ

アクセシビリティ (a11y) ガイドラインを強制することを必須とします。

  • テンプレートは WCAG 標準に従わなければなりません。
  • インタラクティブな要素はキーボードでアクセス可能でなければなりません。

ビルドとデプロイ

ビルドには Angular CLI を使用することを必須とします。

  • ng build を使用して本番成果物を作成します。

環境固有の設定を構成することを必須とします。

  • 開発、ステージング、本番用に設定を分離します。

コンテキスト

目的

このスキルは、Angular 20 開発のための構造化されたガイダンスとベストプラクティスを提供します。これには、一般的なワークフロー、共通パターン、品質基準、およびサンプルテンプレートが含まれます。

Angular 20 のコアコンセプト

  • Angular 20 の機能と変更点
  • TypeScript ファーストアーキテクチャ
  • スタンドアロンコンポーネント
  • Signals とリアクティビティ
  • Composition API
  • Angular CLI ワークフロー

このスキルを使用するタイミング

このスキルは、次の場合に使用します。

  • Angular 20 アプリケーションを開発している場合
  • 新しい Angular プロジェクトをセットアップしている場合
  • コンポーネント、ルーティング、状態管理を実装している場合
  • パフォーマンスを最適化している場合
  • テストを作成している場合
  • Angular アプリケーションをデプロイしている場合

主要なタスクとワークフロー

1) 新しい Angular 20 アプリを作成する

Angular CLI を使用してプロジェクトをブートストラップします。

ng new your-app --routing --style=scss

2) コンポーネントとテンプレートのパターン

  • 可能な限りスタンドアロンコンポーネントを使用します。
  • テンプレートをクリーンで簡潔に保ちます。
  • アクセシビリティ (a11y) ガイドラインを強制します。

3) ルーティングとナビゲーション

  • ルートを持つ RouterModule をセットアップします。
  • 大規模モジュールには遅延ロードされたルートを使用します。
  • パフォーマンスのためにプリフェッチ戦略を実装します。

4) 状態とリアクティビティ

  • ローカル状態には Signals を優先します。
  • グローバル状態には @ngrx/signals を検討します。
  • effects/rx ワークフローを慎重に管理します。

5) HTTP と REST

  • 型付きレスポンスを持つ HttpClient を使用します。
  • エラーハンドリングを備えた API サービスレイヤーを一元化します。

6) テスト

  • Jasmine/Karma または Jest で単体テストを行います。
  • Playwright で E2E テストを行います。

7) パフォーマンス

  • AOT コンパイルを使用します。
  • ng build でバンドルを最適化します。
  • 該当する場合は OnPush 変更検知を使用します。

8) デプロイ

  • ビルド成果物: ng build
  • 静的ホスト/CDN で提供します。
  • 環境固有の設定を構成します。

📌 例とコードスニペット

スタンドアロンコンポーネントの例

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);
}

リアクティブフォームの例

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]
  });
}

API サービスの例

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');
  }
}

進化するベストプラクティスについては、公式の Angular ドキュメントとコミュニティ標準を参照してください。


📂 インストールパス

🎯 プロジェクト固有のスキル

.github/skills/angular-20/SKILL.md

🎯 個人のグローバルスキル

~/.github/skills/angular-20/SKILL.md

💡 Copilot は、プロンプトの内容に基づいてこのスキルを自動的にロードします。

📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

Angular 20 Skill

Rules

Component Architecture

MUST use standalone components:

  • All new components MUST be standalone
  • Components MUST use standalone: true in decorator
  • Components MUST explicitly import dependencies in imports array

MUST NOT use NgModule-based components in new code:

  • NgModule declarations are forbidden for new components

State Management

MUST use Signals for local state:

  • Use signal() for component-level reactive state
  • Use computed() for derived state
  • Use effect() for side effects

MUST use @ngrx/signals for global state:

  • Centralized application state MUST use @ngrx/signals
  • MUST NOT use custom state management solutions

Routing

MUST use lazy-loaded routes for large modules:

  • Feature modules MUST be lazy loaded
  • Use loadChildren or loadComponent for routing

MUST implement prefetching strategies:

  • Configure preloading strategy for performance optimization

HTTP & API

MUST use HttpClient with typed responses:

  • All HTTP calls MUST specify response types
  • API services MUST centralize HTTP logic
  • Error handling MUST be implemented for all HTTP calls

Testing

MUST include unit tests:

  • Use Jasmine/Karma or Jest for unit testing
  • Components MUST have corresponding spec files

MUST include E2E tests for critical flows:

  • Use Playwright for E2E testing

Performance

MUST use AOT compilation for production:

  • Production builds MUST use ng build with AOT

MUST use OnPush change detection where applicable:

  • Components with Signals SHOULD use ChangeDetectionStrategy.OnPush

Accessibility

MUST enforce accessibility (a11y) guidelines:

  • Templates MUST follow WCAG standards
  • Interactive elements MUST be keyboard accessible

Build & Deployment

MUST use Angular CLI for builds:

  • Use ng build to create production artifacts

MUST configure environment-specific settings:

  • Separate configurations for development, staging, and production

Context

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

When to Use This Skill

Use this skill when:

  • Developing Angular 20 applications
  • Setting up new Angular projects
  • Implementing components, routing, state management
  • Optimizing performance
  • Writing tests
  • Deploying Angular applications

Key Tasks & Workflows

1) Create a new Angular 20 app

Use Angular CLI to bootstrap projects:

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

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

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

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.