新手小白也能写好实用Skill,保姆级教程和Skill分享

作者:袖梨 2026-07-29

一、Skill 是什么?

要让 AI 明白下面这些内容,可以为它准备一份 Skill 文件作为说明书:

没有 Skill,AI 每次生成的代码风格、覆盖的用例、用的选择器都可能不一样。有了 Skill,AI 就像一个被你调教好的测试同事,每次输出都符合团队规范。

二、Skill 文件放在哪里?

文件夹是封面,.SKILL.md 是说明书:

项目文件夹 └── xx.SKILL.md 这就是说明书

文件名可以任意设置,但后缀必须是 .SKILL.md。说明书允许有多本,可按功能模块分别建立文件,彼此互不影响。

三、Skill 文件的结构

一个 Skill 文件由两部分组成:

(头部信息:描述这个 Skill 是干什么的)(正文:告诉 AI 具体怎么做)

四、头部信息逐行解释

name: Login Testing

Skill 名字可以自由设置,让人一眼看懂即可。

description: Step-by-step login test cases covering happy path, error handling, and edge cases

一句话描述这个 Skill 能干什么。AI 会用这个来判断要不要激活它,写清楚一点。

version: 1.0.0

版本号,第一次写就填 1.0.0

author: your-team

作者,填你的名字或团队名。

testingTypes: [functional, e2e]

测试类型。常见值:functional(功能测试)、e2e(端到端)、visual(视觉)、api(接口)。

frameworks: [playwright, selenium, cypress]

支持的框架,填写团队正在使用的即可。

languages: [typescript, javascript, python]

项目决定 AI 自动选用哪一种受支持的语言。

domains: [web]

适用场景,web 表示网页测试,还有 mobileapi 等。

agents: [claude-code, cursor, github-copilot, windsurf, cline]

这里填写支持的 AI 工具。它只是一项意图声明,用于说明这份说明书与哪些工具兼容,并不意味着放入后便会自动生效。

五、正文怎么写?

正文需要用自然语言明确规定 AI 应当如何操作;要求写得越具体,AI 执行起来越准确。

5.1 先告诉 AI 它的角色

You are a senior QA engineer. When the user asks you to write, review,or improve login test cases, follow these instructions precisely.

翻译:你是资深 QA 工程师,用户让你写登录测试时,严格按下面的规则来。

先为 AI 设定清晰角色,能让输出更加专业和聚焦。

5.2 告诉 AI 必须做什么

## What You Must Always Do1. Cover the happy path first.2. Cover error cases — wrong password, wrong username, empty fields.3. Use descriptive test names.4. Each test must be independent.

翻译:先写正常流程,再写异常流程,测试名要能看懂在测什么,每个用例必须独立。

5.3 给 AI 一个固定的用例结构

Every login test must follow this structure:GIVEN[the user is on the login page]WHEN [the user performs an action]THEN [the expected result happens]

经典的 Given-When-Then 格式,测试同学都熟悉。告诉 AI 用这个格式,生成的用例逻辑更清晰。

5.4 列出必须覆盖的用例

## Required Test CasesAlways generate at least these 6 test cases:1. Valid credentials → redirect to dashboard2. Wrong password → show error message3. Wrong username → show error message4. Empty username → show inline validation5. Empty password → show inline validation6. Both fields empty → show both validation messages

明确告诉 AI 最少要写哪几条,不然它可能只写 2-3 条就交差了。

5.5 给一个完整的代码示例

完整代码示例是 Skill 文件中价值最高的部分。向 AI 提供一个标准答案,之后生成的代码就会主动对齐该风格。

## Example Output (Playwright + TypeScript)When the user asks for Playwright tests, generate code in this exact format:​```typescriptimport { test, expect } from '@playwright/test';const STANDARD_USER = 'standard_user';const VALID_PASS = 'secret_sauce';test.describe('Login Page', () => {test.beforeEach(async ({ page }) => {await page.goto('https://www.saucedemo.com');});test('TC01 - standard_user 正常登录应跳转到商品列表页', async ({ page }) => {await page.getByPlaceholder('Username').fill(STANDARD_USER);await page.getByPlaceholder('Password').fill(VALID_PASS);await page.getByRole('button', { name: 'Login' }).click();await expect(page).toHaveURL(//inventory.html/);});});​```

注意:测试名带编号 TC01 方便追踪,beforeEach 统一处理打开登录页,不在每个用例里重复写。

5.6 告诉 AI 绝对不能做什么

## What You Must Never Do- Never use waitForTimeout or sleep.- Never write a test that depends on another test.- Never ignore the error message text.

禁止清单很重要。AI 有时候会走捷径,比如用 sleep(3000) 等待页面加载,明确禁止它就不会这么干了。

六、怎么用这个 Skill?

本质上只需完成一件事:将说明书路径交给 AI,它便会依照规范工作。

@ 手动指定文件路径:

只要 AI 读取到文件内容,就会按照其中的规范执行,得到的效果完全相同。

还可以继续追问:

你说AI 会做
problem_user 的测试也要补上补充图片异常的断言
"帮我加上 Page Object Model"把代码重构成 POM 结构
"改成 Python + pytest 版本"换语言重新生成
这个用例的断言对吗?帮你 review 代码

这里以Claude Code展示实际效果

接下来需要耐心等待依赖安装;如果中途遇到问题,大模型都会协助你解决,最后结果如下:

直接复用

七、怎样在不同 AI 工具中自动启用 Skill?

.claude/skills/ 其他工具对规则文件位置各有约定,而这是 Kiro 独有的路径。将 Skill 的正文复制进相应文件,启动工具时即可自动加载。

工具把正文内容放到这个文件
Kiro.claude/skills/*.SKILL.md
Claude CodeCLAUDE.md
Cursor.cursorrules.cursor/rules/*.mdc
Windsurf.windsurfrules
Cline.clinerules.clinerules/*.md

Skill 的正文内容可以通用;更换工具时只需改用相应文件名,再把内容复制过去。

八、写 Skill 的几个原则

原则说人话
角色明确告诉 AI 它是谁
规则具体规则越细越好,不要指望 AI 猜出你的意思
给示例一个好例子胜过一百句描述
写禁止清单明确列出所有你不希望看到的内容
用英文写正文大模型理解英文指令时更加准确、稳定

九、常见问题

Q:遇到 Skill 文件未生效该如何处理?A:必须是完整后缀,请进行检查 .SKILL.md,不是 .md

Q:多个 Skill 文件能否并存?A:每个功能模块均可单独设置一个,例如 login-testing.SKILL.mdapi-testing.SKILL.md

Q:项目内容必须与 Skill 中的代码示例完全相同吗?A:不用。示例风格会作为 AI 生成时的参照,具体细节则由它适配。

Q:正文一定要用英文吗?A:强烈建议使用英文,因为大模型理解英文指令更加稳定,也能降低出错概率。

相关文章

精彩推荐