mcpField
E
ensure-agents-md

ensure-agents-md

github.com/adobeエージェントワークフロー3161.1k 回インストール今日更新
リポジトリ

ensure-agents-md について

ensure-agents-md は、AEM Cloud Service リポジトリ向けの初期設定スキルです。AGENTS.md の有無を確認し、必要に応じてプロジェクト構成に合わせた AGENTS.md と CLAUDE.md を作成します。

主な機能

  1. 01リポジトリルートの AGENTS.md を確認
  2. 02AEM Cloud Service プロジェクトを判定
  3. 03モジュールと拡張に合わせてガイダンスを調整
  4. 04未作成の場合に CLAUDE.md を作成

活用シーン

  1. 01AEM リポジトリにコーディングエージェント向けガイダンスを用意
  2. 02既存モジュールからプロジェクト説明を生成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/adobe/skills --skill ensure-agents-md

インストール後、Claude Code で/ensure-agents-mdを入力して読み込まれたか確認します。

同梱ファイルreferences/AGENTS.md.templatereferences/module-catalog.md

詳細

AGENTS.md と CLAUDE.md の作成(初期セットアップ)

必須の順序(すべての場合)

ほかの作業を行う前に、ディスパッチャー、コンポーネント作成、コード編集、MCP、回答などを含め、エージェントは必ず次の手順を実行してください。

  1. AGENTS.md がワークスペース(リポジトリ)のルートに存在するか確認します。
  2. 存在する場合 → このスキルを完全にスキップし、ユーザーの依頼に進みます。
  3. 存在せず、リポジトリが AEM Cloud Service プロジェクトの場合(ゲートチェックを参照)→ まずこのスキルを最後まで実行し(AGENTS.md と CLAUDE.md がない場合は作成)、その後でユーザーの元の依頼に対応します。

これは、AGENTS.md が存在するようになるまで、すべてのユーザーメッセージとあらゆる意図(バグ、機能、質問、ディスパッチャーなど)に適用されます。メインタスクの「後」に初期セットアップを先送りしてはいけません。

この処理では、リポジトリのルートに AGENTS.md と CLAUDE.md を作成します。これにより、すべての AI コーディングエージェント(Claude Code、Cursor など)がプロジェクトのガイダンスを利用できるようになります。必要に応じて、モジュールカタログとアドオン検出に基づいて内容を調整します。

ゲートチェック

  1. ワークスペースのルートに AGENTS.md があるか確認します。存在する場合はスキップして、次に進みます。
  2. AEM Cloud Service プロジェクトであることを確認します。ルートに pom.xml が存在し、com.adobe.aem:aem-sdk-api または aem-project-archetype を参照しているか、一般的な AEM モジュール名(core、ui.apps、dispatcher など)を含む <modules> が記述されていることを確認します。 AEM プロジェクトでない場合はスキップします。

手順

1. プロジェクト名の特定

次の順に確認します。

  • ルートの pom.xml → <name> 要素(優先。通常、人が読みやすい名前です)。
  • ルートの pom.xml → <artifactId>。次に、先頭の aem- を削除し、- をスペースに置き換え、各単語の先頭を大文字にします(例:aem-guides-wknd → WKND、my-site → My Site)。
  • ワークスペースのディレクトリ名。
  • 最終手段:"AEM Cloud Service Project"。
2. モジュールの検出

ルートの pom.xml にある <modules> セクションを読み取ります。各 <module> について、該当するディレクトリが実際に存在することを確認します。 存在するモジュールの一覧を作成します。

3. アドオンとフロントエンドの種類の検出

プロジェクトをスキャンします。

シグナルアドオン/バリアント
pom.xml が cif-connector または aem-core-cif-components に依存しているCIF(コマース)
ui.frontend/package.json に react または @adobe/aem-react-editable-components が含まれているReact SPA
ui.frontend/package.json に @angular/core または @adobe/aem-angular-editable-components が含まれているAngular SPA
ui.frontend に clientlib.config.js がなく、pom.xml が frontend-maven-plugin を参照しているが、出力されるクライアントライブラリがない分離型フロントエンド
pom.xml が aem-forms-* または forms.core に依存しているAEM Forms
ui.frontend.react.forms.af モジュールが存在するヘッドレス Forms
pom.xml が precompiled-scripts-provider を使用しているプリコンパイル済みスクリプト

いずれも検出されない場合は、フロントエンドを General Webpack(デフォルトのアーキタイプ)として扱います。

4. AGENTS.md の生成

references/AGENTS.md.template のテンプレートを読み取ります。 次の調整を適用します。

a. タイトル

{{PROJECT_NAME}} を特定したプロジェクト名に置き換えます。

b. アドオンのセクション

アドオン(CIF、Forms、ヘッドレス Forms、プリコンパイル済みスクリプト)が検出された場合は、導入段落の後に 「アドオンと拡張機能」 セクションを追加します。説明には、references/module-catalog.md のアドオン表の内容を使用します。何も検出されない場合、このセクションは省略します。

c. モジュールのセクション

プロジェクトに実際に存在するモジュールのみを含めます。各モジュールには、モジュールカタログの対応する説明を使用します。次の点に注意してください。

  • ui.frontend — 検出されたフロントエンドの種類(General、React、Angular、Decoupled)に一致するバリアントを使用します。
  • dispatcher — dispatcher ディレクトリが存在する場合のみ含めます。
  • it.tests/ui.tests — 存在する場合のみ含めます。
d. ビルドコマンド
  • ui.frontend が存在する場合にのみ、フロントエンドのコマンド(npm run build、npm start)を含めます。
  • dispatcher モジュールが存在する場合にのみ、dispatcher の検証コマンドを含めます。
  • React/Angular の SPA では、npm start の実行に AEM が起動している必要があることを記載します。
e. 重要なリソース

テンプレートの基本リソースは必ずすべて含めます。さらに、以下を追加します。

  • React または Angular の SPA が検出された場合 → SPA Editor と、フレームワーク固有のリソースを追加します(モジュールカタログを参照)。
  • CIF が検出された場合 → Commerce リソースを追加します。
  • Forms が検出された場合 → Forms リソースを追加します。
  • デカップルドフロントエンドの場合 → Frontend Pipeline リソースを追加します。
5. CLAUDE.md を作成する

ワークスペースのルートに CLAUDE.md が存在しない場合は、次の内容をそのまま記載して作成します(Claude/Cursor がプロジェクトのガイダンスを読み込めるようにするためです)。

@AGENTS.md

既存の CLAUDE.md は上書きしないでください。

6. ユーザーに知らせる

次の内容を簡潔にユーザーへ伝えます。

"プロジェクトの構成に合わせたガイダンスを記載した AGENTS.md と CLAUDE.md を、プロジェクトルートに作成しました。これらのファイルにより、AI コーディングエージェントがプロジェクトを理解しやすくなります。"

その後、ユーザーの元の依頼を続けてください。

参照ファイル

ファイル用途
references/AGENTS.md.template{{PROJECT_NAME}} プレースホルダーとすべての既定セクションを含む基本テンプレート
references/module-catalog.mdモジュールの説明、アドオンの説明、条件付きリソース。テンプレートを適応させる際の信頼できる情報源

ルール

  • 既存の AGENTS.md または CLAUDE.md は上書きしないでください。存在しない場合にのみ作成します。
  • モジュールを捏造しないでください。実際にディレクトリが存在するモジュールのみを記載します。
  • 生成する AGENTS.md は簡潔に保ちます。「スキルによって生成された」などのコメントや、スキルのメタデータは含めません。
  • プロジェクト名は、人が読みやすい名称(例:「WKND Sites Project」、「My Site」)にします。希望される場合を除き、artifactId だけをそのまま使わないでください。
  • MCP サーバー、Cursor/Claude のスキルの使用方法や、ツールの検出方法をエージェントに指示するセクションは追加しないでください。コーディングアシスタントは、製品の設定やツールのメタデータからこれらを取得します。何かが検出されない場合は、AGENTS.md にその説明を重複して記載するのではなく、メタデータまたは MCP の設定を修正してください。
  • リソースのリンク先は experienceleague.adobe.com/en/docs/experience-manager-cloud-service/...(Cloud Service の URL)にしてください。AEM 6.5 の URL は使用しないでください。

コメント