@haaaiawd/anws 2.2.1 → 2.2.3

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 (41) hide show
  1. package/README.md +39 -226
  2. package/bin/cli.js +112 -112
  3. package/lib/changelog.js +258 -258
  4. package/lib/copy.js +116 -109
  5. package/lib/diff.js +11 -0
  6. package/lib/manifest.js +3 -1
  7. package/lib/update.js +319 -319
  8. package/package.json +2 -1
  9. package/templates/.agents/skills/anws-system/SKILL.md +108 -106
  10. package/templates/.agents/skills/code-reviewer/SKILL.md +63 -288
  11. package/templates/.agents/skills/concept-modeler/SKILL.md +179 -176
  12. package/templates/.agents/skills/craft-authoring/SKILL.md +123 -0
  13. package/templates/.agents/skills/design-reviewer/SKILL.md +190 -176
  14. package/templates/.agents/skills/e2e-testing-guide/SKILL.md +204 -0
  15. package/templates/.agents/skills/nexus-mapper/SKILL.md +321 -306
  16. package/templates/.agents/skills/report-template/SKILL.md +92 -85
  17. package/templates/.agents/skills/runtime-inspector/SKILL.md +12 -12
  18. package/templates/.agents/skills/sequential-thinking/SKILL.md +225 -216
  19. package/templates/.agents/skills/spec-writer/SKILL.md +9 -9
  20. package/templates/.agents/skills/spec-writer/references/prd_template.md +6 -6
  21. package/templates/.agents/skills/system-architect/SKILL.md +678 -620
  22. package/templates/.agents/skills/system-designer/SKILL.md +599 -532
  23. package/templates/.agents/skills/system-designer/references/system-design-detail-template.md +5 -5
  24. package/templates/.agents/skills/system-designer/references/system-design-template.md +45 -45
  25. package/templates/.agents/skills/task-planner/SKILL.md +601 -531
  26. package/templates/.agents/skills/task-planner/references/TASK_TEMPLATE.md +97 -97
  27. package/templates/.agents/skills/task-reviewer/SKILL.md +388 -363
  28. package/templates/.agents/skills/tech-evaluator/SKILL.md +144 -135
  29. package/templates/.agents/skills/tech-evaluator/references/ADR_TEMPLATE.md +80 -78
  30. package/templates/.agents/workflows/blueprint.md +130 -130
  31. package/templates/.agents/workflows/challenge.md +450 -491
  32. package/templates/.agents/workflows/change.md +215 -238
  33. package/templates/.agents/workflows/craft.md +243 -664
  34. package/templates/.agents/workflows/design-system.md +32 -32
  35. package/templates/.agents/workflows/explore.md +78 -49
  36. package/templates/.agents/workflows/forge.md +455 -422
  37. package/templates/.agents/workflows/genesis.md +127 -180
  38. package/templates/.agents/workflows/probe.md +243 -238
  39. package/templates/.agents/workflows/quickstart.md +23 -38
  40. package/templates/.agents/workflows/upgrade.md +10 -10
  41. package/templates/AGENTS.md +49 -34
@@ -1,176 +1,179 @@
1
- ---
2
- name: concept-modeler
3
- description: 当用户需求模糊、术语不清晰时使用。通过交互式追问澄清领域概念,提取实体、流程和暗物质。由 /genesis Step 1 调用。
4
- ---
5
-
6
- # 领域建模师 (Domain Modeler)
7
-
8
- > "如果你描述不清楚,你就造不出来。" —— Eric Evans
9
-
10
- 本技能通过**交互式追问**将用户的"感觉词"转化为清晰的领域模型。
11
-
12
- ---
13
-
14
- ## 🎯 使命与定位
15
-
16
- **这个技能是什么**: 通过与用户交互,澄清模糊需求,建立领域模型(实体、流程、暗物质)。
17
-
18
- **何时调用**:
19
- - `/genesis` Step 1: 需求澄清阶段
20
- - 用户需求使用模糊术语("同步"、"列表"、"管理")
21
- - 需要建立 Ubiquitous Language
22
-
23
- **何时不调用**:
24
- - 需求已经清晰、术语已定义
25
- - 纯技术实现讨论(无需领域建模)
26
-
27
- ---
28
-
29
- ## ⚠️ 核心原则
30
-
31
- > [!IMPORTANT]
32
- > **一次只问一个问题,不一次性输出所有问题。**
33
- >
34
- > **为什么?** 用户一次只能思考一个问题。逐个追问能获得更准确的答案,也避免用户被问题淹没。
35
-
36
- ---
37
-
38
- ## 🧭 交互流程 (Interactive Process)
39
-
40
- ### Step 1: 扫描模糊区域
41
-
42
- **目标**: 识别需求中的模糊术语和缺失信息。
43
-
44
- > [!IMPORTANT]
45
- > 你**必须**先扫描用户需求,识别以下类别的模糊点:
46
- >
47
- > | 类别 | 检查问题 |
48
- > | :--- | :--- |
49
- > | **实体模糊** | "列表"是什么?`Wishlist`?`ShoppingCart`?`TodoList`? |
50
- > | **动词模糊** | "同步"是单向/双向?实时/批量?失败策略? |
51
- > | **暗物质** | 用户只描述 Happy Path——错误处理?持久化?认证? |
52
- > | **边界模糊** | 谁能访问?数据量多大?并发要求? |
53
-
54
- **内部产出**: 生成候选问题队列(最多 5 个),按影响排序。**不输出队列**。
55
-
56
- ---
57
-
58
- ### Step 2: 交互式追问循环
59
-
60
- **目标**: 逐个澄清模糊点,每次只问一个问题。
61
-
62
- > [!IMPORTANT]
63
- > **追问规则**:
64
- > - 最多问 **5 个问题**
65
- > - 每个问题必须是**多选题**或**短回答(≤5 词)**
66
- > - 每次只输出**一个问题**
67
-
68
- #### 2.1 多选题格式
69
-
70
- 对于有多种明确选项的问题:
71
-
72
- ```markdown
73
- **推荐:** 选项 B - 实时双向同步能保证数据一致性,适合用户多设备场景。
74
-
75
- | 选项 | 描述 |
76
- | :--- | :--- |
77
- | A | 单向同步(仅上传) |
78
- | B | 实时双向同步 |
79
- | C | 批量定时同步 |
80
- | 自定义 | 提供简短描述(≤5 词) |
81
-
82
- 回复选项字母(如 "B"),说 "yes" "推荐" 接受推荐,或提供自定义答案。
83
- ```
84
-
85
- #### 2.2 短回答格式
86
-
87
- 对于需要用户自定义的问题:
88
-
89
- ```markdown
90
- **建议:** 用户愿望清单 - 这是电商场景最常见的术语。
91
-
92
- 格式: 简短回答(≤5 词)。说 "yes" 或 "建议" 接受建议,或提供你的答案。
93
- ```
94
-
95
- #### 2.3 停止条件
96
-
97
- 停止追问当:
98
- - 所有关键模糊点已澄清
99
- - 用户说 "done"、"好了"、"继续"
100
- - 已问满 5 个问题
101
-
102
- ---
103
-
104
- ### Step 3: 增量更新模型
105
-
106
- **目标**: 每次获得答案后,立即更新领域模型。
107
-
108
- > [!IMPORTANT]
109
- > **每个答案接受后立即更新**,不要等所有问题结束。
110
-
111
- **更新规则**:
112
- 1. 实体澄清 → 更新 `entities` 列表
113
- 2. 动词澄清 → 更新 `flows` 列表
114
- 3. 暗物质识别 → 更新 `missing_components` 列表
115
- 4. 术语统一 → 记录到 `glossary`
116
-
117
- ---
118
-
119
- ## 📤 输出格式
120
-
121
- **输出路径**: `.anws/v{N}/concept_model.json`
122
-
123
- ```json
124
- {
125
- "glossary": {
126
- "Wishlist": "用户的愿望清单,可添加商品但不直接结算",
127
- "Sync": "实时双向同步,保证多设备数据一致"
128
- },
129
- "entities": [
130
- { "name": "Wishlist", "type": "聚合根", "necessity": "必须", "description": "用户的愿望清单" },
131
- { "name": "WishlistItem", "type": "实体", "necessity": "必须", "description": "愿望清单中的商品项" }
132
- ],
133
- "flows": [
134
- { "from": "User", "action": "添加", "to": "Wishlist", "data": "Product ID", "trigger": "用户点击" },
135
- { "from": "Wishlist", "action": "同步", "to": "RemoteServer", "data": "全量数据", "mode": "实时双向" }
136
- ],
137
- "missing_components": [
138
- { "component": "同步冲突解决", "category": "错误处理", "priority": "", "reason": "多设备同时修改" },
139
- { "component": "离线队列", "category": "可靠性", "priority": "", "reason": "网络断开时暂存操作" }
140
- ],
141
- "clarifications": [
142
- { "question": "同步是实时的还是批量的?", "answer": "实时双向同步" }
143
- ]
144
- }
145
- ```
146
-
147
- ---
148
-
149
- ## 🛡️ 老师傅守则
150
-
151
- 1. **不要假设**: 永远不要假设你理解了用户的词汇。追问确认。
152
- 2. **一次一个**: 用户一次只能思考一个问题。不要输出问题列表。
153
- 3. **推荐优先**: 给出推荐选项 + 理由,让用户更容易决策。
154
- 4. **增量更新**: 每个答案立即写入文件,避免上下文丢失。
155
- 5. **术语统一**: 一旦确定术语,全程使用该术语,避免同义词。
156
- 6. **工具优先提问**: 如果当前环境提供 `ask question` 等结构化提问工具,优先使用工具发起问题,而不是让用户手动输入整段回复。
157
-
158
- ---
159
-
160
- ## 📋 完成标准
161
-
162
- <completion_criteria>
163
- - 澄清了关键模糊术语(记录到 glossary)
164
- - 识别了核心实体和关系
165
- - ✅ 发现了用户没说的暗物质组件
166
- - ✅ 领域模型保存到 `.anws/v{N}/concept_model.json`
167
- - ✅ 用户确认术语理解正确
168
- </completion_criteria>
169
-
170
- ---
171
-
172
- ## Collaboration
173
-
174
- * **Before**: 用户提供的模糊需求描述
175
- * **After**: `spec-writer` 基于澄清后的需求生成 PRD
176
- * **Synergy**: 你的领域模型为后续架构设计提供清晰的术语基础
1
+ ---
2
+
3
+ ## name: concept-modeler
4
+
5
+ description: 当用户需求模糊、术语不清晰时使用。通过交互式追问澄清领域概念,提取实体、流程和暗物质。由 /genesis Step 1 调用。
6
+
7
+ # 领域建模师 (Domain Modeler)
8
+
9
+ > "如果你描述不清楚,你就造不出来。" —— Eric Evans
10
+
11
+ 本技能通过**交互式追问**将用户的"感觉词"转化为清晰的领域模型。
12
+
13
+ ---
14
+
15
+ ## 使命与定位
16
+
17
+ **这个技能是什么**: 通过与用户交互,澄清模糊需求,建立领域模型(实体、流程、暗物质)。
18
+
19
+ **何时调用**:
20
+
21
+ - `/genesis` Step 1: 需求澄清阶段
22
+ - 用户需求使用模糊术语("同步"、"列表"、"管理")
23
+ - 需要建立 Ubiquitous Language
24
+
25
+ **何时不调用**:
26
+
27
+ - 需求已经清晰、术语已定义
28
+ - 纯技术实现讨论(无需领域建模)
29
+
30
+ ---
31
+
32
+ ## 核心原则
33
+
34
+ > [!IMPORTANT]
35
+ > **一次只问一个问题,不一次性输出所有问题。**
36
+ >
37
+ > **为什么?** 用户一次只能思考一个问题。逐个追问能获得更准确的答案,也避免用户被问题淹没。
38
+
39
+ ---
40
+
41
+ ## 交互流程 (Interactive Process)
42
+
43
+ ### Step 1: 扫描模糊区域
44
+
45
+ **目标**: 识别需求中的模糊术语和缺失信息。
46
+
47
+ > [!IMPORTANT]
48
+ > 你**必须**先扫描用户需求,识别以下类别的模糊点:
49
+ >
50
+ >
51
+ > | 类别 | 检查问题 |
52
+ > | -------- | --------------------------------------------- |
53
+ > | **实体模糊** | "列表"是什么?`Wishlist`?`ShoppingCart`?`TodoList`? |
54
+ > | **动词模糊** | "同步"是单向/双向?实时/批量?失败策略? |
55
+ > | **暗物质** | 用户只描述 Happy Path——错误处理?持久化?认证? |
56
+ > | **边界模糊** | 谁能访问?数据量多大?并发要求? |
57
+ >
58
+
59
+ **内部产出**: 生成候选问题队列(最多 5 个),按影响排序。**不输出队列**。
60
+
61
+ ---
62
+
63
+ ### Step 2: 交互式追问循环
64
+
65
+ **目标**: 逐个澄清模糊点,每次只问一个问题。
66
+
67
+ > [!IMPORTANT]
68
+ > **追问规则**:
69
+ >
70
+ > - 最多问 **5 个问题**
71
+ > - 每个问题必须是**多选题**或**短回答(≤5 词)**
72
+ > - 每次只输出**一个问题**
73
+
74
+ #### 2.1 多选题格式
75
+
76
+ 对于有多种明确选项的问题:
77
+
78
+ ```markdown
79
+ **推荐:** 选项 B - 实时双向同步能保证数据一致性,适合用户多设备场景。
80
+
81
+ | 选项 | 描述 |
82
+ | :--- | :--- |
83
+ | A | 单向同步(仅上传) |
84
+ | B | 实时双向同步 |
85
+ | C | 批量定时同步 |
86
+ | 自定义 | 提供简短描述(≤5 词) |
87
+
88
+ 回复选项字母(如 "B"),说 "yes" 或 "推荐" 接受推荐,或提供自定义答案。
89
+ ```
90
+
91
+ #### 2.2 短回答格式
92
+
93
+ 对于需要用户自定义的问题:
94
+
95
+ ```markdown
96
+ **建议:** 用户愿望清单 - 这是电商场景最常见的术语。
97
+
98
+ 格式: 简短回答(≤5 词)。说 "yes" 或 "建议" 接受建议,或提供你的答案。
99
+ ```
100
+
101
+ #### 2.3 停止条件
102
+
103
+ 停止追问当:
104
+
105
+ - 所有关键模糊点已澄清
106
+ - 用户说 "done"、"好了"、"继续"
107
+ - 已问满 5 个问题
108
+
109
+ ---
110
+
111
+ ### Step 3: 增量更新模型
112
+
113
+ **目标**: 每次获得答案后,立即更新领域模型。
114
+
115
+ > [!IMPORTANT]
116
+ > **每个答案接受后立即更新**,不要等所有问题结束。
117
+
118
+ **更新规则**:
119
+
120
+ 1. 实体澄清 → 更新 `entities` 列表
121
+ 2. 动词澄清 → 更新 `flows` 列表
122
+ 3. 暗物质识别 → 更新 `missing_components` 列表
123
+ 4. 术语统一 → 记录到 `glossary`
124
+
125
+ ---
126
+
127
+ ## 输出格式
128
+
129
+ **输出路径**: `.anws/v{N}/concept_model.json`
130
+
131
+ ```json
132
+ {
133
+ "glossary": {
134
+ "Wishlist": "用户的愿望清单,可添加商品但不直接结算",
135
+ "Sync": "实时双向同步,保证多设备数据一致"
136
+ },
137
+ "entities": [
138
+ { "name": "Wishlist", "type": "聚合根", "necessity": "必须", "description": "用户的愿望清单" },
139
+ { "name": "WishlistItem", "type": "实体", "necessity": "必须", "description": "愿望清单中的商品项" }
140
+ ],
141
+ "flows": [
142
+ { "from": "User", "action": "添加", "to": "Wishlist", "data": "Product ID", "trigger": "用户点击" },
143
+ { "from": "Wishlist", "action": "同步", "to": "RemoteServer", "data": "全量数据", "mode": "实时双向" }
144
+ ],
145
+ "missing_components": [
146
+ { "component": "同步冲突解决", "category": "错误处理", "priority": "高", "reason": "多设备同时修改" },
147
+ { "component": "离线队列", "category": "可靠性", "priority": "中", "reason": "网络断开时暂存操作" }
148
+ ],
149
+ "clarifications": [
150
+ { "question": "同步是实时的还是批量的?", "answer": "实时双向同步" }
151
+ ]
152
+ }
153
+ ```
154
+
155
+ ---
156
+
157
+ ## 老师傅守则
158
+
159
+ 1. **不要假设**: 永远不要假设你理解了用户的词汇。追问确认。
160
+ 2. **一次一个**: 用户一次只能思考一个问题。不要输出问题列表。
161
+ 3. **推荐优先**: 给出推荐选项 + 理由,让用户更容易决策。
162
+ 4. **增量更新**: 每个答案立即写入文件,避免上下文丢失。
163
+ 5. **术语统一**: 一旦确定术语,全程使用该术语,避免同义词。
164
+ 6. **工具优先提问**: 如果当前环境提供 `ask question` 等结构化提问工具,优先使用工具发起问题,而不是让用户手动输入整段回复。
165
+
166
+ ---
167
+
168
+ ## 完成标准
169
+
170
+ - 澄清了关键模糊术语(记录到 glossary) - 识别了核心实体和关系 - 发现了用户没说的暗物质组件 - 领域模型保存到 `.anws/v{N}/concept_model.json` - 用户确认术语理解正确
171
+
172
+ ---
173
+
174
+ ## Collaboration
175
+
176
+ - **Before**: 用户提供的模糊需求描述
177
+ - **After**: `spec-writer` 基于澄清后的需求生成 PRD
178
+ - **Synergy**: 你的领域模型为后续架构设计提供清晰的术语基础
179
+
@@ -0,0 +1,123 @@
1
+ ---
2
+ name: craft-authoring
3
+ description: 执行 /craft 时必读:提供 Workflow / Skill / Prompt 的脚手架模板、防护语法、填充与验证清单;长模板与自检细节不在 craft workflow 内重复,一律以本 skill 为准。
4
+ ---
5
+
6
+ # Craft Authoring — 脚手架与自检
7
+
8
+ 本 skill 承接 **`/craft` workflow** 中「怎么写」的细节;`/craft` 只保留仪式与步骤路由。**禁止**在 workflow 里复述本节全文。
9
+
10
+ ## Workflow 骨架(最小可用)
11
+
12
+ ```markdown
13
+ ---
14
+ description: [一句话,列表展示用]
15
+ ---
16
+
17
+ # /name
18
+
19
+ <phase_context>
20
+ 你是 **[角色]**。
21
+ **使命**:…
22
+ **能力**:…
23
+ **限制**:…
24
+ **原则**:…
25
+ **与用户的关系**:…
26
+ **Output Goal**: `路径`
27
+ </phase_context>
28
+
29
+ ---
30
+
31
+ ## CRITICAL …
32
+
33
+ > [!IMPORTANT]
34
+ > **为什么**:…
35
+ > - …
36
+ > - …
37
+
38
+ ---
39
+
40
+ ## Step 1: …
41
+
42
+ **目标**:…
43
+
44
+ > [!IMPORTANT]
45
+ > 你**必须**… **为什么?** …
46
+
47
+ **思考引导**:
48
+ 1. …
49
+ 2. …
50
+
51
+ ---
52
+
53
+ <completion_criteria>
54
+ - …
55
+ </completion_criteria>
56
+ ```
57
+
58
+ ## Skill 骨架(description 必须是触发条件)
59
+
60
+ ```markdown
61
+ ---
62
+ name: kebab-name
63
+ description: 当 [具体触发场景] 时加载。[一句话能力概括]
64
+ ---
65
+
66
+ # 标题
67
+
68
+ ## 硬边界 / 原则
69
+
70
+
71
+ ## 输入 / 输出契约
72
+
73
+ ```
74
+
75
+ **description 忌**:泛泛「我能处理 PDF」;**宜**:「当用户要读取/编辑 PDF 时」。
76
+
77
+ ## Prompt 骨架
78
+
79
+ ```markdown
80
+ # 标题
81
+
82
+ ## 角色
83
+
84
+
85
+ ## 任务
86
+
87
+
88
+ ## 约束
89
+
90
+
91
+ ## 输出格式
92
+
93
+ ```
94
+
95
+ ## 防护语法速查
96
+
97
+
98
+ | 机制 | 用途 |
99
+ | ----------------------- | -------- |
100
+ | `[!IMPORTANT]` | 不可跳过节点 |
101
+ | `## CRITICAL` | 边界醒目 |
102
+ | `你**必须**` | 强制动作 |
103
+ | 具体引导问题 | 替代「好好想想」 |
104
+ | `<completion_criteria>` | 完成定义 |
105
+
106
+
107
+ 重要约束建议包含:**做什么 / 为什么 / 违反时长什么样**。
108
+
109
+ ## 填充内容(Step 5 等价)
110
+
111
+ 用 `sequential-thinking` 组织 **3–5 个 thought**,覆盖:目标、最易错点、每步 I/O、引导问题、模板复用、调研结论如何打入文档。
112
+
113
+ **质量扫一眼**:目标是否逐步清晰、约束是否有「为什么」、是否有输出模板、关键处有 / 对照(如需)。
114
+
115
+ ## 验证清单(输出前)
116
+
117
+ **结构**:frontmatter、`phase_context`(workflow)、CRITICAL 块、每步有目标、`<completion_criteria>`。
118
+
119
+ **内容**:路径含 `.anws/v{N}/` 若适用、kebab-case、工具调用语法正确。
120
+
121
+ ## 自我批评(输出前最后一道)
122
+
123
+ 用 `sequential-thinking` **3–5 thought**:用户会在哪卡住?AI 可能在哪偷懒跳过?与 `/challenge` 级质量相比缺什么?随后迭代修复再交付。