关于 momentic-explore-prompt
momentic-explore-prompt 是为 Momentic 探索 Agent 编写仓库专属提示词的技能,适合维护自动生成测试的项目团队。它聚焦应用 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 Agent(通过 git 范围运行 momentic ai explore diff,或针对整个应用运行
momentic ai explore latest)会识别发生变化的用户旅程,并为其构建 Momentic 测试。两者都支持通过两个可重复使用的选项,将额外指令附加到 explorer 的系统提示词中:
--prompt <text>— 内联文本。可重复使用。--prompt-file <path>— 附加文件内容的文件。可重复使用。
传入任何 --prompt 或 --prompt-file 都会取代项目的云端自定义
提示词。组合后的指令由所有 --prompt-file 内容接着所有 --prompt 值组成,顺序均按传入顺序排列——因此多个标志会叠加,而不是相互覆盖。
explore-prompt.md 是传给 --prompt-file 的约定文件。它是特定于仓库的:用于告知 explorer 仓库中有哪些应用、测试必须访问哪些 URL、如何登录、生成的测试应准确保存到哪里,以及必须遵守哪些特殊情况。这里不应重复说明 Momentic 的通用行为——这些内容已包含在 momentic-test skill 中。
用法:
momentic ai explore diff --prompt-file ./explore-prompt.md
先收集仓库信息
不要凭记忆编写提示词。检查仓库并确认以下每项信息:
- 被测应用。 列出生成的测试将操作的每个前端/应用。对于每个应用,确定测试必须访问的 URL。这是运行时使用的服务/部署 URL,通常不是本地编写测试时使用的 Vite/开发服务器 URL。交叉核对
momentic.config.yaml中的environments[].baseUrl,以及 CI 中每个应用的启动方式(即运行momentic ai explore diff的工作流)。 - 身份验证。 explorer 应如何登录?优先使用可复用的登录模块——记录其准确的
name和id。注明访问权限假设(例如“此用户可以访问应用的所有部分”)。 - 测试放置位置。 每个应用的测试应放入哪个文件夹,需相对于工作区说明,并包括任何强制路径前缀。明确说明所有限制。
- 临时/嵌套测试。 explore 运行过程中作为副作用创建的测试必须保存在哪里(通常是唯一被 git 忽略的
momentic/junk/文件夹)。确认哪个路径被 git 忽略。 - 特殊情况。 跨运行保留的外部数据(必须在每次运行时随机化以避免冲突)、身份验证特殊情况、容易出错的区域、基础 URL 缓存标志等。
应包含的结构
编写简洁、使用祈使语气的 Markdown。建议包含以下部分:
- 应用和目标 URL — 每个应用列出一条:名称 — 测试必须访问的 URL — 用途 — 服务/运行方式 — 如需身份验证,注明登录模块(名称 + id)。
- 旅程 → 应用映射 — 说明如何将范围内的差异映射到受影响的应用,以便驱动正确的编辑器/端口。
- 测试放置规则 — 列出每个应用的目标文件夹,并对任何强制前缀明确标注
HARD RULE。否则 explorer 可能会将测试保存到错误位置。 - 临时/嵌套测试规则 — 指明被 git 忽略的 junk 文件夹,所有嵌套测试都必须放入该文件夹,并说明将文件命名为
junk-*并不符合要求。 - 需要注意的特殊情况 — 列出上文收集的仓库特有注意事项。
编写优质提示词的规则
- 目标 URL 必须是测试实际运行时访问的 URL,绝不能是编写测试时使用的开发服务器 URL。
- 明确说明路径限制,并使用
HARD RULE:标注——路径错误是 explorer 最常见、代价最高的失败。 - 内容应简短且特定于仓库。省略 Momentic 通用文档/技能中已涵盖的内容。
- 同时通过
name和id引用登录模块,以便 explorer 锁定准确的模块。
参考模板
下面是一个仅包含占位内容的框架,列出了优质提示词应包含的部分。将方括号中的值替换为仓库中真实的应用、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>.