@pigcloud/skills 1.0.0

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.
Files changed (161) hide show
  1. package/CHANGELOG.md +70 -0
  2. package/LICENSE +201 -0
  3. package/README.en.md +84 -0
  4. package/README.md +79 -0
  5. package/bin/cli.js +663 -0
  6. package/bin/postinstall.js +60 -0
  7. package/bin/rules-loader.js +484 -0
  8. package/bin/runtime-bootstrap.js +121 -0
  9. package/index.js +7 -0
  10. package/install.cmd +5 -0
  11. package/install.ps1 +74 -0
  12. package/install.sh +168 -0
  13. package/package.json +70 -0
  14. package/pig-cloud-skills-commands/.codex-plugin/plugin.json +35 -0
  15. package/pig-cloud-skills-commands/README.md +24 -0
  16. package/pig-cloud-skills-commands/commands/analyze.md +21 -0
  17. package/pig-cloud-skills-commands/commands/build.md +21 -0
  18. package/pig-cloud-skills-commands/commands/design.md +21 -0
  19. package/pig-cloud-skills-commands/commands/distill.md +21 -0
  20. package/pig-cloud-skills-commands/commands/doc.md +21 -0
  21. package/pig-cloud-skills-commands/commands/infra.md +21 -0
  22. package/pig-cloud-skills-commands/commands/init.md +20 -0
  23. package/pig-cloud-skills-commands/commands/kb.md +20 -0
  24. package/pig-cloud-skills-commands/commands/perf.md +20 -0
  25. package/pig-cloud-skills-commands/commands/prd.md +21 -0
  26. package/pig-cloud-skills-commands/commands/review.md +21 -0
  27. package/pig-cloud-skills-commands/commands/security.md +21 -0
  28. package/pig-cloud-skills-commands/commands/test.md +21 -0
  29. package/pig-cloud-skills-commands/commands/workflow.md +20 -0
  30. package/rules/bundles.json +358 -0
  31. package/rules/coding/analysis.md +27 -0
  32. package/rules/coding/backend/cache-invalidation.md +30 -0
  33. package/rules/coding/backend/cache-keying.md +30 -0
  34. package/rules/coding/backend/cache.md +37 -0
  35. package/rules/coding/backend/database.md +32 -0
  36. package/rules/coding/backend/feign.md +30 -0
  37. package/rules/coding/backend/index.md +42 -0
  38. package/rules/coding/backend/query.md +32 -0
  39. package/rules/coding/backend/remote.md +33 -0
  40. package/rules/coding/backend/transaction-boundary.md +30 -0
  41. package/rules/coding/backend/transaction-rollback.md +30 -0
  42. package/rules/coding/backend/transaction.md +38 -0
  43. package/rules/coding/boundary.md +25 -0
  44. package/rules/coding/implementation.md +30 -0
  45. package/rules/coding/index.md +38 -0
  46. package/rules/coding/scaffold.md +28 -0
  47. package/rules/coding/testing.md +29 -0
  48. package/rules/coding/validation.md +29 -0
  49. package/rules/core/code-quality.md +30 -0
  50. package/rules/core/evidence.md +26 -0
  51. package/rules/core/index.md +41 -0
  52. package/rules/core/interface.md +26 -0
  53. package/rules/core/iteration.md +26 -0
  54. package/rules/core/layer-boundary.md +25 -0
  55. package/rules/core/logging.md +26 -0
  56. package/rules/core/security.md +26 -0
  57. package/rules/core/task-boundary.md +27 -0
  58. package/rules/docs/api.md +34 -0
  59. package/rules/docs/capture-summary.md +29 -0
  60. package/rules/docs/capture.md +34 -0
  61. package/rules/docs/contract.md +30 -0
  62. package/rules/docs/decision-log.md +32 -0
  63. package/rules/docs/examples.md +28 -0
  64. package/rules/docs/index.md +49 -0
  65. package/rules/docs/reference.md +32 -0
  66. package/rules/index.md +46 -0
  67. package/rules/overlays/index.md +28 -0
  68. package/rules/overlays/pig-cloud/controller.md +33 -0
  69. package/rules/overlays/pig-cloud/dto-vo.md +33 -0
  70. package/rules/overlays/pig-cloud/entity.md +32 -0
  71. package/rules/overlays/pig-cloud/exception.md +32 -0
  72. package/rules/overlays/pig-cloud/layering.md +31 -0
  73. package/rules/overlays/pig-cloud/mapper.md +32 -0
  74. package/rules/overlays/pig-cloud/query-style.md +32 -0
  75. package/rules/overlays/pig-cloud/rest-response.md +33 -0
  76. package/rules/overlays/pig-cloud/service.md +33 -0
  77. package/rules/overlays/pig-cloud/transactions.md +32 -0
  78. package/rules/overlays/pig-cloud/validation.md +33 -0
  79. package/rules/overlays/pig-cloud.md +45 -0
  80. package/rules/product/acceptance.md +25 -0
  81. package/rules/product/briefing.md +27 -0
  82. package/rules/product/index.md +36 -0
  83. package/rules/product/intake.md +27 -0
  84. package/rules/product/modeling.md +25 -0
  85. package/rules/product/project-context.md +29 -0
  86. package/rules/review/code.md +35 -0
  87. package/rules/review/evidence.md +31 -0
  88. package/rules/review/index.md +50 -0
  89. package/rules/review/java.md +42 -0
  90. package/rules/review/performance.md +38 -0
  91. package/rules/review/rubric.md +28 -0
  92. package/rules/review/security.md +38 -0
  93. package/rules/review/ts.md +33 -0
  94. package/rules/review/vue.md +33 -0
  95. package/rules/skill-profile-map.json +58 -0
  96. package/rules/skill-profile-map.md +28 -0
  97. package/rules/workflow/handoff.md +25 -0
  98. package/rules/workflow/index.md +37 -0
  99. package/rules/workflow/refinement.md +29 -0
  100. package/rules/workflow/router.md +25 -0
  101. package/rules/workflow/selection.md +25 -0
  102. package/rules/workflow/stop.md +25 -0
  103. package/scripts/ci-validator.sh +114 -0
  104. package/scripts/run-golden-replays.js +312 -0
  105. package/scripts/validate-rules.js +125 -0
  106. package/scripts/validate-skill-replay-signals.js +75 -0
  107. package/scripts/validate-skill-shapes.js +141 -0
  108. package/scripts/validate-skill-stop-rules.js +139 -0
  109. package/scripts/validate-skills.cmd +3 -0
  110. package/scripts/validate-skills.ps1 +42 -0
  111. package/scripts/validate-skills.sh +36 -0
  112. package/skills/api-docs/SKILL.md +76 -0
  113. package/skills/code-review/SKILL.md +135 -0
  114. package/skills/code-review/references/findings-template.md +51 -0
  115. package/skills/code-review/references/performance-checklist.md +213 -0
  116. package/skills/code-review/references/rubric.md +232 -0
  117. package/skills/code-review/references/rules.md +32 -0
  118. package/skills/code-review/references/security-checklist.md +178 -0
  119. package/skills/code-review/references/stack-notes.md +25 -0
  120. package/skills/code-review/references/template-review.md +214 -0
  121. package/skills/code-review/scripts/lint-code-review.mjs +431 -0
  122. package/skills/domain-modeling/SKILL.md +80 -0
  123. package/skills/domain-modeling/references/README.md +134 -0
  124. package/skills/domain-modeling/references/distillation-checklist.md +152 -0
  125. package/skills/domain-modeling/references/test-cases-template.md +128 -0
  126. package/skills/environment-deploy/SKILL.md +81 -0
  127. package/skills/feature-build/SKILL.md +122 -0
  128. package/skills/feature-build/references/coding-checklist.md +97 -0
  129. package/skills/feature-build/references/comment-specification.md +102 -0
  130. package/skills/knowledge-capture/SKILL.md +84 -0
  131. package/skills/performance-check/SKILL.md +117 -0
  132. package/skills/product-intake/SKILL.md +98 -0
  133. package/skills/project-bootstrap/SKILL.md +80 -0
  134. package/skills/references/agent-personas.md +34 -0
  135. package/skills/references/anti-rationalization.md +144 -0
  136. package/skills/references/engineering-delivery-method.md +63 -0
  137. package/skills/references/engineering-delivery-template.md +80 -0
  138. package/skills/references/flow-test-cases.md +62 -0
  139. package/skills/references/full-chain-replay-scenarios.md +79 -0
  140. package/skills/references/golden-prompt-suite.js +385 -0
  141. package/skills/references/golden-prompt-suite.md +33 -0
  142. package/skills/references/hooks.md +67 -0
  143. package/skills/references/negative-replay-scenarios.md +49 -0
  144. package/skills/references/project-requirement-alignment.md +41 -0
  145. package/skills/references/prompt-replay-checklist.md +128 -0
  146. package/skills/references/requirements-separation-map.md +71 -0
  147. package/skills/references/rule-loading-map.md +108 -0
  148. package/skills/references/skill-authoring-standard.md +73 -0
  149. package/skills/references/skill-boundary-template.md +38 -0
  150. package/skills/references/skill-enhanced-template.md +53 -0
  151. package/skills/references/skill-reference-matrix.md +53 -0
  152. package/skills/references/slash-commands.md +34 -0
  153. package/skills/security-review/SKILL.md +117 -0
  154. package/skills/spec-refinement/SKILL.md +143 -0
  155. package/skills/spec-refinement/references/ears-syntax.md +127 -0
  156. package/skills/spec-refinement/references/requirement-checklist.md +139 -0
  157. package/skills/spec-refinement/references/spec-workbook.md +75 -0
  158. package/skills/technical-design/SKILL.md +105 -0
  159. package/skills/technical-design/references/solid-checklist.md +199 -0
  160. package/skills/test-design/SKILL.md +91 -0
  161. package/skills/workflow-router/SKILL.md +86 -0
@@ -0,0 +1,80 @@
1
+ ---
2
+ name: domain-modeling
3
+ description: Extract domain boundaries and core concepts from code or business language when the model is unclear
4
+ lifecycle_stage: design
5
+ rule_profile: modeling
6
+ dependencies: []
7
+ triggers:
8
+ - domain
9
+ - boundary
10
+ - reverse engineering
11
+ - ubiquitous language
12
+ - module split
13
+ - model
14
+ inputs:
15
+ - existing business language
16
+ - product context
17
+ - code or documents
18
+ outputs:
19
+ - domain map
20
+ - core concepts
21
+ - boundary notes
22
+ workflow:
23
+ - extract the core domain terms
24
+ - group concepts by boundary
25
+ - identify aggregates and dependencies
26
+ - hand off to technical-design or spec-refinement
27
+ gates:
28
+ - stop at domain boundaries
29
+ - do not implement code
30
+ - do not write PRD text
31
+ refs:
32
+ - skills/references/skill-reference-matrix.md
33
+ - skills/references/rule-loading-map.md
34
+ - skills/references/prompt-replay-checklist.md
35
+ - skills/references/full-chain-replay-scenarios.md
36
+ ---
37
+
38
+ # Domain Modeling
39
+
40
+ ## Purpose
41
+
42
+ Extract domain boundaries and core concepts from messy input.
43
+
44
+ ## Suitable / Unsuitable
45
+
46
+ - Suitable: domain split, reverse engineering, ubiquitous language, boundary discovery
47
+ - Unsuitable: implementation, PRD drafting, detailed test authoring
48
+
49
+ ## Workflow
50
+
51
+ 1. Extract the core domain terms.
52
+ 2. Group concepts by boundary.
53
+ 3. Identify aggregates and dependencies.
54
+ 4. Hand off to `technical-design` or `spec-refinement`.
55
+
56
+ ## Replay Signals
57
+
58
+ - Input signal: existing business language, product context, code, or documents.
59
+ - Output to verify: domain map, core concepts, boundary notes.
60
+ - Stop signal: implementation code or PRD drafting.
61
+ - Handoff signal: the boundary map is ready for `technical-design` or `spec-refinement`.
62
+
63
+ ## Examples
64
+
65
+ - Input: "Reverse engineer the customer order domain from this codebase and docs."
66
+ - Output: domain map, core concepts, boundary notes
67
+ - Stop: do not write implementation code or PRD text
68
+
69
+ ## Stop Rules
70
+
71
+ - Stop at domain boundaries.
72
+ - Do not implement code.
73
+ - Do not write PRD text.
74
+
75
+ ## References
76
+
77
+ - `skills/references/skill-reference-matrix.md`
78
+ - `skills/references/rule-loading-map.md`
79
+ - `skills/references/prompt-replay-checklist.md`
80
+ - `skills/references/full-chain-replay-scenarios.md`
@@ -0,0 +1,134 @@
1
+ # 蒸馏产物使用说明
2
+
3
+ > 如何将 `distilled/` 目录产物用于 AI 应用开发
4
+
5
+ ---
6
+
7
+ ## 作为 AI 应用开发者,如何把产物用起来
8
+
9
+ ### 1. 常驻上下文(语义层)
10
+
11
+ 把语义层注入系统提示或检索的高优先级片段:
12
+
13
+ ```
14
+ - 00-overview.md — 系统全景与给 AI 的约定
15
+ - 01-glossary.md — 业务术语
16
+ - domain/_index.md — 对象关系总览
17
+ - api/_index.md — API 能力清单与典型编排
18
+ ```
19
+
20
+ **加载策略**:
21
+ - 作为 System Prompt 的一部分
22
+ - 或作为 RAG 检索的高优先级片段(权重 > 0.8)
23
+
24
+ ### 2. 按需检索(明细层)
25
+
26
+ 把明细层做成可被 AI 检索的知识库:
27
+
28
+ ```
29
+ - api/<域>/<用例>.md — 各业务用例接口详情
30
+ - reference/schema/*.md — 字段级 Schema
31
+ - reference/enums.md — 枚举/字典值
32
+ - reference/error-codes.md — 错误码
33
+ - reference/model-code-conflicts.md — 模型与代码差异
34
+ ```
35
+
36
+ **检索策略**:
37
+ - 使用向量数据库(如 Milvus、Pinecone)
38
+ - 按 `[[slug]]` 交叉引用定位
39
+ - AI 需要时再取,不常驻上下文
40
+
41
+ ### 3. 接口对接
42
+
43
+ 按 `api/` 文档把真实 API 注册为 AI 可调用的工具:
44
+
45
+ ```json
46
+ {
47
+ "tools": [
48
+ {
49
+ "name": "create_contract",
50
+ "description": "录入销售合同",
51
+ "parameters": {
52
+ "type": "object",
53
+ "properties": {
54
+ "contractNo": { "type": "string", "description": "合同编号" },
55
+ "contractName": { "type": "string", "description": "合同名称" },
56
+ ...
57
+ }
58
+ }
59
+ }
60
+ ]
61
+ }
62
+ ```
63
+
64
+ ### 4. 运行时护栏
65
+
66
+ 把 `00-overview.md` 的"给 AI 的关键约定"写进系统提示:
67
+
68
+ ```
69
+ ## 给 AI 的关键约定
70
+ 1. 永远通过 API 操作,不直接读写数据库。
71
+ 2. 引用类字段是 ID 不是名称——先调主数据接口解析。
72
+ 3. 金额/状态等由服务端计算或裁决。
73
+ 4. 写操作权限分级:前期只读,写需确认。
74
+ 5. 规则标注 【服务端强制】/【调用方需预判】 的含义。
75
+ ```
76
+
77
+ ---
78
+
79
+ ## 写权限控制的落地建议
80
+
81
+ ### 前期阶段
82
+
83
+ - 只把**查询类**接口注册为 AI 工具
84
+ - 写接口不注册或需人工确认
85
+
86
+ ### 进阶阶段
87
+
88
+ 加一层**调用网关**:
89
+
90
+ ```
91
+ GET/查询类 → 直接放行
92
+ 写操作 → dry-run 校验 → 回显 → 用户确认 → 提交
93
+ ```
94
+
95
+ ### 不可逆操作
96
+
97
+ - 如确认收款无撤销
98
+ - 必须强制二次确认
99
+
100
+ ---
101
+
102
+ ## 典型对话流程
103
+
104
+ ```
105
+ 用户: "给华东能源录个合同,软件平台产品,销售一部张敏负责,48 万"
106
+
107
+ AI:
108
+ 1. 解析名称 → 调用 reference-data 接口获取 ID
109
+ 2. 回显解析结果给用户确认
110
+ 3. 用户确认后调用 create-contract 接口
111
+ 4. 返回创建结果
112
+ ```
113
+
114
+ ---
115
+
116
+ ## 错误处理
117
+
118
+ 当接口返回错误时,AI 根据 `error-codes.md` 解释:
119
+
120
+ ```
121
+ 错误: "付款比例合计必须等于 1"
122
+ AI 解释: "您输入的付款比例合计不等于 100%,请调整各阶段比例"
123
+ ```
124
+
125
+ ---
126
+
127
+ ## 质量验证
128
+
129
+ 定期执行实跑验证:
130
+
131
+ 1. 准备测试集(读/写/统计/规则反例)
132
+ 2. 让 AI 仅凭蒸馏文档推导调用
133
+ 3. 真打到接口验证结果
134
+ 4. 修复发现的文档缺口
@@ -0,0 +1,152 @@
1
+ # 蒸馏质量验收检查清单
2
+
3
+ > 用于验证蒸馏产物是否符合规范
4
+
5
+ ---
6
+
7
+ ## 静态检查清单
8
+
9
+ ### 目录结构检查
10
+
11
+ - [ ] `distilled/` 目录存在
12
+ - [ ] `README.md` 存在且内容完整
13
+ - [ ] `00-overview.md` 存在且包含"给 AI 的关键约定"
14
+ - [ ] `01-glossary.md` 存在
15
+ - [ ] `domain/_index.md` 存在
16
+ - [ ] `domain/<对象>.md` 每个核心对象一个文件
17
+ - [ ] `api/_index.md` 存在且包含典型编排
18
+ - [ ] `api/<域>/<用例>.md` 每个用例一个文件
19
+ - [ ] `reference/schema/*.md` 字段级 Schema
20
+ - [ ] `reference/enums.md` 存在
21
+ - [ ] `reference/error-codes.md` 存在
22
+ - [ ] `reference/model-code-conflicts.md` 存在
23
+ - [ ] `requirements/_index.md` 存在
24
+
25
+ ---
26
+
27
+ ### 领域对象检查
28
+
29
+ - [ ] 每个对象有"一句话定义"
30
+ - [ ] 每个对象有"业务语义"段落
31
+ - [ ] 每个对象有"生命周期/状态"段落
32
+ - [ ] 每个对象有"关键属性"表(语义级)
33
+ - [ ] 每个对象有"组合/关系"说明
34
+ - [ ] 每个对象有"核心业务规则"段落
35
+ - [ ] 每条规则有执行方标注(【服务端强制】/【调用方需预判】等)
36
+ - [ ] 每个对象有"相关能力"链接
37
+ - [ ] 每个对象有"明细索引"
38
+
39
+ ---
40
+
41
+ ### API 接口检查
42
+
43
+ - [ ] 每个接口有"业务场景"说明
44
+ - [ ] 每个接口有"能力边界"说明(做什么/不做什么)
45
+ - [ ] 每个接口有"输入"表(参数/类型/必填/说明/约束)
46
+ - [ ] 每个接口有"输出"表(字段/说明)
47
+ - [ ] 每个接口有"关键规则"段落
48
+ - [ ] 每条规则有执行方标注
49
+ - [ ] 每个接口有"涉及的数据对象"链接
50
+ - [ ] 每个接口有"可能的错误"表
51
+ - [ ] 每个接口有"调用示例"(真实可用)
52
+ - [ ] 每个接口有"写权限分级"
53
+
54
+ ---
55
+
56
+ ### 明细层检查
57
+
58
+ - [ ] Schema 表有"对应领域属性/API字段"列
59
+ - [ ] 枚举表有 ✅/⚠️ 标记
60
+ - [ ] 错误码表有"AI 应如何向用户解释"列
61
+ - [ ] 冲突清单有"本体/需求"、"代码"、"AI 影响"三列
62
+
63
+ ---
64
+
65
+ ### 交叉引用检查
66
+
67
+ - [ ] 所有链接使用 `[[slug]]` 格式
68
+ - [ ] 对象↔接口↔Schema 三者互相链接
69
+ - [ ] 无明显断链(链接目标不存在但未标记"待补")
70
+
71
+ ---
72
+
73
+ ### 命名规范检查
74
+
75
+ - [ ] 文件名使用小写 kebab-case
76
+ - [ ] API 字段沿用代码实际返回的命名
77
+ - [ ] 枚举值使用业务实际值(含中文)
78
+
79
+ ---
80
+
81
+ ## 动态验证清单
82
+
83
+ ### 读/查询场景
84
+
85
+ | 测试 | 验证内容 | 结果 |
86
+ |------|----------|------|
87
+ | 名称→ID 解析 | AI 能正确调用主数据接口解析名称 | ✅/❌ |
88
+ | 查询参数 | AI 能正确构造查询参数 | ✅/❌ |
89
+ | 结果解读 | AI 能正确解读返回结果 | ✅/❌ |
90
+
91
+ ### 写/录入场景
92
+
93
+ | 测试 | 验证内容 | 结果 |
94
+ |------|----------|------|
95
+ | 必填字段 | AI 能识别必填字段并提示用户 | ✅/❌ |
96
+ | 用例编排 | AI 能按正确顺序调用接口 | ✅/❌ |
97
+ | 服务端维护字段 | AI 不传入服务端维护字段 | ✅/❌ |
98
+ | 回显确认 | 写操作前回显给用户确认 | ✅/❌ |
99
+
100
+ ### 统计场景
101
+
102
+ | 测试 | 验证内容 | 结果 |
103
+ |------|----------|------|
104
+ | 口径理解 | AI 能正确理解统计接口口径 | ✅/❌ |
105
+ | 参数构造 | AI 能正确构造统计参数 | ✅/❌ |
106
+
107
+ ### 规则反例场景
108
+
109
+ | 测试 | 验证内容 | 结果 |
110
+ |------|----------|------|
111
+ | 规则预判 | AI 能预判违反规则的错误 | ✅/❌ |
112
+ | 错误解释 | AI 能根据 error-codes.md 解释错误 | ✅/❌ |
113
+
114
+ ---
115
+
116
+ ## 验证结论
117
+
118
+ | 检查项 | 通过数 | 总数 | 通过率 |
119
+ |--------|--------|------|--------|
120
+ | 目录结构 | | 13 | |
121
+ | 领域对象 | | 9 | |
122
+ | API 接口 | | 10 | |
123
+ | 明细层 | | 4 | |
124
+ | 交叉引用 | | 3 | |
125
+ | 命名规范 | | 3 | |
126
+ | 动态验证 | | 12 | |
127
+
128
+ **总通过率要求**: >= 90%
129
+
130
+ ---
131
+
132
+ ## 验证记录
133
+
134
+ | 日期 | 验证人 | 通过率 | 备注 |
135
+ |------|--------|--------|------|
136
+ | | | | |
137
+
138
+ ---
139
+
140
+ ## 发现的问题
141
+
142
+ 1.
143
+ 2.
144
+ 3.
145
+
146
+ ---
147
+
148
+ ## 修复计划
149
+
150
+ | 问题 | 修复方案 | 状态 |
151
+ |------|----------|------|
152
+ | | | 待修复/已修复 |
@@ -0,0 +1,128 @@
1
+ # 实跑验证测试集模板
2
+
3
+ > 用于 S6 验证阶段的测试集准备
4
+
5
+ ---
6
+
7
+ ## 测试集四类场景
8
+
9
+ ### 1. 读/查询场景
10
+
11
+ | 测试ID | 用户输入 | 预期行为 | 验证点 |
12
+ |--------|----------|----------|--------|
13
+ | R01 | "查 X 部门今年的合同" | 调用 query-contracts 接口 | 名称→ID 解析、查询参数 |
14
+ | R02 | "查看合同 C001 的详情" | 调用 get-contract-detail 接口 | ID 定位、详情字段解读 |
15
+ | R03 | "列出所有待开票的合同" | 调用 query-open-invoices 接口 | 状态过滤、列表解读 |
16
+ | R04 | "查客户 A 的所有合同" | 调用 query-contracts 接口 | 客户 ID 解析、过滤参数 |
17
+
18
+ ---
19
+
20
+ ### 2. 写/录入场景
21
+
22
+ | 测试ID | 用户输入 | 预期行为 | 验证点 |
23
+ |--------|----------|----------|--------|
24
+ | W01 | "给客户 A 录个合同,48 万,税率 13%" | 调用 create-contract 接口 | ID 解析、必填字段、回显确认 |
25
+ | W02 | "给合同 C001 开票,阶段 1,金额 14.4 万" | 调用 create-invoice 接口 | 合同详情获取、可开票额计算 |
26
+ | W03 | "确认发票 I001 已收款" | 调用 receive-payment 接口 | 发票状态检查、收款确认 |
27
+ | W04 | "作废合同 C001" | 调用 void-contract 接口(如有) | 状态检查、权限确认 |
28
+
29
+ ---
30
+
31
+ ### 3. 统计场景
32
+
33
+ | 测试ID | 用户输入 | 预期行为 | 验证点 |
34
+ |--------|----------|----------|--------|
35
+ | S01 | "未来三个月各部门预计收多少" | 调用 receipt-budget 接口 | 统计口径理解、参数构造 |
36
+ | S02 | "今年已开票总额是多少" | 调用统计接口 | 时间范围、聚合口径 |
37
+ | S03 | "各部门合同数量分布" | 调用统计接口 | 分组维度、结果解读 |
38
+ | S04 | "客户 A 的收款进度" | 调用 get-contract-detail 接口 | 累计收款计算、进度解读 |
39
+
40
+ ---
41
+
42
+ ### 4. 规则反例场景
43
+
44
+ | 测试ID | 用户输入 | 预期错误 | 验证点 |
45
+ |--------|----------|----------|--------|
46
+ | E01 | "付款比例:预付 20% + 验收 30%" | "付款比例合计必须等于 1" | 规则预判、错误解释 |
47
+ | E02 | "给已收款的发票再次确认收款" | "发票已收款,不可重复确认" | 状态检查、错误解释 |
48
+ | E03 | "开票金额超过合同总额" | "开票金额超过剩余可开票额" | 额度计算、错误解释 |
49
+ | E04 | "使用不存在的客户 ID" | "客户不存在" | ID 验证、错误解释 |
50
+
51
+ ---
52
+
53
+ ## 测试执行记录模板
54
+
55
+ ### 测试 R01
56
+
57
+ | 字段 | 内容 |
58
+ |------|------|
59
+ | 测试ID | R01 |
60
+ | 用户输入 | "查华东部门今年的合同" |
61
+ | AI 推导 | 1. 调用 reference-data 解析"华东部门" → deptId=xxx<br>2. 调用 query-contracts(deptId=xxx, year=2026) |
62
+ | 实际调用 | |
63
+ | 返回结果 | |
64
+ | 验证点 | 名称→ID 解析:✅/❌<br>查询参数:✅/❌ |
65
+ | 结论 | 通过/失败 |
66
+ | 备注 | |
67
+
68
+ ---
69
+
70
+ ### 测试 W01
71
+
72
+ | 字段 | 内容 |
73
+ |------|------|
74
+ | 测试ID | W01 |
75
+ | 用户输入 | "给星河制造录个合同,集成交付服务,销售二部李强负责,48 万,税率 13%,分预付 30%/验收 40%/尾款 30%" |
76
+ | AI 推导 | 1. 调用 reference-data 解析客户/产品/部门/负责人<br>2. 回显解析结果<br>3. 用户确认<br>4. 调用 create-contract |
77
+ | 实际调用 | |
78
+ | 返回结果 | |
79
+ | 验证点 | ID 解析:✅/❌<br>必填字段:✅/❌<br>回显确认:✅/❌<br>服务端维护字段未传入:✅/❌ |
80
+ | 结论 | 通过/失败 |
81
+ | 备注 | |
82
+
83
+ ---
84
+
85
+ ### 测试 E01
86
+
87
+ | 字段 | 内容 |
88
+ |------|------|
89
+ | 测试ID | E01 |
90
+ | 用户输入 | "付款比例:预付 20% + 验收 30%" |
91
+ | AI 推导 | AI 应预判比例合计=0.5≠1,提示用户调整 |
92
+ | 实际行为 | |
93
+ | 返回结果 | |
94
+ | 验证点 | 规则预判:✅/❌<br>错误解释:✅/❌ |
95
+ | 结论 | 通过/失败 |
96
+ | 备注 | |
97
+
98
+ ---
99
+
100
+ ## 验证汇总
101
+
102
+ | 类型 | 测试数 | 通过数 | 通过率 |
103
+ |------|--------|--------|--------|
104
+ | 读/查询 | 4 | | |
105
+ | 写/录入 | 4 | | |
106
+ | 统计 | 4 | | |
107
+ | 规则反例 | 4 | | |
108
+ | **总计** | **16** | | |
109
+
110
+ **判定标准**:
111
+ - 通过率 >= 90% → 文档可用性通过
112
+ - 通过率 < 90% → 需迭代修复
113
+
114
+ ---
115
+
116
+ ## 发现的文档缺口
117
+
118
+ | 缺口 | 影响测试 | 修复方案 |
119
+ |------|----------|----------|
120
+ | | | |
121
+
122
+ ---
123
+
124
+ ## 迭代修复记录
125
+
126
+ | 日期 | 修复内容 | 重新验证结果 |
127
+ |------|----------|----------|
128
+ | | | |
@@ -0,0 +1,81 @@
1
+ ---
2
+ name: environment-deploy
3
+ description: Prepare deployment and runtime prerequisites when a workspace or target environment needs setup
4
+ lifecycle_stage: scaffold
5
+ rule_profile: scaffold
6
+ dependencies:
7
+ - project-bootstrap
8
+ triggers:
9
+ - deploy
10
+ - environment
11
+ - runtime
12
+ - install
13
+ - bootstrap
14
+ - setup
15
+ inputs:
16
+ - deployment target
17
+ - runtime requirements
18
+ - workspace state
19
+ outputs:
20
+ - environment plan
21
+ - deployment notes
22
+ - bootstrap instructions
23
+ workflow:
24
+ - verify the target environment
25
+ - prepare runtime and deployment prerequisites
26
+ - document the setup steps
27
+ - hand off to feature-build or project-bootstrap
28
+ gates:
29
+ - stop at environment setup
30
+ - do not change product scope
31
+ - do not generate business logic
32
+ refs:
33
+ - skills/references/rule-loading-map.md
34
+ - skills/references/prompt-replay-checklist.md
35
+ - skills/references/full-chain-replay-scenarios.md
36
+ - rules/index.md
37
+ ---
38
+
39
+ # Environment Deploy
40
+
41
+ ## Purpose
42
+
43
+ Prepare deployment and runtime environments without changing application scope.
44
+
45
+ ## Suitable / Unsuitable
46
+
47
+ - Suitable: runtime setup, deployment prerequisites, bootstrap instructions
48
+ - Unsuitable: product discovery, architecture changes, implementation work
49
+
50
+ ## Workflow
51
+
52
+ 1. Verify the target environment.
53
+ 2. Prepare runtime and deployment prerequisites.
54
+ 3. Document the setup steps.
55
+ 4. Hand off to `feature-build` or `project-bootstrap`.
56
+
57
+ ## Replay Signals
58
+
59
+ - Input signal: deployment target, runtime requirements, workspace state.
60
+ - Output to verify: environment plan, deployment notes, bootstrap instructions.
61
+ - Stop signal: product scope changes or business logic generation.
62
+ - Handoff signal: the environment is ready for `feature-build` or `project-bootstrap`.
63
+
64
+ ## Examples
65
+
66
+ - Input: "Prepare the runtime and deployment prerequisites for this workspace."
67
+ - Output: environment plan, deployment notes, bootstrap instructions
68
+ - Stop: do not change product scope or generate business logic
69
+
70
+ ## Stop Rules
71
+
72
+ - Stop at environment setup.
73
+ - Do not change product scope.
74
+ - Do not generate business logic.
75
+
76
+ ## References
77
+
78
+ - `skills/references/rule-loading-map.md`
79
+ - `skills/references/prompt-replay-checklist.md`
80
+ - `skills/references/full-chain-replay-scenarios.md`
81
+ - `rules/index.md`
@@ -0,0 +1,122 @@
1
+ ---
2
+ name: feature-build
3
+ description: Implement approved design changes when code, refactor, or integration work needs to stay within agreed boundaries
4
+ lifecycle_stage: build
5
+ rule_profile: implementation
6
+ dependencies:
7
+ - technical-design
8
+ triggers:
9
+ - coding
10
+ - implementation
11
+ - refactor
12
+ - entity
13
+ - controller
14
+ - service
15
+ - mapper
16
+ inputs:
17
+ - executable spec
18
+ - design decisions
19
+ - confirmed task breakdown plan
20
+ - rules bundle
21
+ outputs:
22
+ - code changes
23
+ - implementation notes
24
+ - validation evidence
25
+ - self-test evidence
26
+ workflow:
27
+ - load the selected rules bundle
28
+ - confirm the task breakdown plan before coding
29
+ - implement one task at a time within the approved scope
30
+ - run local self-tests after each completed task
31
+ - record evidence for each finished task
32
+ - validate compile-time and local correctness
33
+ - hand off to test-design
34
+ gates:
35
+ - stop at implementation
36
+ - do not rewrite the spec
37
+ - do not change the agreed boundaries
38
+ - do not bypass the rules bundle
39
+ refs:
40
+ - skills/references/rule-loading-map.md
41
+ - skills/references/flow-test-cases.md
42
+ - skills/references/full-chain-replay-scenarios.md
43
+ - skills/references/prompt-replay-checklist.md
44
+ - rules/index.md
45
+ ---
46
+
47
+ # Feature Build
48
+
49
+ ## Purpose
50
+
51
+ Implement the approved design without changing the agreed scope.
52
+
53
+ ## Suitable / Unsuitable
54
+
55
+ - Suitable: entity, mapper, service, controller, refactor, local validation, task-level implementation
56
+ - Unsuitable: redesigning requirements, changing boundaries, bypassing rules, writing unrelated tests
57
+
58
+ ## Quick Start
59
+
60
+ - Load the selected rules bundle first.
61
+ - Implement only the confirmed scope from the approved design.
62
+ - Split work into small tasks before implementation if the spec is still too coarse.
63
+ - Treat the task as the smallest implementation unit.
64
+ - Validate each task locally before starting the next one.
65
+ - Record evidence immediately after each task is complete.
66
+ - Validate compile-time and local correctness before handing off.
67
+
68
+ ## Inputs / Outputs
69
+
70
+ - Inputs:
71
+ - executable spec
72
+ - design decisions
73
+ - confirmed task breakdown plan
74
+ - rules bundle
75
+ - Outputs:
76
+ - code changes
77
+ - implementation notes
78
+ - validation evidence
79
+ - self-test evidence
80
+ - task-level evidence
81
+
82
+ ## Workflow
83
+
84
+ 1. Load the selected rules bundle.
85
+ 2. Confirm the task breakdown plan and smallest executable units.
86
+ 3. Implement one task at a time within the approved scope.
87
+ 4. Run local self-tests after each task and record the evidence.
88
+ 5. Validate compile-time and local correctness.
89
+ 6. Hand off to `test-design`.
90
+
91
+ ## Replay Signals
92
+
93
+ - Input signal: confirmed spec, approved design, confirmed task breakdown plan, and selected rules bundle.
94
+ - Output to verify: code changes, implementation notes, validation evidence, self-test evidence, task-level evidence.
95
+ - Stop signal: spec rewrites, scope expansion, or bypassing the rules bundle.
96
+ - Handoff signal: implementation is ready for `test-design`.
97
+
98
+ ## Gotchas
99
+
100
+ - Do not rewrite the spec while implementing.
101
+ - Do not expand the boundary because implementation is inconvenient.
102
+ - Do not bypass the rules bundle for convenience.
103
+ - Do not leave validation evidence implicit.
104
+ - Do not batch unrelated tasks into a single implementation step.
105
+ - Do not postpone self-test until the end of the whole change.
106
+ - Do not lose task-level evidence.
107
+
108
+ ## Stop Rules
109
+
110
+ - Stop at implementation.
111
+ - Do not rewrite the spec.
112
+ - Do not change the agreed boundaries.
113
+ - Do not skip the rules bundle.
114
+ - Do not bypass the rules bundle.
115
+
116
+ ## References
117
+
118
+ - `skills/references/rule-loading-map.md`
119
+ - `skills/references/flow-test-cases.md`
120
+ - `skills/references/engineering-delivery-method.md`
121
+ - `skills/references/engineering-delivery-template.md`
122
+ - `rules/index.md`