@pigcloud/skills 1.0.3 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -4
- package/README.en.md +74 -83
- package/README.md +74 -85
- package/bin/cli.js +114 -89
- package/bin/postinstall.js +1 -1
- package/package.json +1 -1
- package/rules/skill-profile-map.json +5 -5
- package/rules/skill-profile-map.md +2 -2
- package/scripts/validate-skill-shapes.js +2 -1
- package/scripts/validate-skills.ps1 +6 -6
- package/scripts/validate-skills.sh +5 -5
- package/skills/api-docs/SKILL.md +2 -2
- package/skills/domain-modeling/SKILL.md +4 -4
- package/skills/extract-business-facts/SKILL.md +336 -0
- package/skills/extract-business-facts/scripts/write-knowledge-base.js +227 -0
- package/skills/knowledge-capture/SKILL.md +16 -7
- package/skills/project-bootstrap/SKILL.md +2 -2
- package/skills/references/business-fact-extraction.md +414 -0
- package/skills/references/golden-prompt-suite.js +64 -14
- package/skills/references/rule-loading-map.md +18 -18
- package/skills/references/skill-authoring-standard.md +2 -2
- package/skills/references/skill-boundary-template.md +56 -23
- package/skills/references/skill-enhanced-template.md +80 -30
- package/skills/references/skill-reference-matrix.md +21 -20
- package/skills/{spec-refinement → spec}/SKILL.md +19 -14
- package/skills/technical-design/SKILL.md +4 -4
- package/pig-cloud-skills-commands/.codex-plugin/plugin.json +0 -35
- package/pig-cloud-skills-commands/README.md +0 -24
- package/pig-cloud-skills-commands/commands/analyze.md +0 -21
- package/pig-cloud-skills-commands/commands/build.md +0 -21
- package/pig-cloud-skills-commands/commands/design.md +0 -21
- package/pig-cloud-skills-commands/commands/distill.md +0 -21
- package/pig-cloud-skills-commands/commands/doc.md +0 -21
- package/pig-cloud-skills-commands/commands/infra.md +0 -21
- package/pig-cloud-skills-commands/commands/init.md +0 -20
- package/pig-cloud-skills-commands/commands/kb.md +0 -20
- package/pig-cloud-skills-commands/commands/perf.md +0 -20
- package/pig-cloud-skills-commands/commands/prd.md +0 -21
- package/pig-cloud-skills-commands/commands/review.md +0 -21
- package/pig-cloud-skills-commands/commands/security.md +0 -21
- package/pig-cloud-skills-commands/commands/test.md +0 -21
- package/pig-cloud-skills-commands/commands/workflow.md +0 -20
- package/skills/product-intake/SKILL.md +0 -98
- package/skills/references/agent-personas.md +0 -34
- package/skills/references/flow-test-cases.md +0 -62
- package/skills/references/full-chain-replay-scenarios.md +0 -79
- package/skills/references/hooks.md +0 -67
- package/skills/references/negative-replay-scenarios.md +0 -49
- package/skills/references/prompt-replay-checklist.md +0 -128
- package/skills/references/requirements-separation-map.md +0 -71
- package/skills/references/slash-commands.md +0 -34
- package/skills/spec-refinement/references/ears-syntax.md +0 -127
- package/skills/spec-refinement/references/requirement-checklist.md +0 -139
- package/skills/spec-refinement/references/spec-workbook.md +0 -75
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
# 需求拆分图
|
|
2
|
-
|
|
3
|
-
## 目标
|
|
4
|
-
|
|
5
|
-
把需求工作拆成两个互相隔离的 skill:
|
|
6
|
-
|
|
7
|
-
- 产品侧需求发现
|
|
8
|
-
- 研发侧需求分析
|
|
9
|
-
|
|
10
|
-
## 产品侧
|
|
11
|
-
|
|
12
|
-
当任务主要涉及这些内容时,使用 `product-intake`:
|
|
13
|
-
|
|
14
|
-
- 业务目标
|
|
15
|
-
- 用户需求
|
|
16
|
-
- PRD 收口
|
|
17
|
-
- 范围和优先级
|
|
18
|
-
- 发布规划
|
|
19
|
-
- 会议纪要和需求讨论
|
|
20
|
-
- 当前项目事实的整理
|
|
21
|
-
|
|
22
|
-
### 产品输出
|
|
23
|
-
|
|
24
|
-
- 业务目标
|
|
25
|
-
- 用户场景
|
|
26
|
-
- 需求列表
|
|
27
|
-
- 范围和非范围
|
|
28
|
-
- 验收标准
|
|
29
|
-
- 优先级
|
|
30
|
-
- 当前项目事实
|
|
31
|
-
- 给研发的待确认项
|
|
32
|
-
|
|
33
|
-
### 产品停规则
|
|
34
|
-
|
|
35
|
-
- 不写实现细节。
|
|
36
|
-
- 不判断框架约束。
|
|
37
|
-
- 不把结果直接写成面向代码的规格。
|
|
38
|
-
- 不把当前项目事实和产品意图混成一句话。
|
|
39
|
-
|
|
40
|
-
## 研发侧
|
|
41
|
-
|
|
42
|
-
当任务主要涉及这些内容时,使用 `spec-refinement`:
|
|
43
|
-
|
|
44
|
-
- 把已确认的产品需求转成可执行规格
|
|
45
|
-
- 细化实现范围
|
|
46
|
-
- 补齐验收缺口
|
|
47
|
-
- 分析影响范围
|
|
48
|
-
- 在设计或实现前准备研发输入
|
|
49
|
-
- 对齐产品需求和当前项目事实
|
|
50
|
-
|
|
51
|
-
### 研发输出
|
|
52
|
-
|
|
53
|
-
- 可执行需求规格
|
|
54
|
-
- 验收标准
|
|
55
|
-
- 影响范围
|
|
56
|
-
- 对齐说明
|
|
57
|
-
- 任务计划
|
|
58
|
-
- 实现输入摘要
|
|
59
|
-
|
|
60
|
-
### 研发停规则
|
|
61
|
-
|
|
62
|
-
- 不把 PRD 从头重写一遍。
|
|
63
|
-
- 不直接进入代码生成。
|
|
64
|
-
- 不跳过边界检查或当前选定的 rules bundle。
|
|
65
|
-
- 不忽略当前项目事实。
|
|
66
|
-
- 不把任务计划丢给实现阶段临时补。
|
|
67
|
-
|
|
68
|
-
## 知识交接
|
|
69
|
-
|
|
70
|
-
- 产品产物和研发产物都沉淀到 `knowledge-capture`。
|
|
71
|
-
- 产品事实和研发事实保持关联,但不要混写。
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
# Canonical Skill Entry Mapping
|
|
2
|
-
|
|
3
|
-
This page maps older slash-command style entry points to canonical skill names.
|
|
4
|
-
|
|
5
|
-
## Skill Mapping
|
|
6
|
-
|
|
7
|
-
| Skill | Use |
|
|
8
|
-
|---|---|
|
|
9
|
-
| `workflow-router` | Stage routing and handoff |
|
|
10
|
-
| `product-intake` | Product intent capture |
|
|
11
|
-
| `spec-refinement` | PRD, facts, and knowledge alignment into executable spec |
|
|
12
|
-
| `technical-design` | Boundaries, dependencies, and interfaces |
|
|
13
|
-
| `feature-build` | Implementation and task-level self-test |
|
|
14
|
-
| `test-design` | Test strategy and regression coverage |
|
|
15
|
-
| `code-review` | Generic code review findings |
|
|
16
|
-
| `security-review` | Security findings only |
|
|
17
|
-
| `performance-check` | Performance findings only |
|
|
18
|
-
| `knowledge-capture` | Decision and artifact capture |
|
|
19
|
-
| `domain-modeling` | Boundary extraction and domain terms |
|
|
20
|
-
| `api-docs` | API contract capture |
|
|
21
|
-
|
|
22
|
-
## Common Chains
|
|
23
|
-
|
|
24
|
-
```text
|
|
25
|
-
workflow-router -> product-intake -> spec-refinement -> technical-design -> feature-build -> test-design -> code-review -> knowledge-capture
|
|
26
|
-
product-intake -> spec-refinement
|
|
27
|
-
feature-build -> test-design -> code-review -> knowledge-capture
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
## Notes
|
|
31
|
-
|
|
32
|
-
- Canonical skill names take precedence over old slash-command names.
|
|
33
|
-
- Keep framework rules in `rules/`.
|
|
34
|
-
- Keep skill bodies short and stable.
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
# EARS 语法参考(Easy Approach to Requirements Syntax)
|
|
2
|
-
|
|
3
|
-
> 消除需求歧义的结构化语法,参考 AWS Kiro 的 Spec 工作流
|
|
4
|
-
|
|
5
|
-
## 核心句式
|
|
6
|
-
|
|
7
|
-
### 1. 用户故事(User Story)
|
|
8
|
-
As a [角色], I want [功能], so that [价值]
|
|
9
|
-
|
|
10
|
-
**示例**:
|
|
11
|
-
- As a 普通用户, I want 查看我的订单列表, so that 我可以追踪订单状态
|
|
12
|
-
- As a 管理员, I want 审核退款申请, so that 我可以控制退款风险
|
|
13
|
-
|
|
14
|
-
### 2. 验收标准(Acceptance Criteria)
|
|
15
|
-
WHEN [事件/条件] THEN the system SHALL [响应/行为]
|
|
16
|
-
|
|
17
|
-
**示例**:
|
|
18
|
-
- WHEN 用户点击"提交订单" THEN the system SHALL 创建订单并返回订单号
|
|
19
|
-
- WHEN 订单金额 <= 0 THEN the system SHALL 拒绝创建并提示"订单金额必须大于0"
|
|
20
|
-
- WHEN 用户未登录 THEN the system SHALL 返回 401 NotLoginException
|
|
21
|
-
|
|
22
|
-
### 3. 业务规则(Business Rule)
|
|
23
|
-
IF [条件] THEN [动作/约束]
|
|
24
|
-
|
|
25
|
-
**示例**:
|
|
26
|
-
- IF 订单状态 != CREATED THEN 抛出 BusinessException("订单状态不正确")
|
|
27
|
-
- IF 用户余额 < 订单金额 THEN 拒绝支付并提示余额不足
|
|
28
|
-
|
|
29
|
-
### 4. 不变式(Invariant)
|
|
30
|
-
ALWAYS [约束] / NEVER [动作]
|
|
31
|
-
|
|
32
|
-
**示例**:
|
|
33
|
-
- ALWAYS 订单号全局唯一
|
|
34
|
-
- NEVER 在事务中执行远程调用
|
|
35
|
-
- ALWAYS 敏感数据脱敏后返回
|
|
36
|
-
|
|
37
|
-
## 语法模式识别
|
|
38
|
-
|
|
39
|
-
从自然语言中识别 EARS 模式:
|
|
40
|
-
|
|
41
|
-
| 自然语言模式 | EARS 句式 | 提取方法 |
|
|
42
|
-
|-------------|----------|---------|
|
|
43
|
-
| "用户可以..." | User Story | 识别角色 + 功能 |
|
|
44
|
-
| "当...时,系统应该..." | Acceptance Criteria | 识别事件 + 响应 |
|
|
45
|
-
| "如果...则..." | Business Rule | 识别条件 + 动作 |
|
|
46
|
-
| "必须..." / "不能..." | Invariant | 识别约束 |
|
|
47
|
-
| "只有...才能..." | Business Rule | 识别前置条件 |
|
|
48
|
-
| "...之后自动..." | Acceptance Criteria | 识别触发事件 + 自动动作 |
|
|
49
|
-
|
|
50
|
-
## 模糊关键词检测
|
|
51
|
-
|
|
52
|
-
以下关键词表示需求可能不明确,需要追问:
|
|
53
|
-
|
|
54
|
-
| 模糊词 | 风险 | 追问方向 |
|
|
55
|
-
|--------|------|---------|
|
|
56
|
-
| 大概/可能/也许 | 不确定性 | 具体条件是什么? |
|
|
57
|
-
| 合适的/适当的 | 主观判断 | 什么标准算"合适"? |
|
|
58
|
-
| 尽量/尽可能 | 非强制 | 是 Must 还是 Should? |
|
|
59
|
-
| 快速/高效 | 无量化 | 具体响应时间要求? |
|
|
60
|
-
| 大量/很多 | 无量化 | 预估数据量级? |
|
|
61
|
-
| 方便/好用 | 主观体验 | 具体交互方式? |
|
|
62
|
-
| 安全的 | 无具体措施 | 具体安全要求? |
|
|
63
|
-
| 有时候/偶尔 | 不确定性 | 触发条件是什么? |
|
|
64
|
-
| 等一下/稍后 | 时序不明确 | 具体时间要求? |
|
|
65
|
-
| 相关的/类似的 | 范围模糊 | 具体包含哪些? |
|
|
66
|
-
|
|
67
|
-
## INVEST 原则
|
|
68
|
-
|
|
69
|
-
评估用户故事质量:
|
|
70
|
-
|
|
71
|
-
| 原则 | 含义 | 检查方法 |
|
|
72
|
-
|------|------|---------|
|
|
73
|
-
| Independent | 独立的,不依赖其他故事 | 是否可单独交付? |
|
|
74
|
-
| Negotiable | 可协商的,细节可讨论 | 是否留有讨论空间? |
|
|
75
|
-
| Valuable | 有价值的,对用户有意义 | 用户是否在乎? |
|
|
76
|
-
| Estimable | 可估算的,复杂度可评估 | 是否能估算工作量? |
|
|
77
|
-
| Small | 足够小,一个迭代可完成 | 是否需要拆分? |
|
|
78
|
-
| Testable | 可测试的,有验收标准 | 是否有明确的通过/失败判定? |
|
|
79
|
-
|
|
80
|
-
## MoSCoW 优先级
|
|
81
|
-
|
|
82
|
-
| 优先级 | 含义 | 判定标准 |
|
|
83
|
-
|--------|------|---------|
|
|
84
|
-
| **Must** | 必须有 | 核心功能,没有则系统不可用 |
|
|
85
|
-
| **Should** | 应该有 | 重要功能,本次迭代尽量实现 |
|
|
86
|
-
| **Could** | 可以有 | 锦上添花,资源允许时实现 |
|
|
87
|
-
| **Won't** | 不会有 | 本次不实现,记录备查 |
|
|
88
|
-
|
|
89
|
-
## 需求 ID 编码规范
|
|
90
|
-
|
|
91
|
-
格式: REQ-{模块缩写}-{序号}
|
|
92
|
-
|
|
93
|
-
示例:
|
|
94
|
-
- REQ-ORD-001: 订单创建
|
|
95
|
-
- REQ-ORD-002: 订单支付
|
|
96
|
-
- REQ-ORD-003: 订单取消
|
|
97
|
-
- REQ-USR-001: 用户注册
|
|
98
|
-
- REQ-USR-002: 用户登录
|
|
99
|
-
|
|
100
|
-
## 正反示例对比
|
|
101
|
-
|
|
102
|
-
### 用户故事
|
|
103
|
-
<good-example>
|
|
104
|
-
As a 普通用户, I want 通过手机号+验证码登录, so that 我无需记住密码即可快速访问
|
|
105
|
-
</good-example>
|
|
106
|
-
|
|
107
|
-
<bad-example>
|
|
108
|
-
用户要能登录系统
|
|
109
|
-
</bad-example>
|
|
110
|
-
|
|
111
|
-
### 验收标准
|
|
112
|
-
<good-example>
|
|
113
|
-
WHEN 用户输入正确手机号和验证码 THEN the system SHALL 返回 JWT Token 和用户信息,响应时间 < 500ms
|
|
114
|
-
</good-example>
|
|
115
|
-
|
|
116
|
-
<bad-example>
|
|
117
|
-
登录成功后返回 Token
|
|
118
|
-
</bad-example>
|
|
119
|
-
|
|
120
|
-
### 业务规则
|
|
121
|
-
<good-example>
|
|
122
|
-
IF 验证码已过期(超过5分钟)THEN the system SHALL 抛出 ParameterIllegalException("验证码已过期,请重新获取") 【服务端强制】
|
|
123
|
-
</good-example>
|
|
124
|
-
|
|
125
|
-
<bad-example>
|
|
126
|
-
验证码不能过期
|
|
127
|
-
</bad-example>
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
# 需求分析检查清单
|
|
2
|
-
|
|
3
|
-
> 基于 FURPS+ 模型和 EARS 语法的完整需求分析检查项
|
|
4
|
-
|
|
5
|
-
## 一、需求收集检查
|
|
6
|
-
|
|
7
|
-
### 1.1 业务背景(Why)
|
|
8
|
-
| 检查项 | 通过标准 | 常见问题 |
|
|
9
|
-
|--------|---------|---------|
|
|
10
|
-
| 业务目标明确 | 能用一句话描述功能目标 | "做一个管理系统" |
|
|
11
|
-
| 业务价值清晰 | 能说明解决了什么问题 | "领导要求的" |
|
|
12
|
-
| 业务背景完整 | 能说明触发原因 | 无背景说明 |
|
|
13
|
-
|
|
14
|
-
### 1.2 用户角色(Who)
|
|
15
|
-
| 检查项 | 通过标准 | 常见问题 |
|
|
16
|
-
|--------|---------|---------|
|
|
17
|
-
| 角色定义完整 | 所有操作者角色已列出 | 遗漏旁观者/审核者 |
|
|
18
|
-
| 权限矩阵清晰 | 每个角色能做什么已定义 | "管理员可以操作" |
|
|
19
|
-
| 角色关系明确 | 角色之间的关系已定义 | 无角色层级说明 |
|
|
20
|
-
|
|
21
|
-
### 1.3 业务流程(How)
|
|
22
|
-
| 检查项 | 通过标准 | 常见问题 |
|
|
23
|
-
|--------|---------|---------|
|
|
24
|
-
| 主流程完整 | 正常执行步骤无遗漏 | 跳过中间步骤 |
|
|
25
|
-
| 异常流程覆盖 | 主要异常场景已列出 | "异常以后处理" |
|
|
26
|
-
| 边界条件识别 | 边界值已识别 | 无边界分析 |
|
|
27
|
-
| 分支流程定义 | 条件分支已定义 | "看情况" |
|
|
28
|
-
|
|
29
|
-
### 1.4 数据范围(What)
|
|
30
|
-
| 检查项 | 通过标准 | 常见问题 |
|
|
31
|
-
|--------|---------|---------|
|
|
32
|
-
| In Scope 明确 | 功能范围内的事项已列出 | 范围模糊 |
|
|
33
|
-
| Out Scope 明确 | 明确不做什么 | 无 Out Scope |
|
|
34
|
-
| 数据实体识别 | 涉及的数据实体已列出 | 遗漏关联实体 |
|
|
35
|
-
| 数据量评估 | 预估数据量级 | 无数据量评估 |
|
|
36
|
-
|
|
37
|
-
### 1.5 约束条件(Constraints)
|
|
38
|
-
| 检查项 | 通过标准 | 常见问题 |
|
|
39
|
-
|--------|---------|---------|
|
|
40
|
-
| 性能要求 | 响应时间/并发量已明确 | "要快" |
|
|
41
|
-
| 安全要求 | 认证/授权/脱敏已明确 | "要安全" |
|
|
42
|
-
| 兼容性要求 | 浏览器/版本/接口兼容已明确 | 无兼容性说明 |
|
|
43
|
-
| 技术约束 | 技术栈/框架限制已明确 | 无技术约束 |
|
|
44
|
-
|
|
45
|
-
## 二、需求结构化检查(EARS 语法)
|
|
46
|
-
|
|
47
|
-
### 2.1 用户故事
|
|
48
|
-
| 检查项 | 通过标准 | 错误示例 | 正确示例 |
|
|
49
|
-
|--------|---------|---------|---------|
|
|
50
|
-
| 角色明确 | As a [具体角色] | As a user | As a 普通用户 |
|
|
51
|
-
| 功能明确 | I want [具体功能] | I want 管理 | I want 创建、编辑、删除订单 |
|
|
52
|
-
| 价值明确 | so that [具体价值] | so that 方便 | so that 可以追踪订单状态 |
|
|
53
|
-
| INVEST 原则 | Independent/Negotiable/Valuable/Estimable/Small/Testable | - | - |
|
|
54
|
-
|
|
55
|
-
### 2.2 验收标准
|
|
56
|
-
| 检查项 | 通过标准 | 错误示例 | 正确示例 |
|
|
57
|
-
|--------|---------|---------|---------|
|
|
58
|
-
| WHEN 条件明确 | 触发事件清晰 | WHEN 用户操作 | WHEN 用户点击"提交订单"按钮 |
|
|
59
|
-
| THEN 响应明确 | 系统响应可验证 | THEN 成功 | THEN 系统返回 Result<OrderVO>,订单状态变为 PAID |
|
|
60
|
-
| 可验证性 | 有明确的通过/失败判定 | THEN 快速响应 | THEN 响应时间 < 500ms |
|
|
61
|
-
| 边界覆盖 | 边界条件有验收标准 | - | WHEN 金额为 0.01 THEN ... |
|
|
62
|
-
|
|
63
|
-
### 2.3 业务规则
|
|
64
|
-
| 检查项 | 通过标准 | 错误示例 | 正确示例 |
|
|
65
|
-
|--------|---------|---------|---------|
|
|
66
|
-
| 条件清晰 | IF 条件明确 | IF 金额不对 | IF 订单金额 <= 0 |
|
|
67
|
-
| 动作明确 | THEN 动作可执行 | THEN 报错 | THEN 抛出 ParameterIllegalException("订单金额必须大于0") |
|
|
68
|
-
| 执行方标注 | 标注谁来保证 | 无标注 | 【服务端强制】/【调用方需预判】 |
|
|
69
|
-
|
|
70
|
-
## 三、需求质量检查
|
|
71
|
-
|
|
72
|
-
### 3.1 隐含假设
|
|
73
|
-
| 检查项 | 检查方法 |
|
|
74
|
-
|--------|---------|
|
|
75
|
-
| 数据量假设 | "如果数据量增长 10 倍,这个需求还成立吗?" |
|
|
76
|
-
| 并发假设 | "如果 100 个用户同时操作,会怎样?" |
|
|
77
|
-
| 时序假设 | "如果操作顺序颠倒,会怎样?" |
|
|
78
|
-
| 外部依赖假设 | "如果依赖的外部系统不可用,会怎样?" |
|
|
79
|
-
| 权限假设 | "如果用户没有预期权限,会怎样?" |
|
|
80
|
-
|
|
81
|
-
### 3.2 矛盾检测
|
|
82
|
-
| 检查维度 | 检查方法 | 示例 |
|
|
83
|
-
|---------|---------|------|
|
|
84
|
-
| 权限矛盾 | A 要求开放 vs B 要求限制 | "所有接口公开" vs "需要管理员权限" |
|
|
85
|
-
| 状态矛盾 | A 的流转 vs B 的流转 | "订单不可取消" vs "支持退款" |
|
|
86
|
-
| 数据矛盾 | A 的唯一性 vs B 的重复 | "手机号唯一" vs "允许更换手机号" |
|
|
87
|
-
| 时序矛盾 | A 实时 vs B 批量 | "实时通知" vs "每天汇总" |
|
|
88
|
-
|
|
89
|
-
### 3.3 可测试性
|
|
90
|
-
| 检查项 | 通过标准 | 不可测试示例 | 可测试示例 |
|
|
91
|
-
|--------|---------|-------------|-----------|
|
|
92
|
-
| 可验证 | 有明确通过/失败判定 | "系统应该快速响应" | "P99 响应时间 < 200ms" |
|
|
93
|
-
| 可量化 | 有具体数值 | "支持大量数据" | "支持 10 万条记录分页查询" |
|
|
94
|
-
| 可复现 | 测试步骤可重复 | "有时候会出错" | "当金额为负数时抛出异常" |
|
|
95
|
-
|
|
96
|
-
## 四、需求完整性检查(FURPS+)
|
|
97
|
-
|
|
98
|
-
| 维度 | 全称 | 检查项 | 通过标准 |
|
|
99
|
-
|------|------|--------|---------|
|
|
100
|
-
| F | Functionality | 功能完整性 | 每个功能点有输入/输出/规则 |
|
|
101
|
-
| U | Usability | 可用性 | 用户角色和权限已定义 |
|
|
102
|
-
| R | Reliability | 可靠性 | 异常处理策略已定义 |
|
|
103
|
-
| P | Performance | 性能 | 响应时间/并发量已明确 |
|
|
104
|
-
| S | Supportability | 可支持性 | 日志/监控/缓存策略已分析 |
|
|
105
|
-
| + | 其他 | 安全/合规/兼容 | 安全要求/合规要求已明确 |
|
|
106
|
-
|
|
107
|
-
## 五、迭代开发额外检查
|
|
108
|
-
|
|
109
|
-
### 5.1 影响分析
|
|
110
|
-
| 检查项 | 通过标准 |
|
|
111
|
-
|--------|---------|
|
|
112
|
-
| 模块依赖 | 受影响模块已识别 |
|
|
113
|
-
| API 调用链 | Feign 调用影响已分析 |
|
|
114
|
-
| 数据依赖 | 实体关联影响已分析 |
|
|
115
|
-
| 状态流转 | 状态变更影响已分析 |
|
|
116
|
-
| 回归风险 | 回归测试范围已评估 |
|
|
117
|
-
|
|
118
|
-
### 5.2 风险评估
|
|
119
|
-
| 风险等级 | 判定条件 | 处理方式 |
|
|
120
|
-
|---------|---------|---------|
|
|
121
|
-
| Critical | 涉及核心流程 + 跨服务调用 + 事务边界 | 必须有回滚方案 |
|
|
122
|
-
| High | 涉及状态变更 + 权限变更 + 数据结构变更 | 需要回归测试 |
|
|
123
|
-
| Medium | 涉及查询逻辑 + UI 字段调整 | 建议回归测试 |
|
|
124
|
-
| Low | 涉及日志 + 注释 + 代码重构 | 常规测试 |
|
|
125
|
-
|
|
126
|
-
## 六、Anti-rationalization Table (Requirement Analysis)
|
|
127
|
-
|
|
128
|
-
| 常见借口 | 反驳理由 | 正确做法 |
|
|
129
|
-
|---------|---------|---------|
|
|
130
|
-
| "需求很清楚,不需要文档" | 清楚的需求也会变化 | 编写需求文档 |
|
|
131
|
-
| "这个功能很简单" | 简单功能也有边界情况 | 完整需求分析 |
|
|
132
|
-
| "用户会这样操作" | 用户操作方式多样 | 分析所有场景 |
|
|
133
|
-
| "这个边界不会发生" | 边界情况总会发生 | 处理边界 |
|
|
134
|
-
| "这个功能以后再加" | 以后加的成本更高 | 现在规划 |
|
|
135
|
-
| "这个影响范围很小" | 小影响也会产生连锁反应 | 完整影响分析 |
|
|
136
|
-
| "这个模块不依赖其他模块" | 模块间总有依赖 | 分析依赖 |
|
|
137
|
-
| "先做再说,需求以后补" | 无文档的需求无法维护 | 先需求后实现 |
|
|
138
|
-
| "用户说的就是需求" | 用户说的往往是解决方案而非需求 | 追问真实意图 |
|
|
139
|
-
| "这个验收标准够了" | 不完整的验收标准导致返工 | 覆盖正常/异常/边界 |
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
# Requirement Spec Workbook
|
|
2
|
-
|
|
3
|
-
> 闇€姹傚垎鏋愮殑鍙鐢ㄦā鏉夸笌妫€鏌ラ」銆俙SKILL.md` 鍙繚鐣欐祦绋嬶紝杩欓噷淇濈暀浜у嚭缁撴瀯鍜屽父鐢ㄦ槧灏勩€傞渶瑕佸叿浣撹鍒欐椂锛屼紭鍏堝紩鐢?[rules/index.md](/D:/work/java/pig-skills/rules/index.md) 鍜屽搴斿瓙瑙勫垯銆?
|
|
4
|
-
## EARS Template
|
|
5
|
-
|
|
6
|
-
```markdown
|
|
7
|
-
### REQ-001: [闇€姹傛爣棰榏
|
|
8
|
-
- **浼樺厛绾?*: Must | Should | Could | Won't
|
|
9
|
-
- **鐢ㄦ埛鏁呬簨**: As a [role], I want [feature], so that [benefit]
|
|
10
|
-
- **楠屾敹鏍囧噯**:
|
|
11
|
-
- WHEN [event] THEN the system SHALL [response]
|
|
12
|
-
- **涓氬姟瑙勫垯**:
|
|
13
|
-
- IF [condition] THEN [action/constraint]
|
|
14
|
-
- **涓嶅彉寮?*:
|
|
15
|
-
- ALWAYS [constraint]
|
|
16
|
-
- NEVER [action]
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
## Assumption Checklist
|
|
20
|
-
|
|
21
|
-
| 鍋囪 ID | 鍏宠仈闇€姹?| 鍋囪鍐呭 | 椋庨櫓绛夌骇 | 楠岃瘉鏂瑰紡 |
|
|
22
|
-
|---------|---------|---------|---------|---------|
|
|
23
|
-
| ASM-001 | REQ-001 | 鐢ㄦ埛宸茬櫥褰曚笖鏈夋湁鏁堟敹璐у湴鍧€ | 楂?| 鍓嶇疆楠岃瘉 |
|
|
24
|
-
| ASM-002 | REQ-003 | 鏀粯鎺ュ彛鍝嶅簲鏃堕棿 < 3s | 涓?| 鍘嬫祴楠岃瘉 |
|
|
25
|
-
| ASM-003 | REQ-005 | 鍟嗗搧浠锋牸鍦ㄤ笅鍗曞悗涓嶅彉 | 楂?| 浠锋牸閿佸畾鏈哄埗 |
|
|
26
|
-
|
|
27
|
-
## Conflict Report
|
|
28
|
-
|
|
29
|
-
| 鍐茬獊 ID | 娑夊強闇€姹?| 鍐茬獊绫诲瀷 | 鎻忚堪 | 寤鸿鏂规 |
|
|
30
|
-
|---------|---------|---------|------|---------|
|
|
31
|
-
| CONFLICT-001 | REQ-002, REQ-004 | 鐘舵€佸啿绐?| 宸插彂璐ц鍗曠殑鍙栨秷绛栫暐鍐茬獊 | 缁熶竴涓轰笉鍙彇娑?/ 澧炲姞瀹℃牳鍙栨秷娴佺▼ |
|
|
32
|
-
|
|
33
|
-
## Capability Map
|
|
34
|
-
|
|
35
|
-
| 闇€姹?ID | 闇€姹傛弿杩?| 鑳藉姏鍒嗙被 | 妗嗘灦鏀寔鏂瑰紡 | 澶囨敞 |
|
|
36
|
-
|---------|---------|---------|-------------|------|
|
|
37
|
-
| REQ-001 | RESTful API 杩斿洖 | 鍘熺敓鏀寔 | Result<T> + @RestController | - |
|
|
38
|
-
| REQ-003 | 鏁版嵁鏉冮檺闅旂 | 鍘熺敓鏀寔 | @IgnoreTenant + 澶氱鎴锋嫤鎴櫒 | - |
|
|
39
|
-
| REQ-005 | PDF 瀵煎嚭 | 鍙墿灞曟敮鎸?| 鑷畾涔?Starter 鎴栨帴鍏?iText | 璇勪及宸ヤ綔閲?|
|
|
40
|
-
| REQ-008 | 瀹炴椂娑堟伅鎺ㄩ€?| 涓嶆敮鎸?| 闇€寮曞叆 WebSocket/MQ | 璇勪及寮曞叆鎴愭湰 |
|
|
41
|
-
|
|
42
|
-
## Output Template
|
|
43
|
-
|
|
44
|
-
```markdown
|
|
45
|
-
# {妯″潡鍚峿 闇€姹傛枃妗?
|
|
46
|
-
|
|
47
|
-
## 1. 鍔熻兘姒傝堪
|
|
48
|
-
## 2. 鍔熻兘鑼冨洿
|
|
49
|
-
## 3. 缁撴瀯鍖栭渶姹傦紙EARS锛?
|
|
50
|
-
## 4. 闅愬惈鍋囪
|
|
51
|
-
## 5. 闇€姹傚啿绐佹鏌?
|
|
52
|
-
## 6. 妗嗘灦鑳藉姏鏄犲皠
|
|
53
|
-
## 7. 楠屾敹鏍囧噯锛圔DD锛?
|
|
54
|
-
## 8. 闈炲姛鑳芥€ч渶姹?
|
|
55
|
-
## 9. 瀹屾暣鎬ф鏌ユ姤鍛?
|
|
56
|
-
## 10. 褰卞搷鍒嗘瀽锛堜粎杩唬妯″紡锛?
|
|
57
|
-
## 11. 瀹炵幇闃舵杈撳叆鎽樿
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
## Iteration Impact Summary
|
|
61
|
-
|
|
62
|
-
| 鍙樻洿椤?| 姒傜巼 | 褰卞搷 | 椋庨櫓绛夌骇 | 鍥炲綊绛栫暐 |
|
|
63
|
-
|--------|------|------|---------|---------|
|
|
64
|
-
| 璁㈠崟鐘舵€佹祦杞慨鏀?| 楂?| 楂?| Critical | 鍏ㄩ噺鍥炲綊 |
|
|
65
|
-
| 鏂板瀹℃牳瀛楁 | 楂?| 涓?| High | 妯″潡鍥炲綊 |
|
|
66
|
-
| API 鍝嶅簲鎵╁睍 | 涓?| 浣?| Low | 澧為噺娴嬭瘯 |
|
|
67
|
-
|
|
68
|
-
## Anti-rationalization
|
|
69
|
-
|
|
70
|
-
| 甯歌鍊熷彛 | 鍙嶉┏ |
|
|
71
|
-
|---------|------|
|
|
72
|
-
| 鈥滈渶姹傚凡缁忓緢娓呮浜嗭紝涓嶉渶瑕佸啀闂€?| 鍏堝仛涓€娆℃緞娓呭洖璺?|
|
|
73
|
-
| 鈥滃厛鍋氳璁★紝闇€姹傚彲浠ヨ竟鍋氳竟瀹屽杽鈥?| 鍏堥渶姹傚悗璁捐 |
|
|
74
|
-
| 鈥滃奖鍝嶅垎鏋愬お鑰楁椂浜嗏€?| 璺宠繃浼氭妸椋庨櫓甯﹀埌鍚庨潰 |
|
|
75
|
-
|