Skill新手保姆级教程:从零到精通实用分享

2026-06-20阅读 0热度 0
skill

一、理解Skill:AI的精准工作指令

Skill文件本质上是为AI量身定制的“操作手册”。其核心使命是明确告知AI在特定任务中应遵循的规则与期望输出。

试想:若缺失这份手册,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

一句话概括能力边界。AI依据此字段判断是否激活该Skill,因此描述务必精准。

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 明确必须执行的动作

## What You Must Always Do
1. 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 规定统一的用例结构

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格式,测试工程师普遍熟悉。强制使用该格式可显著提升用例逻辑的清晰度。

5.4 列出必须覆盖的测试场景

## Required Test Cases
Always generate at least these 6 test cases:
1. Valid credentials → redirect to dashboard
2. Wrong password → show error message
3. Wrong username → show error message
4. Empty username → show inline validation
5. Empty password → show inline validation
6. Both fields empty → show both validation messages

明确最低测试数量,防止AI偷工减料仅输出两三条。

5.5 提供完整的代码示例

这是Skill文件中价值最高的部分。给出标准答案后,AI生成的代码会自动对齐该风格。

## Example Output (Playwright + TypeScript)
When the user asks for Playwright tests, generate code in this exact format:

```typescript
import { 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 明确禁止行为

## 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 版本" 切换语言重新生成
"这个用例的断言对吗?" 协助审查代码

实际效果演示(以Claude Code为例):

接下来安装依赖,中间遇到的问题均由大模型自动解决,最终效果如下:

直接复用即可。

七、不同AI工具如何自动加载Skill

.claude/skills/ 是Kiro的专属路径,其他工具有各自约定的规则文件位置。将Skill正文内容复制到对应文件中,工具启动时便会自动生效。

工具 放置正文内容的文件路径
Kiro .claude/skills/*.SKILL.md
Claude Code CLAUDE.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:强烈推荐使用英文。大模型对英文指令的理解比中文更稳定,出错概率更低。

免责声明

本网站新闻资讯均来自公开渠道,力求准确但不保证绝对无误,内容观点仅代表作者本人,与本站无关。若涉及侵权,请联系我们处理。本站保留对声明的修改权,最终解释权归本站所有。

相关阅读

更多
欢迎回来 登录或注册后,可保存提示词和历史记录
登录后可同步收藏、历史记录和常用模板
注册即表示同意服务条款与隐私政策