@haaaiawd/anws 2.2.6 → 2.4.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 (94) hide show
  1. package/README.md +1 -1
  2. package/bin/cli.js +52 -22
  3. package/lib/diff.js +5 -2
  4. package/lib/init.js +217 -96
  5. package/lib/install-state.js +18 -3
  6. package/lib/manifest.js +510 -213
  7. package/lib/prompt.js +68 -0
  8. package/lib/resources/index.js +36 -2
  9. package/lib/update.js +12 -6
  10. package/package.json +48 -47
  11. package/templates/.agents/skills/anws-system/SKILL.md +108 -108
  12. package/templates/.agents/skills/code-reviewer/SKILL.md +170 -103
  13. package/templates/.agents/skills/concept-modeler/SKILL.md +230 -179
  14. package/templates/.agents/skills/craft-authoring/SKILL.md +112 -49
  15. package/templates/.agents/skills/craft-authoring/references/BUNDLE_POLICY.md +61 -0
  16. package/templates/.agents/skills/craft-authoring/references/PROMPT_QUALITY_RUBRIC.md +99 -0
  17. package/templates/.agents/skills/craft-authoring/references/SCORECARD_TEMPLATE.md +64 -0
  18. package/templates/.agents/skills/design-reviewer/SKILL.md +265 -190
  19. package/templates/.agents/skills/e2e-testing-guide/SKILL.md +246 -135
  20. package/templates/.agents/skills/nexus-mapper/SKILL.md +321 -321
  21. package/templates/.agents/skills/output-contract/SKILL.md +37 -0
  22. package/templates/.agents/skills/report-template/SKILL.md +92 -92
  23. package/templates/.agents/skills/sequential-thinking/SKILL.md +222 -225
  24. package/templates/.agents/skills/spec-writer/SKILL.md +75 -30
  25. package/templates/.agents/skills/system-architect/SKILL.md +538 -678
  26. package/templates/.agents/skills/system-designer/SKILL.md +601 -601
  27. package/templates/.agents/skills/task-planner/SKILL.md +1 -2
  28. package/templates/.agents/skills/task-reviewer/SKILL.md +428 -388
  29. package/templates/.agents/skills/tech-evaluator/SKILL.md +252 -144
  30. package/templates/.agents/workflows/blueprint.md +166 -43
  31. package/templates/.agents/workflows/challenge.md +331 -497
  32. package/templates/.agents/workflows/change.md +182 -339
  33. package/templates/.agents/workflows/craft.md +159 -236
  34. package/templates/.agents/workflows/design-system.md +202 -674
  35. package/templates/.agents/workflows/explore.md +187 -399
  36. package/templates/.agents/workflows/forge.md +650 -550
  37. package/templates/.agents/workflows/genesis.md +439 -351
  38. package/templates/.agents/workflows/probe.md +219 -241
  39. package/templates/.agents/workflows/quickstart.md +302 -123
  40. package/templates/.agents/workflows/upgrade.md +145 -182
  41. package/templates_en/.agents/skills/anws-system/SKILL.md +108 -0
  42. package/templates_en/.agents/skills/code-reviewer/SKILL.md +170 -0
  43. package/templates_en/.agents/skills/concept-modeler/SKILL.md +230 -0
  44. package/templates_en/.agents/skills/craft-authoring/SKILL.md +179 -0
  45. package/templates_en/.agents/skills/craft-authoring/references/BUNDLE_POLICY.md +60 -0
  46. package/templates_en/.agents/skills/craft-authoring/references/PROMPT_QUALITY_RUBRIC.md +92 -0
  47. package/templates_en/.agents/skills/craft-authoring/references/SCORECARD_TEMPLATE.md +52 -0
  48. package/templates_en/.agents/skills/design-reviewer/SKILL.md +265 -0
  49. package/templates_en/.agents/skills/e2e-testing-guide/SKILL.md +246 -0
  50. package/templates_en/.agents/skills/nexus-mapper/SKILL.md +306 -0
  51. package/templates_en/.agents/skills/nexus-mapper/references/language-customization.md +167 -0
  52. package/templates_en/.agents/skills/nexus-mapper/references/output-schema.md +311 -0
  53. package/templates_en/.agents/skills/nexus-mapper/references/probe-protocol.md +246 -0
  54. package/templates_en/.agents/skills/nexus-mapper/scripts/extract_ast.py +706 -0
  55. package/templates_en/.agents/skills/nexus-mapper/scripts/git_detective.py +194 -0
  56. package/templates_en/.agents/skills/nexus-mapper/scripts/languages.json +127 -0
  57. package/templates_en/.agents/skills/nexus-mapper/scripts/query_graph.py +556 -0
  58. package/templates_en/.agents/skills/nexus-mapper/scripts/requirements.txt +6 -0
  59. package/templates_en/.agents/skills/nexus-query/SKILL.md +114 -0
  60. package/templates_en/.agents/skills/nexus-query/scripts/extract_ast.py +706 -0
  61. package/templates_en/.agents/skills/nexus-query/scripts/git_detective.py +194 -0
  62. package/templates_en/.agents/skills/nexus-query/scripts/languages.json +127 -0
  63. package/templates_en/.agents/skills/nexus-query/scripts/query_graph.py +556 -0
  64. package/templates_en/.agents/skills/nexus-query/scripts/requirements.txt +6 -0
  65. package/templates_en/.agents/skills/output-contract/SKILL.md +37 -0
  66. package/templates_en/.agents/skills/report-template/SKILL.md +85 -0
  67. package/templates_en/.agents/skills/report-template/references/REPORT_TEMPLATE.md +100 -0
  68. package/templates_en/.agents/skills/runtime-inspector/SKILL.md +101 -0
  69. package/templates_en/.agents/skills/sequential-thinking/SKILL.md +214 -0
  70. package/templates_en/.agents/skills/spec-writer/SKILL.md +153 -0
  71. package/templates_en/.agents/skills/spec-writer/references/prd_template.md +177 -0
  72. package/templates_en/.agents/skills/system-architect/SKILL.md +538 -0
  73. package/templates_en/.agents/skills/system-architect/references/rfc_template.md +59 -0
  74. package/templates_en/.agents/skills/system-designer/SKILL.md +534 -0
  75. package/templates_en/.agents/skills/system-designer/references/system-design-detail-template.md +187 -0
  76. package/templates_en/.agents/skills/system-designer/references/system-design-template.md +605 -0
  77. package/templates_en/.agents/skills/task-planner/SKILL.md +251 -0
  78. package/templates_en/.agents/skills/task-planner/references/TASK_TEMPLATE_05A.md +109 -0
  79. package/templates_en/.agents/skills/task-planner/references/TASK_TEMPLATE_05B.md +176 -0
  80. package/templates_en/.agents/skills/task-reviewer/SKILL.md +428 -0
  81. package/templates_en/.agents/skills/tech-evaluator/SKILL.md +252 -0
  82. package/templates_en/.agents/skills/tech-evaluator/references/ADR_TEMPLATE.md +78 -0
  83. package/templates_en/.agents/workflows/blueprint.md +200 -0
  84. package/templates_en/.agents/workflows/challenge.md +331 -0
  85. package/templates_en/.agents/workflows/change.md +182 -0
  86. package/templates_en/.agents/workflows/craft.md +159 -0
  87. package/templates_en/.agents/workflows/design-system.md +202 -0
  88. package/templates_en/.agents/workflows/explore.md +187 -0
  89. package/templates_en/.agents/workflows/forge.md +651 -0
  90. package/templates_en/.agents/workflows/genesis.md +439 -0
  91. package/templates_en/.agents/workflows/probe.md +219 -0
  92. package/templates_en/.agents/workflows/quickstart.md +303 -0
  93. package/templates_en/.agents/workflows/upgrade.md +145 -0
  94. package/templates_en/AGENTS.md +149 -0
@@ -1,144 +1,252 @@
1
- ---
2
-
3
- ## name: tech-evaluator
4
-
5
- description: 评估技术栈选项,使用加权决策矩阵和 ATAM 方法论产出架构决策记录 (ADR)。
6
-
7
- # 技术评估师手册 (The Tech Evaluator's Manual)
8
-
9
- > "没有最好的技术栈,只有最适合的技术栈。" —— ThoughtWorks Technology Radar
10
-
11
- 本技能基于 **SEI 的 ATAM (Architecture Tradeoff Analysis Method)** 和 **加权决策矩阵** 方法论。
12
-
13
- ---
14
-
15
- ## 强制深度思考
16
-
17
- > [!IMPORTANT]
18
- > 在进行评估之前,你**必须**使用 `sequential-thinking` skill,视复杂情况组织 **3—7 thought** 推理。
19
- > 思考内容例如:
20
- >
21
- > 1. "用户的核心需求是什么?必须支持哪些场景?"
22
- > 2. "团队目前熟悉什么技术?学习新技术的时间预算是多少?"
23
- > 3. "预算约束是什么?云服务成本敏感吗?"
24
- > 4. "这个项目预期规模是什么?需要支持多少并发用户?"
25
- > 5. "有没有合规要求(GDPR、等保)影响技术选择?"
26
-
27
- ---
28
-
29
- ## 任务目标
30
-
31
- 产出 **ADR (Architecture Decision Record)** 文档,记录技术栈决策及其理由。
32
-
33
- ---
34
-
35
- ## 评估流程 (The Evaluation)
36
-
37
- ### 第一步:收集约束 (Gather Constraints)
38
-
39
- **必须从用户处获取**:
40
-
41
- - **功能需求**: 核心功能列表
42
- - **非功能需求**: 性能目标、可用性要求、安全等级
43
- - **团队情况**: 人数、技能栈、学习意愿
44
- - **预算**: 开发预算、运维预算、时间预算
45
- - **特殊约束**: 合规要求、现有系统集成、客户指定技术
46
-
47
- ### 第二步:识别候选技术栈 (Identify Candidates)
48
-
49
- **2025 主流技术栈参考**:
50
-
51
-
52
- | 场景 | 推荐栈 | 备选 |
53
- | ---------- | --------------------------- | --------------------------- |
54
- | **Web 全栈** | Next.js + TypeScript | Nuxt, SvelteKit |
55
- | **后端 API** | Go / Rust / Node.js | Python FastAPI, Java Spring |
56
- | **桌面应用** | Tauri (Rust + Web) | Electron, Flutter Desktop |
57
- | **移动应用** | React Native / Flutter | Swift/Kotlin 原生 |
58
- | **AI/ML** | Python + PyTorch/TensorFlow | Rust (Candle), Julia |
59
- | **数据密集** | PostgreSQL + TimescaleDB | ClickHouse, DuckDB |
60
-
61
-
62
- ### 第三步:12 维度评估 (12-Dimension Evaluation)
63
-
64
- 使用以下矩阵对每个候选栈打分 (1-5 ):
65
-
66
-
67
- | 维度 | 权重建议 | 评估问题 |
68
- | ------------- | ---- | --------------- |
69
- | **需求匹配** | — | 能否实现所有核心功能? |
70
- | **扩展性** | — | 能否支撑 10x 增长? |
71
- | **性能** | — | 能否满足响应时间/吞吐量要求? |
72
- | **安全性** | — | 内置安全特性?合规支持? |
73
- | **团队技能** | — | 团队熟悉程度?学习曲线? |
74
- | **人才市场** | — | 招人容易吗? |
75
- | **开发速度** | — | 能否快速迭代? |
76
- | **TCO (总成本)** | — | 开发+运维+许可证成本? |
77
- | **社区生态** | — | 库/工具丰富度?问题解答速度? |
78
- | **长期维护** | — | 技术寿命?LTS 支持? |
79
- | **集成能力** | — | 与现有系统/第三方服务集成? |
80
- | **AI 就绪** | — | 集成 AI/LLM 的便利性? |
81
-
82
-
83
- ### 第四步:权衡分析 (Trade-off Analysis)
84
-
85
- 使用 **ATAM 方法**:
86
-
87
- 1. 识别**质量属性场景** (如 "1000 并发用户时响应 < 200ms")
88
- 2. 评估每个候选栈对场景的**支持程度**
89
- 3. 识别**权衡点** (如 "选 Go 性能好但团队需学习")
90
- 4. 识别**风险点** (如 "选新框架可能踩坑")
91
-
92
- ### 第五步:产出 ADR (Generate ADR)
93
-
94
- 你**必须**创建 `ADR_001_TECH_STACK.md`,并将其写入 `.anws/v{N}/03_ADR/`。
95
-
96
- ---
97
-
98
- ## ADR 输出模板
99
-
100
- ```markdown
101
- # ADR-001: 技术栈选择
102
-
103
- ## 状态
104
- Accepted / Proposed / Deprecated
105
-
106
- ## 背景
107
- [项目背景和约束描述]
108
-
109
- ## 决策
110
- [选择的技术栈及核心理由]
111
-
112
- ## 候选方案对比
113
-
114
- | 候选 | 总分 | 优势 | 劣势 |
115
- |------|------|------|------|
116
- | 方案 A | 42/60 | ... | ... |
117
- | 方案 B | 38/60 | ... | ... |
118
-
119
- ## 权衡点
120
- - [权衡 1]
121
- - [权衡 2]
122
-
123
- ## 后果
124
- - 正面: [...]
125
- - 负面: [...]
126
- - 需要的后续行动: [...]
127
- ```
128
-
129
- ---
130
-
131
- ## 老师傅守则
132
-
133
- 1. **"无聊"技术优先**: 除非有充分理由,优先选择成熟稳定的技术。
134
- 2. **创新预算有限**: 每个项目只有 1-2 个"创新点"配额,其余用"无聊"技术。
135
- 3. **团队能力为王**: 再好的技术,团队不会用也是白搭。
136
- 4. **TCO 不只是钱**: 时间成本、认知成本也是成本。
137
-
138
- ---
139
-
140
- ## 工具箱
141
-
142
- - `references/ADR_TEMPLATE.md`: ADR 模板
143
- - `references/TECH_RADAR_2025.md`: 2025 技术雷达参考
144
-
1
+ ---
2
+ name: tech-evaluator
3
+ description: 【ALPHA】服务于 `/genesis` Step 3「技术选型」:以 ATAM 与 12 维加权矩阵评估候选栈,产出可追溯的对比结论与 ADR 升格素材;不写正式 ADR 文件(落盘在 Step 5)。与 shipped `templates/` 中同名 skill 同源;优先读本 bundle 内同相对路径的 references。
4
+ ---
5
+
6
+ # 技术评估师手册 — 【ALPHA】Genesis Step 3
7
+
8
+ > "没有最好的技术栈,只有最适合的技术栈。" —— ThoughtWorks Technology Radar
9
+
10
+ 本技能基于 **SEI 的 ATAM (Architecture Tradeoff Analysis Method)** 与 **加权决策矩阵**。在 **`templates_alpha/`** / **`templates_alpha_en/`** ALPHA 工作流中与 `/genesis` 绑定为 **Step 3**;ADR 的**正式写入**与编号治理以 **Step 5** 与 `genesis.md` 为准。
11
+
12
+ ---
13
+
14
+ ## CRITICAL /genesis 门禁(与 shipped skill 的差异收口)
15
+
16
+ > [!IMPORTANT]
17
+ >
18
+ > - **`/genesis` Step 3**:**只输出评估结果与 Markdown 对比素材**,**不得**在本步创建或修改 `.anws/v{N}/03_ADR/` 下任何 ADR 文件。原因见 `genesis.md` Step 3 / Step 5:ADR 为正式决策记录,须在 Step 5 完整审视后落盘。
19
+ > - **Step 5 落盘目标**(供下游引用,非 Step 3 执行项):将 Step 3 对比表升格为 `.anws/v{N}/03_ADR/ADR_001_TECH_STACK.md`(及姊妹 ADR),**章节结构以 `references/ADR_TEMPLATE.md` 为唯一权威**。
20
+ > - 若宿主会话声明 **非** `/genesis` 或显式授权「本步即写 ADR」,以**当场工作流**为准;默认仍按 Step 3 不写 ADR。
21
+
22
+ > [!NOTE]
23
+ > **ADR 时序**:Step 3 只产出评估与对比素材,不写 `03_ADR/`;Step 4 产出系统边界与 `02_*`;Step 5 再升格 ADR,使影响范围与真实系统 ID 对齐。阶段表与四点论证见 **`genesis.md`** Step 3 的 NOTE。若会话非 `/genesis` 或用户授权本步写 ADR,以当场工作流为准。
24
+
25
+ ---
26
+
27
+ ## CRITICAL spec 产出契约(Step 3 交付物)
28
+
29
+ > [!IMPORTANT]
30
+ >
31
+ > - **可核对**:约束块须覆盖功能需求、非功能需求、团队、预算、特殊约束;缺的项写「未提供—评估基于假设 H-…」,不得静默省略。
32
+ > - **可计算**:每个候选栈须有 12 维得分表(1–5)或逐维「不适用 + 原因」;禁止只给总分不给细表。
33
+ > - **可推演**:ATAM 段落须含至少一个**质量属性场景**、若干**权衡点**、若干**风险点**;不得用形容词堆叠代替场景。
34
+ > - **可升格**:最终对比表须能**无损映射**到 **`references/ADR_TEMPLATE.md`** 的章节与必填节,供 Step 5 粘贴与润色。
35
+ > - **验证策略显式**:须回答或标注待决:单测 / 集成 / E2E 侧重、冒烟 / 回归门禁、质量门禁落在 PR / INT / 预发 / 发布的哪一层(与 `genesis.md` Step 3 要求一致)。
36
+ > - **单一真源**:数值与结论以 Step 3 产出表为准;Step 5 仅做编辑与状态流转,不得在无新证据时反向改分。
37
+
38
+ ---
39
+
40
+ ## 强制深度思考
41
+
42
+ > [!IMPORTANT]
43
+ > 在开始评估前**必须**调用 `sequential-thinking` skill,按复杂度组织 **3—7 个 thought**,例如:
44
+ >
45
+ > 1. 用户核心场景与必须支持的用例边界是什么?
46
+ > 2. 团队熟悉度与可接受的学习成本?
47
+ > 3. 预算与云 / 许可证 TCO 敏感度?
48
+ > 4. 预期规模与并发 / 数据量级?
49
+ > 5. 合规(GDPR、等保等)是否一票否决某些栈?
50
+
51
+ ---
52
+
53
+ ## 任务目标(Step 3)
54
+
55
+ 在**不写 ADR 文件**前提下,产出:
56
+
57
+ 1. 结构化**约束摘要**与**候选栈列表**;
58
+ 2. **12 维打分矩阵**与加权汇总说明(权重须声明或采用本文建议并说明);
59
+ 3. **ATAM 权衡与风险**短文;
60
+ 4. 供 Step 5 直接使用的 **Markdown 候选方案对比总表**。
61
+
62
+ ---
63
+
64
+ ## 评估流程 (The Evaluation)
65
+
66
+ ### 第一步:收集约束 (Gather Constraints)
67
+
68
+ **必须从用户或已加载工件取得**(不足的按 spec 契约标注假设):
69
+
70
+ - **功能需求**:核心能力列表(可引用 `01_PRD.md`)。
71
+ - **非功能需求**:性能、可用性、安全等级。
72
+ - **团队情况**:人数、技能栈、学习意愿。
73
+ - **预算**:开发、运维、时间。
74
+ - **特殊约束**:合规、存量系统集成、客户指定技术。
75
+ - (如已执行 Step 2.5)`/explore` 研究结论中的证据与备选方案。
76
+
77
+ #### 做什么
78
+
79
+ 固化输入边界,列出缺口与假设编号。
80
+
81
+ #### 为什么
82
+
83
+ 避免无约束的偏好打分和不复现的结论。
84
+
85
+ #### 怎么验收
86
+
87
+ 输出中可出现「假设 H-xx」对照表;无静默缺项。
88
+
89
+ ---
90
+
91
+ ### 第二步:识别候选技术栈 (Identify Candidates)
92
+
93
+ **主流技术栈参考**(可按项目替换或增删):
94
+
95
+
96
+ | 场景 | 推荐栈 | 备选 |
97
+ | ---------- | --------------------------- | --------------------------- |
98
+ | **Web 全栈** | Next.js + TypeScript | Nuxt, SvelteKit |
99
+ | **后端 API** | Go / Rust / Node.js | Python FastAPI, Java Spring |
100
+ | **桌面应用** | Tauri (Rust + Web) | Electron, Flutter Desktop |
101
+ | **移动应用** | React Native / Flutter | Swift/Kotlin 原生 |
102
+ | **AI/ML** | Python + PyTorch/TensorFlow | Rust (Candle), Julia |
103
+ | **数据密集** | PostgreSQL + TimescaleDB | ClickHouse, DuckDB |
104
+
105
+
106
+ #### 做什么
107
+
108
+ 列出 2 个及以上**具名**候选(语言 / 框架 / 关键中间件级),附一句选型范围说明。
109
+
110
+ #### 为什么
111
+
112
+ 单候选无权衡,无法完成 ATAM。
113
+
114
+ #### 怎么验收
115
+
116
+ 每个候选可被独立打分;无匿名「方案 A/B」。
117
+
118
+ ---
119
+
120
+ ### 第三步:12 维度评估 (12-Dimension Evaluation)
121
+
122
+ 对每个候选按 1–5 分打分:
123
+
124
+
125
+ | 维度 | 权重建议 | 评估问题 |
126
+ | ------------- | ---- | --------------- |
127
+ | **需求匹配** | — | 能否实现所有核心功能? |
128
+ | **扩展性** | — | 能否支撑 10x 增长? |
129
+ | **性能** | — | 能否满足响应时间 / 吞吐量? |
130
+ | **安全性** | — | 内置安全与合规支持? |
131
+ | **团队技能** | — | 熟悉度与学习曲线? |
132
+ | **人才市场** | — | 招聘与外包可得性? |
133
+ | **开发速度** | — | 迭代与交付速度? |
134
+ | **TCO (总成本)** | — | 开发 + 运维 + 许可证? |
135
+ | **社区生态** | — | 库、工具与排障资源? |
136
+ | **长期维护** | — | 技术寿命与 LTS? |
137
+ | **集成能力** | — | 与存量与第三方集成? |
138
+ | **AI 就绪** | — | 接入 AI / LLM 的便利度? |
139
+
140
+
141
+ #### 做什么
142
+
143
+ 填满矩阵;声明权重(均匀或加权)并计算可比总分或档级。
144
+
145
+ #### 为什么
146
+
147
+ 多维透明,便于 Step 5 写入 ADR 证据节。
148
+
149
+ #### 怎么验收
150
+
151
+ 表在 Markdown 中可复算;不适用维度有单行解释。
152
+
153
+ ---
154
+
155
+ ### 第四步:权衡分析 (Trade-off Analysis) — ATAM
156
+
157
+ 1. 识别**质量属性场景**(例:「1000 并发用户时 P95 < 200ms」)。
158
+ 2. 各候选对该场景的**支持程度**分级说明。
159
+ 3. 列出**权衡点**(例:性能好 vs 团队学习成本)。
160
+ 4. 列出**风险点**(例:新版本框架成熟度)。
161
+
162
+ #### 做什么
163
+
164
+ 把「为什么不是第二名」说清楚。
165
+
166
+ #### 为什么
167
+
168
+ ADR 核心价值在取舍与后果,不单是赢家声明。
169
+
170
+ #### 怎么验收
171
+
172
+ 至少 1 个场景 + 若干权衡 / 风险,可与候选表交叉引用。
173
+
174
+ ---
175
+
176
+ ### 第五步:产出 ADR 升格素材(Step 3,非落盘)
177
+
178
+ 在 **`/genesis` Step 3** 下,你**不得**新建或修改 `03_ADR/*.md`。产出完整 **Markdown** 对比结论与升格素材,使 Step 5 能对照 **`references/ADR_TEMPLATE.md`** 无损升格;段落与章节可标 `Proposed` / `待定`。
179
+
180
+ 若工作流显式要求本步预创建占位文件(极少见),仅允许空文件或 MANIFEST 约定路径,**不得**将占位等同于已接受 ADR。
181
+
182
+ **禁止**:在本 SKILL 内再嵌一套与 **`references/ADR_TEMPLATE.md`** 重复的完整 ADR 范文;章节疑问一律以该文件为准。
183
+
184
+ #### 做什么
185
+
186
+ 生成完整对比与符合 `references/ADR_TEMPLATE.md` 场域的草稿(内存或会话消息中的 Markdown)。
187
+
188
+ #### 为什么
189
+
190
+ 与 `genesis` 决策关口对齐,避免未成文的早期 ADR。
191
+
192
+ #### 怎么验收
193
+
194
+ 父代理能在 Step 5 打开 `references/ADR_TEMPLATE.md` 并对齐各节而无信息断档。
195
+
196
+ ---
197
+
198
+ ## 老师傅守则
199
+
200
+ 1. **"无聊"技术优先**:除非有充分理由,选成熟栈。
201
+ 2. **创新预算有限**:每项目 1–2 个创新点配额,其余求稳。
202
+ 3. **团队能力为王**:再好的技术用不了等于零。
203
+ 4. **TCO 不只是钱**:时间与认知负载计入成本。
204
+
205
+ ---
206
+
207
+ ## references 与同 bundle 路径说明
208
+
209
+ 本 bundle 在 **`templates_alpha/.agents/skills/tech-evaluator/references/`** 已包含与 shipped **`templates/`** 镜像的 **`ADR_TEMPLATE.md`**。读取时 **仅以本 SKILL 旁 `references/`** 为准;**禁止**同一会话与 shipped `templates/.agents/skills/tech-evaluator/` 混读同名条文。
210
+
211
+ | 文件 | 用途 |
212
+ |------|------|
213
+ | `references/ADR_TEMPLATE.md` | ADR 体格与必填节 |
214
+
215
+ ---
216
+
217
+ ## 执行形态与子代理编排
218
+
219
+ ### 做什么
220
+
221
+ - **优先**:若宿主提供 **AGENT / 子代理**:可委派**候选搜集**、**单候选多维打分草稿**或 **ATAM 风险草案**;编排侧下发本文 **spec 产出契约 + 门禁 + ADR 模板字段**,收束后为**单一合并稿**。
222
+ - **父代理**:持有 `sequential-thinking` **必须**在主会话或由明确指定的合并代理执行一轮完整 thought 链后再定稿;子代理不可替代该义务除非工作流写明。
223
+ - **回退**:无子代理时,由当前会话完整执行全流程。
224
+
225
+ ### 为什么
226
+
227
+ 并行搜集与串行裁决分离,降低遗漏维度的概率。
228
+
229
+ ### 怎么验收
230
+
231
+ 合并稿仍满足 spec 契约;无互相矛盾的分数或重复候选名;`/genesis` Step 3 **仍无** `03_ADR` 写操作。
232
+
233
+ ---
234
+
235
+ ## Handoff checklist(编排 / 子代理 / Step 5)
236
+
237
+ - [ ] 约束与假设 H-xx 已列全或显式欠缺已声明。
238
+ - [ ] 12 维矩阵 + 权重说明完整。
239
+ - [ ] ATAM:场景、权衡、风险齐全。
240
+ - [ ] Markdown 对比表可映射 `references/ADR_TEMPLATE.md`。
241
+ - [ ] 验证策略与测试分层门禁已作答或单列「待 Step 5 / design-system」。
242
+ - [ ] **`/genesis` Step 3**:确认未创建 / 修改 `03_ADR/*.md`。
243
+
244
+ ---
245
+
246
+ <completion_criteria>
247
+ - `sequential-thinking` 已完成 3—7 thought,且可在输出中见其结论被评估吸收。
248
+ - 交付物满足 **CRITICAL spec 产出契约**(可核对 / 可计算 / 可推演 / 可升格 / 验证策略显式)。
249
+ - 在 `/genesis` Step 3 默认路径下,**未**对 `.anws/v{N}/03_ADR/` 进行 ADR 落盘。
250
+ - Handoff checklist 全部为真或显式豁免项已记入最后一节「未决事项」。
251
+ - 若装载自 `templates_alpha` 或 `templates_alpha_en`,与本次会话其他 skill 取自**同一 overlay 树**,不与 shipped `templates/` 混用同一步骤的异版 skill,以免门禁语义漂移。
252
+ </completion_criteria>
@@ -1,77 +1,200 @@
1
1
  ---
2
- description: "编排 /blueprint:基于设计输入生成 05A_TASKS.md 05B_VERIFICATION_PLAN.md,并完成收口检查。"
2
+ description: "【ALPHA】编排 /blueprint:基于已批准设计输入生成 05A/05B;宿主只保留序、门禁与移交契约;字段与模板以 **本 overlay** `.agents/skills/task-planner/`(与 shipped `templates/` 同源镜像)为唯一权威。"
3
3
  ---
4
4
 
5
- # /blueprint
5
+ # /blueprint (ALPHA)
6
6
 
7
- 你是 **TASK ARCHITECT (任务规划师)**。
7
+ <phase_context>
8
+ 你是 **TASK ARCHITECT(任务规划师)— ALPHA 线**。
8
9
 
9
- ## 目标
10
+ **使命**:把已批准的设计输入编排为可执行的 `05A_TASKS.md` 与 `05B_VERIFICATION_PLAN.md`,并跑通收口门禁。
11
+ **能力**:版本定位、前置校验、契约映射、调用 `task-planner`、收口检查、`AGENTS.md` 双文档入口更新。
12
+ **限制**:只做编排与关卡;**不**在宿主内复述 `task-planner` 的字段级规范或粘贴 `TASK_TEMPLATE_*` 全文;**不**在 Step 2 之前预读 `task-planner`(见下文 **预读门禁**)。
13
+ **与用户的关系**:交付可验证的任务/验证骨架与追溯链,不越权执行实现或 E2E。
14
+ **Output Goal**:`.anws/v{N}/05A_TASKS.md` + `.anws/v{N}/05B_VERIFICATION_PLAN.md`。
15
+ </phase_context>
10
16
 
11
- - 产出 `.anws/v{N}/05A_TASKS.md`(执行主清单)
12
- - 产出 `.anws/v{N}/05B_VERIFICATION_PLAN.md`(验证计划)
17
+ ---
18
+
19
+ ## CRITICAL 凝练与版式(/craft + /challenge 思想)
20
+
21
+ > [!IMPORTANT]
22
+ > **craft**:改稿前 Read shipped `.agents/skills/craft-authoring/SKILL.md` 与 `.agents/workflows/craft.md`;各 `## Step …` 使用 **`### 做什么` / `### 为什么` / `### 怎么验收`**;文末 `<completion_criteria>` 必填。
23
+ > **凝练**:会话与对用户的说明 **一句一事**;与 `task-planner` 重复的表格口径 **只保留在 SKILL/references**。
24
+ > **不注入**:不在本 workflow 粘贴 `TASK_TEMPLATE_05A` / `TASK_TEMPLATE_05B` 大段或示例任务块——**唯一权威**见下文 **task-planner 路径**。
13
25
 
14
26
  ---
15
27
 
16
- ## 编排边界
28
+ ## CRITICAL 编排约束(规范闸门不可削弱)
29
+
30
+ > [!IMPORTANT]
31
+ > **task-planner 唯一权威(字段 / 表结构)**
32
+ > 读取 **本 overlay** `.agents/skills/task-planner/SKILL.md`(与 shipped `templates/` 同名路径**同源镜像**;**禁止**同会话混读 shipped 树与 alpha 树两套条文)。
33
+ > `.agents/skills/task-planner/references/TASK_TEMPLATE_05A.md`
34
+ > `.agents/skills/task-planner/references/TASK_TEMPLATE_05B.md`
35
+ >
36
+ > - 输入文档(`01` / `02` / `03` / 条件 `04`)是拆解的**唯一事实源**。
37
+ > - 若上游规范冲突,**修正 SKILL/references 事实源**;禁止仅在 `blueprint.md` 内打补丁稀释权威。
38
+ > - **仅在 05A/05B 记录** E2E 触发条件、范围与证据预期;**`/blueprint` 阶段不得执行 `e2e-testing-guide`**。
39
+ >
40
+ > **格言**:带着已知契约缺口调用 `task-planner`,等于把技术债**分期付款**写进 sprint。
41
+
42
+ ---
17
43
 
18
- `/blueprint` 只负责流程编排与关卡校验,不重复维护详细模板。
19
- 任务字段、验证字段、示例格式以 `task-planner/SKILL.md` 与 `references/TASK_TEMPLATE_05A.md`、`references/TASK_TEMPLATE_05B.md` 为唯一事实源。
44
+ ## CRITICAL 与 task-planner 配合契约(宿主 → SKILL)
45
+
46
+ > [!IMPORTANT]
47
+ > **预读门禁**
48
+ > **禁止**在 Step 0–1.5 预读 `task-planner/SKILL.md` 或 `TASK_TEMPLATE_*`(避免先背版式再凑合输入)。**仅当**进入 **Step 2** 且即将按 SKILL 执行拆解时,再读取 **`.agents/skills/task-planner/SKILL.md`** 与按需打开的 **references**;读完后立刻消费 Step 1 的契约映射,不在无关步骤复读 SKILL。
49
+ >
50
+ > **移交包(进入 Step 2 时须显式交给 task-planner 执行上下文)**
51
+ > 以下用**短列表或路径清单**即可(不必贴进 05A/05B):
52
+ >
53
+ > - `TARGET_DIR`;本回合已读**真实路径**列表:`01`、`02`、`03_ADR/`(及已纳入的 `04_SYSTEM_DESIGN/` 文件)。
54
+ > - Step 1 产出的 **契约表**:每条含「契约类型/名称 → 拟承接的 05A 意图 + 拟承接的 05B 验证意图」(与 SKILL「契约覆盖规则」可逐条对读)。
55
+ > - 若 ADR 含**测试策略 / 质量门禁**:注明 **ADR 文件路径 + 条目/小节锚点**,满足 SKILL「若 ADR 中存在测试策略/质量门禁,必须优先遵循」。
56
+ > - **WBS Level-1 系统 ID** 必须与 `02_ARCHITECTURE_OVERVIEW` 系统清单一致,**禁止**发明未在 `02` 出现的系统代号。
57
+ > - PRD 中 `[REQ-*]`:要求任务行挂载关系由 SKILL 与模板约束;宿主须抽查「关键 REQ 未悬空」。
58
+ >
59
+ > **与 SKILL 硬约束对齐(宿主在 Step 2–4 负责盯紧,不替 SKILL 写字段定义)**
60
+ > 除上文 CRITICAL 与 Step 2 已列外,`task-planner` 尚含下列**不可被落盘结果违背**的条文类别——若产出违反,须**回 Step 2** 让 planner 迭代,**禁止**仅在 blueprint 会话里用自由表格「补丁冒充完成」:
61
+ >
62
+ > - **测试标准**:项目级须同时规划 **单元测试** 与 **API 接口功能测试**(见 SKILL「测试标准(硬约束)」)。
63
+ > - **05B 结构**:**Contract Coverage Overlay**、**Testing Coverage Overlay**、**Verification Traceability Matrix** 三章为硬性必选(见 SKILL 声明)。
64
+ > - **E2E 边界**:仅记录触发/范围/证据预期;**不**执行 `e2e-testing-guide`。
65
+ > - **反膨胀**:风险类别闭合优先,禁止无差别组合爆炸(见 SKILL「反测试膨胀原则」)。
66
+ > - **任务质量**:单 Task 粒度 **2h–2d**、依赖边须 **输入/输出产物对齐**(见 SKILL「任务质量守则」);**INT-S{N}** 为 Sprint 关门任务,冒烟优先绑 INT。
67
+ >
68
+ > **落盘对账**
69
+ > Step 3 写盘之后,Step 4 检查清单须与 SKILL 末节 **「输出质量检查」** 逐项对读;缺任一项 → **回 Step 2** 补一轮 planner,直至对账通过。
20
70
 
21
71
  ---
22
72
 
23
73
  ## Step 0: 定位版本与前置检查
24
74
 
25
- 1. 扫描 `.anws/` 找到最新 `v{N}`,设定 `TARGET_DIR = .anws/v{N}`。
26
- 2. 必需文件:
27
- - `{TARGET_DIR}/01_PRD.md`
28
- - `{TARGET_DIR}/02_ARCHITECTURE_OVERVIEW.md`
29
- 3. 条件必需:
30
- - 若版本涉及公共契约(HTTP API、CLI 参数语义、配置结构、文件格式、错误语义、跨系统协议、持久化结构),`{TARGET_DIR}/04_SYSTEM_DESIGN/` 视为必需。
31
- 4. 若前置不满足:停止并提示先运行 `/genesis` 或 `/design-system`。
75
+ ### 做什么
76
+
77
+ 1. 扫描 `.anws/` 取最新 `v{N}`,设 `TARGET_DIR = .anws/v{N}`。
78
+ 2. **必需**:`{TARGET_DIR}/01_PRD.md`、`{TARGET_DIR}/02_ARCHITECTURE_OVERVIEW.md`。
79
+ 3. **条件必需**:若本版涉及公共契约(HTTP API、CLI 语义、配置/文件格式、错误语义、跨系统协议、持久化结构等),`{TARGET_DIR}/04_SYSTEM_DESIGN/` **视为必需**。
80
+ 4. 若不满足:停止,提示先 `/genesis` `/design-system`。
81
+
82
+ ### 为什么
83
+
84
+ 无版本锚点与输入契约,`05A/05B` 会与真实架构脱节。
85
+
86
+ ### 怎么验收
87
+
88
+ - 会话内可复述 `TARGET_DIR` 与「缺哪份输入导致停止」。
89
+ - 条件必需触发时,**未**在缺 `04` 的情况下继续调用 planner。
32
90
 
33
91
  ---
34
92
 
35
93
  ## Step 1: 加载输入并建立契约映射
36
94
 
37
- 1. 读取 `01_PRD.md`、`02_ARCHITECTURE_OVERVIEW.md`、`03_ADR/`(以及存在时的 `04_SYSTEM_DESIGN/`)。
38
- 2. 从输入中提取公共契约与风险点。
39
- 3. 形成契约映射规则(供 `task-planner` 执行):
40
- - 每个公共契约至少有一个实现承接任务(05A)
41
- - 每个高风险公共契约至少有一个验证承接点(05B)
42
- - 禁止把契约验证责任全部后移到高层集成或 E2E
95
+ ### 做什么
96
+
97
+ 1. 读取 `01`、`02`、`03_ADR/`(及存在/必需时的 `04_SYSTEM_DESIGN/`)。
98
+ 2. 抽出**公共契约**与高风险点。
99
+ 3. 形成交给 `task-planner` 的**硬约束**(口述或短列表即可,字段名遵从 SKILL):
100
+ - 每个公共契约至少一条 **05A 实现承接**;
101
+ - 每个高风险公共契约至少一条 **05B 验证承接**;
102
+ - **禁止**把契约验证责任全部后推到高层集成或 E2E。
103
+
104
+ ### 为什么
105
+
106
+ planner 只负责拆解形态;**谁该实现、谁该证明**,必须在编排层先钉死。
107
+
108
+ ### 怎么验收
109
+
110
+ - 能列出至少三条「契约 → 05A/05B 承接」映射,且无「全部推 E2E」式逃避。
43
111
 
44
112
  ---
45
113
 
46
- ## Step 2: 调用 task-planner 生成 A/B 双文档
114
+ ## Step 1.5: 编排思考准绳(进入 planner 前)
115
+
116
+ ### 做什么
47
117
 
48
- 调用 `task-planner`,并显式传递约束:
118
+ 快速自检三项(任一项失败则回到 Step 1 修映射,**再**调 planner):
49
119
 
50
- - 输入文档是唯一事实来源
51
- - ADR 存在测试策略与质量门禁,必须优先遵循
52
- - 验证类型按“最轻但足够”选择,避免 E2E 滥用
53
- - 单元测试与 API接口功能测试必须同时规划
54
- - 冒烟测试优先绑定 `INT-S{N}` 里程碑任务
55
- - 仅在 `05A/05B` 中记录 E2E 触发条件、范围与证据预期;**不得在 `/blueprint` 阶段执行 `e2e-testing-guide`**
120
+ 1. **真实性**:任务树是否承接**外部可观察契约**,而非仅堆砌实现动作。
121
+ 2. **风险闭合**:高风险契约是否在 05B 有**明确、可降级**的验证落点(非盲目堆 E2E)。
122
+ 3. **可验收**:Sprint/INT 关口是否可被日志/报告/截图等客观证据验证。
123
+
124
+ ### 为什么
125
+
126
+ 否则 planner 只会把混乱拆成更多行。
127
+
128
+ ### 怎么验收
129
+
130
+ - 三项均有**是/否+一句理由**;若有「否」,会话显示已回退修补后再前进。
56
131
 
57
132
  ---
58
133
 
59
- ## Step 3: 收口写入
134
+ ## Step 2: 调用 task-planner 生成 05A / 05B
135
+
136
+ ### 做什么
60
137
 
61
- 1. 保存:
62
- - `.anws/v{N}/05A_TASKS.md`
63
- - `.anws/v{N}/05B_VERIFICATION_PLAN.md`
64
- 2. `05A_TASKS.md` 中保留执行主线内容(WBS、依赖、Sprint、INT、User Story Overlay)。
65
- 3. 在 `05B_VERIFICATION_PLAN.md` 中保留验证主线内容(Task-by-Task、Contract Coverage Overlay、Testing Coverage Overlay、Verification Traceability Matrix)。
66
- 4. 更新 `AGENTS.md` 的 A/B 文档入口状态块。
138
+ 1. **本步开头**再读取 **`.agents/skills/task-planner/SKILL.md`**(及按需打开 `references/TASK_TEMPLATE_05A.md`、`TASK_TEMPLATE_05B.md`),按 SKILL 协议调用。
139
+ 2. 将 **「CRITICAL 与 task-planner 配合契约」** 中的 **移交包** 全文交给 planner 执行上下文(路径、契约表、ADR 测试锚点、系统 ID 对齐声明)。
140
+ 3. 显式传递(口径以 SKILL 为准,此处只列**门禁意图**):输入为唯一事实源;ADR 测试策略与质量门禁**优先**;验证 **最轻但足够**;单元 + **API 接口功能测试**必规划;冒烟优先 `INT-S{N}`;E2E 仅记触发与证据预期,**不执行** e2e skill。
141
+ 4. 产出须可逐条对照 SKILL **「输出质量检查」**;若本轮未过,**在同一 Step 内**修订映射或补读输入后再次走 planner,**不**前进到 Step 3。
142
+
143
+ ### 为什么
144
+
145
+ 字段与表结构以 SKILL 为真源;宿主负责 **移交完整 + 对账 SKILL 硬约束**,避免「调了 skill 但上下文半截」。
146
+
147
+ ### 怎么验收
148
+
149
+ - 会话内可见:已读 SKILL 路径 + 移交包要点 + 一轮 planner 结果;或与用户约定的手工等效(须声明)且仍通过 Step 4 与 SKILL 输出质量检查对读。
150
+
151
+ ---
152
+
153
+ ## Step 3: 收口写入与状态更新
154
+
155
+ ### 做什么
156
+
157
+ 1. 将产物保存为 `{TARGET_DIR}/05A_TASKS.md` 与 `{TARGET_DIR}/05B_VERIFICATION_PLAN.md`。
158
+ 2. `05A` 保留执行主线(WBS、依赖、Sprint、INT、User Story Overlay 等——**小节名与必填列**以 TASK_TEMPLATE_05A 为准)。
159
+ 3. `05B` 保留验证主线(Task-by-Task、Contract Coverage、Testing Coverage、Traceability Matrix 等——以 TASK_TEMPLATE_05B 为准)。
160
+ 4. 更新 `AGENTS.md` 中 **05A/05B 文档入口**状态(**不**在此粘贴长模板)。
161
+
162
+ ### 为什么
163
+
164
+ 落盘与入口一致,`/forge` 与审查才有锚。
165
+
166
+ ### 怎么验收
167
+
168
+ - 两文件路径存在且非空占位;`AGENTS.md` 已反映双文档入口。
67
169
 
68
170
  ---
69
171
 
70
172
  ## Step 4: 必过检查清单
71
173
 
72
- - [ ] `05A_TASKS.md` 与 `05B_VERIFICATION_PLAN.md` 均已生成
73
- - [ ] 每个 05A 任务都含 `验证引用` 且可在 05B 定位到对应条目
74
- - [ ] 05B 中保留 Contract Coverage Overlay、Testing Coverage Overlay、Verification Traceability Matrix
75
- - [ ] 单元测试与 API接口功能测试职责均已规划
76
- - [ ] 测试覆盖按风险类别闭合,且未出现测试膨胀
77
- - [ ] `AGENTS.md` 已更新为 A/B 双文档入口
174
+ ### 做什么
175
+
176
+ 在进入 blueprint 收口或移交 `/forge` 前,对 `05A` / `05B` / `AGENTS.md` **task-planner** 输出质量做一次硬性对账(下列清单逐项勾选)。
177
+
178
+ ### 为什么
179
+
180
+ 漏检会在 forge 阶段放大为返工;本步把「已生成」与「下游可执行」分开验收。
181
+
182
+ ### 怎么验收
183
+
184
+ - [ ] `05A` 与 `05B` 均已生成。
185
+ - [ ] 与 **`task-planner` SKILL 末节「输出质量检查」** 对读无缺口(含:`验证引用`+`证据产出`、User Story Overlay 在 05A、三章在 05B、INT/冒烟关系、无 E2E 滥用)。
186
+ - [ ] 每个 05A 任务含 **验证引用** 且可在 05B 定位对应条目。
187
+ - [ ] 05B 保留 Contract / Testing / Traceability **三类覆盖叙事**(具体表头以模板为准)。
188
+ - [ ] 单元测试与 API 接口功能测试职责均已规划。
189
+ - [ ] 覆盖按风险闭合,无明显组合爆炸;任务粒度与依赖 **输入/输出对齐** 符合 SKILL 守则。
190
+ - [ ] `AGENTS.md` 已更新 A/B 入口。
191
+
192
+ ---
193
+
194
+ <completion_criteria>
195
+ - **凝练与版式**:`CRITICAL 凝练与版式` 已遵守;未向宿主粘贴 TASK 模板全文。
196
+ - 版本定位与前置阻断正确;契约映射在进入 planner 前已通过 Step 1.5。
197
+ - 未在 Step 2 之前预读 `task-planner`;Step 2 已交付完整 **移交包** 并按 SKILL **输出质量检查** 对账通过。
198
+ - **未**在 `/blueprint` 阶段执行 `e2e-testing-guide`。
199
+ - `AGENTS.md` 双文档入口已更新。
200
+ </completion_criteria>