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

angular-ecosystem

Angular開発に役立つライブラリやツール、関連情報を効率的に参照できるSkill。

📜 元の英語説明(参考)

Useful Angular libraries, tools, and ecosystem references for Angular development.

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

一言でいうと

Angular開発に役立つライブラリやツール、関連情報を効率的に参照できるSkill。

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

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o angular-ecosystem.zip https://jpskill.com/download/6829.zip && unzip -o angular-ecosystem.zip && rm angular-ecosystem.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/6829.zip -OutFile "$d\angular-ecosystem.zip"; Expand-Archive "$d\angular-ecosystem.zip" -DestinationPath $d -Force; ri "$d\angular-ecosystem.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して angular-ecosystem.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → angular-ecosystem フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

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

🎯 この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+ エコシステム マスターガイド

このマスタースキルドキュメントは、Angular Core、v20 Control Flow、Signals、CDK、Material 3、Router、Forms、Google Maps、NgRx Signals、および RxJS Patterns を統合されたアーキテクチャリファレンスとしてまとめます。


🏗️ 1. コアアーキテクチャ: スタンドアロン & ゾーンレス

コンポーネントの標準

  • スタンドアロンコンポーネントのみ: standalone: true を使用します。
  • OnPush 変更検知: すべてのコンポーネントは changeDetection: ChangeDetectionStrategy.OnPush を使用する必要があります。
  • Signals-first: input()output()model()viewChild()、および contentChild() (Angular 19+ 構文) を使用します。
  • Control Flow: @if@for (item of items; track item.id)@switch、および @defer を使用します。*ngIf*ngFor は避けてください。

依存性注入

  • よりクリーンでモダンなコードのために、コンストラクタインジェクションの代わりに inject(Type) を使用します。
  • グローバルサービス/トークンは app.config.ts で提供します。

🚦 2. 状態管理: NgRx Signals

signalStore パターン

  • 集中型状態: 機能モジュールまたはバウンデッドコンテキストごとに単一の signalStore を定義します。
  • withState: プレーンオブジェクトで初期化します (undefined の代わりに null を使用します)。
  • withComputed: 派生状態は純粋でリアクティブであるべきです。
  • withMethods: ビジネスロジックと状態遷移を処理します。

rxMethod を使用した非同期操作

  • 非同期の副作用 (API 呼び出し) には rxMethod を使用します。
  • 並行処理制御: 適切なオペレーターを選択します。
    • switchMap: 検索、フィルター用 (以前のものをキャンセルします)。
    • exhaustMap: フォーム送信用 (同時クリックを無視します)。
    • concatMap: 順序付けられたシーケンシャル操作用。
    • mergeMap: 独立した並列操作用。
  • 構造化されたエラー処理のために、常に @ngrx/operatorstapResponse を使用します。

🧱 3. UI コンポーネントレイヤー: Angular Material 3 & CDK

Material Design 3 (M3)

  • トークンベースのテーマ設定: M3 デザインシステムトークン (--mat-sys-...) と CSS 変数を使用します。
  • グローバルスタイル: 最新の SASS ミックスインを使用して styles.scss で定義します。
  • フォーム: 標準的な検証パターンで <mat-form-field> を使用します。

Angular CDK (Component Dev Kit)

  • A11y: アクセシブルなエクスペリエンスのために A11yModuleFocusTrap、および LiveAnnouncer を使用します。
  • オーバーレイ: カスタムダイアログ、ツールチップ、フローティング UI に OverlayModule を使用します。
  • 仮想スクロール: 大規模なリスト (100 項目以上) には CdkVirtualScrollViewport を使用します。
  • ドラッグ & ドロップ: リストの並べ替えやボードレイアウトには @angular/cdk/drag-drop を使用します。

🗺️ 4. ナビゲーション & マッピング

Angular Router

  • 遅延ロード: 常に loadChildren: () => import(...) を使用します。
  • 関数型ガード: クラスベースのガードを inject() を使用した関数に置き換えます。
  • リアクティブなパラメーター: toSignal(route.params) を使用してルートパラメーターをシグナルに変換します。

Google Maps 統合

  • 遅延ロード: サービスを介して API スクリプトを動的にロードします。
  • API キーのセキュリティ: キーは environment.ts に保存します (ハードコードは絶対に避けてください)。
  • マーカークラスタリング: パフォーマンスを維持するために 50 個以上のマーカーに必要です。

🧪 5. RxJS & Signals 相互運用

バウンダリーパターン

  • インフラストラクチャ/ポート: リポジトリから Observable を返します (ストリームベースのデータ用)。
  • アプリケーション/ファサード: toSignal() を使用して Signals に変換します。
  • クリーンアップ: 自動購読解除を確実にするために takeUntilDestroyed() または toSignal() を使用します。
  • 高コストなストリーム: shareReplay({ bufferSize: 1, refCount: true }) を使用します。

📋 6. フォーム処理: リアクティブ & 型付け

  • 厳密な型付け: FormGroup<T>FormControl<T> を使用します。
  • 検証: エラーは touched 後にのみ表示します。
  • Signals 同期: onChanges または明示的な送信メソッドを介してストアを更新します。

♿ 7. アクセシビリティ (A11y)

  • WCAG 2.2 レベル AA: 最小要件です。
  • セマンティック HTML: <nav><main><header><footer> を優先します。
  • キーボードナビゲーション: tabindex とフォーカス管理が確実であることを確認します。
  • ARIA: ネイティブ HTML が不十分な場合は aria-labelaria-describedby、および aria-live を使用します。

: このドキュメントは、Black-Tortoise におけるすべての Angular 関連開発の信頼できる情報源です。非準拠のコードは CI パイプラインによって拒否されます。

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

SKILL: Angular 20+ Ecosystem Master Guide

This master skill document consolidates Angular Core, v20 Control Flow, Signals, CDK, Material 3, Router, Forms, Google Maps, NgRx Signals, and RxJS Patterns into a unified architecture reference.


🏗️ 1. Core Architecture: Standalone & Zone-less

Component Standards

  • Standalone components only: Use standalone: true.
  • OnPush Change Detection: Every component must use changeDetection: ChangeDetectionStrategy.OnPush.
  • Signals-first: Use input(), output(), model(), viewChild(), and contentChild() (Angular 19+ syntax).
  • Control Flow: Use @if, @for (item of items; track item.id), @switch, and @defer. Avoid *ngIf, *ngFor.

Dependency Injection

  • Use inject(Type) instead of constructor injection for cleaner, more modern code.
  • Provide global services/tokens in app.config.ts.

🚦 2. State Management: NgRx Signals

The signalStore Pattern

  • Centralized State: Define a single signalStore per feature module or bounded context.
  • withState: Initialize with plain objects (use null instead of undefined).
  • withComputed: Derived state should be pure and reactive.
  • withMethods: Handle business logic and state transitions.

Async Operations with rxMethod

  • Use rxMethod for async side effects (API calls).
  • Concurrency Control: Choose the right operator:
    • switchMap: For searches, filters (cancels previous).
    • exhaustMap: For form submissions (ignores concurrent clicks).
    • concatMap: For ordered sequential operations.
    • mergeMap: For independent parallel operations.
  • Always use tapResponse from @ngrx/operators for structured error handling.

🧱 3. UI Component Layer: Angular Material 3 & CDK

Material Design 3 (M3)

  • Token-based theming: Use M3 design tokens (--mat-sys-...) and CSS variables.
  • Global Styles: Defined in styles.scss using the modern SASS mixins.
  • Forms: Use <mat-form-field> with standard validation patterns.

Angular CDK (Component Dev Kit)

  • A11y: Use A11yModule, FocusTrap, and LiveAnnouncer for accessible experiences.
  • Overlays: Use OverlayModule for custom dialogs, tooltips, and floating UI.
  • Virtual Scroll: Use CdkVirtualScrollViewport for large lists (>100 items).
  • Drag & Drop: Use @angular/cdk/drag-drop for list reordering and board layouts.

🗺️ 4. Navigation & Mapping

Angular Router

  • Lazy Loading: Always use loadChildren: () => import(...).
  • Functional Guards: Replace class-based guards with functions using inject().
  • Reactive Params: Convert route parameters to signals using toSignal(route.params).

Google Maps integration

  • Lazy Loading: Load API script dynamically via a service.
  • API Key Security: Store keys in environment.ts (never hardcode).
  • Marker Clustering: Required for >50 markers to maintain performance.

🧪 5. RxJS & Signals Interop

The Boundary Pattern

  • Infrastructure/Ports: Return Observables from repositories (for stream-based data).
  • Application/Facade: Convert to Signals using toSignal().
  • Cleanup: Use takeUntilDestroyed() or toSignal() to ensure automatic unsubscription.
  • Expensive Streams: Use shareReplay({ bufferSize: 1, refCount: true }).

📋 6. Form Handling: Reactive & Typed

  • Strictly Typed: Use FormGroup<T>, FormControl<T>.
  • Validation: Show errors only after touched.
  • Signals Sync: Update the store via onChanges or explicit submission methods.

♿ 7. Accessibility (A11y)

  • WCAG 2.2 Level AA: Minimum requirement.
  • Semantic HTML: Prioritize <nav>, <main>, <header>, <footer>.
  • Keyboard Navigation: Ensure tabindex and focus management are solid.
  • ARIA: Use aria-label, aria-describedby, and aria-live where native HTML is insufficient.

Note: This document is the source of truth for all Angular-related development in Black-Tortoise. Non-compliant code will be rejected by the CI pipeline.