Communitygithub.com

angular-developer

Angularコードを生成し、アーキテクチャに関するガイダンスを提供します。プロジェクト、コンポーネント、サービスの作成時や、リアクティビティ(シグナル、linkedSignal、resource)、フォーム、依存性注入、ルーティング、SSR、アクセシビリティ(ARIA)、アニメーション、スタイリング(コンポーネントスタイル、Tailwind CSS)、テスト、CLIツールに関するベストプラクティスについてトリガーされます。

angular-developer とは?

このスキルは、Angularプロジェクトの開発を支援するために設計された包括的なガイドです。プロジェクトの作成、コンポーネントやサービスの生成、状態管理(Angular Signals, linkedSignal, resourceを使用)、フォーム(シグナルフォーム、リアクティブフォーム、テンプレート駆動フォーム)、依存性注入、ルーティング、アクセシビリティ、アニメーション、スタイリング、テスト、CLIツールといった幅広いトピックをカバーしています。このスキルは、Angularのベストプラクティスとスタイルガイドに従い、生成されたコードの品質を確保するために`ng build`の実行を推奨しています。また、プロジェクトのAngularバージョンを分析し、それに応じた適切なアプローチ(例:新しいプロジェクトではシグナルフォームを優先)を提案します。各トピックには詳細なリファレンスドキュメントへのリンクが含まれており、開発者は深い知識を必要とする場合にそれらを参照できます。さらに、よくあるアンチパターン(例:シグナルフォームの初期値にnull/undefinedを使用する、`effect()`を派生状態に使用するなど)を列挙し、それらを回避する方法を示しています。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/affaan-m/ECC/tree/main/skills/angular-developer

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Angular開発者ガイドライン

アクティブ化のタイミング

  • Angularプロジェクトまたはコードベースで作業している場合
  • 新しいAngularプロジェクト、アプリケーション、またはライブラリを作成またはスキャフォールディングしている場合
  • コンポーネント、サービス、ディレクティブ、パイプ、ガード、またはリゾルバを生成している場合
  • Angular Signals、linkedSignal、またはresourceを使用してリアクティビティを実装している場合
  • Angularフォーム(シグナルフォーム、リアクティブフォーム、テンプレート駆動フォーム)を扱っている場合
  • 依存性注入、ルーティング、遅延ロード、またはルートガードを設定している場合
  • アクセシビリティ(ARIA)、アニメーション、またはコンポーネントのスタイリングを追加している場合
  • Angular固有のテスト(単体テスト、コンポーネントハーネス、E2E)を作成またはデバッグしている場合
  • Angular CLIツールまたはAngular MCPサーバーを設定している場合
  1. ガイダンスを提供する前に、常にプロジェクトのAngularバージョンを分析してください。ベストプラクティスや利用可能な機能はバージョンによって大きく異なる可能性があります。Angular CLIで新しいプロジェクトを作成する場合、ユーザーから指定がない限りバージョンを指定しないでください。

  2. コードを生成する際は、保守性とパフォーマンスのためにAngularのスタイルガイドとベストプラクティスに従ってください。コンポーネント、サービス、ディレクティブ、パイプ、ルートをスキャフォールディングするには、Angular CLIを使用して一貫性を確保します。

  3. コードの生成が完了したら、ng buildを実行してビルドエラーがないことを確認します。エラーがある場合は、エラーメッセージを分析して修正してから先に進みます。生成されたコードが正しく機能することを確認するために、この手順は重要です。スキップしないでください。

新しいプロジェクトの作成

ユーザーからガイドラインが提供されない場合、新しいAngularプロジェクトを作成する際は以下のデフォルトを使用します。

  1. ユーザーが別途指定しない限り、Angularの最新安定バージョンを使用します。
  2. ターゲットのAngularバージョンがシグナルフォームをサポートしている場合に限り、新しいプロジェクトではシグナルフォームを優先します。詳細については、シグナルフォームを参照してください。

ng newの実行ルール: 新しいAngularプロジェクトの作成を求められた場合、以下の厳格な手順に従って正しい実行コマンドを決定する必要があります。

ステップ1: 明示的なユーザーバージョンの確認

  • もしユーザーが特定のバージョン(例:Angular 15)を要求した場合、ローカルインストールをバイパスし、厳密にnpxを使用します。
  • コマンド: npx @angular/cli@<要求されたバージョン> new <プロジェクト名>

ステップ2: 既存のAngularインストールの確認

  • もし特定のバージョンが要求されていない場合、ターミナルでng versionを実行し、Angular CLIがシステムに既にインストールされているか確認します。
  • もしコマンドが成功し、インストールされたバージョンが返された場合、ローカル/グローバルインストールを直接使用します。
  • コマンド: ng new <プロジェクト名>

ステップ3: 最新バージョンへのフォールバック

  • もし特定のバージョンが要求されておらず、かつng versionコマンドが失敗した場合(Angularインストールが存在しないことを示す)、npxを使用して最新バージョンを取得します。
  • コマンド: npx @angular/cli@latest new <プロジェクト名>

コンポーネント

Angularコンポーネントを扱う際は、タスクに応じて以下のリファレンスを参照してください。

  • 基礎: 構造、メタデータ、コアコンセプト、テンプレート制御フロー(@if、@for、@switch)。components.mdを参照してください。
  • 入力: シグナルベースの入力、変換、モデル入力。inputs.mdを参照してください。
  • 出力: シグナルベースの出力とカスタムイベントのベストプラクティス。outputs.mdを参照してください。
  • ホスト要素: ホストバインディングと属性注入。host-elements.mdを参照してください。

上記のリファレンスにない詳細なドキュメントが必要な場合は、https://angular.dev/guide/componentsのドキュメントを参照してください。

リアクティビティとデータ管理

状態とデータのリアクティビティを管理する際は、Angular Signalsを使用し、以下のリファレンスを参照してください。

  • シグナル概要: コアシグナルコンセプト(signal、computed)、リアクティブコンテキスト、untracked。signals-overview.mdを参照してください。
  • 依存状態(linkedSignal): ソースシグナルにリンクされた書き込み可能な状態の作成。linked-signal.mdを参照してください。
  • 非同期リアクティビティ(resource): 非同期データをシグナル状態に直接取得。resource.mdを参照してください。
  • 副作用(effect): ログ記録、サードパーティ製DOM操作(afterRenderEffect)、effectsを使用すべきでない場合。effects.mdを参照してください。

フォーム

新しいアプリのほとんどの場合、シグナルフォームを優先します。フォームを決定する際は、プロジェクトを分析し、以下のガイドラインを考慮してください。

  • アプリケーションバージョンがシグナルフォームをサポートしており、これが新しいフォームである場合、シグナルフォームを優先します。

  • 古いアプリケーションまたは既存のフォームの場合、アプリケーションの現在のフォーム戦略に合わせてください。

  • シグナルフォーム: フォーム状態管理にシグナルを使用します。signal-forms.mdを参照してください。

  • テンプレート駆動フォーム: シンプルなフォームに使用します。template-driven-forms.mdを参照してください。

  • リアクティブフォーム: 複雑なフォームに使用します。reactive-forms.mdを参照してください。

依存性注入

Angularで依存性注入を実装する際は、以下のガイドラインに従ってください。

  • 基礎: 依存性注入、サービス、inject()関数の概要。di-fundamentals.mdを参照してください。
  • サービスの作成と使用: サービスの作成、providedIn: 'root'オプション、コンポーネントや他のサービスへの注入。creating-services.mdを参照してください。
  • 依存プロバイダーの定義: 自動プロビジョニングと手動プロビジョニング、InjectionToken、useClass、useValue、useFactory、およびスコープ。defining-providers.mdを参照してください。
  • 注入コンテキスト: inject()が許可される場所、runInInjectionContext、assertInInjectionContext。injection-context.mdを参照してください。
  • 階層インジェクター: EnvironmentInjectorとElementInjector、解決ルール、修飾子(optional、skipSelf)、providersとviewProviders。hierarchical-injectors.mdを参照してください。

Angular ARIA

以下のパターンのいずれかに対してアクセシブルなカスタムコンポーネントを構築する場合:Accordion、Listbox、Combobox、Menu、Tabs、Toolbar、Tree、Grid、以下のリファレンスを参照してください。

  • Angular ARIA コンポーネント: ヘッドレスでアクセシブルなコンポーネント(Accordion、Listbox、Combobox、Menu、Tabs、Toolbar、Tree、Grid)の構築とARIA属性のスタイリング。angular-aria.mdを参照してください。

ルーティング

Angularでナビゲーションを実装する際は、以下のリファレンスを参照してください。

  • ルートの定義: URLパス、静的セグメントと動的セグメント、ワイルドカード、リダイレクト。define-routes.mdを参照してください。
  • ルート読み込み戦略: イーガーローディングと遅延ローディング、コンテキストアウェアローディング。loading-strategies.mdを参照してください。
  • アウトレットを使用したルートの表示: <router-outlet>、ネストされたアウトレット、名前付きアウトレットの使用。show-routes-with-outlets.mdを参照してください。
  • ルートへのナビゲーション: RouterLinkを使用した宣言的ナビゲーションとRouterを使用したプログラムによるナビゲーション。navigate-to-routes.mdを参照してください。
  • ガードによるルートアクセスの制御: セキュリティのためのCanActivate、CanMatch、およびその他のガードの実装。route-guards.mdを参照してください。
  • データリゾルバ: ResolveFnを使用したルートアクティベーション前のデータプリフェッチ。data-resolvers.mdを参照してください。
  • ルーターライフサイクルとイベント: ナビゲーションイベントの時系列順とデバッグ。router-lifecycle.mdを参照してください。
  • レンダリング戦略: CSR、SSG(プリレンダリング)、SSR(ハイドレーション付き)。rendering-strategies.mdを参照してください。
  • ルート遷移アニメーション: View Transitions APIの有効化とカスタマイズ。route-animations.mdを参照してください。

より深いドキュメントや詳細なコンテキストが必要な場合は、公式Angularルーティングガイドを参照してください。

スタイリングとアニメーション

Angularでスタイリングとアニメーションを実装する際は、以下のリファレンスを参照してください。

  • AngularでTailwind CSSを使用する: Tailwind CSSをAngularプロジェクトに統合する。tailwind-css.mdを参照してください。
  • Angularアニメーション: ネイティブCSS(推奨)または動的エフェクト用のレガシーDSLの使用。angular-animations.mdを参照してください。
  • コンポーネントのスタイリング: コンポーネントスタイルとカプセル化のベストプラクティス。component-styling.mdを参照してください。

テスト

テストを作成または更新する際は、タスクに応じて以下のリファレンスを参照してください。

  • 基礎: 単体テスト、非同期パターン、TestBedのベストプラクティス。testing-fundamentals.mdを参照してください。
  • コンポーネントハーネス: 堅牢なコンポーネントインタラクションのための標準パターン。component-harnesses.mdを参照してください。
  • ルーターテスト: 信頼性の高いナビゲーションテストのためのRouterTestingHarnessの使用。router-testing.mdを参照してください。
  • エンドツーエンド(E2E)テスト: CypressまたはPlaywrightを使用したE2Eテストのベストプラクティス。e2e-testing.mdを参照してください。

ツール

Angularツールを扱う際は、以下のリファレンスを参照してください。

  • Angular CLI: アプリケーションの作成、コードの生成(コンポーネント、ルート、サービス)、サーブ、ビルド。cli.mdを参照してください。
  • Angular MCPサーバー: 利用可能なツール、設定、実験的機能。mcp.mdを参照してください。

アンチパターン

  • シグナルフォームフィールドの初期値としてnullやundefinedを使用する — 代わりに''、0、[]を使用します
  • フィールドを呼び出さずにフォームフィールドの状態フラグにアクセスする: form.field.valid() — 代わりにform.field().valid()を使用します
  • ターゲットのAngularバージョンがシグナルフォームをサポートしている場合でも、古いフォームAPIで新しいフォームを開始する
  • [formField]入力にmin、max、value、disabled、またはreadonly HTML属性を設定する — 代わりにスキーマルールとして定義します
  • 注入コンテキスト外でinject()を呼び出す — 必要に応じてrunInInjectionContextを使用します
  • computed()を使用すべき派生状態にeffect()を使用する
  • ネストされた@forループ内で$parent.$indexを参照する — Angularは$parentをサポートしていません。代わりにlet outerIdx = $indexを使用します

関連スキル

  • tdd-workflow — Angularコンポーネントとサービスに適用可能なテスト駆動開発ワークフロー
  • security-review — Angular固有の懸念事項を含むWebアプリケーション向けセキュリティチェックリスト
  • frontend-patterns — React/Next.jsアプローチのコンテキストのための一般的なフロントエンドパターン

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

accessibility

Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA. Use when building or auditing UI that must meet WCAG 2.2 Level AA, or when reviewing a change for keyboard, contrast, or screen-reader support.

affaan-m/content-engine

Create platform-native content systems for X, LinkedIn, TikTok, YouTube, newsletters, and repurposed multi-platform campaigns. Use when the user wants social posts, threads, scripts, content calendars, or one source asset adapted cleanly across platforms.

affaan-m/ECC

Multi-platform content distribution across X, LinkedIn, Threads, and Bluesky. Adapts content per platform using content-engine patterns. Never posts identical content cross-platform. Use when the user wants to distribute content across social platforms.

affaan-m/fal-ai-media

Unified media generation via fal.ai MCP — image, video, and audio. Covers text-to-image (Nano Banana), text/image-to-video (Seedance, Kling, Veo 3), text-to-speech (CSM-1B), and video-to-audio (ThinkSound). Use when the user wants to generate images, videos, or audio with AI.

affaan-m/manim-video

日本語翻訳:このファイルは manim-video 用の日本語翻訳が必要です

affaan-m/remotion-video-creation

Remotion のベストプラクティス - React で動画を作成する。3D、アニメーション、音声、字幕、チャート、トランジションなどをカバーするドメイン固有の29のルール。

affaan-m/video-editing

AI-assisted video editing workflows for cutting, structuring, and augmenting real footage. Covers the full pipeline from raw capture through FFmpeg, Remotion, ElevenLabs, fal.ai, and final polish in Descript or CapCut. Use when the user wants to edit video, cut footage, create vlogs, or build video content.

agent-architecture-audit

Full-stack diagnostic for agent and LLM applications. Audits the 12-layer agent stack for wrapper regression, memory pollution, tool discipline failures, hidden repair loops, and rendering corruption. Produces severity-ranked findings with code-first fixes. Essential for developers building agent applications, autonomous loops, or any LLM-powered feature. Use when an agent or LLM feature misbehaves and the failing layer is unknown, or before shipping an agent stack.

agent-eval

Head-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics. Use when choosing between coding agents, or when a change to an agent setup needs measured pass rate, cost, and time rather than an impression.

agent-harness-construction

Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates. Use when defining or revising an agent

agentic-engineering

Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when planning or executing engineering work that agents will carry out end to end.

agentic-os

Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling.

agent-introspection-debugging

Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.

agent-payment-x402

Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments / OKX Agent Payments Protocol. Use when an agent must pay for something itself and needs per-task budgets, spending controls, and a non-custodial wallet.

agent-self-evaluation

Use after completing any non-trivial task. The agent self-rates its output on 5 axes — accuracy, completeness, clarity, actionability, conciseness — with concrete evidence per criterion. Produces a structured 1-5 scorecard with specific improvement suggestions.

agent-sort

Build an evidence-backed ECC install plan for a specific repo by sorting skills, commands, rules, hooks, and extras into DAILY vs LIBRARY buckets using parallel repo-aware review passes. Use when ECC should be trimmed to what a project actually needs instead of loading the full bundle.

ai-first-engineering

Engineering operating model for teams where AI agents generate a large share of implementation output. Use when setting team process, review gates, or ownership rules for a codebase largely written by agents.

ai-regression-testing

Regression testing strategies for AI-assisted development. Sandbox-mode API testing without database dependencies, automated bug-check workflows, and patterns to catch AI blind spots where the same model writes and reviews code. Use when adding regression coverage to AI-assisted code, or when the same model both wrote and reviewed a change.

android-clean-architecture

Clean Architecture patterns for Android and Kotlin Multiplatform projects — module structure, dependency rules, UseCases, Repositories, and data layer patterns. Use when structuring modules, layers, or data flow in an Android or KMP project.

api-connector-builder

Build a new API connector or provider by matching the target repo

関連スキル