一个 SKILL.md 就能让 Agent 干活?测试人入门必看

简介: 本文揭秘测试人首个Agent技能误区:SKILL.md不是“许愿式提示词”,而是结构化操作手册。详解如何从零构建“测试用例生成”Skill——含YAML头定义触发逻辑、四步执行流程、scripts/references扩展规范及避坑指南,助你把经验封装成可复用、可执行的AI能力。(239字)

上个月,团队里一个测试新人跑来找我,表情有点委屈。

“哥,我在项目里放了一个 SKILL.md,为什么 Claude Code 还是不会干活?”

我让他把文件打开。里面写着一段话:“你是资深测试工程师,请帮我生成测试用例,覆盖正常和异常场景。”

我看完就笑了。我说:“你这不是 Skill,是许愿。”

他愣了一下:“SKILL.md 不就是写提示词吗?”

这是大多数测试人刚接触 Agent Skills 时的第一个误解。

SKILL.md 不是提示词。它是一份结构化的操作手册。你写“帮我生成用例”,Agent 只会给你一段文本。你写清楚“第一步读什么、第二步拆什么、第三步输出什么格式、遇到异常怎么处理”,Agent 才知道该怎么干活。

今天这篇文章,我从零拆一个测试人最常用的 Skill——测试用例生成。看完你就能自己写第一个。

一、Skill 到底是什么?一句话说清楚

Anthropic 官方对 Skill 的定义很干脆:一个 Skill 就是一个文件夹。里面必须有一个 SKILL.md 文件,还可以放脚本、参考资料、静态资源。

用大白话说:Skill 就是把“资深测试工程师怎么做一件事”的完整经验,封装成一个 Agent 能随时调用的能力包。

它和 MCP 的区别是什么?MCP 解决“模型能用什么工具”——连数据库、接 GitHub、操作浏览器。Skill 解决“模型该怎么用这些工具”——按什么步骤、什么格式、什么标准。MCP 给 Agent 提供手,Skill 给 Agent 提供操作手册。

没有 Skill,Agent 有手也不知道怎么干活。

二、一个测试人可用的 Skill 长什么样?

拿“测试用例生成”举例。目录结构是这样的:

.claude/skills/test-case-generator/
├── SKILL.md
├── references/
│   └── test-case-template.md
└── scripts/
    └── format_cases.py

关键规则:SKILL.md 文件名必须全大写。文件夹命名必须用 kebab-case,比如 test-case-generator,不能写成 Test Case Generator。

三、SKILL.md 怎么写?直接复制这个模板

SKILL.md 分两部分:YAML 头信息 + Markdown 正文。

头信息:决定 Agent 什么时候用它

---
name: test-case-generator
description: 根据功能描述或需求文档生成覆盖正常流程、异常场景、边界条件和权限校验的结构化测试用例。当用户提到“生成测试用例”“编写测试”“测试覆盖”“测试场景”时自动触发。
when_to_use: 用户需要从需求文档或功能描述生成测试用例时使用。适用于功能测试、回归测试、接口测试的用例设计阶段。
---

description 是最重要的字段。 Claude 会把所有 Skill 的 description 预加载进上下文,用来判断该不该触发这个 Skill。你写“帮助测试”,它永远不知道什么时候该用。你写“当用户提到生成测试用例、编写测试时触发”,它就知道。

正文:告诉 Agent 具体怎么做

## 任务
根据用户提供的功能描述或需求文档,生成覆盖正常流程、异常操作、边界条件和权限校验四大类场景的测试用例。

## 执行步骤

### 步骤1:理解需求
读取用户提供的功能描述,提取:
- 核心功能是什么
- 输入参数和约束条件
- 业务规则和状态流转
- 权限和角色要求

### 步骤2:识别测试场景
基于需求分析,系统性地列出所有测试场景:

**正常流程**:至少覆盖1条完整的 Happy Path。
**异常场景**:参数缺失、格式错误、业务规则违反、依赖服务超时。
**边界条件**:数值边界、状态边界、时间窗口边界。
**权限校验**:未授权访问、越权操作。

### 步骤3:生成用例
为每个场景生成结构化用例,包含:
- 用例编号:{模块}-{类型}-{序号}
- 测试场景:一句话描述
- 前置条件:执行前必须满足的条件
- 测试步骤:编号列表,每步具体可执行
- 预期结果:执行后的期望结果
- 优先级:P0/P1/P2

### 步骤4:自检
对照场景分类检查是否有遗漏:
- [ ] 每个功能点是否有至少1条正向用例?
- [ ] 每个输入参数是否有异常场景覆盖?
- [ ] 边界值是否覆盖了上下界?
- [ ] 不同角色权限是否都有验证?

## 输出格式
Markdown 表格,可直接复制到 Excel 或测试管理工具。

## 注意事项
- 不臆造需求中不存在的功能
- 如果信息不明确,标注“需确认”而不是猜测
- 每个功能点至少生成1条正向用例 + 3条异常/边界场景

三个写正文的原则:

  1. 步骤具体可执行。 不要写“验证数据是否正确”,要写“调用 GET /api/order/{id},检查返回的 status 字段是否为‘已取消’”。
  2. SKILL.md 控制在 500 行以内。 超过 500 行,把详细内容移到 references/ 目录。
  3. 用祈使句。 “运行脚本”“检查输出”,不要用第二人称。

四、怎么用?三个字:直接调

写好之后,在 Claude Code 里输入 /test-case-generator,然后把需求文档粘贴进去。或者直接用自然语言:“用 test-case-generator 给这个登录功能生成用例。”

Agent 会自动加载 Skill 的规则,按你定义的四步走。

我让那个新人把原来的“许愿式”SKILL.md 换成了这个模板。他试了一下,回来跟我说:“哥,之前它给我生成的东西像网上抄的,现在生成的东西像我自己写的。”

区别在哪? 之前他给的是“目标”,现在他给的是“流程”。

五、进阶:用 scripts 和 references 扩展能力

Skill 真正的威力在于可扩展。

references/ 放长文档。 比如详细的用例模板、历史 Bug 模式库、业务规则说明。SKILL.md 里只引用文件名,Claude 只在需要时才去读。这样不会把上下文撑爆。

scripts/ 放可执行代码。 比如把生成的用例表格转成 Excel、校验用例完整性、生成 Allure 报告。Claude 不看代码内容,只看执行结果。

一个简单判断: 需要执行才能得到结果 → 放 scripts/。只需要阅读参考 → 放 references/。

六、避坑指南

坑一:description 写得太空。 “帮助生成测试用例”——这句话等于没说。要写清楚触发条件:用户说什么话、什么场景下用这个 Skill。

坑二:SKILL.md 写成百科全书。 超过 500 行就开始浪费 Token。把详细内容移到 references 目录,SKILL.md 只留核心流程。

坑三:只写指令,不写脚本和参考。 纯文本的 Skill 只能做“建议”。加上 scripts 和 references,它才能做“执行”。

坑四:建完不迭代。 业务在变、需求在变,Skill 也需要更新。每次使用后记录“哪里漏了场景”“哪里判断错了”,定期更新 SKILL.md。

最后

SKILL.md 不是提示词,是操作手册。

你写“帮我生成用例”,Agent 只能给你一段文字。你写清楚第一步读什么、第二步拆什么、第三步输出什么格式,Agent 才知道该怎么干活。

一个 SKILL.md 确实能让 Agent 干活。前提是,你得把它写成一个真正的“技能”,而不是一张许愿条。

测试人的经验,值得被封装成 Skill。你今天花 30 分钟写一个“测试用例生成”的 Skill,以后每一个项目都能复用。

别只写提示词了。写一个 SKILL.md,让 Agent 真正替你干活。

本文部分内容参考了霍格沃兹测试开发学社整理的相关技术资料,主要涉及软件测试、自动化测试、测试开发及 AI 测试等内容,侧重测试实践、工具应用与工程经验整理。

相关文章
|
1天前
|
人工智能 Oracle 关系型数据库
工程还原阿里云E-Commerce Bench:AI会做生意之后,测试该盯住哪本账?
本文基于阿里云E-Commerce Bench基准,提出面向长周期经营Agent的测试新范式:以“时间账本”统一管理决策时效性,通过轨迹评测替代单点接口验证,构建含状态、延迟与代价的CI回归体系,助力普通团队落地可复现、可归因、可守界的AI Agent质量保障。
工程还原阿里云E-Commerce Bench:AI会做生意之后,测试该盯住哪本账?
|
18天前
|
自然语言处理 安全 测试技术
别再只测『答得对不对』:给大模型应用建一套 Prompt 注入红队回归集,把越权/泄密挡在上线前
本文揭示RAG客服应用因缺乏Prompt注入防护而致系统提示词泄露的事故,指出问题根源在于测试只关注“答得对”,却忽视“会不会答不该答的”。提出将注入测试升级为可回归的红队用例集:结构化存于jsonl,覆盖四类注入;用pytest参数化断言输出、工具调用与拒答行为;接入CI自动拦截。安全不是模型天赋,而是靠可执行、可演进的断言守出来的。
别再只测『答得对不对』:给大模型应用建一套 Prompt 注入红队回归集,把越权/泄密挡在上线前
|
15天前
|
人工智能 测试技术 开发工具
Google 开源 ARTEMIS:AI Agent 如何接管 Android 真机测试?
Google开源AI测试框架ARTEMIS,支持自然语言驱动Android真机自动化:理解任务、识别界面、跨App操作、自动截图/日志采集并生成报告。原生集成MCP,可接入Antigravity等AI IDE,实现“描述目标→自主执行→分析结果”闭环。(239字)
Google 开源 ARTEMIS:AI Agent 如何接管 Android 真机测试?
|
15天前
|
人工智能 安全 开发者
Jev 发布不到一周,为什么它这么快进入 Agent 工程?
Jev 是专为 Agent 设计的轻量级决策模型,不生成文本,专注快速输出 Choice/Score/Boolean。它被 Vercel AI Gateway、LangChain 等迅速集成,用于路由、流程控制、安全守卫和评估等高频判断场景,显著降本增效,推动 Agent 架构向“分层智能”演进。
Jev 发布不到一周,为什么它这么快进入 Agent 工程?
|
15天前
|
人工智能 数据挖掘 开发工具
RAG 不一定需要大模型重排:Jev 能不能做 Context Filtering?
RAG中检索易召回冗余内容,Jev作为决策层可精准筛选高相关Chunk,替代简单Top-K输入。它支持多维度判断(如版本、时效性),提升Context质量与LLM答案准确性,降低幻觉与Token成本。(239字)
RAG 不一定需要大模型重排:Jev 能不能做 Context Filtering?
|
16天前
|
SQL 人工智能 安全
Agent Harness 又要多一层?Jev 开始接管这些高频判断
本文探讨Agent架构新范式:LLM专注复杂推理,而高频判断(如Tool/Skill路由、上下文过滤、安全守门、执行复核)可交由轻量级“System One Model”(如Jev)高效处理。这将重塑Agent Harness设计,推动分层智能协作。
Agent Harness 又要多一层?Jev 开始接管这些高频判断
|
25天前
|
人工智能 供应链 测试技术
DeepSeek Harness火了,但你知道怎么用它生成测试用例吗?
DeepSeek Harness是开源AI测试助手,一行命令即可启动。它能自动解析API文档,10分钟生成50+覆盖等价类、边界值与异常场景的测试用例,准确率高但需人工复核8条左右。专为测试工程师设计,大幅提升用例设计效率,降低重复劳动。
|
21天前
|
人工智能 供应链 JavaScript
别再手写用例了!DeepSeek Harness + Workbuddy 10分钟生成可评审用例
本文介绍如何用DeepSeek Harness(DSH)与腾讯Workbuddy协同,10分钟自动生成高质量测试用例:DSH提供执行能力,Workbuddy提供模型与规范封装;支持PRD/接口文档输入,覆盖正常流、异常场景与边界值。手写低效,AI初稿+人工复核才是提效关键。(239字)
|
2月前
|
人工智能 NoSQL 测试技术
AI岗位渗透率升至37.56%:2026届秋招,测试开发应届生的准备方式也该变了
2026秋招AI岗位激增47.3%,渗透率达37.56%,但门槛同步升高:简历堆砌AI术语难过关,真能力看项目深度。应届生需夯实测试开发基础,再以RAG、Agent等真实AI测试项目体现工程力——会用AI不值钱,能测AI才稀缺。

热门文章

最新文章