momentic-explore-prompt について
momentic-explore-promptは、Momenticの探索エージェント向けにリポジトリ固有の指示を作るスキルです。テスト生成を行うチームが、対象URL、認証、保存先、プロジェクト固有の制約を整理できます。
主な機能
- 01アプリとテスト対象URLの記録
- 02認証モジュール名とIDの指定
- 03アプリごとのテスト保存先の指定
- 04一時テスト用の除外フォルダー指定
- 05リポジトリ固有の注意点の記録
活用シーン
- 01コード変更の探索プロンプト設定
- 02生成テストの誤った保存先を防止
- 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
まずリポジトリの事実を確認する
記憶を頼りにプロンプトを書かないでください。リポジトリを調査し、各項目を確認してください。
- テスト対象のアプリケーション。 生成したテストを実行するすべてのフロントエンド/アプリを列挙します。それぞれについて、テストがアクセスする URL を特定します。これは実行時に使うサーブ済み/デプロイ済みの URL であり、ローカルでの作成時に使う Vite/開発 URL とは異なることがよくあります。
momentic.config.yamlのenvironments[].baseUrlと、CI で各アプリを起動する方法(momentic ai explore diffを実行するワークフロー)を照合してください。 - 認証。 エクスプローラーはどのようにサインインすればよいですか?再利用可能なログインモジュールを優先し、その正確な
nameとidを記録します。アクセスに関する前提条件(例:「このユーザーはアプリのすべての領域にアクセスできます」)も記録してください。 - テストの配置先。 各アプリのテストを保存するフォルダーを、必須のパスプレフィックスも含めてワークスペースからの相対パスで指定します。制約を曖昧さのない形で記述してください。
- 使い捨て/ネストされたテスト。 explore の実行に伴って作成されるテストを保存する場所を確認します(通常は gitignore 対象となる単一の
momentic/junk/フォルダーです)。どのパスが gitignore 対象か確認してください。 - 注意事項。 実行後も残る外部保存データ(衝突を避けるため、実行ごとにランダム化する必要があります)、認証に関する特有の事情、不安定な箇所、ベース 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>.