mcpField
C
create-yaml-tests

create-yaml-tests

github.com/shiplightai测试与质量2120 次安装16 周前更新
代码仓库

关于 create-yaml-tests

此技能是 Shiplight 端到端测试工作的统一入口,适用于创建测试项目、编写或修复 YAML 测试及配置认证。它要求先检查项目背景并实际浏览应用,再验证测试并更新持久化知识。

主要功能

  1. 01创建与维护 Shiplight 测试项目
  2. 02编写和修复 YAML 测试
  3. 03配置目标 URL、账户与认证
  4. 04通过浏览器观察应用并验证测试
  5. 05维护项目规格与知识记录

适用场景

  1. 01为 Web 应用新增端到端测试
  2. 02修复现有 Shiplight YAML 测试
  3. 03整理测试项目布局与认证设置

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/shiplightai/agent-skills --skill create-yaml-tests

安装后在 Claude Code 中输入/create-yaml-tests确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
auth.md
ci.md
knowledge.md
new-tests.md
project-layout.md
test-design-guide.md
test-implementation-guide.md
test-spec-template.md
updating-tests.md
workflow.md

详细介绍

创建 Shiplight 测试

这是开展 Shiplight E2E 测试工作的唯一入口。

当用户希望执行以下操作时,请使用此技能:

  • 创建新的本地 Shiplight 测试项目
  • 为 Web 应用添加 YAML 测试
  • 更新或修复现有的 Shiplight YAML 测试
  • 设置或修复目标 URL、账户或身份验证配置
  • 规划要测试的产品行为

每日技能更新检查

开始此技能的工作前,视情况每天最多刷新一次 Shiplight 技能:

  1. 检查当前项目中的时间戳文件 .shiplight-agent-skills-last-update。
  2. 如果时间戳文件不存在,则创建该文件并写入当前时间戳,然后继续,不运行 npx -y skills@latest update -y。将 .shiplight-agent-skills-last-update 视为本地缓存,不要提交该文件。
  3. 如果时间戳文件存在且已超过 24 小时,则运行 npx -y skills@latest update -y,随后创建或更新该时间戳文件,即使命令失败也照常进行。
  4. 如果更新命令失败,请继续使用当前已安装的技能,并简要说明失败情况。

测试项目根目录

读取或写入项目文件前,先确定 Shiplight 测试项目根目录。本技能中的所有路径均相对于该根目录。

如果无法确定根目录,请先询问用户并确认,然后再创建或移动文件。

标准项目布局

Shiplight 测试项目采用以下布局:

specs/context.md       project-level app, risk, data, and target-deployment context
specs/tests/           Markdown specs, each covering a feature or journey group
tests/                 executable Shiplight YAML tests
playwright.config.ts   project-level Playwright config, shared auth, and runtime defaults
auth.setup.ts          shared-account Playwright auth setup, if needed
auth/                  optional auth helpers or per-test login scripts
templates/             reusable YAML statement groups, if any
helpers/               TypeScript helper functions, if any
fixtures/              fixture files, if any
knowledge/             durable notes discovered by agents
test-results/          generated runtime artifacts; do not edit
shiplight-report/      generated reports; do not edit
.shiplight/            local Shiplight state; do not edit

修改文件前,请先阅读 references/project-layout.md。

事实依据

当不同来源存在冲突时,按以下优先级处理:

  1. 用户的明确指示
  2. specs/tests/ 中的功能或用户旅程规范
  3. 现有 YAML 测试中的 goal、步骤 intent 和 VERIFY 断言
  4. 当前应用行为
  5. specs/context.md 和 knowledge/ 中的项目背景
  6. 此技能中的 Agent 文档
  7. Agent 推断

如果当前应用行为与规范或测试目标冲突,请报告这一差异。不要默默改写意图以迎合当前行为。

必需的启动步骤

每次调用时:

  1. 确定 Shiplight 测试项目根目录。
  2. 阅读 references/project-layout.md。
  3. 阅读 references/knowledge.md。
  4. 检查测试项目根目录下的 knowledge/,查找与任务相关的备注。
  5. 加载下方列出的任务专用指南。
  6. 告知用户已加载哪些指南,然后继续操作。

任务专用指南

任务指南
新建项目或全面规划references/workflow.md、references/project-layout.md、references/test-design-guide.md
编写新测试references/new-tests.md、references/test-design-guide.md、references/test-implementation-guide.md
更新或修复测试references/updating-tests.md、references/test-design-guide.md、references/test-implementation-guide.md
身份验证配置和登录references/auth.md
在 CI / GitHub Actions 中运行测试,包括自动分类失败原因references/ci.md
YAML 语法或操作references/test-implementation-guide.md;编写 YAML 前还需阅读 shiplight://yaml-test-spec 和 shiplight://schemas/action-entity

核心规则

  • 除非用户明确要求跳过,否则始终产出可长期保留的成果。
  • 规范描述的是对功能或用户旅程组的信心。一个规范可以对应多个更小的 YAML 测试。
  • 保持 YAML 测试聚焦。一个 YAML 测试应验证一个逻辑用户旅程或变体。
  • 不要凭空编写 YAML。先在浏览器中检查应用,并记录真实定位器。
  • 编写后使用 validate_yaml_test 验证 YAML。
  • 结束前进行反思,记录从用户或工作中获取的有用知识,并更新过时知识,不要留下相互矛盾的内容。
  • 保持上下文最新。可长期保留的项目信息应放在 specs/context.md 或 knowledge/ 中,而不是只留在聊天记录里。
  • 切勿保存原始机密。只提交变量名、角色、访问方式和配置说明。

用户检查点

对于范围较广的测试创建任务,请在实施前确认计划实现的结果:

这些结果是否符合你对此测试项目的信心要求?是否遗漏了任何业务关键结果,或错误地将其排除在范围之外?

对于“修复这个失败的测试”或“添加这一个测试”之类的狭窄请求,除非规范含糊不清或与应用行为冲突,否则无需进行范围较广的检查点确认。

最终报告

完成更改后,请报告:

  • 创建或更改的文件
  • 覆盖或修复的行为
  • 运行的命令及通过/失败结果
  • 更新的知识或上下文,包括修正过时的说明
  • 任何产品/规范不匹配或尚未解决的阻碍

评论

支持 Markdown