将前面所有分析步骤(需求解构、场景树、边界清单、风险评估等)打包成一个结构化的AI上下文包,确保AI在生成测试用例时拥有完整的业务上下文、功能上下文和技术上下文。当已经完成了需求分析、场景构建和深度设计,即将进入提示词生成阶段时,必须经过此步骤。上下文包的完整度直接决定了AI生成用例的质量——输入垃圾,输出也是垃圾。当上游分析缺失时,本技能会读取用户上传的需求文件或fetch用户提供的URL以补充上下文,并对原始描述做结构化解析后并入上下文包,但不会替代上游分析步骤——缺失项仍需标注并建议回退补充。 触发场景:上下文工程、构建上下文、上下文包、测试上下文、结构化上下文、上下文不够、已完成需求解构和场景构建需要打包上下文时。 Use when the user asks about: building a structured context package so an LLM has full business, functional, and technical context before generating test cases.
---
name: qa-ai-context-engineering
description: >-
将前面所有分析步骤(需求解构、场景树、边界清单、风险评估等)打包成一个结构化的AI上下文包,确保AI在生成测试用例时拥有完整的业务上下文、功能上下文和技术上下文。当已经完成了需求分析、场景构建和深度设计,即将进入提示词生成阶段时,必须经过此步骤。上下文包的完整度直接决定了AI生成用例的质量——输入垃圾,输出也是垃圾。当上游分析缺失时,本技能会读取用户上传的需求文件或fetch用户提供的URL以补充上下文,并对原始描述做结构化解析后并入上下文包,但不会替代上游分析步骤——缺失项仍需标注并建议回退补充。
触发场景:上下文工程、构建上下文、上下文包、测试上下文、结构化上下文、上下文不够、已完成需求解构和场景构建需要打包上下文时。 Use when the user asks about: building a structured context package so an LLM has full business, functional, and technical context before generating test cases.
license: MIT
allowed-tools: Read Grep Glob WebFetch
metadata:
display-name: "Ai Context Engineering"
version: "1.8.0"
when-to-use: "用户说\"上下文工程\"、\"构建上下文\"、\"上下文包\"、\"测试上下文\"、\"结构化上下文\"、\"上下文不够\"、已完成需求解构和场景构建需要打包上下文时"
related-skills: "{\"upstream\":[\"qa-req-deconstruction\",\"qa-scenario-tree\",\"qa-boundary-deep-dive\",\"qa-combination-strategy\",\"qa-state-transition\"],\"downstream\":[\"qa-ai-prompt-strategy\"]}"
references: "[\"references/window-adaptation.md\",\"assets/context-package.md\"]"
input-format: "{\"required\":[{\"name\":\"需求解构表\",\"type\":\"object\",\"description\":\"来自qa-req-deconstruction的需求解构结果\"},{\"name\":\"场景树\",\"type\":\"object\",\"description\":\"来自qa-scenario-tree的场景树结构\"}],\"optional\":[{\"name\":\"边界清单\",\"type\":\"object\",\"description\":\"来自qa-boundary-deep-dive的边界分析结果\"},{\"name\":\"组合矩阵\",\"type\":\"object\",\"description\":\"来自qa-combination-strategy的组合覆盖矩阵\"},{\"name\":\"状态转换图\",\"type\":\"object\",\"description\":\"来自qa-state-transition的状态转换分析\"},{\"name\":\"风险评估\",\"type\":\"object\",\"description\":\"来自qa-risk-intuition的风险评估结果\"}]}"
output-format: "{\"traceability\":[\"本技能只打包上下文、不产出新 ID;沿用上游需求ID:REQ-{需求模块缩写}-{序号}、场景ID:SC-{场景模块缩写}-{序号}、边界ID:BD-{模块缩写}-{序号}、风险ID:RISK-{模块缩写}-{风险类型}-{三位序号}、规则ID:RULE-{CAL|VAL|PERM|FLOW}-{序号}\"],\"structure\":[{\"context_package\":\"AI上下文包:四层金字塔(第1层业务目标与用户角色 / 第2层功能描述与约束条件 / 第3层技术细节与历史缺陷(按需)/ 第4层输出格式与质量要求)\"},\"来源标注:每条信息必须标 [用户提供] / [推断] / [假设];[假设] 项下游必须显式暴露或回上游确认\",\"第1层与第4层必填且永不裁剪;第3层按需,超窗时首个被裁\",\"第4层的 9 列输出格式引用 qa-test-case-design 的真源,本技能不自行定义或改动\",\"缺失的上游必须显式声明并给出回退建议,不得静默假设\",\"本技能不产出 9 列用例表 —— 只打包上下文,用例由下游 qa-ai-prompt-strategy 驱动生成\",\"覆盖率:标注口径(基于已有上游产出),禁止\\\"全覆盖/100%\\\"绝对化表述\"]}"
error-recovery-guidance: "{\"on_failure\":\"上下文包不完整时回退到上游分析步骤补充\",\"retry_behavior\":\"补充缺失的上游输入后重新打包上下文\"}"
categories: "[\"Development\",\"Testing\",\"AI\"]"
depth-requirement: "{\"reference_value\":\"按上游分析的丰富度决定包深度;四层全建为「完整测试」,可只建第1/2/4层为「日常/紧急测试」\",\"minimum\":\"至少包含需求解构表、场景树、边界清单 3 个核心上游输入;缺失项必须显式声明\"}"
---
> ⚠️ 本技能单独使用效果有限,建议配合完整技能集(12 步工作流)使用。安装:npx skills add Kokxi/qa-test-skills
# AI 上下文工程
## 核心原则
你是一位资深测试架构师,擅长为 AI 构建高质量的测试上下文。
**不是给更多信息,而是给对的信息结构。**
> **本技能最大的失败模式是"不标来源"**。下游 AI 无法区分"需求文档要求的"和"你编的",
> 于是把假设当事实写进用例——这类缺陷到最后都查不出是谁引入的。
> **每条信息都要标 `[用户提供]` / `[推断]` / `[假设]`。**
## 1. 上下文金字塔(必须按此顺序构建)
### 第 1 层 业务目标与用户角色(必填,永不裁剪)
```text
【业务背景】业务目标 / 目标用户 / 核心价值
【用户角色】角色A - 核心诉求;角色B - 核心诉求
```
> 业务目标丢了,AI 不知道测什么。**这一层是包的骨架,不可裁剪。**
### 第 2 层 功能描述与约束条件(必填)
```text
【功能边界】功能名称 / 核心流程 / 输入 / 输出
【非功能需求】性能 / 安全 / 兼容性
```
> 业务规则直接引用 `qa-req-deconstruction` 的 `RULE-` 清单,不重写。
### 第 3 层 技术细节与历史缺陷(按需,超窗首个被裁)
```text
【技术架构】技术栈 / 关键接口 / 数据流向 / 依赖服务
【历史缺陷模式】同类型功能曾出现过的 Bug + 规避方法
```
### 第 4 层 输出格式与质量要求(必填,永不裁剪)
```text
【输出要求】9 列标准用例表(真源:qa-test-case-design/references/output-template-full.md)
编号 TC_{模块缩写}_{功能缩写}_{三位序号}
级别占比 P0≤20% / P1≤40% / P2≤30% / P3≤10%
覆盖率必须标注口径
```
## 2. 上下文类型速查
| 场景类型 | 建哪几层 | 关键侧重 |
|---------|---------|---------|
| **日常测试** | 1 + 2 + 4 | 功能边界 + 输出格式 |
| **紧急测试** | 1 + 4 | 业务目标 + 输出格式,依赖假设快速产出 |
| **完整测试** | 全部 4 层 | 全量信息 + 历史缺陷 + 技术细节 |
| **复测回归** | 1 + 3 + 4 | 历史缺陷模式 + 输出格式 |
## 3. 工作流程
1. **识别输入类型**:直接描述 → 提取关键信息;上传文件 → 读取解析;URL → 获取分析
2. **核对上游齐备度**:逐项列出已收到的上游产出,**缺失项显式声明并给出回退建议**
3. **按金字塔构建**:四层组织,逐条标来源
4. **声明缺失**:上游没有的不要静默假设,标出来并建议回退到对应技能
## 4. 加载时机
| 什么时候读 | 读哪个 |
|-----------|--------|
| 写上下文包 | [`assets/context-package.md`](assets/context-package.md)(四层模板 + 来源标注表 + 填写要求 + 自检) |
| 目标模型窗口不够、或要看完整包示例 | [`references/window-adaptation.md`](references/window-adaptation.md)(窗口适配 + 超窗降级 + 完整示例) |
> 窗口数据是**快照值,会过时**。用之前核实当前值;不确定目标模型时按 8K-32K 规划——
> 按最小窗口设计的包在任何更大窗口里都不会被截断,反之不成立。
## 5. 产出
四层结构骨架 + 来源标注汇总(示例见 `assets/context-package.md`):
```text
📦 AI上下文包(目标模型:X,窗口 YK,预估 ZK token)
├─ 上游齐备度:需求解构 ✓ / 场景树 ✓ / 边界清单 ✓ / 组合矩阵 ○ …
│ 缺失:X → 建议先补 qa-xxx
├─ 第1层 业务目标与用户角色 [必填]
├─ 第2层 功能描述与约束条件 [必填]
├─ 第3层 技术细节与历史缺陷 [按需]
├─ 第4层 输出格式与质量要求 [必填]
└─ 来源标注汇总:[用户提供] n 条 / [推断] n 条 / [假设] n 条
```
**本技能不产出 9 列用例表**——只打包上下文,用例由下游 `qa-ai-prompt-strategy` 驱动生成。
## 6. 四个常见翻车点
1. **信息过载**:给太多细节导致 AI 迷失重心 → 用结构化格式组织,按金字塔分层
2. **假设未标注**:AI 不知道哪些是你编的 → 明确标 `[假设]`,并要求下游暴露
3. **缺少负面案例**:AI 不知道什么是"不好的" → 给出反例
4. **输出格式模糊**:AI 不知道你要什么格式 → 明确指定 9 列并引用真源
## 7. 交付前自检
- [ ] 四层齐备(第 3 层可按需,缺失需说明)
- [ ] **每条信息都标了来源**,无未标注内容
- [ ] `[假设]` 项已列出,且要求下游显式暴露或回上游确认
- [ ] 上游缺失项已显式声明 + 给出回退建议
- [ ] 业务规则引用 `RULE-` ID,未另起一套编号
- [ ] 第 4 层引用 `qa-test-case-design` 真源,未自行改动列
- [ ] 标注了目标模型与窗口;包大小估算 < 窗口 80%
- [ ] 已知历史缺陷模式已带入(有的话)
don't have the plugin yet? install it then click "run inline in claude" again.