mcpField
M
momentic-explore-prompt

momentic-explore-prompt

github.com/momentic-aiテスト・品質1614.7k 回インストール今日更新
リポジトリ

momentic-explore-prompt について

momentic-explore-promptは、Momenticの探索エージェント向けにリポジトリ固有の指示を作るスキルです。テスト生成を行うチームが、対象URL、認証、保存先、プロジェクト固有の制約を整理できます。

主な機能

  1. 01アプリとテスト対象URLの記録
  2. 02認証モジュール名とIDの指定
  3. 03アプリごとのテスト保存先の指定
  4. 04一時テスト用の除外フォルダー指定
  5. 05リポジトリ固有の注意点の記録

活用シーン

  1. 01コード変更の探索プロンプト設定
  2. 02生成テストの誤った保存先を防止
  3. 03複数アプリ構成で変更先を特定

インストール

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

$npx skills add https://github.com/momentic-ai/skills --skill momentic-explore-prompt

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

詳細

explore-prompt.md の生成

このファイルについて

explore エージェント(git の範囲に対する momentic ai explore diff、またはアプリ全体に対する momentic ai explore latest)は、変更されたユーザージャーニーを特定し、それらに対する Momentic テストを作成します。どちらも、繰り返し指定可能な 2 つのオプションを使って、エクスプローラーのシステムプロンプトに追加の指示を追加できます。

  • --prompt <text> — インラインテキストです。繰り返し指定できます。
  • --prompt-file <path> — 内容が追加されるファイルです。繰り返し指定できます。

--prompt または --prompt-file を指定すると、プロジェクトのクラウドカスタムプロンプトは置き換えられます。指示は、すべての --prompt-file の内容に続けて、指定順にすべての --prompt の値を結合したものです。つまり、複数のフラグは互いに上書きせず、積み重ねて適用されます。

explore-prompt.md は、--prompt-file に渡す慣例的なファイルです。これはリポジトリ固有のファイルです。リポジトリに存在するアプリ、テスト対象とする URL、サインイン方法、生成したテストの保存先、遵守すべき固有の注意事項をエクスプローラーに伝えます。一般的な Momentic の動作を改めて説明する場所ではありません。それらはすでに momentic-test スキルに記載されています。

使用方法:

momentic ai explore diff --prompt-file ./explore-prompt.md

まずリポジトリの事実を確認する

記憶を頼りにプロンプトを書かないでください。リポジトリを調査し、各項目を確認してください。

  1. テスト対象のアプリケーション。 生成したテストを実行するすべてのフロントエンド/アプリを列挙します。それぞれについて、テストがアクセスする URL を特定します。これは実行時に使うサーブ済み/デプロイ済みの URL であり、ローカルでの作成時に使う Vite/開発 URL とは異なることがよくあります。momentic.config.yaml の environments[].baseUrl と、CI で各アプリを起動する方法(momentic ai explore diff を実行するワークフロー)を照合してください。
  2. 認証。 エクスプローラーはどのようにサインインすればよいですか?再利用可能なログインモジュールを優先し、その正確な name と id を記録します。アクセスに関する前提条件(例:「このユーザーはアプリのすべての領域にアクセスできます」)も記録してください。
  3. テストの配置先。 各アプリのテストを保存するフォルダーを、必須のパスプレフィックスも含めてワークスペースからの相対パスで指定します。制約を曖昧さのない形で記述してください。
  4. 使い捨て/ネストされたテスト。 explore の実行に伴って作成されるテストを保存する場所を確認します(通常は gitignore 対象となる単一の momentic/junk/ フォルダーです)。どのパスが gitignore 対象か確認してください。
  5. 注意事項。 実行後も残る外部保存データ(衝突を避けるため、実行ごとにランダム化する必要があります)、認証に関する特有の事情、不安定な箇所、ベース URL のキャッシュフラグなどです。

作成する内容の構成

簡潔で命令形の Markdown を書きます。推奨セクション:

  • アプリケーションと対象 URL — アプリごとに 1 つの箇条書きを作成し、名前、テスト対象 URL、目的、提供/実行方法、認証が必要な場合はログインモジュール(name + id)を記載します。
  • ユーザージャーニーとアプリケーションの対応付け — 対象となる差分を影響するアプリに対応付け、適切なエディター/ポートを操作する方法を記載します。
  • テスト配置ルール — アプリごとの保存先フォルダーを記載し、必須のプレフィックスがある場合は明確な HARD RULE の呼び出しを含めます。そうしないと、エクスプローラーは誤った場所にテストを保存してしまいます。
  • 使い捨て/ネストされたテストのルール — すべてのネストされたテストを保存する gitignore 対象の junk フォルダーを記載します。また、ファイル名を junk-* にしても条件を満たさないことを明記します。
  • 注意すべき固有事項 — 上で確認したリポジトリ固有の注意点を記載します。

適切なプロンプトを作るためのルール

  • 対象 URL には、作成時の開発サーバー URL ではなく、テストの実行時に実際に使用する URL を指定します。
  • パスの制約を明確にし、HARD RULE: の呼び出しを使います。パスの誤りは、エクスプローラーの失敗の中でも最も頻繁に起こり、最も大きな損失につながります。
  • リポジトリ固有の内容に絞り、短くまとめます。一般的な Momentic のドキュメント/スキルですでに説明されている内容は省略します。
  • エクスプローラーが正確なモジュールを特定できるよう、ログインモジュールは name と id の両方で参照します。

参考テンプレート

以下はプレースホルダーのみの骨組みで、適切なプロンプトに必要なセクションが含まれています。角括弧で囲まれた値を、リポジトリの実際のアプリ、URL、モジュール、フォルダーに置き換えてください。プレースホルダーを残したまま公開しないでください。

This repo has <N> frontend application(s). When tests run, each app is served at
the URL below — target these, not the dev-server URLs used while authoring.

- <app-name> — <one-line purpose> at <https://url-tests-must-target>. Sign in
  first using the module named `<login-module-name>` (id: <login-module-id>).
  <access assumptions, e.g. this user can reach all parts of the app>.
- <app-name-2> — <purpose> at <https://url-2>. Tests MUST use <https://url-2>
  as their base URL.

When identifying changed user journeys, map each in-scope diff to the
application(s) above so the right app/port is driven.

Place new tests in the folder matching the app they drive. Every target path is
relative to your workspace and the `<mandatory-prefix>/` segment is MANDATORY —
never drop it:

- <app-name> journeys → <mandatory-prefix>/<app-folder>/.
- <app-name-2> journeys → <mandatory-prefix>/<app-2-folder>/.

HARD RULE — keep the `<mandatory-prefix>/` prefix on the authored test. Saving
to any path that omits it is a hard failure.

HARD RULE: any test created as a side effect of building another test is
throwaway and MUST be saved into the gitignored `<junk-folder>/` directory.
Naming a file `junk-*` does NOT count — only that directory is gitignored.

Some quirks to watch out for:

- <quirk, e.g. externally-synced data persists across runs — randomize any data
  you write each run so runs don't conflict>.

コメント