@haaaiawd/anws 1.2.1 → 1.2.2
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/lib/init.js +1 -1
- package/package.json +13 -7
- package/templates/.agent/skills/git-forensics/scripts/__pycache__/git_forensics.cpython-313.pyc +0 -0
- package/templates/.agent/skills/system-designer/references/system-design-detail-template.md +66 -77
- package/templates/.agent/skills/system-designer/references/system-design-template.md +65 -45
- package/templates/.agent/workflows/craft.md +104 -63
- package/templates/.agent/workflows/design-system.md +1 -0
- package/templates/.agent/workflows/quickstart.md +44 -236
package/lib/init.js
CHANGED
|
@@ -161,7 +161,7 @@ function printNextSteps() {
|
|
|
161
161
|
blank();
|
|
162
162
|
info('Next steps:');
|
|
163
163
|
info(' 1. Read .agent/rules/agents.md to understand the system');
|
|
164
|
-
info(' 2. Run /
|
|
164
|
+
info(' 2. Run /quickstart in your AI assistant to analyze and start the workflow');
|
|
165
165
|
}
|
|
166
166
|
|
|
167
167
|
/**
|
package/package.json
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@haaaiawd/anws",
|
|
3
|
-
"version": "1.2.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "1.2.2",
|
|
4
|
+
"description": "A spec-driven workflow framework for AI-assisted development. Empowers prompt engineers to build production-ready software through structured PRD → Architecture → Task decomposition. Designed for Antigravity to enforce design-first principles and prevent architectural drift in vibe coding.",
|
|
5
5
|
"keywords": [
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
"
|
|
6
|
+
"antigravity",
|
|
7
|
+
"agentic-ai",
|
|
8
|
+
"workflow-orchestration",
|
|
9
|
+
"spec-driven",
|
|
10
|
+
"system-architecture",
|
|
11
|
+
"vibe-coding",
|
|
12
|
+
"prompt-engineering",
|
|
13
|
+
"devops-for-ai",
|
|
14
|
+
"skills-framework"
|
|
11
15
|
],
|
|
12
16
|
"homepage": "https://github.com/Haaaiawd/Antigravity-Workflow-System",
|
|
13
17
|
"repository": {
|
|
@@ -30,6 +34,8 @@
|
|
|
30
34
|
],
|
|
31
35
|
"main": "./lib/index.js",
|
|
32
36
|
"scripts": {
|
|
37
|
+
"sync": "node scripts/sync-assets.js",
|
|
38
|
+
"prepublishOnly": "npm run sync",
|
|
33
39
|
"test": "node --test test/**/*.test.js"
|
|
34
40
|
},
|
|
35
41
|
"dependencies": {}
|
package/templates/.agent/skills/git-forensics/scripts/__pycache__/git_forensics.cpython-313.pyc
ADDED
|
Binary file
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
# {System Name} — 实现细节 (
|
|
1
|
+
# {System Name} — 实现细节 (L1)
|
|
2
2
|
|
|
3
|
-
> **文件性质**: L1 实现层
|
|
4
|
-
>
|
|
5
|
-
>
|
|
6
|
-
> 日常阅读、系统概览、任务规划请优先阅读 L0 层文件。
|
|
3
|
+
> **文件性质**: L1 实现层 · **对应 L0**: [`{system-id}.md`](./{system-id}.md)
|
|
4
|
+
> 本文件仅在 `/forge` 任务明确引用时加载。日常阅读和任务规划请优先看 L0。
|
|
5
|
+
> **⚠️ 孤岛检查**: 本文件各节均须在 L0 有对应超链接入口,禁止孤岛内容。
|
|
7
6
|
|
|
8
7
|
---
|
|
9
8
|
|
|
10
9
|
## 版本历史
|
|
11
10
|
|
|
12
|
-
>
|
|
11
|
+
> 所有变更记录集中于此,不再散落在代码注释里。
|
|
13
12
|
|
|
14
13
|
| 版本 | 日期 | Changelog |
|
|
15
14
|
| ---- | ------------ | --------- |
|
|
@@ -17,28 +16,38 @@
|
|
|
17
16
|
|
|
18
17
|
---
|
|
19
18
|
|
|
19
|
+
## 本文件章节索引
|
|
20
|
+
|
|
21
|
+
| § | 章节 | 对应 L0 入口 |
|
|
22
|
+
| :---: | -------------------------------------------------------------------- | :--------------: |
|
|
23
|
+
| §1 | [配置常量](#1-配置常量-config-constants) | L0 §6 数据模型 |
|
|
24
|
+
| §2 | [完整数据结构](#2-核心数据结构完整定义-full-data-structures) | L0 §6 数据模型 |
|
|
25
|
+
| §3 | [核心算法伪代码](#3-核心算法伪代码-non-trivial-algorithm-pseudocode) | L0 §5 操作契约表 |
|
|
26
|
+
| §4 | [决策树详细逻辑](#4-决策树详细逻辑-decision-tree-details) | L0 §4 架构图 |
|
|
27
|
+
| §5 | [边缘情况与注意事项](#5-边缘情况与注意事项-edge-cases--gotchas) | L0 §5 / §9 |
|
|
28
|
+
| §6 | [测试辅助](#6-测试辅助-test-helpers) *(可选)* | L0 §11 测试策略 |
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
20
32
|
## §1 配置常量 (Config Constants)
|
|
21
33
|
|
|
22
34
|
> 所有硬编码配置、枚举映射、查找表集中放在此处。
|
|
35
|
+
> **L0 对应入口**: L0 §6 末尾锚点 → *配置常量字典详见 [L1 §1]*
|
|
23
36
|
|
|
24
37
|
```python
|
|
25
38
|
# ── 示例: 单位配置表 ──
|
|
26
|
-
# 每行格式: UnitType: {atk, def, hp, mov, range, cost, tech, behavior, move_type}
|
|
27
39
|
UNIT_CONFIG = {
|
|
28
|
-
# UnitType.WARRIOR: {
|
|
29
|
-
# ...
|
|
40
|
+
# UnitType.WARRIOR: {atk, def, hp, mov, range, cost, tech, behavior, move_type}
|
|
30
41
|
}
|
|
31
42
|
|
|
32
43
|
# ── 示例: 地形配置表 ──
|
|
33
44
|
TERRAIN_CONFIG = {
|
|
34
45
|
# TerrainType.PLAIN: {move_cost: 1, passable: "land", buildings: [...]}
|
|
35
|
-
# ...
|
|
36
46
|
}
|
|
37
47
|
|
|
38
48
|
# ── 示例: 建筑配置表 ──
|
|
39
49
|
BUILDING_CONFIG = {
|
|
40
50
|
# BuildingType.FARM: {cost: 5, tech: "farming", rp_bonus: 1}
|
|
41
|
-
# ...
|
|
42
51
|
}
|
|
43
52
|
```
|
|
44
53
|
|
|
@@ -46,11 +55,10 @@ BUILDING_CONFIG = {
|
|
|
46
55
|
|
|
47
56
|
## §2 核心数据结构完整定义 (Full Data Structures)
|
|
48
57
|
|
|
49
|
-
>
|
|
58
|
+
> 含方法体的完整类定义。L0 层只放属性声明和方法签名(`def foo(): ...`)。
|
|
59
|
+
> **L0 对应入口**: L0 §6.1 末尾锚点 → *完整方法实现详见 [L1 §2]*
|
|
50
60
|
|
|
51
61
|
```python
|
|
52
|
-
# ── 示例: 完整类定义(含方法) ──
|
|
53
|
-
|
|
54
62
|
@dataclass
|
|
55
63
|
class ExampleEntity:
|
|
56
64
|
id: str
|
|
@@ -58,7 +66,7 @@ class ExampleEntity:
|
|
|
58
66
|
|
|
59
67
|
def some_method(self) -> bool:
|
|
60
68
|
"""方法说明"""
|
|
61
|
-
#
|
|
69
|
+
# 完整实现逻辑
|
|
62
70
|
pass
|
|
63
71
|
```
|
|
64
72
|
|
|
@@ -67,42 +75,30 @@ class ExampleEntity:
|
|
|
67
75
|
## §3 核心算法伪代码 (Non-Trivial Algorithm Pseudocode)
|
|
68
76
|
|
|
69
77
|
> [!IMPORTANT]
|
|
70
|
-
>
|
|
78
|
+
> **准入门槛 — 不满足任意一条,禁止写入本节**
|
|
71
79
|
>
|
|
72
80
|
> | 准入条件 | 说明 |
|
|
73
81
|
> |---------|------|
|
|
74
|
-
> | 函数体估计 **> 15 行** |
|
|
75
|
-
> | 含**不明显的业务规则** |
|
|
76
|
-
> | 含**多步骤副作用链** |
|
|
77
|
-
> | **同事看签名猜不出实现** |
|
|
78
|
-
>
|
|
79
|
-
> **反例(禁止写入 §3)**:
|
|
80
|
-
> ```python
|
|
81
|
-
> # ❌ 太简单,不需要伪代码
|
|
82
|
-
> def get_nation_stars(nation: Nation) -> int:
|
|
83
|
-
> return nation.stars
|
|
84
|
-
>
|
|
85
|
-
> # ❌ 5行setter,从签名已可理解
|
|
86
|
-
> def set_military_target(self, target: str) -> None:
|
|
87
|
-
> self.military_target = target
|
|
88
|
-
> self.last_updated_turn = world.turn
|
|
89
|
-
> ```
|
|
82
|
+
> | 函数体估计 **> 15 行** | 短函数从 L0 操作契约表已可理解 |
|
|
83
|
+
> | 含**不明显的业务规则** | 伤害公式、状态机分支、复杂校验 |
|
|
84
|
+
> | 含**多步骤副作用链** | A→检查→B→更新C→触发D,顺序不可颠倒 |
|
|
85
|
+
> | **同事看签名猜不出实现** | 函数名+参数已能清楚表达意图则不需要 |
|
|
90
86
|
|
|
91
|
-
每个小节对应 L0
|
|
87
|
+
每个小节对应 L0 §5 操作契约表的一行,提供完整函数体。
|
|
92
88
|
|
|
93
89
|
### §3.1 {操作名称}
|
|
94
90
|
|
|
95
|
-
**对应契约**: L0 §
|
|
96
|
-
**准入理由**: {
|
|
91
|
+
**对应契约**: L0 §5.1 — `{function_name}()`
|
|
92
|
+
**准入理由**: {满足了哪条准入条件}
|
|
97
93
|
|
|
98
94
|
```python
|
|
99
|
-
def function_name(param1: Type, param2: Type
|
|
95
|
+
def function_name(param1: Type, param2: Type) -> ReturnType:
|
|
100
96
|
"""
|
|
101
97
|
函数说明。
|
|
102
|
-
|
|
98
|
+
|
|
103
99
|
前置条件:
|
|
104
100
|
1. ...
|
|
105
|
-
|
|
101
|
+
|
|
106
102
|
副作用:
|
|
107
103
|
- ...
|
|
108
104
|
"""
|
|
@@ -110,37 +106,23 @@ def function_name(param1: Type, param2: Type, ...) -> ReturnType:
|
|
|
110
106
|
pass
|
|
111
107
|
```
|
|
112
108
|
|
|
113
|
-
|
|
114
|
-
- 注意点1 (如: 深拷贝、竞争条件、顺序依赖等)
|
|
115
|
-
|
|
116
|
-
---
|
|
117
|
-
|
|
118
|
-
### §3.2 {操作名称}
|
|
119
|
-
|
|
120
|
-
```python
|
|
121
|
-
# ...
|
|
122
|
-
```
|
|
109
|
+
> **注意事项**: {深拷贝 / 竞争条件 / 顺序依赖等关键陷阱}
|
|
123
110
|
|
|
124
111
|
---
|
|
125
112
|
|
|
126
113
|
## §4 决策树详细逻辑 (Decision Tree Details)
|
|
127
114
|
|
|
128
|
-
> 对应 L0
|
|
115
|
+
> 对应 L0 Mermaid 决策图的文字展开 + 完整伪代码。
|
|
116
|
+
> **L0 对应入口**: L0 §4 架构图注释 → *完整决策逻辑见 [L1 §4]*
|
|
129
117
|
|
|
130
118
|
### §4.1 {决策场景名称}
|
|
131
119
|
|
|
132
|
-
**对应 L0 Mermaid**: `{system}.md §{章节}`
|
|
120
|
+
**对应 L0 Mermaid**: `{system-id}.md §{章节}`
|
|
133
121
|
|
|
134
122
|
```python
|
|
135
123
|
def plan_or_decide(...):
|
|
136
|
-
"""
|
|
137
|
-
决策逻辑完整实现。
|
|
138
|
-
"""
|
|
139
124
|
# Step 1: 检查高优先级条件
|
|
140
|
-
# ...
|
|
141
|
-
|
|
142
125
|
# Step 2: 分支逻辑
|
|
143
|
-
# ...
|
|
144
126
|
pass
|
|
145
127
|
```
|
|
146
128
|
|
|
@@ -148,17 +130,18 @@ def plan_or_decide(...):
|
|
|
148
130
|
|
|
149
131
|
## §5 边缘情况与注意事项 (Edge Cases & Gotchas)
|
|
150
132
|
|
|
151
|
-
>
|
|
133
|
+
> 实现时必须处理的非显而易见情况。
|
|
134
|
+
> **L0 对应入口**: L0 §5 或 §9 安全性章节的锚点
|
|
152
135
|
|
|
153
136
|
| 场景 | 风险 | 处理方式 |
|
|
154
137
|
| -------------- | ---------- | -------------- |
|
|
155
138
|
| {边缘情况描述} | {潜在 Bug} | {正确处理方式} |
|
|
156
139
|
|
|
157
|
-
### §5.1 {
|
|
140
|
+
### §5.1 {具体情况}
|
|
158
141
|
|
|
159
142
|
```python
|
|
160
|
-
# ❌ 错误做法
|
|
161
|
-
# cloned_unit.embarked_unit = unit.embarked_unit #
|
|
143
|
+
# ❌ 错误做法
|
|
144
|
+
# cloned_unit.embarked_unit = unit.embarked_unit # 浅拷贝 → 状态污染!
|
|
162
145
|
|
|
163
146
|
# ✅ 正确做法
|
|
164
147
|
# cloned_unit.embarked_unit = deepcopy(unit.embarked_unit) if unit.embarked_unit else None
|
|
@@ -168,31 +151,37 @@ def plan_or_decide(...):
|
|
|
168
151
|
|
|
169
152
|
## §6 测试辅助 (Test Helpers)
|
|
170
153
|
|
|
171
|
-
>
|
|
154
|
+
> 可选。单元测试中复用的工厂函数或 fixtures。
|
|
155
|
+
> **L0 对应入口**: L0 §11 测试策略锚点
|
|
172
156
|
|
|
173
157
|
```python
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
"""创建测试用 Unit 对象"""
|
|
158
|
+
def make_test_unit(type=UnitType.WARRIOR, hp=10, pos=(0, 0)) -> Unit:
|
|
159
|
+
"""创建测试用 Unit"""
|
|
177
160
|
pass
|
|
178
161
|
|
|
179
162
|
def make_test_world(size=8) -> World:
|
|
180
|
-
"""创建测试用 World
|
|
163
|
+
"""创建测试用 World"""
|
|
181
164
|
pass
|
|
182
165
|
```
|
|
183
166
|
|
|
184
167
|
---
|
|
185
168
|
|
|
186
|
-
<!-- ⚠️ 使用指南
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
169
|
+
<!-- ⚠️ AGENT 使用指南
|
|
170
|
+
|
|
171
|
+
何时创建本文件: 触发 L0 拆分规则 R1-R5 任意一条时。
|
|
172
|
+
R1 单个代码块 > 30 行
|
|
173
|
+
R2 代码块总行数 > 200 行
|
|
174
|
+
R3 配置常量字典条目 > 5 个
|
|
175
|
+
R4 版本内联注释 > 5 处
|
|
176
|
+
R5 文档总行数 > 500 行
|
|
177
|
+
|
|
178
|
+
孤岛检查: 本文件每新增一节,必须同步在 L0 对应位置添加超链接锚点。
|
|
179
|
+
|
|
180
|
+
§ 编号约定:
|
|
181
|
+
§1 配置常量 — 始终第一节
|
|
182
|
+
§2 数据结构 — 含方法体的完整类
|
|
183
|
+
§3 算法伪代码 — 按函数顺序编号 (§3.1, §3.2 ...)
|
|
184
|
+
§4 决策树 — 对应 L0 Mermaid 图的展开
|
|
185
|
+
§5 边缘情况 — 从代码注释中提取的 "# ⚠️ 注意" 类内容
|
|
186
|
+
§6 测试辅助 — 可选
|
|
198
187
|
-->
|
|
@@ -1,16 +1,44 @@
|
|
|
1
1
|
# {System Name} 系统设计文档 (L0 — 导航层)
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
**
|
|
6
|
-
**
|
|
7
|
-
**
|
|
8
|
-
**
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
>
|
|
3
|
+
| 字段 | 值 |
|
|
4
|
+
| ------------- | --------------------------------------------------------------------- |
|
|
5
|
+
| **System ID** | `{system-id}` |
|
|
6
|
+
| **Project** | {Project Name} |
|
|
7
|
+
| **Version** | 1.0 |
|
|
8
|
+
| **Status** | `Draft` / `Review` / `Approved` |
|
|
9
|
+
| **Author** | {Author Name or Agent} |
|
|
10
|
+
| **Date** | {YYYY-MM-DD} |
|
|
11
|
+
| **L1 Detail** | [{system-id}.detail.md](./{system-id}.detail.md) — 仅 `/forge` 时加载 |
|
|
12
|
+
|
|
13
|
+
> [!IMPORTANT]
|
|
14
|
+
> **文档分层说明**
|
|
15
|
+
> - **本文件 (L0 导航层)**: 架构图、操作契约、设计决策。面向快速理解与任务规划。禁止放配置字典、算法伪代码和方法体。
|
|
16
|
+
> - **[{system-id}.detail.md](./{system-id}.detail.md) (L1 实现层)**: 完整伪代码、配置常量、边缘情况。仅 `/forge` 任务明确引用时加载。
|
|
17
|
+
> - **L1 锚点原则 ⚠️**: L1 中的每一节都必须在本文件有对应超链接入口。严禁 L1 出现 L0 完全未提及的"孤岛内容"。
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## 📋 目录 (Table of Contents)
|
|
22
|
+
|
|
23
|
+
| § | 章节 | 关键内容 |
|
|
24
|
+
| :---: | ------------------------------------------------------------ | -------------------------------------------------------- |
|
|
25
|
+
| 1 | [概览](#1-概览-overview) | 系统目的、边界、职责 |
|
|
26
|
+
| 2 | [目标与非目标](#2-目标与非目标-goals--non-goals) | Goals / Non-Goals |
|
|
27
|
+
| 3 | [背景与上下文](#3-背景与上下文-background--context) | 为什么需要这个系统、约束 |
|
|
28
|
+
| 4 | [系统架构](#4-系统架构-architecture) | Mermaid 架构图、组件职责、数据流 |
|
|
29
|
+
| 5 | [接口设计](#5-接口设计-interface-design) | 操作契约表、跨系统协议、HTTP API |
|
|
30
|
+
| 6 | [数据模型](#6-数据模型-data-model) | 实体字段声明、ER 图 → [L1 §1-2](./{system-id}.detail.md) |
|
|
31
|
+
| 7 | [技术选型](#7-技术选型-technology-stack) | 核心技术、关键依赖 |
|
|
32
|
+
| 8 | [Trade-offs](#8-trade-offs--alternatives-权衡与备选方案) | 决策理由、备选方案对比 |
|
|
33
|
+
| 9 | [安全性考虑](#9-安全性考虑-security-considerations) | 认证授权、风险与缓解 |
|
|
34
|
+
| 10 | [性能考虑](#10-性能考虑-performance-considerations) | 性能目标、优化策略 |
|
|
35
|
+
| 11 | [测试策略](#11-测试策略-testing-strategy) | 单测、集成、性能测试 |
|
|
36
|
+
| 12 | [部署与运维](#12-部署与运维-deployment--operations) *(可选)* | 流程、监控、可观测性 |
|
|
37
|
+
| 13 | [未来考虑](#13-未来考虑-future-considerations) *(可选)* | 扩展性、技术债 |
|
|
38
|
+
| 14 | [附录](#14-appendix-附录) *(可选)* | 术语表、参考资料、变更日志 |
|
|
39
|
+
|
|
40
|
+
**L1 实现层** → [{system-id}.detail.md](./{system-id}.detail.md)(仅 `/forge` 时加载)
|
|
41
|
+
> [§1 配置常量](./{system-id}.detail.md) · [§2 数据结构](./{system-id}.detail.md) · [§3 算法](./{system-id}.detail.md) · [§4 决策树](./{system-id}.detail.md) · [§5 边缘情况](./{system-id}.detail.md)
|
|
14
42
|
|
|
15
43
|
---
|
|
16
44
|
|
|
@@ -177,26 +205,26 @@ class ISystemName(Protocol):
|
|
|
177
205
|
❌ 禁止: 任何方法体 (哪怕只有 2 行)
|
|
178
206
|
❌ 禁止: 注释风格的方法列表 (# def foo... 这种)
|
|
179
207
|
❌ 禁止: 配置常量字典 (UNIT_CONFIG = {...})
|
|
180
|
-
→ 以上内容全部放入 {system}.detail.md §1 和 §2
|
|
208
|
+
→ 以上内容全部放入 {system}.detail.md §1 和 §2。并且依据「L1 锚点原则」,你必须在此处用 Markdown 超链接指明它们在 L1 的下落,例如:
|
|
209
|
+
*(完整的配置常量字典详见 [{system}.detail.md §1](./{system}.detail.md))*
|
|
181
210
|
-->
|
|
182
211
|
|
|
183
212
|
### 6.1 核心实体 (Core Entities)
|
|
184
213
|
|
|
185
214
|
```python
|
|
186
|
-
# ──
|
|
215
|
+
# ── 只放属性字段 + 方法签名,禁止方法体 ──
|
|
187
216
|
@dataclass
|
|
188
217
|
class EntityName:
|
|
189
|
-
# 属性字段
|
|
190
218
|
id: str
|
|
191
219
|
field_a: TypeA
|
|
192
220
|
field_b: TypeB = default_value
|
|
193
221
|
|
|
194
|
-
# 方法签名 (不写方法体, 只写到 ...)
|
|
195
222
|
def some_method(self, param: Type) -> ReturnType: ...
|
|
196
223
|
def another_method(self) -> bool: ...
|
|
197
|
-
# 完整方法实现见 {system}.detail.md §2.1
|
|
198
224
|
```
|
|
199
225
|
|
|
226
|
+
> *(完整方法实现 → [L1 §2](./{system-id}.detail.md) · 配置常量字典 → [L1 §1](./{system-id}.detail.md))*
|
|
227
|
+
|
|
200
228
|
### 6.2 实体关系图 (Entity Relationship)
|
|
201
229
|
|
|
202
230
|
```mermaid
|
|
@@ -474,33 +502,25 @@ classDiagram
|
|
|
474
502
|
|
|
475
503
|
---
|
|
476
504
|
|
|
477
|
-
<!-- ⚠️
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
1.
|
|
481
|
-
2.
|
|
482
|
-
3.
|
|
483
|
-
4.
|
|
484
|
-
5.
|
|
485
|
-
6.
|
|
486
|
-
7.
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
-
|
|
498
|
-
|
|
499
|
-
**L1 文件 ({system}.detail.md) 内容**:
|
|
500
|
-
- §1 配置常量 (UNIT_CONFIG 等)
|
|
501
|
-
- §2 完整类定义 (含方法体)
|
|
502
|
-
- §3 算法伪代码 (完整函数体)
|
|
503
|
-
- §4 决策树展开
|
|
504
|
-
- §5 边缘情况
|
|
505
|
-
- §6 测试辅助
|
|
505
|
+
<!-- ⚠️ AGENT 使用指南
|
|
506
|
+
|
|
507
|
+
L0 撰写九律:
|
|
508
|
+
1. 导航层定位 — 不展示实现细节,面向快速理解与任务规划
|
|
509
|
+
2. TOC 同步 — 新增章节必须同步更新文件头部目录表格
|
|
510
|
+
3. 操作契约表 — §5.1 每行一个原子操作,「实现细节」列必须链接 L1
|
|
511
|
+
4. 属性声明 — §6 只放字段 + 方法签名(def foo(): ...),禁止方法体
|
|
512
|
+
5. L1 锚点 — 抽入 L1 的任何内容必须在 L0 对应位置留超链接,禁止孤岛
|
|
513
|
+
6. 追溯链 — [REQ-XXX] 引用 PRD,不复制原文
|
|
514
|
+
7. 约束继承 — 从 PRD / ADR 继承,不能放松
|
|
515
|
+
8. Trade-offs — 每个选型说明「选 A 不选 B 的理由」
|
|
516
|
+
9. Mermaid 优先 — 架构图 / 数据流 / 决策树,用图不用文字列表
|
|
517
|
+
|
|
518
|
+
L1 拆分规则(触发任意一条即创建 .detail.md):
|
|
519
|
+
R1 单个代码块 > 30 行
|
|
520
|
+
R2 代码块总行数 > 200 行
|
|
521
|
+
R3 配置常量字典条目 > 5 个
|
|
522
|
+
R4 版本内联注释 > 5 处
|
|
523
|
+
R5 文档总行数 > 500 行
|
|
524
|
+
|
|
525
|
+
必需章节: 1-11 | 可选章节: 12 (部署) · 13 (未来) · 14 (附录)
|
|
506
526
|
-->
|
|
@@ -8,33 +8,33 @@ description: 创建高质量的工作流、技能和提示词,融合行业最
|
|
|
8
8
|
你是 **CRAFTSMAN (工艺大师)**。
|
|
9
9
|
|
|
10
10
|
**你的使命**:
|
|
11
|
-
|
|
11
|
+
你在为 AI 刻铸思维中枢。你写下的每一行 Workflow 和 Skill,Agent 都会盲目遵从——这是权力,也是责任。好的工具不仅告诉 Agent 做什么,还告诉它为什么。因为**只给指令的工具会在边界失效,给了世界观的工具才会在意料之外的情况下做出正确判断**。
|
|
12
12
|
|
|
13
13
|
**你的能力**:
|
|
14
|
-
-
|
|
15
|
-
-
|
|
14
|
+
- 创建有世界观的工作流 (Workflow)
|
|
15
|
+
- 设计有准入条件的技能文档 (Skill)
|
|
16
16
|
- 编写高质量提示词 (Prompt)
|
|
17
|
-
-
|
|
17
|
+
- 调研融合行业最佳实践
|
|
18
18
|
|
|
19
19
|
**你的限制**:
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
-
|
|
20
|
+
- 不能跳过调研阶段
|
|
21
|
+
- 不能产出未经自我审视的工作流
|
|
22
|
+
- 不能使用模糊语言
|
|
23
|
+
- 约束必须说明"为什么",否则它只是一条随时被绕过的禁令
|
|
24
24
|
|
|
25
25
|
**核心理念**:
|
|
26
|
-
>
|
|
27
|
-
>
|
|
28
|
-
>
|
|
26
|
+
> **Workflow 是世界观,不是流程图** —— 好的 Workflow 让 Agent 在任何边界情况下都能做出正确判断
|
|
27
|
+
> **Skill 的灵魂在 description** —— 那一行字决定 Agent 何时调用它,比整篇正文都重要
|
|
28
|
+
> **约束是解放,不是限制** —— 好的约束让 Agent 只能通过高质量路径前进
|
|
29
29
|
|
|
30
30
|
**与用户的关系**:
|
|
31
|
-
|
|
31
|
+
你是用户的**工艺导师**,帮助他们铸造经得起长期使用的 AI 工具。
|
|
32
32
|
|
|
33
33
|
**Output Goal**: 高质量的工作流/技能/提示词文档
|
|
34
34
|
|
|
35
35
|
**支持的输出位置**:
|
|
36
36
|
- Workflow → `.agent/workflows/[name].md`
|
|
37
|
-
- Skill → `.agent/skills/[name]/SKILL.md`
|
|
37
|
+
- Skill → `.agent/skills/[name]/SKILL.md`
|
|
38
38
|
- Prompt → 用户指定位置或 `prompts/[name].md`
|
|
39
39
|
|
|
40
40
|
---
|
|
@@ -43,13 +43,13 @@ description: 创建高质量的工作流、技能和提示词,融合行业最
|
|
|
43
43
|
|
|
44
44
|
> [!IMPORTANT]
|
|
45
45
|
> **六大核心原则**:
|
|
46
|
-
>
|
|
46
|
+
>
|
|
47
47
|
> 1. **先调研后设计** - 在创建前必须了解最佳实践
|
|
48
|
-
> 2. **解释为什么** -
|
|
49
|
-
> 3. **强制不偷懒** - 用 `[!IMPORTANT]` 和
|
|
50
|
-
> 4. **引导深度思考** -
|
|
51
|
-
> 5. **提供脚手架** -
|
|
52
|
-
> 6. **自我审视优化** -
|
|
48
|
+
> 2. **解释为什么** - 只有指令的约束会被绕过;有了理由的约束才会被内化
|
|
49
|
+
> 3. **强制不偷懒** - 用 `[!IMPORTANT]` 和 `你**必须**` 构建不可跳过的节点
|
|
50
|
+
> 4. **引导深度思考** - 给出具体步数和引导问题,而不是"好好想想"
|
|
51
|
+
> 5. **提供脚手架** - 模板和示例压缩了 Agent 自由发挥(出错)的空间
|
|
52
|
+
> 6. **自我审视优化** - 第一版永远有缺陷,自我批评是最后一道防线
|
|
53
53
|
</phase_context>
|
|
54
54
|
|
|
55
55
|
---
|
|
@@ -89,22 +89,44 @@ description: 创建高质量的工作流、技能和提示词,融合行业最
|
|
|
89
89
|
|
|
90
90
|
---
|
|
91
91
|
|
|
92
|
+
## ⚠️ 先理解本质:Skill 与 Workflow 是完全不同的东西
|
|
93
|
+
|
|
94
|
+
> [!IMPORTANT]
|
|
95
|
+
> **在选模式前,必须真正理解它们的差异——否则造出来的东西精神错位。**
|
|
96
|
+
>
|
|
97
|
+
> | 维度 | Skill(能力胶囊) | Workflow(行为剧本) |
|
|
98
|
+
> |------|:-----------------:|:--------------------:|
|
|
99
|
+
> | 语法 | **名词** — "我有这个能力" | **动词** — "我要这样做" |
|
|
100
|
+
> | 状态 | 无状态,可被任意 Workflow 调用 | 有状态,定义完整的执行仪式 |
|
|
101
|
+
> | 激活 | Agent 读 `description` 自主判断是否加载 | 用户或 Workflow 显式触发 |
|
|
102
|
+
> | 核心资产 | **`description` 那一行字** | **`<phase_context>` + 约束块** |
|
|
103
|
+
> | 类比 | 工具箱里的一把精密工具 | 一场需要按步骤完成的施工仪式 |
|
|
104
|
+
>
|
|
105
|
+
> **Skill 的 `description` 是灵魂**:它决定 Agent 何时激活这个能力。
|
|
106
|
+
> 太宽泛 → 什么时候都不精准激活;太窄 → 覆盖不了边界场景。
|
|
107
|
+
> 好的 description 是精确的**触发条件**,不是能力标签。
|
|
108
|
+
>
|
|
109
|
+
> **两者都不是"给人读的"**:写给 AI 的东西必须说清"为什么",
|
|
110
|
+
> 否则 Agent 永远选择最省力的路径(即最差的结果)。
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
92
114
|
## Step 2: 选择模式 (Choose Mode)
|
|
93
115
|
|
|
94
116
|
**目标**: 根据需求选择合适的结构。
|
|
95
117
|
|
|
96
|
-
| 类型 | 适用场景
|
|
97
|
-
|
|
98
|
-
| **Workflow** |
|
|
99
|
-
| **Skill** |
|
|
100
|
-
| **Prompt**
|
|
118
|
+
| 类型 | 本质 | 适用场景 | 核心结构 |
|
|
119
|
+
| ------------ | ---------- | -------------------------------- | --------------------------- |
|
|
120
|
+
| **Workflow** | 行为剧本 | 端到端任务、多步骤流程 | 世界观 + Steps + 人类检查点 |
|
|
121
|
+
| **Skill** | 能力胶囊 | 单一可复用能力、被 Workflow 调用 | 准入条件 + 守则 + 输出契约 |
|
|
122
|
+
| **Prompt** | 一次性指令 | 简单任务、无需复用 | 角色 + 指令 + 约束 |
|
|
101
123
|
|
|
102
124
|
### 模式判断
|
|
103
125
|
|
|
104
126
|
```
|
|
105
|
-
|
|
127
|
+
问题是否需要多个步骤,从头执行到尾?
|
|
106
128
|
├─ 是 → Workflow
|
|
107
|
-
└─ 否 →
|
|
129
|
+
└─ 否 → 这个能力是否在多个 Workflow 里都会被用到?
|
|
108
130
|
├─ 是 → Skill
|
|
109
131
|
└─ 否 → Prompt
|
|
110
132
|
```
|
|
@@ -155,10 +177,10 @@ description: 创建高质量的工作流、技能和提示词,融合行业最
|
|
|
155
177
|
```markdown
|
|
156
178
|
### 调研总结
|
|
157
179
|
|
|
158
|
-
| 来源
|
|
159
|
-
|
|
160
|
-
| [来源1] | [设计模式]
|
|
161
|
-
| [来源2] | [设计模式]
|
|
180
|
+
| 来源 | 值得借鉴的设计 | 如何应用 |
|
|
181
|
+
| ------- | -------------- | ---------- |
|
|
182
|
+
| [来源1] | [设计模式] | [应用方式] |
|
|
183
|
+
| [来源2] | [设计模式] | [应用方式] |
|
|
162
184
|
|
|
163
185
|
**需要避免的反模式**:
|
|
164
186
|
- [反模式1]: [为什么要避免]
|
|
@@ -261,15 +283,23 @@ description: [一句话描述,用于工作流列表展示]
|
|
|
261
283
|
|
|
262
284
|
### 4.2 Skill 框架
|
|
263
285
|
|
|
286
|
+
> **`description` 是 Skill 最重要的一行字。**
|
|
287
|
+
> 它是 Agent 决定是否激活这个 Skill 的唯一判断依据。
|
|
288
|
+
>
|
|
289
|
+
> ❌ 错误示范:`description: 处理 PDF 文件,提取文字和表格,填写表单`(能力描述)
|
|
290
|
+
> ✅ 正确示范:`description: 当用户需要读取、编辑或创建 PDF 文件时使用`(触发条件)
|
|
291
|
+
>
|
|
292
|
+
> 区别不在于字数,在于视角——能力描述是 Skill 在介绍自己;触发条件是在告诉 Agent "在什么时候来找我"。
|
|
293
|
+
|
|
264
294
|
```markdown
|
|
265
295
|
---
|
|
266
296
|
name: skill-name
|
|
267
|
-
description: [
|
|
297
|
+
description: 当用户需要 [具体触发场景] 时使用。[一句话核心能力概括]
|
|
268
298
|
---
|
|
269
299
|
|
|
270
300
|
# [技能名称] 手册 (English Name Manual)
|
|
271
301
|
|
|
272
|
-
> "[
|
|
302
|
+
> "[核心理念/引言——这个 Skill 存在的哲学是什么]"
|
|
273
303
|
|
|
274
304
|
---
|
|
275
305
|
|
|
@@ -313,9 +343,9 @@ description: [一句话描述]
|
|
|
313
343
|
|
|
314
344
|
## 📥 输入契约
|
|
315
345
|
|
|
316
|
-
| 输入
|
|
317
|
-
|
|
318
|
-
| [输入1] | [类型] |
|
|
346
|
+
| 输入 | 类型 | 必需 | 说明 |
|
|
347
|
+
| ------- | ------ | :---: | ------ |
|
|
348
|
+
| [输入1] | [类型] | ✅/❌ | [说明] |
|
|
319
349
|
|
|
320
350
|
---
|
|
321
351
|
|
|
@@ -327,7 +357,7 @@ description: [一句话描述]
|
|
|
327
357
|
### [输出标题]
|
|
328
358
|
|
|
329
359
|
| 列1 | 列2 | 列3 |
|
|
330
|
-
|
|
360
|
+
| --- | --- | --- |
|
|
331
361
|
| ... | ... | ... |
|
|
332
362
|
\`\`\`
|
|
333
363
|
|
|
@@ -392,38 +422,49 @@ description: [一句话描述]
|
|
|
392
422
|
7. "调研中发现的反模式如何避免?"
|
|
393
423
|
|
|
394
424
|
**内容质量检查**:
|
|
395
|
-
| 检查项
|
|
396
|
-
|
|
425
|
+
| 检查项 | 标准 |
|
|
426
|
+
| -------- | ------------------------ |
|
|
397
427
|
| 目标清晰 | 每个 Step/维度有明确目标 |
|
|
398
428
|
| 原因解释 | 重要约束都解释了"为什么" |
|
|
399
|
-
| 思考引导 | 有具体的引导问题列表
|
|
400
|
-
| 输出模板 | 有结构化的输出格式
|
|
401
|
-
| 示例丰富 | 关键概念有 ❌/✅ 示例对比
|
|
429
|
+
| 思考引导 | 有具体的引导问题列表 |
|
|
430
|
+
| 输出模板 | 有结构化的输出格式 |
|
|
431
|
+
| 示例丰富 | 关键概念有 ❌/✅ 示例对比 |
|
|
402
432
|
| 调研融合 | 融入了调研发现的最佳实践 |
|
|
403
433
|
|
|
404
434
|
---
|
|
405
435
|
|
|
406
436
|
## Step 6: 添加防护 (Add Guardrails)
|
|
407
437
|
|
|
408
|
-
**目标**:
|
|
438
|
+
**目标**: 让 Agent 只能通过高质量路径前进。
|
|
439
|
+
|
|
440
|
+
> **约束哲学**:约束不只是禁令,更是认知框架。没有解释的禁令只能约束服从者;有了"为什么"的约束,能让 Agent 在边界情况下自主做出正确判断。
|
|
441
|
+
>
|
|
442
|
+
> 每条有效约束必须回答三个问题:
|
|
443
|
+
> - **What** — 禁止/必须做什么(边界清晰)
|
|
444
|
+
> - **Why** — 为什么(意义,让 AI 理解而非机械执行)
|
|
445
|
+
> - **Violation signal** — 违反时长什么样(提供具体示例,让 AI 能自检)
|
|
409
446
|
|
|
410
447
|
**防护机制清单**:
|
|
411
448
|
|
|
412
|
-
| 机制
|
|
413
|
-
|
|
414
|
-
| `[!IMPORTANT]` 块 | 强制执行 | `> [!IMPORTANT]`
|
|
415
|
-
| `CRITICAL` 前缀
|
|
416
|
-
| `你**必须**`
|
|
417
|
-
| `❌ 禁止`
|
|
418
|
-
| `✅ 必须`
|
|
419
|
-
| 具体步数
|
|
420
|
-
| 完成标准
|
|
449
|
+
| 机制 | 用途 | 语法示例 |
|
|
450
|
+
| ----------------- | -------- | ----------------------- |
|
|
451
|
+
| `[!IMPORTANT]` 块 | 强制执行 | `> [!IMPORTANT]` |
|
|
452
|
+
| `CRITICAL` 前缀 | 引起注意 | `## ⚠️ CRITICAL` |
|
|
453
|
+
| `你**必须**` | 强制要求 | `你**必须**调用...` |
|
|
454
|
+
| `❌ 禁止` | 负面边界 | `❌ 禁止跳过步骤` |
|
|
455
|
+
| `✅ 必须` | 正面边界 | `✅ 必须验证结果` |
|
|
456
|
+
| 具体步数 | 量化思考 | `5-10 步思考` |
|
|
457
|
+
| 完成标准 | 验收条件 | `<completion_criteria>` |
|
|
421
458
|
|
|
422
|
-
|
|
459
|
+
**每个重要约束的完整格式**:
|
|
423
460
|
|
|
424
|
-
每个重要约束后面加:
|
|
425
461
|
```markdown
|
|
462
|
+
> [!IMPORTANT]
|
|
463
|
+
> 你**必须**[要求]。
|
|
464
|
+
>
|
|
426
465
|
> **为什么?** [解释原因]
|
|
466
|
+
>
|
|
467
|
+
> **自检示例**:[提供一个具体的正面或反面示例,让 AI 能对照判断自己是否越界。不一定非要有正反对比,只要足够直观即可。]
|
|
427
468
|
```
|
|
428
469
|
|
|
429
470
|
---
|
|
@@ -494,13 +535,13 @@ description: [一句话描述]
|
|
|
494
535
|
|
|
495
536
|
### 8.2 产出审视清单
|
|
496
537
|
|
|
497
|
-
| 审视维度 | 问题
|
|
498
|
-
|
|
499
|
-
| 可执行性 | 每个 Step 是否可直接执行? |
|
|
500
|
-
| 防护强度 | 防护机制是否足够?
|
|
501
|
-
| 思考深度 | 思考引导是否具体?
|
|
502
|
-
| 示例充分 | ❌/✅ 对比是否足够?
|
|
503
|
-
| 调研融合 | 最佳实践融入了吗?
|
|
538
|
+
| 审视维度 | 问题 | 状态 | 修复方案 |
|
|
539
|
+
| -------- | -------------------------- | :---: | -------- |
|
|
540
|
+
| 可执行性 | 每个 Step 是否可直接执行? | ✅/❌ | |
|
|
541
|
+
| 防护强度 | 防护机制是否足够? | ✅/❌ | |
|
|
542
|
+
| 思考深度 | 思考引导是否具体? | ✅/❌ | |
|
|
543
|
+
| 示例充分 | ❌/✅ 对比是否足够? | ✅/❌ | |
|
|
544
|
+
| 调研融合 | 最佳实践融入了吗? | ✅/❌ | |
|
|
504
545
|
|
|
505
546
|
### 8.3 迭代修复
|
|
506
547
|
|
|
@@ -559,9 +600,9 @@ description: [一句话描述]
|
|
|
559
600
|
|
|
560
601
|
### 表格增强
|
|
561
602
|
```markdown
|
|
562
|
-
| 维度 | 检查问题 | 状态
|
|
563
|
-
|
|
564
|
-
| ...
|
|
603
|
+
| 维度 | 检查问题 | 状态 |
|
|
604
|
+
| ---- | -------- | :---: |
|
|
605
|
+
| ... | ... | ✅/❌ |
|
|
565
606
|
```
|
|
566
607
|
|
|
567
608
|
### 完成标准
|
|
@@ -423,6 +423,7 @@ description: 为单个系统设计详细的技术文档,通过调研最佳实
|
|
|
423
423
|
**关键要求**:
|
|
424
424
|
- **L0 架构图**: 必须使用 Mermaid 绘制
|
|
425
425
|
- **L0 决策树**: 用 Mermaid `flowchart TD`,不用伪代码
|
|
426
|
+
- **L1 锚点原则 (L1 Anchor Principle)**: L0 作为大纲与目录,**必须**为 L1 里的所有细节块留下导航坐标(锚点)。例如在数据模型末尾必须显式注明 *“常量字典配置祥见 [xxx.detail.md §1](./xxx.detail.md)”*。**严禁在 L1 中存在 L0 完全没有提及/引用的“孤岛内容”**。
|
|
426
427
|
- **Trade-offs**: 每个重要技术选型都要说明"为什么选 A 不选 B"
|
|
427
428
|
- **追溯链**: 在相关章节引用 PRD 需求 [REQ-XXX]
|
|
428
429
|
- **约束继承**: 从 PRD 和 ADR 继承约束
|
|
@@ -1,289 +1,97 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
2
|
+
description: 智能编排全流程(scout → genesis → design → blueprint → challenge → forge)。
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
# /quickstart
|
|
6
6
|
|
|
7
7
|
<phase_context>
|
|
8
8
|
你是 **NAVIGATOR (导航员)**。
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
引导用户走完从"想法"到"可执行代码"的全流程。你不做具体工作——具体工作由各个专业工作流完成。你的价值在于**智能判断项目状态**和**编排正确的工作流顺序**。
|
|
12
|
-
|
|
13
|
-
**核心原则**:
|
|
14
|
-
- ⏸️ **绝不自动推进** — 每个 Step 结束后必须等待用户明确确认
|
|
15
|
-
- 🧭 **智能起点** — 自动检测项目进度,从正确的位置开始
|
|
16
|
-
- 📋 **清晰汇报** — 每个暂停点展示产出摘要、下一步内容、预估工作量
|
|
17
|
-
- 🔀 **随时退出** — 用户可以随时中断,切换到具体工作流精细操作
|
|
9
|
+
你的核心任务是:**智能诊断项目状态,编排最佳工作流路径。**
|
|
10
|
+
原则:⏸️ 每步必等确认 | 🧭 自动对准起点 | 📋 交付物导向。
|
|
18
11
|
</phase_context>
|
|
19
12
|
|
|
20
13
|
---
|
|
21
14
|
|
|
22
|
-
## Step 0:
|
|
23
|
-
|
|
24
|
-
**目标**: 智能判断项目当前处于哪个阶段,从正确的位置开始。
|
|
15
|
+
## Step 0: 项目诊断 (Diagnosis)
|
|
25
16
|
|
|
26
|
-
|
|
17
|
+
扫描项目以决定起点。
|
|
27
18
|
|
|
19
|
+
### 状态矩阵
|
|
28
20
|
```
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
│
|
|
39
|
-
├── 有 05_TASKS.md 但无 src/ 代码
|
|
40
|
-
│ → 需要任务审查或开始执行 → Jump to Step 5
|
|
41
|
-
│
|
|
42
|
-
└── 有代码 + 有任务
|
|
43
|
-
→ 增量模式 → Jump to Step 7
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
### 状态报告
|
|
47
|
-
|
|
48
|
-
向用户展示:
|
|
49
|
-
|
|
50
|
-
```markdown
|
|
51
|
-
## 🧭 项目状态检测
|
|
52
|
-
|
|
53
|
-
**检测到的架构版本**: genesis/v{N} (或: 未找到 genesis 目录)
|
|
54
|
-
**PRD**: ✅ 存在 / ❌ 缺失
|
|
55
|
-
**Architecture**: ✅ 存在 / ❌ 缺失
|
|
56
|
-
**System Design**: ✅ 已有 {X} 个系统设计 / ⚠️ 未找到
|
|
57
|
-
**Tasks**: ✅ 共 {N} 个任务 ({M} 已完成) / ❌ 缺失
|
|
58
|
-
**代码**: ✅ src/ 存在 / ❌ 未开始
|
|
59
|
-
|
|
60
|
-
📍 **建议从 Step {X} 开始**: {原因}
|
|
21
|
+
├── 🛑 无 genesis/
|
|
22
|
+
│ ├── 有代码 → 🏚️ [遗留项目] → Jump to Step 0.5 (Scout)
|
|
23
|
+
│ └── 无代码 → 🆕 [全新项目] → Jump to Step 1 (Genesis)
|
|
24
|
+
├── 📝 有架构 (无任务)
|
|
25
|
+
│ ├── 有系统设计 → Step 3 (Challenge Design)
|
|
26
|
+
│ └── 无系统设计 → Step 2 (Design System - 如需)
|
|
27
|
+
└── 🔨 有任务
|
|
28
|
+
├── 无代码 → Step 5 (Challenge Tasks)
|
|
29
|
+
└── 有代码 → Step 7 (Forge / Incremental)
|
|
61
30
|
```
|
|
62
31
|
|
|
63
|
-
⏸️
|
|
32
|
+
⏸️ **确认探测结果** → 进入建议步骤。
|
|
64
33
|
|
|
65
34
|
---
|
|
66
35
|
|
|
67
|
-
## Step
|
|
68
|
-
|
|
69
|
-
**目标**: 执行 `/genesis`,将模糊想法转化为 PRD + 架构文档 + ADR。
|
|
36
|
+
## Step 0.5: 侦察 (Scout)
|
|
70
37
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
### 完成后展示
|
|
74
|
-
|
|
75
|
-
```markdown
|
|
76
|
-
## ✅ Step 1 完成: 需求与架构
|
|
77
|
-
|
|
78
|
-
**产出文件**:
|
|
79
|
-
- 📄 genesis/v{N}/01_PRD.md — {X} 个 User Story, {Y} 个需求
|
|
80
|
-
- 📄 genesis/v{N}/02_ARCHITECTURE_OVERVIEW.md — {Z} 个系统
|
|
81
|
-
- 📁 genesis/v{N}/03_ADR/ — {W} 个架构决策记录
|
|
82
|
-
|
|
83
|
-
**下一步**: Step 2 — 系统详细设计 (如需要) 或 Step 3 — 设计审查 (Challenge)
|
|
84
|
-
**预估**: Step 2 每个系统约 30-60 分钟; Step 3 约 15-30 分钟
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
⏸️ **等待用户确认** → 用户确认后进入 Step 2。
|
|
38
|
+
**触发**: 遗留项目。通过 `/scout` 探测暗地里的风险与耦合。
|
|
39
|
+
**产出**: `00_SCOUT_REPORT.md` (Genesis 的重要输入)。
|
|
88
40
|
|
|
89
41
|
---
|
|
90
42
|
|
|
91
|
-
## Step
|
|
92
|
-
|
|
93
|
-
**目标**: 评估是否需要为各系统执行 `/design-system`。
|
|
94
|
-
|
|
95
|
-
### 复杂度评估
|
|
96
|
-
|
|
97
|
-
检查 `02_ARCHITECTURE_OVERVIEW.md` 中的系统数量和复杂度:
|
|
43
|
+
## Step 1: 创世 (Genesis)
|
|
98
44
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
| 系统数 ≤ 2,且无复杂跨系统交互 | 简单项目 | 建议跳过,blueprint 时可按需补充 |
|
|
102
|
-
| 系统数 ≥ 3,或有复杂状态同步 | 复杂项目 | 建议为每个核心系统执行 /design-system |
|
|
103
|
-
| 包含 AI/LLM 集成 | 需要详细设计 | 至少为 AI 相关系统做设计 |
|
|
45
|
+
**目标**: 运行 `/genesis`。将想法固化为 PRD、Architecture 与 ADR。
|
|
46
|
+
**核心交付**: `01_PRD.md`, `02_ARCHITECTURE_OVERVIEW.md`。
|
|
104
47
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
```markdown
|
|
108
|
-
## 🔍 Step 2: 系统设计评估
|
|
109
|
-
|
|
110
|
-
**架构中包含 {N} 个系统**:
|
|
111
|
-
|
|
112
|
-
| 系统 | 复杂度 | 建议 |
|
|
113
|
-
| ---------- | :----: | ----------------------- |
|
|
114
|
-
| {system-1} | 🔴 高 | 建议执行 /design-system |
|
|
115
|
-
| {system-2} | 🟡 中 | 可选 |
|
|
116
|
-
| {system-3} | 🟢 低 | 可跳过 |
|
|
48
|
+
---
|
|
117
49
|
|
|
118
|
-
|
|
119
|
-
```
|
|
50
|
+
## Step 2: 细化 (Design System)
|
|
120
51
|
|
|
121
|
-
|
|
52
|
+
**目标**: 针对高复杂度系统运行 `/design-system`。
|
|
53
|
+
**判断**: 系统数 ≥ 3 或包含 AI 集成时建议执行。
|
|
122
54
|
|
|
123
55
|
---
|
|
124
56
|
|
|
125
57
|
## Step 3: 设计审查 (Challenge Design)
|
|
126
58
|
|
|
127
|
-
**目标**:
|
|
128
|
-
|
|
129
|
-
> 引导用户执行 `/challenge` 工作流。由于当前无 `05_TASKS.md`,系统会自动进入 `DESIGN` 模式。
|
|
130
|
-
|
|
131
|
-
### 完成后展示
|
|
132
|
-
|
|
133
|
-
```markdown
|
|
134
|
-
## ✅ Step 3 完成: 设计审查
|
|
135
|
-
|
|
136
|
-
**审查结果**:
|
|
137
|
-
| 级别 | 数量 |
|
|
138
|
-
| ---------- | :---: |
|
|
139
|
-
| 🔴 Critical | {X} |
|
|
140
|
-
| 🟠 High | {Y} |
|
|
141
|
-
| 🟡 Medium | {Z} |
|
|
142
|
-
| 🟢 Low | {W} |
|
|
143
|
-
|
|
144
|
-
**详细报告**: genesis/v{N}/07_CHALLENGE_REPORT.md
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
### 判断逻辑
|
|
148
|
-
|
|
149
|
-
- **有 CRITICAL 问题**: "⚠️ 发现 {X} 个阻塞设计问题,建议先通过 /change 修复后再进入拆解环节。"
|
|
150
|
-
- **无 CRITICAL**: "✅ 无阻塞问题。可以开始拆解任务。"
|
|
151
|
-
|
|
152
|
-
```markdown
|
|
153
|
-
**下一步**: Step 4 — 任务拆解 (Blueprint)
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
⏸️ **等待用户确认** → 用户确认后进入 Step 4。
|
|
59
|
+
**目标**: 运行 `/challenge`。在动工前识别架构层面的 Critical 风险。
|
|
60
|
+
**准则**: 发现阻塞问题必须先修复。
|
|
157
61
|
|
|
158
62
|
---
|
|
159
63
|
|
|
160
|
-
## Step 4:
|
|
161
|
-
|
|
162
|
-
**目标**: 执行 `/blueprint`,将稳固的架构拆解为可执行的 WBS 任务清单。
|
|
163
|
-
|
|
164
|
-
> 引导用户执行 `/blueprint` 工作流。含 User Story Overlay 交叉验证。
|
|
64
|
+
## Step 4: 蓝图 (Blueprint)
|
|
165
65
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
```markdown
|
|
169
|
-
## ✅ Step 4 完成: 任务清单
|
|
170
|
-
|
|
171
|
-
**产出文件**: genesis/v{N}/05_TASKS.md
|
|
172
|
-
|
|
173
|
-
**统计**:
|
|
174
|
-
- 总任务数: {N}
|
|
175
|
-
- P0 (Must): {X} | P1 (Should): {Y} | P2 (Nice): {Z}
|
|
176
|
-
- Sprint 数: {S}
|
|
177
|
-
- 总预估工时: {T}h
|
|
178
|
-
|
|
179
|
-
**User Story 覆盖**:
|
|
180
|
-
- {covered}/{total} US 完整覆盖
|
|
181
|
-
- {gaps} 个覆盖 GAP (已在 Overlay 中标注)
|
|
182
|
-
|
|
183
|
-
**下一步**: Step 5 — 任务审查 (Challenge Tasks,建议执行)
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
⏸️ **等待用户确认** → 用户确认后进入 Step 5。
|
|
66
|
+
**目标**: 运行 `/blueprint`。将架构拆解为可执行的 `05_TASKS.md`。
|
|
67
|
+
**交付**: WBS 任务清单 + Sprint 划分。
|
|
187
68
|
|
|
188
69
|
---
|
|
189
70
|
|
|
190
71
|
## Step 5: 任务审查 (Challenge Tasks)
|
|
191
72
|
|
|
192
|
-
**目标**:
|
|
193
|
-
|
|
194
|
-
> 引导用户执行 `/challenge` 工作流。由于 `05_TASKS.md` 已存在,它将执行 `task-reviewer` (或 `FULL` 全面审查)。
|
|
195
|
-
|
|
196
|
-
### 完成后展示
|
|
197
|
-
|
|
198
|
-
```markdown
|
|
199
|
-
## ✅ Step 5 完成: 任务审查
|
|
200
|
-
|
|
201
|
-
**审查结果**: (同上表)
|
|
202
|
-
**报告已追加至**: genesis/v{N}/07_CHALLENGE_REPORT.md
|
|
203
|
-
```
|
|
204
|
-
|
|
205
|
-
### 判断逻辑
|
|
206
|
-
- **有任务覆盖 GAP 或缺陷**: "⚠️ 任务清单有漏洞,建议使用 /change 补全。"
|
|
207
|
-
- **无阻塞问题**: "✅ 任务清单坚如磐石。"
|
|
208
|
-
|
|
209
|
-
```markdown
|
|
210
|
-
**下一步**: Step 6 — 开始编码执行 (Wave 1)
|
|
211
|
-
```
|
|
212
|
-
|
|
213
|
-
⏸️ **等待用户确认** → 用户确认后进入 Step 6。
|
|
73
|
+
**目标**: 再次运行 `/challenge`。确保任务覆盖了所有 User Stories 且无逻辑缺失。
|
|
214
74
|
|
|
215
75
|
---
|
|
216
76
|
|
|
217
|
-
## Step 6:
|
|
218
|
-
|
|
219
|
-
**目标**: 引导进入 `/forge` 的第一个波次。
|
|
220
|
-
|
|
221
|
-
> 引导用户执行 `/forge` 工作流。
|
|
77
|
+
## Step 6: 铸造 (Forge)
|
|
222
78
|
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
```markdown
|
|
226
|
-
## 🔨 Step 5: 准备开始执行
|
|
227
|
-
|
|
228
|
-
基于任务清单和依赖关系,建议 Wave 1 包含:
|
|
229
|
-
|
|
230
|
-
| 任务 | 标题 | 估时 |
|
|
231
|
-
| -------- | ---- | :---: |
|
|
232
|
-
| T{X.Y.Z} | ... | Xh |
|
|
233
|
-
| T{X.Y.Z} | ... | Xh |
|
|
234
|
-
|
|
235
|
-
**总估时**: ~{T}h
|
|
236
|
-
|
|
237
|
-
准备好了吗?确认后将进入 /forge 开始编码。
|
|
238
|
-
此后可直接使用 /forge 继续后续波次。
|
|
239
|
-
```
|
|
240
|
-
|
|
241
|
-
⏸️ **等待用户确认** → 确认后执行 `/forge`。
|
|
79
|
+
**目标**: 进入 `/forge`。引导开始 Wave 1 的编码。
|
|
80
|
+
**提示**: 后续开发可直接使用 `/forge` 继续各波次。
|
|
242
81
|
|
|
243
82
|
---
|
|
244
83
|
|
|
245
|
-
## Step 7:
|
|
246
|
-
|
|
247
|
-
**目标**: 项目已有进度时,展示当前状态并建议下一步。
|
|
248
|
-
|
|
249
|
-
### 展示当前进度
|
|
84
|
+
## Step 7: 增量管理 (Incremental)
|
|
250
85
|
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
| Sprint | 任务数 | 已完成 | 状态 |
|
|
259
|
-
| ------ | :----: | :----: | :---: |
|
|
260
|
-
| S1 | {X} | {Y} | ✅/🔶/⬜ |
|
|
261
|
-
| S2 | {X} | {Y} | ✅/🔶/⬜ |
|
|
262
|
-
|
|
263
|
-
**建议下一步**:
|
|
264
|
-
1. `/forge` — 继续执行未完成的任务
|
|
265
|
-
2. `/change` — 微调已有任务
|
|
266
|
-
3. `/challenge` — 对当前状态做一次审查
|
|
267
|
-
4. `/genesis` — 启动新版本架构 (v{N+1})
|
|
268
|
-
```
|
|
269
|
-
|
|
270
|
-
⏸️ **等待用户选择** → 根据选择跳转到对应工作流。
|
|
86
|
+
**场景**: 项目开发中。
|
|
87
|
+
**建议建议**:
|
|
88
|
+
- `/forge` — 继续执行任务
|
|
89
|
+
- `/scout` — 重大变更前探测风险
|
|
90
|
+
- `/genesis` — 架构大版本升级
|
|
91
|
+
- `/change` — 微调任务细节
|
|
271
92
|
|
|
272
93
|
---
|
|
273
94
|
|
|
274
|
-
|
|
275
|
-
- ✅ 正确检测了项目状态
|
|
276
|
-
- ✅ 每个 Step 结束后等待了用户确认
|
|
277
|
-
- ✅ 用户已进入具体工作流开始工作
|
|
278
|
-
</completion_criteria>
|
|
279
|
-
|
|
280
|
-
---
|
|
281
|
-
|
|
282
|
-
## 🔀 Handoffs
|
|
283
|
-
|
|
284
|
-
完成本工作流后,根据情况选择:
|
|
95
|
+
## 🔀 快速跳转 (Handoffs)
|
|
285
96
|
|
|
286
|
-
-
|
|
287
|
-
- **任务拆解** → `/blueprint` — 将架构拆解为可执行任务
|
|
288
|
-
- **开始编码** → `/forge` — 按任务清单开始波次执行
|
|
289
|
-
- **质疑设计** → `/challenge` — 对当前设计进行系统性挑战
|
|
97
|
+
- `/scout` | `/genesis` | `/blueprint` | `/challenge` | `/forge`
|