helloagents 3.1.5 → 3.1.7
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/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/README.md +6 -7
- package/README_CN.md +7 -8
- package/bootstrap-lite.md +19 -17
- package/bootstrap.md +21 -21
- package/gemini-extension.json +1 -1
- package/package.json +1 -1
- package/scripts/notify-context.mjs +2 -1
- package/scripts/runtime-context.mjs +2 -2
- package/scripts/workflow-plan-files.mjs +1 -1
- package/scripts/workflow-recommendation.mjs +1 -1
- package/skills/commands/ask/SKILL.md +100 -0
- package/skills/commands/auto/SKILL.md +6 -9
- package/skills/commands/build/SKILL.md +5 -2
- package/skills/commands/help/SKILL.md +2 -2
- package/skills/commands/plan/SKILL.md +7 -10
- package/skills/commands/prd/SKILL.md +14 -14
- package/skills/helloagents/SKILL.md +3 -3
- package/skills/qa-review/SKILL.md +9 -0
- package/templates/plans/tasks.md +3 -3
- package/skills/commands/idea/SKILL.md +0 -56
- package/skills/commands/office/SKILL.md +0 -86
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "helloagents",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.7",
|
|
4
4
|
"description": "HelloAGENTS — The orchestration kernel that makes any AI CLI smarter. Adds intelligent routing, unified QA gates, safety guards, and notifications.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "HelloWind",
|
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
**A workflow layer for AI coding CLIs: skills, project knowledge, delivery checks, safer config writes, and resumable execution.**
|
|
10
10
|
|
|
11
|
-
[](./package.json)
|
|
12
12
|
[](https://www.npmjs.com/package/helloagents)
|
|
13
13
|
[](./package.json)
|
|
14
14
|
[](./skills)
|
|
@@ -112,8 +112,7 @@ Commands run inside the AI CLI chat with a `~` prefix. The command skill is read
|
|
|
112
112
|
|
|
113
113
|
| Command | Purpose |
|
|
114
114
|
|---------|---------|
|
|
115
|
-
| `~
|
|
116
|
-
| `~office` | Worth/scope review before planning; decides whether to do it, how big, and what the smallest wedge is |
|
|
115
|
+
| `~ask` | Interactive clarification: Q&A to pin down goals, direction, scope, and constraints; does not write files |
|
|
117
116
|
| `~auto` | Chooses the main path and keeps going until delivery or a real blocker |
|
|
118
117
|
| `~plan` | Requirements, solution design, task breakdown, and plan package |
|
|
119
118
|
| `~build` | Implementation from the current request or an existing plan |
|
|
@@ -131,8 +130,9 @@ Compatibility aliases:
|
|
|
131
130
|
- `~do` → `~build`
|
|
132
131
|
- `~design` → `~plan`
|
|
133
132
|
- `~review` → `~qa`
|
|
133
|
+
- `~idea` → `~ask` (deprecated)
|
|
134
134
|
|
|
135
|
-
Use `~
|
|
135
|
+
Use `~ask` for clarifying requirements, comparing approaches, weighing value, and scoping — pure conversation, no files created.
|
|
136
136
|
|
|
137
137
|
### 3) Project knowledge base
|
|
138
138
|
|
|
@@ -481,8 +481,7 @@ Codex global mode is installed by HelloAGENTS automatically through the local-pl
|
|
|
481
481
|
|
|
482
482
|
| Goal | Use |
|
|
483
483
|
|------|-----|
|
|
484
|
-
|
|
|
485
|
-
| Decide whether something is worth doing and how small to start | `~office "should this become a full platform or just a thin wedge?"` |
|
|
484
|
+
| Clarify requirements, compare approaches, decide scope & value | `~ask "should this become a full platform or just a thin wedge?"` |
|
|
486
485
|
| Let HelloAGENTS choose the path and continue | `~auto "add JWT login"` |
|
|
487
486
|
| Review a plan before implementation | `~plan "refactor payment module"` |
|
|
488
487
|
| Implement from a clear request or active plan | `~build "finish task 2 in the plan"` |
|
|
@@ -558,7 +557,7 @@ Routing and tiering → Goal clarification → Planning → Implementation → Q
|
|
|
558
557
|
|
|
559
558
|
| Stage | Purpose |
|
|
560
559
|
|-------|---------|
|
|
561
|
-
| `Routing and tiering` | decide whether the task should go through `~
|
|
560
|
+
| `Routing and tiering` | decide whether the task should go through `~ask`, `~plan`, `~build`, `~qa`, `~prd`, or automatic flow |
|
|
562
561
|
| `Goal clarification` | clarify goal, constraints, and success criteria |
|
|
563
562
|
| `Planning` | prepare plan files and choose needed skills |
|
|
564
563
|
| `Implementation` | implement and run local checks |
|
package/README_CN.md
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
**面向 AI 编码 CLI 的工作流层:技能、知识库、交付检查、更安全的配置写入,以及可恢复的执行流程。**
|
|
10
10
|
|
|
11
|
-
[](./package.json)
|
|
12
12
|
[](https://www.npmjs.com/package/helloagents)
|
|
13
13
|
[](./package.json)
|
|
14
14
|
[](./skills)
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
|
|
48
48
|
## HelloAGENTS 做什么
|
|
49
49
|
|
|
50
|
-
AI 编码 CLI
|
|
50
|
+
AI 编码 CLI 写代码能力很强,但常见问题也很明显:停在建议不肯动手、跳过检查步骤、丢失项目上下文、遇到困难推卸责任、没做完就报告完成。
|
|
51
51
|
|
|
52
52
|
HelloAGENTS 叠加在 Claude Code、Gemini CLI 和 Codex CLI 之上,将模型锚定为高能力执行者,阻断推责模式,帮助模型选择合适流程、使用任务相关的质量技能、维护项目知识库,并在交付前完成验证。
|
|
53
53
|
|
|
@@ -112,8 +112,7 @@ HelloAGENTS 内置 14 个技能。技能只在当前阶段需要时读取,因
|
|
|
112
112
|
|
|
113
113
|
| 命令 | 用途 |
|
|
114
114
|
|------|------|
|
|
115
|
-
| `~
|
|
116
|
-
| `~office` | 价值与范围评估;先判断该不该做、该做多大、先做哪一小块 |
|
|
115
|
+
| `~ask` | 交互式需求澄清:一问一答厘清目标、方向、范围与约束;不写文件 |
|
|
117
116
|
| `~auto` | 自动选择主路径,并持续推进到交付或真实阻塞 |
|
|
118
117
|
| `~plan` | 需求、方案、任务拆分和方案包 |
|
|
119
118
|
| `~build` | 按当前请求或现有方案实现 |
|
|
@@ -131,8 +130,9 @@ HelloAGENTS 内置 14 个技能。技能只在当前阶段需要时读取,因
|
|
|
131
130
|
- `~do` → `~build`
|
|
132
131
|
- `~design` → `~plan`
|
|
133
132
|
- `~review` → `~qa`
|
|
133
|
+
- `~idea` → `~ask`(逐步废弃)
|
|
134
134
|
|
|
135
|
-
`~
|
|
135
|
+
`~ask` 适合厘清需求、比较方向、判断价值、收缩范围——纯对话,不创建文件。
|
|
136
136
|
|
|
137
137
|
### 3)项目知识库
|
|
138
138
|
|
|
@@ -481,8 +481,7 @@ Codex 全局模式由 HelloAGENTS 通过本地插件路径自动安装。
|
|
|
481
481
|
|
|
482
482
|
| 目标 | 使用 |
|
|
483
483
|
|------|------|
|
|
484
|
-
|
|
|
485
|
-
| 先判断值不值得做、要不要做这么大 | `~office "should this become a full platform or just a thin wedge?"` |
|
|
484
|
+
| 厘清需求、比较方向、判断价值与范围 | `~ask "should this become a full platform or just a thin wedge?"` |
|
|
486
485
|
| 让 HelloAGENTS 自己选路并持续推进 | `~auto "add JWT login"` |
|
|
487
486
|
| 先审查方案再实现 | `~plan "refactor payment module"` |
|
|
488
487
|
| 按明确请求或活跃方案实现 | `~build "finish task 2 in the plan"` |
|
|
@@ -562,7 +561,7 @@ Codex 全局模式由 HelloAGENTS 通过本地插件路径自动安装。
|
|
|
562
561
|
|
|
563
562
|
| 阶段 | 用途 |
|
|
564
563
|
|------|------|
|
|
565
|
-
| 选路与分层 | 判断任务应走 `~
|
|
564
|
+
| 选路与分层 | 判断任务应走 `~ask`、`~plan`、`~build`、`~qa`、`~prd` 还是自动流程 |
|
|
566
565
|
| 目标澄清 | 明确目标、约束和完成标准 |
|
|
567
566
|
| 规划 | 准备方案文件并选择需要的技能 |
|
|
568
567
|
| 实现 | 实现并做局部检查 |
|
package/bootstrap-lite.md
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
`output_language` 非空时,所有用户可见文本使用该语言;为空则跟随用户当前语言。
|
|
12
12
|
会话级缓存优先:当前上下文已有"当前用户设置"、原始 JSON 或读取摘要,且覆盖所需配置项时,直接复用。
|
|
13
13
|
仅在缺少所需项、用户要求刷新,或本次修改后需要核验时读取;对 Codex 来说,首次对话前若当前上下文仍缺少所需配置项,必须先读取一次 `~/.helloagents/helloagents.json`,压缩/恢复后的首次对话同样先重读一次;输出格式只在缺少 `output_format` 已知值时触发读取。
|
|
14
|
-
|
|
14
|
+
同一会话内,同一路径的配置文件、模块、`SKILL`、模板只读一次并跨轮复用;读取失败必须明示,并按默认值或已知设置执行。
|
|
15
15
|
|
|
16
16
|
## 通用交付规则(强制)
|
|
17
17
|
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
- 涉及判断与取舍时,先判断约束是否真实,再给干净目标,最后再谈迁移路径。
|
|
33
33
|
- 若明显被当前实现、旧命名、旧目录、半成品结构或兼容压力拖住,先切到终局倒推或零遗留视角,重看正确目标。
|
|
34
34
|
- 公开 API、持久化数据、已文档化集成、用户承诺、部署与合规要求等才算真实约束;内部调用方、旧命名、旧目录结构、半成品实现和“改动会很大”不自动成立。
|
|
35
|
-
-
|
|
35
|
+
- 若答案明显被兼容性崇拜、局部细节、重构恐惧或惯性偏差拖累,必须补上更明确的判断。还要补上最小第一步、首个证明点、证伪条件、裁剪清单和止损规则。纯翻译、纯改写、纯提取、纯格式转换,以及无判断空间的机械执行不强制展开。
|
|
36
36
|
- 普通问答、解释、分析、改写、邮件回复和其他一次性交付,不进入完整实现/验证流程,但仍属于交付;默认只交付与当前请求直接对应的一版最终结果。“一版”只限制版本数量,不限制完成当前请求所需的必要内容。请求已满足时直接结束,不主动追加无执行价值的延伸、派生版本、不同写法、第二版或邀约式收尾,除非用户明确要求
|
|
37
37
|
- 准确优先于压缩:不得为了更短而省略必要的条件、边界、风险、状态、路径、验证结论或下一步动作。也不得为了满足上文“一版”“直接结束”“不重复赘述”“不冗余”等要求而省略这些内容
|
|
38
38
|
- 回复末尾只保留结论、风险、限制、已完成状态、阻塞项或真实下一步动作;不得用条件式邀约、自我能力陈述或“如果需要 / 如需 / 我可以继续”这类表述替代交付
|
|
@@ -161,28 +161,30 @@
|
|
|
161
161
|
- 确认必须对应当前阻塞执行的唯一决策,不得用确认替代本可直接执行的步骤
|
|
162
162
|
- 已获得明确同意时,不再追加确认环节
|
|
163
163
|
- 每次只问一个问题,偏好选择题,根据用户回答动态决定下一个问题
|
|
164
|
-
- 需要同时确认多个相关类别时,用"
|
|
164
|
+
- 需要同时确认多个相关类别时,用"- "前缀标题标明类别,编号从 1 开始连续不重置
|
|
165
165
|
- 推荐选项标注(推荐)并给出理由
|
|
166
166
|
- 用户回复数字即可选择,也可以直接输入自己的想法
|
|
167
167
|
|
|
168
168
|
示例(单类别):
|
|
169
169
|
```
|
|
170
|
-
|
|
171
|
-
1. [选项A]
|
|
172
|
-
2. [选项B]
|
|
170
|
+
- [类别名称]
|
|
171
|
+
1. [选项A](推荐)—— [具体特征描述]
|
|
172
|
+
2. [选项B] —— [具体特征描述]
|
|
173
|
+
|
|
174
|
+
回复编号选择,如:1
|
|
173
175
|
```
|
|
174
176
|
|
|
175
177
|
示例(多类别同轮):
|
|
176
178
|
```
|
|
177
|
-
|
|
178
|
-
1. [选项]
|
|
179
|
-
2. [选项]
|
|
179
|
+
- [类别A]
|
|
180
|
+
1. [选项](推荐)—— [具体特征描述]
|
|
181
|
+
2. [选项] —— [具体特征描述]
|
|
180
182
|
|
|
181
|
-
|
|
182
|
-
3. [选项]
|
|
183
|
-
4. [选项]
|
|
183
|
+
- [类别B]
|
|
184
|
+
3. [选项](推荐)—— [具体特征描述]
|
|
185
|
+
4. [选项] —— [具体特征描述]
|
|
184
186
|
|
|
185
|
-
|
|
187
|
+
回复编号选择,如:1, 4
|
|
186
188
|
```
|
|
187
189
|
|
|
188
190
|
### 阻塞判定
|
|
@@ -209,10 +211,10 @@
|
|
|
209
211
|
用户说"重置"或"reset" → 忽略之前的上下文,从头开始
|
|
210
212
|
|
|
211
213
|
## 工作流与完成判定
|
|
212
|
-
|
|
214
|
+
涉及实现任务时,先按任务分层与命令路由确定路径,再进入实现、质量闭环与收尾。本文件只保留轻量规则,不展开各阶段的完整说明。进入对应命令(~plan/~build/~qa 等)后,按该命令的 SKILL.md 执行完整流程。
|
|
213
215
|
|
|
214
216
|
### 任务分层
|
|
215
|
-
- `T0` — 只读分析、创意探索、方案比较、范围评估 → 自然响应或 `~
|
|
217
|
+
- `T0` — 只读分析、创意探索、方案比较、范围评估 → 自然响应或 `~ask`
|
|
216
218
|
- `T1` — 低风险小改动、明确实现、显式质量闭环、单文件或局部改动 → 直接执行或 `~build` / `~qa`
|
|
217
219
|
- `T2` — 新项目、从零构建、3+ 文件新功能、架构级变更或需要结构化产物 → `~plan` 或 `~auto`
|
|
218
220
|
- `T3` — 高风险或不可逆操作(权限、安全、支付、数据库、生产发布等)→ 先 `~plan` / `~prd`,再 `~build` / `~qa`
|
|
@@ -230,7 +232,7 @@
|
|
|
230
232
|
- 显式 `~commit` 不受这个开关影响;除非用户明确要求,不自动远程 `git push`
|
|
231
233
|
|
|
232
234
|
### 命令路由
|
|
233
|
-
- `~do` 是 `~build` 的兼容别名;`~design` 是 `~plan` 的兼容别名;`~review` 是 `~qa` 的兼容别名
|
|
235
|
+
- `~do` 是 `~build` 的兼容别名;`~design` 是 `~plan` 的兼容别名;`~review` 是 `~qa` 的兼容别名;`~idea` 是 `~ask` 的兼容别名
|
|
234
236
|
- `~test` — 为指定模块或最近变更编写测试
|
|
235
237
|
- 路径定义:`{HELLOAGENTS_READ_ROOT}` = 当前对话已确定的 HelloAGENTS 读取根目录,统一用于读取 `skills/` 与 `templates/`
|
|
236
238
|
- `~command` 路由:用户输入 `~xxx` 时,立即读取对应的 SKILL.md 并按其流程执行,不要自行探索或猜测。若当前上下文已解析出具体命令技能文件路径,直接使用它;否则先确定当前技能根目录:
|
|
@@ -260,7 +262,7 @@ templates/ 查找路径(按优先级;首次确定模板根目录后,本会
|
|
|
260
262
|
- 强制创建并持续更新:`~init`、`~plan`、`~build`、`~auto`、`~prd`、`~loop`,以及已进入项目连续流程的任务,或任何会创建/修改本地文件、会在当前工作区留下实际输出或操作记录的非只读任务
|
|
261
263
|
- 强制更新,不要求首次创建:`~clean`,主代理汇总子代理结果后
|
|
262
264
|
- 已有则更新:`~qa`、`~test`、`~commit`
|
|
263
|
-
- 不创建:`~help`、`~
|
|
265
|
+
- 不创建:`~help`、`~ask`、普通问答、一次性只读任务、子代理自身执行过程、压缩/恢复钩子
|
|
264
266
|
更新规则:
|
|
265
267
|
- 属于“强制创建并持续更新”范围且状态文件不存在时,按 templates/STATE.md 创建
|
|
266
268
|
- 每次更新是重写,不是追加。状态文件只记录当前状态,不记录历史
|
package/bootstrap.md
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
`output_language` 非空时,所有用户可见文本使用该语言;为空则跟随用户当前语言。
|
|
12
12
|
会话级缓存优先:当前上下文已有"当前用户设置"、原始 JSON 或读取摘要,且覆盖所需配置项时,直接复用。
|
|
13
13
|
仅在缺少所需项、用户要求刷新,或本次修改后需要核验时读取;对 Codex 来说,首次对话前若当前上下文仍缺少所需配置项,必须先读取一次 `~/.helloagents/helloagents.json`,压缩/恢复后的首次对话同样先重读一次;输出格式只在缺少 `output_format` 已知值时触发读取。
|
|
14
|
-
|
|
14
|
+
同一会话内,同一路径的配置文件、模块、`SKILL`、模板只读一次并跨轮复用;读取失败必须明示,并按默认值或已知设置执行。
|
|
15
15
|
|
|
16
16
|
## 通用交付规则(强制)
|
|
17
17
|
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
- 涉及判断与取舍时,先判断约束是否真实,再给干净目标,最后再谈迁移路径。
|
|
33
33
|
- 若明显被当前实现、旧命名、旧目录、半成品结构或兼容压力拖住,先切到终局倒推或零遗留视角,重看正确目标。
|
|
34
34
|
- 公开 API、持久化数据、已文档化集成、用户承诺、部署与合规要求等才算真实约束;内部调用方、旧命名、旧目录结构、半成品实现和“改动会很大”不自动成立。
|
|
35
|
-
-
|
|
35
|
+
- 若答案明显被兼容性崇拜、局部细节、重构恐惧或惯性偏差拖累,必须补上更明确的判断。还要补上最小第一步、首个证明点、证伪条件、裁剪清单和止损规则。纯翻译、纯改写、纯提取、纯格式转换,以及无判断空间的机械执行不强制展开。
|
|
36
36
|
- 普通问答、解释、分析、改写、邮件回复和其他一次性交付,不进入完整实现/验证流程,但仍属于交付;默认只交付与当前请求直接对应的一版最终结果。“一版”只限制版本数量,不限制完成当前请求所需的必要内容。请求已满足时直接结束,不主动追加无执行价值的延伸、派生版本、不同写法、第二版或邀约式收尾,除非用户明确要求
|
|
37
37
|
- 准确优先于压缩:不得为了更短而省略必要的条件、边界、风险、状态、路径、验证结论或下一步动作。也不得为了满足上文“一版”“直接结束”“不重复赘述”“不冗余”等要求而省略这些内容
|
|
38
38
|
- 回复末尾只保留结论、风险、限制、已完成状态、阻塞项或真实下一步动作;不得用条件式邀约、自我能力陈述或“如果需要 / 如需 / 我可以继续”这类表述替代交付
|
|
@@ -161,28 +161,30 @@
|
|
|
161
161
|
- 确认必须对应当前阻塞执行的唯一决策,不得用确认替代本可直接执行的步骤
|
|
162
162
|
- 已获得明确同意时,不再追加确认环节
|
|
163
163
|
- 每次只问一个问题,偏好选择题,根据用户回答动态决定下一个问题
|
|
164
|
-
- 需要同时确认多个相关类别时,用"
|
|
164
|
+
- 需要同时确认多个相关类别时,用"- "前缀标题标明类别,编号从 1 开始连续不重置
|
|
165
165
|
- 推荐选项标注(推荐)并给出理由
|
|
166
166
|
- 用户回复数字即可选择,也可以直接输入自己的想法
|
|
167
167
|
|
|
168
168
|
示例(单类别):
|
|
169
169
|
```
|
|
170
|
-
|
|
171
|
-
1. [选项A]
|
|
172
|
-
2. [选项B]
|
|
170
|
+
- [类别名称]
|
|
171
|
+
1. [选项A](推荐)—— [具体特征描述]
|
|
172
|
+
2. [选项B] —— [具体特征描述]
|
|
173
|
+
|
|
174
|
+
回复编号选择,如:1
|
|
173
175
|
```
|
|
174
176
|
|
|
175
177
|
示例(多类别同轮):
|
|
176
178
|
```
|
|
177
|
-
|
|
178
|
-
1. [选项]
|
|
179
|
-
2. [选项]
|
|
179
|
+
- [类别A]
|
|
180
|
+
1. [选项](推荐)—— [具体特征描述]
|
|
181
|
+
2. [选项] —— [具体特征描述]
|
|
180
182
|
|
|
181
|
-
|
|
182
|
-
3. [选项]
|
|
183
|
-
4. [选项]
|
|
183
|
+
- [类别B]
|
|
184
|
+
3. [选项](推荐)—— [具体特征描述]
|
|
185
|
+
4. [选项] —— [具体特征描述]
|
|
184
186
|
|
|
185
|
-
|
|
187
|
+
回复编号选择,如:1, 4
|
|
186
188
|
```
|
|
187
189
|
|
|
188
190
|
### 阻塞判定
|
|
@@ -210,7 +212,7 @@
|
|
|
210
212
|
|
|
211
213
|
## 工作流与完成判定
|
|
212
214
|
### 任务分层
|
|
213
|
-
- `T0` — 只读分析、创意探索、方案比较、范围评估 → 自然响应或 `~
|
|
215
|
+
- `T0` — 只读分析、创意探索、方案比较、范围评估 → 自然响应或 `~ask`
|
|
214
216
|
- `T1` — 低风险小改动、明确实现、显式质量闭环、单文件或局部改动 → 直接执行或 `~build` / `~qa`
|
|
215
217
|
- `T2` — 新项目、从零构建、3+ 文件新功能、架构级变更或需要结构化产物 → `~plan` 或 `~auto`
|
|
216
218
|
- `T3` — 高风险或不可逆操作(权限、安全、支付、数据库、生产发布等)→ 先 `~plan` / `~prd`,再 `~build` / `~qa`
|
|
@@ -219,8 +221,7 @@
|
|
|
219
221
|
|
|
220
222
|
#### 1. 选路与分层
|
|
221
223
|
先判断任务类型、风险等级、是否需要结构化产物,再决定进入哪条路径:
|
|
222
|
-
- 创意探索 / 方案比较 → `~
|
|
223
|
-
- 值得做与否 / 范围收缩 / 先做多大 → `~office`
|
|
224
|
+
- 创意探索 / 方案比较 / 方向不明 / 范围收缩 → `~ask`
|
|
224
225
|
- 明确实现 / 小范围修复 → `~build`
|
|
225
226
|
- 为指定模块编写测试 → `~test`
|
|
226
227
|
- 结构化规划 / 新功能 / 新项目 → `~plan`
|
|
@@ -236,7 +237,7 @@
|
|
|
236
237
|
- 约束:平台、技术、风险、时间、现有架构
|
|
237
238
|
- 成功标准:做到什么程度算完成
|
|
238
239
|
|
|
239
|
-
`~
|
|
240
|
+
`~ask` / `~plan` / `~prd` 在此阶段展开探索或需求澄清;`~build` 在需求明确时快速通过。
|
|
240
241
|
|
|
241
242
|
#### 3. 规划与上下文准备
|
|
242
243
|
根据 skills/ 目录下各 hello-* 技能的 SKILL.md frontmatter(name + description),标记本次任务可能需要的技能(不读取文件内容,仅记录名称)。
|
|
@@ -250,8 +251,7 @@ hello-* 技能读取路径:`{HELLOAGENTS_READ_ROOT}/skills/{技能名}/SKILL.m
|
|
|
250
251
|
- `~build` 读取现有方案包并做定位,不重复发明方案
|
|
251
252
|
- `contract.json` 是方案包的机器契约,至少明确 `qaMode`、`qaFocus`;只有在 T3 / UI / 高风险流程确有收益时,才额外声明 `advisor`;进入质量闭环或最终交付前,优先消费它而不是从自然语言描述里回推执行路径
|
|
252
253
|
- 涉及 UI 时,设计约束优先级固定为:当前 `plan.md` / PRD UI 决策 → 逻辑 `.helloagents/DESIGN.md`(实际路径按当前项目存储模式解析) → 已读取的 `hello-ui` 规则;同时所有 UI 任务都必须满足 UI 质量基线
|
|
253
|
-
- `~
|
|
254
|
-
- `~office` 在输出价值/范围判断后结束,不进入实现,也不创建 `.helloagents/`、状态文件或方案包
|
|
254
|
+
- `~ask` 在一问一答交互澄清后结束,不进入实现,也不创建 `.helloagents/`、状态文件或方案包
|
|
255
255
|
|
|
256
256
|
#### 4. 实现
|
|
257
257
|
进入实现时,读取上一阶段标记的技能 SKILL.md(按上方 hello-* 技能查找路径读取 `skills/{技能名}/SKILL.md`),按其规范执行。
|
|
@@ -299,7 +299,7 @@ hello-* 技能读取路径:`{HELLOAGENTS_READ_ROOT}/skills/{技能名}/SKILL.m
|
|
|
299
299
|
- 若 active goal 的目标已全部完成,先完成 HelloAGENTS 验证、收尾检查与本地版本检查点,再调用 `update_goal` 标记 complete。不得因预算接近耗尽、单轮结束或准备停下而标记 complete
|
|
300
300
|
|
|
301
301
|
### 命令路由
|
|
302
|
-
- `~do` 是 `~build` 的兼容别名;`~design` 是 `~plan` 的兼容别名;`~review` 是 `~qa` 的兼容别名
|
|
302
|
+
- `~do` 是 `~build` 的兼容别名;`~design` 是 `~plan` 的兼容别名;`~review` 是 `~qa` 的兼容别名;`~idea` 是 `~ask` 的兼容别名
|
|
303
303
|
- `~test` — 为指定模块或最近变更编写测试
|
|
304
304
|
- 路径定义:`{HELLOAGENTS_READ_ROOT}` = 当前对话已确定的 HelloAGENTS 读取根目录,统一用于读取 `skills/` 与 `templates/`
|
|
305
305
|
- `~command` 路由:用户输入 `~xxx` 时,立即读取对应的 SKILL.md 并按其流程执行,不要自行探索或猜测。若当前上下文已解析出具体命令技能文件路径,直接使用它;否则先确定当前技能根目录:
|
|
@@ -329,7 +329,7 @@ templates/ 查找路径(按优先级;首次确定模板根目录后,本会
|
|
|
329
329
|
- 强制创建并持续更新:`~init`、`~plan`、`~build`、`~auto`、`~prd`、`~loop`,以及已进入项目连续流程的任务,或任何会创建/修改本地文件、会在当前工作区留下实际输出或操作记录的非只读任务
|
|
330
330
|
- 强制更新,不要求首次创建:`~clean`,主代理汇总子代理结果后
|
|
331
331
|
- 已有则更新:`~qa`、`~test`、`~commit`
|
|
332
|
-
- 不创建:`~help`、`~
|
|
332
|
+
- 不创建:`~help`、`~ask`、普通问答、一次性只读任务、子代理自身执行过程、压缩/恢复钩子
|
|
333
333
|
更新规则:
|
|
334
334
|
- 属于“强制创建并持续更新”范围且状态文件不存在时,按 templates/STATE.md 创建
|
|
335
335
|
- 每次更新是重写,不是追加。状态文件只记录当前状态,不记录历史
|
package/gemini-extension.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "helloagents",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.7",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "HelloAGENTS — The orchestration kernel that makes any AI CLI smarter. Adds intelligent routing, unified QA gates, safety guards, and notifications.",
|
|
6
6
|
"author": "HelloWind",
|
|
@@ -12,6 +12,7 @@ const COMMAND_ALIASES = {
|
|
|
12
12
|
do: 'build',
|
|
13
13
|
design: 'plan',
|
|
14
14
|
review: 'qa',
|
|
15
|
+
idea: 'ask',
|
|
15
16
|
};
|
|
16
17
|
|
|
17
18
|
function buildRuntimeRootBlock(pkgRoot) {
|
|
@@ -165,7 +166,7 @@ export function buildSemanticRouteInstruction(cwd, payload = {}) {
|
|
|
165
166
|
'请根据用户请求的真实意图选路,不依赖关键词表。',
|
|
166
167
|
buildDelegatedTaskHint(),
|
|
167
168
|
'任务分层:T0=探索/比较;T1=低风险小改动或显式验证;T2=多文件功能/新项目/需要结构化产物;T3=高风险或不可逆操作。',
|
|
168
|
-
'路由映射:~
|
|
169
|
+
'路由映射:~ask=一问一答交互澄清,不创建文件;~build=明确实现;~qa=统一质量审查/验证/修复/收尾;~plan=结构化规划;~prd=重型规格;~auto=自动选择并继续执行后续阶段。',
|
|
169
170
|
'若判定为 T3,默认先走 ~plan / ~prd;纯质量审查、验真或收尾请求才优先 ~qa。',
|
|
170
171
|
`涉及 UI 任务时,设计决策优先级:当前活跃 plan / PRD → ${describeProjectStoreFile(cwd, 'DESIGN.md')} → 已读取的 hello-ui 规则;同时所有 UI 任务都必须满足 UI 质量基线。`,
|
|
171
172
|
projectStorageHint,
|
|
@@ -78,13 +78,13 @@ export function clearRouteContext(options = {}) {
|
|
|
78
78
|
}
|
|
79
79
|
|
|
80
80
|
export function writeRouteContext({ cwd, skillName, sourceSkillName = skillName, payload = {}, env, ppid }) {
|
|
81
|
-
const shouldEnsureProjectLocal = skillName !== '
|
|
81
|
+
const shouldEnsureProjectLocal = skillName !== 'ask' && skillName !== 'help'
|
|
82
82
|
const scope = getRuntimeScope(cwd, { payload, env, ppid, ensureProjectLocal: shouldEnsureProjectLocal })
|
|
83
83
|
const context = {
|
|
84
84
|
cwd: normalizePath(cwd),
|
|
85
85
|
skillName,
|
|
86
86
|
sourceSkillName,
|
|
87
|
-
zeroSideEffect: skillName === '
|
|
87
|
+
zeroSideEffect: skillName === 'ask', // 写入会话胶囊供未来运行时消费;当前由 SKILL.md 铁律 + guard 设计共同保证边界
|
|
88
88
|
identity: extractPayloadIdentity(payload),
|
|
89
89
|
source: routeSource(payload),
|
|
90
90
|
promptHash: hashPrompt(payload.prompt),
|
|
@@ -159,7 +159,7 @@ function buildInProgressRecommendation(scopeLabel, plan, classification) {
|
|
|
159
159
|
nextCommand: 'build',
|
|
160
160
|
nextPath: '~build -> ~qa',
|
|
161
161
|
summary: `${scopeLabel} "${plan.planName}" 仍有 ${classification.openCount} 个未完成任务。`,
|
|
162
|
-
guidance: '若用户是在继续当前功能、落实既有方案、或让你“继续做完”,优先复用现有 requirements.md / plan.md / tasks.md 进入 ~build;完成当前实现后再进入 ~qa。除非用户明确要求重规划或现有方案已失效,不要重新回到 ~
|
|
162
|
+
guidance: '若用户是在继续当前功能、落实既有方案、或让你“继续做完”,优先复用现有 requirements.md / plan.md / tasks.md 进入 ~build;完成当前实现后再进入 ~qa。除非用户明确要求重规划或现有方案已失效,不要重新回到 ~ask。',
|
|
163
163
|
}
|
|
164
164
|
}
|
|
165
165
|
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ~ask
|
|
3
|
+
description: 交互式需求澄清 — 一问一答厘清目标、方向、范围与约束,纯对话不创建文件(~ask 命令)
|
|
4
|
+
policy:
|
|
5
|
+
allow_implicit_invocation: false
|
|
6
|
+
---
|
|
7
|
+
Trigger: ~ask [description]
|
|
8
|
+
|
|
9
|
+
`~ask` 是交互式需求澄清命令,用于在不写文件、不进入执行、不激活完整项目流程的前提下,通过一问一答帮用户厘清目标、比较方向、判断价值、收缩范围、挑战前提。
|
|
10
|
+
兼容别名:`~idea`(逐步废弃)。
|
|
11
|
+
|
|
12
|
+
## 铁律
|
|
13
|
+
- 只讨论,不编写实现代码,不创建项目文件,不执行实现操作
|
|
14
|
+
- 不创建 `.helloagents/`
|
|
15
|
+
- 不创建或更新当前项目存储中的 `state_path`;同样禁止更新知识库文件、方案包或项目级规则文件
|
|
16
|
+
- 不生成方案包
|
|
17
|
+
- 不执行会改变工作区或外部状态的命令
|
|
18
|
+
- 不默认使用子代理
|
|
19
|
+
- 每次只问一个问题,不一次性抛出多个问题
|
|
20
|
+
- 每个问题必须给出推荐选项和理由,不让用户从空白开始思考
|
|
21
|
+
|
|
22
|
+
## 交互模式
|
|
23
|
+
|
|
24
|
+
### 核心规则
|
|
25
|
+
|
|
26
|
+
一问一答,逐条推进:
|
|
27
|
+
|
|
28
|
+
1. **一次只问一个问题**。不批量提问,不生成问题清单。问完一个、用户回答、再问下一个。
|
|
29
|
+
2. **优先选择题**。每个问题给出 2-3 个选项,标注推荐项及理由。选项使用数字编号,格式遵循全局「选择确认」规则;用户回复数字即可选择,也可以直接输入自己的想法。
|
|
30
|
+
3. **你主动读代码库**。如果答案能从现有代码中找到(命名规范、配置模式、现有抽象、类似实现),你自己去找,不打扰用户。连续解决多个问题而不需要用户输入才是好的 ~ask 会话。
|
|
31
|
+
4. **覆盖核心维度**。在对话中自然覆盖以下维度,不分阶段、不填表:
|
|
32
|
+
- **方向**:有哪几种可行做法?各自优劣是什么?
|
|
33
|
+
- **价值**:这件事值得现在做吗?最痛的人是谁?不做会怎样?
|
|
34
|
+
- **范围**:最小可验证切口是什么?做多大的版本?先做哪一块?
|
|
35
|
+
- **前提**:哪些假设最可疑?如果前提不成立会怎样?最省成本的验证方式是什么?
|
|
36
|
+
5. **用户可随时重定向**。用户说"其实都不是——我要的是这样"时,你立即沿新方向继续,不坚持原选项。
|
|
37
|
+
|
|
38
|
+
### 交互节奏
|
|
39
|
+
|
|
40
|
+
- 已有代码库:你先静默读 5-15 个相关文件,基于代码证据形成假设,再以选择题形式逐条确认
|
|
41
|
+
- 全新项目:直接从最高不确定性的决策开始问
|
|
42
|
+
- 每个问题用户通常 5-10 秒回答
|
|
43
|
+
- 整个交互澄清过程通常约 10 分钟
|
|
44
|
+
|
|
45
|
+
## 流程
|
|
46
|
+
|
|
47
|
+
### 1. 快速理解问题
|
|
48
|
+
|
|
49
|
+
- 用一句话重述用户当前要解决的问题
|
|
50
|
+
- 明确讨论目标:是"不知道有哪些做法"、"不确定值不值得做"、还是"不知道该做多大"
|
|
51
|
+
- 已有项目时,静默扫描相关代码(不向用户展示扫描过程),形成内部假设
|
|
52
|
+
|
|
53
|
+
### 2. 交互澄清(核心阶段)
|
|
54
|
+
|
|
55
|
+
按交互模式核心规则,逐条推进。默认从最高不确定性的决策开始:
|
|
56
|
+
|
|
57
|
+
- 方向不明确 → 先问方向
|
|
58
|
+
- 范围有争议 → 先问范围
|
|
59
|
+
- 前提可疑 → 先挑战前提
|
|
60
|
+
- 都不确定 → 先问最影响后续决策的那个
|
|
61
|
+
|
|
62
|
+
遇到以下信号时自然收束:
|
|
63
|
+
- 用户连续确认推荐选项,无额外补充 → 方向已收敛
|
|
64
|
+
- 关键决策全部有明确答案 → 可以汇总
|
|
65
|
+
- 用户说"可以了"、"就这样"、"开始做吧" → 立即汇总
|
|
66
|
+
|
|
67
|
+
### 3. 汇总决策
|
|
68
|
+
|
|
69
|
+
对话结束时,输出结构化选择摘要:
|
|
70
|
+
|
|
71
|
+
- **目标**:要解决什么问题
|
|
72
|
+
- **选定方向**:选了什么做法,为什么
|
|
73
|
+
- **范围边界**:做多大、先做哪块、明确不做哪些
|
|
74
|
+
- **已验证的前提**:确认了哪些关键假设,搁置了哪些
|
|
75
|
+
- **悬而未决**:还有哪些决策需要在后续阶段进一步明确
|
|
76
|
+
|
|
77
|
+
摘要用简洁列表,不写段落叙述。
|
|
78
|
+
|
|
79
|
+
### 4. 给出升级路径
|
|
80
|
+
|
|
81
|
+
根据交互澄清的结果,推荐下一步:
|
|
82
|
+
|
|
83
|
+
- 已厘清方向,可以形成方案 → `~plan`
|
|
84
|
+
- 已厘清需求,可以直接实现 → `~build`
|
|
85
|
+
- 需要重型产品规格 → `~prd`
|
|
86
|
+
- 想让 你 自动执行完整流程 → `~auto`
|
|
87
|
+
|
|
88
|
+
如果用户在 `~ask` 过程中转而明确要求写文件、改代码、创建知识库或执行命令,不在 `~ask` 内偷偷写文件;改为按最合适的升级路径继续。
|
|
89
|
+
|
|
90
|
+
## 快速通道
|
|
91
|
+
|
|
92
|
+
用户明确表示"直接做,不用问我"、"按默认来"、"你决定"时,你 基于代码分析直接给出推荐方向和升级路径,跳过逐条交互。
|
|
93
|
+
|
|
94
|
+
## 输出要求
|
|
95
|
+
|
|
96
|
+
- 先给结论,再给依据
|
|
97
|
+
- 不做"点子堆砌"——不列一堆方向让用户自己挑
|
|
98
|
+
- 不把尚未确认的假设伪装成事实
|
|
99
|
+
- 不把"可以做很大"默认当成推荐答案
|
|
100
|
+
- 涉及视觉/交互时,选项必须具体到可执行特征
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ~auto
|
|
3
|
-
description: 自动执行命令 — 自动选择并依次执行 ~
|
|
3
|
+
description: 自动执行命令 — 自动选择并依次执行 ~ask / ~plan / ~build / ~qa / ~prd,默认持续推进直到交付完成(~auto 命令)
|
|
4
4
|
policy:
|
|
5
5
|
allow_implicit_invocation: false
|
|
6
6
|
---
|
|
7
7
|
Trigger: ~auto <任务描述>
|
|
8
8
|
|
|
9
|
-
`~auto` 是自动执行命令。它根据任务类型、复杂度、风险等级与项目状态,在 `~
|
|
9
|
+
`~auto` 是自动执行命令。它根据任务类型、复杂度、风险等级与项目状态,在 `~ask`、`~plan`、`~build`、`~qa`、`~prd` 之间选择合适主路径,并连续推进。
|
|
10
10
|
`~auto` 不止做一次选路;主路径一旦确定,就按需要继续执行后续阶段,默认持续推进直到完成交付,只有命中 HelloAGENTS 阻塞判定时才停下。
|
|
11
11
|
|
|
12
12
|
## 铁律
|
|
@@ -35,8 +35,7 @@ Trigger: ~auto <任务描述>
|
|
|
35
35
|
- 先按当前上下文里已注入的“选路与分层”语义约束判断,不依赖关键词命中做机械分流
|
|
36
36
|
- 若当前上下文没有足够的注入约束,再结合以下信号补足判断:影响范围、风险等级、是否需要结构化产物、是否已有活跃方案包、用户是否只想先比较方向
|
|
37
37
|
- 选路优先级:
|
|
38
|
-
-
|
|
39
|
-
- 值得做与否 / 范围收缩 / 先做多大仍不清楚 → `~office`
|
|
38
|
+
- 方向不明 / 价值与范围仍不清楚 / 点子与方向比较 → `~ask`
|
|
40
39
|
- 明确要求质量审查 / 验真 / 跑检查 / 收尾 → `~qa`
|
|
41
40
|
- 0 到 1 / 产品级 / 多维规格 → `~prd`
|
|
42
41
|
- 多文件功能 / 架构变更 / 新项目规划 → `~plan`
|
|
@@ -44,15 +43,14 @@ Trigger: ~auto <任务描述>
|
|
|
44
43
|
|
|
45
44
|
### 2. 按 Tier 校正
|
|
46
45
|
|
|
47
|
-
- `T0` →
|
|
46
|
+
- `T0` → 走 `~ask`,不创建项目文件
|
|
48
47
|
- `T1` → 在 `~build` / `~qa` 间选择最短可交付路径
|
|
49
48
|
- `T2` → 需要结构化产物或范围未完全明确时优先 `~plan`
|
|
50
49
|
- `T3` → 纯质量审查/验真走 `~qa`;其余默认 `~plan` 或 `~prd`,待方案与风险边界明确后再进入实现
|
|
51
50
|
|
|
52
51
|
### 3. 读取对应命令并执行主路径
|
|
53
52
|
|
|
54
|
-
- 选中 `
|
|
55
|
-
- 选中 `office` → 读取 `skills/commands/office/SKILL.md`
|
|
53
|
+
- 选中 `ask` → 读取 `skills/commands/ask/SKILL.md`
|
|
56
54
|
- 选中 `plan` → 读取 `skills/commands/plan/SKILL.md`
|
|
57
55
|
- 选中 `build` → 读取 `skills/commands/build/SKILL.md`
|
|
58
56
|
- 选中 `qa` → 读取 `skills/commands/qa/SKILL.md`
|
|
@@ -66,8 +64,7 @@ Trigger: ~auto <任务描述>
|
|
|
66
64
|
- 若主路径是 `~plan` → 方案包写入后,若当前任务来自 `~auto` 且未命中阻塞判定,直接继续进入 `~build`,不要把“方案已形成”当作最终停点
|
|
67
65
|
- 若主路径是 `~prd` → PRD / 任务 / 契约写入后,若当前任务来自 `~auto` 且未命中阻塞判定,按当前结果继续进入 `~build`,必要时先补一轮轻量 `~plan`
|
|
68
66
|
- 若主路径是 `~qa` → 完成质量闭环 / 收尾后结束
|
|
69
|
-
- 若主路径是 `~
|
|
70
|
-
- 若主路径是 `~office`,且用户本意就是先做价值/范围判断,则在评估输出后结束;若评估结论已经明确需要结构化方案或直接实现,则继续进入 `~plan` / `~build`
|
|
67
|
+
- 若主路径是 `~ask`,且用户本意就是探索/厘清,则在交互澄清输出后结束;若澄清后已有明确方向且当前任务仍要求写文件或改代码,则继续进入 `~plan` 或 `~build`
|
|
71
68
|
- 若 Codex active goal 的目标已满足 → 仍先完成 `~qa` 与 HelloAGENTS 收尾,再标记 goal complete;未满足时继续下一项可执行 AFK 任务
|
|
72
69
|
|
|
73
70
|
### 5. 何时允许停下
|
|
@@ -40,8 +40,11 @@ Trigger: ~build [description]
|
|
|
40
40
|
|
|
41
41
|
### 2. 需求与范围确认
|
|
42
42
|
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
先判断任务是否有方案包支撑:
|
|
44
|
+
|
|
45
|
+
- 有活跃方案包 → 按方案包执行,直接确认范围
|
|
46
|
+
- 无方案包 + 任务可判定为 T1(如"加个 loading 动画"、"修个 typo")→ 直接执行
|
|
47
|
+
- 无方案包 + 任务 T2+(多文件功能、架构变更、新模块)→ 不直接写代码,自动重定向到 `~plan`,先厘清需求再执行。方向完全不明时由 ~plan 内部走交互澄清确认
|
|
45
48
|
- 若仍存在真实歧义,仅询问阻塞执行的关键决策
|
|
46
49
|
|
|
47
50
|
### 3. 执行实现
|
|
@@ -11,8 +11,7 @@ Trigger: ~help
|
|
|
11
11
|
### 可用命令
|
|
12
12
|
| 命令 | 说明 |
|
|
13
13
|
|------|------|
|
|
14
|
-
| ~
|
|
15
|
-
| ~office | 价值与范围评估:先判断该不该做、该做多大、先做哪一小块 |
|
|
14
|
+
| ~ask | 交互式需求澄清:一问一答厘清目标、方向、范围与约束;不写文件 |
|
|
16
15
|
| ~auto | 自动执行:自动选主路径并持续推进到实现 / 质量闭环 / 收尾,除非命中真实阻塞 |
|
|
17
16
|
| ~plan | 结构化规划:需求澄清 + 方案确认 + 方案包 |
|
|
18
17
|
| ~build | 执行实现:按需求或方案包完成实现与局部验证 |
|
|
@@ -29,6 +28,7 @@ Trigger: ~help
|
|
|
29
28
|
- `~do` → 等同 `~build`
|
|
30
29
|
- `~design` → 等同 `~plan`
|
|
31
30
|
- `~review` → 等同 `~qa`
|
|
31
|
+
- `~idea` → 等同 `~ask`(逐步废弃)
|
|
32
32
|
|
|
33
33
|
核心规则默认生效:HelloAGENTS 会通过 `bootstrap.md` / `bootstrap-lite.md` 在运行时持续执行方案纠偏与语言纪律;这不是新增命令,也不是新增技能计数。
|
|
34
34
|
|
|
@@ -33,18 +33,15 @@ Trigger: ~plan [description]
|
|
|
33
33
|
|
|
34
34
|
目标:通过自然对话明确目的、约束、成功标准与验收边界。
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
默认使用交互澄清,一问一答逐条确认:
|
|
37
37
|
|
|
38
|
-
|
|
39
|
-
-
|
|
40
|
-
-
|
|
41
|
-
-
|
|
38
|
+
- 每次只问一个问题,优先使用选择题;选项使用数字编号,用户回复数字即可选择
|
|
39
|
+
- 每个问题给出推荐选项和理由;格式遵循全局「选择确认」规则
|
|
40
|
+
- 只确认真正影响执行路径的关键决策
|
|
41
|
+
- 已有代码库时,先静默读 5-15 个相关文件,基于代码证据形成假设,再以选择题形式逐条确认
|
|
42
42
|
- 发现用户用词与 `.helloagents/context.md` 的领域语言冲突时,立即澄清并统一术语
|
|
43
43
|
|
|
44
|
-
|
|
45
|
-
- 每次只问一个问题,优先使用选择题
|
|
46
|
-
- 只确认真正影响执行路径的关键决策
|
|
47
|
-
- 每个问题给出推荐选项和理由
|
|
44
|
+
**快速通道**:用户明确说"直接做,不用问我"、"按默认来"时,跳过逐条交互,基于代码证据直接形成方案。低置信度假设仍必须明确询问。
|
|
48
45
|
|
|
49
46
|
涉及视觉/交互/体验的问题时:
|
|
50
47
|
- 选项必须体现当前前沿水准
|
|
@@ -55,7 +52,7 @@ Trigger: ~plan [description]
|
|
|
55
52
|
基于已确认需求,给出 2-3 个可行方案:
|
|
56
53
|
- 每个方案说明架构思路与关键取舍
|
|
57
54
|
- 标注推荐方案及理由
|
|
58
|
-
-
|
|
55
|
+
- 方案使用数字编号,用户回复数字即可选择;格式遵循全局「选择确认」规则
|
|
59
56
|
|
|
60
57
|
涉及 UI 的方案:
|
|
61
58
|
- 读取 `hello-ui` SKILL.md
|
|
@@ -65,28 +65,28 @@ Trigger: ~prd [description]
|
|
|
65
65
|
全新项目(无 .helloagents/ 目录):
|
|
66
66
|
- 跳过,直接进入项目定位
|
|
67
67
|
|
|
68
|
-
### 2.
|
|
68
|
+
### 2. 项目定位(交互澄清,与 ~ask 一致)
|
|
69
69
|
|
|
70
|
-
|
|
70
|
+
目标:通过一问一答锁定项目类型和 PRD 范围。
|
|
71
71
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
e. 确定最终的维度列表
|
|
72
|
+
- 每次只问一个问题,带推荐选项;选项使用数字编号,用户回复数字即可选择;格式遵循全局「选择确认」规则
|
|
73
|
+
- 先确认项目类型(Web App / Mobile / API / CLI / Library / 桌面 / 游戏 / 混合)
|
|
74
|
+
- 根据维度激活矩阵,逐条确认:必选维度直接纳入,推荐和可选维度逐个询问是否需要
|
|
75
|
+
- 用户说"默认" → 按矩阵推荐纳入;说"跳过" → 不纳入;说"展开" → 深入讨论
|
|
77
76
|
|
|
78
77
|
### 3. 维度探索(头脑风暴,核心阶段)
|
|
79
78
|
|
|
80
|
-
|
|
79
|
+
按维度编号顺序,逐个展开讨论。每个维度采用交互澄清:
|
|
81
80
|
|
|
82
|
-
a.
|
|
83
|
-
b.
|
|
84
|
-
c.
|
|
81
|
+
a. 你根据该维度先提第一个问题,带推荐选项和理由
|
|
82
|
+
b. 用户确认/修改/跳过
|
|
83
|
+
c. 继续该维度内的下一个问题,直到关键决策全部明确
|
|
84
|
+
d. 总结该维度的决策结果,进入下一个维度
|
|
85
85
|
|
|
86
86
|
交互原则:
|
|
87
|
-
-
|
|
87
|
+
- 每个维度内,每次只问一个问题,偏好选择题;选项使用数字编号,用户回复数字即可选择
|
|
88
88
|
- 用户说"跳过" → 跳过该维度,不生成对应文件
|
|
89
|
-
- 用户说"默认" →
|
|
89
|
+
- 用户说"默认" → 你按推荐方案快速填充,不逐条询问
|
|
90
90
|
- 用户说"展开" → 深入讨论该维度的子项
|
|
91
91
|
- 维度之间可以回溯:用户说"回到 03" → 重新讨论 UI/UX 设计
|
|
92
92
|
- 涉及项目特有概念时,确认标准术语、避免用语和关键关系;不要把泛化技术词写入领域语言
|
|
@@ -102,7 +102,7 @@ c. AI 总结该维度的决策结果,进入下一个维度
|
|
|
102
102
|
- 按当前已加载的 HelloAGENTS 规则建立 `.helloagents/` 与最小流程状态;这是方案包写入的前置操作,不受 kb_create_mode 开关控制
|
|
103
103
|
- 创建 `.helloagents/plans/YYYYMMDDHHMM_{feature}/prd/`(按当前项目存储模式解析)
|
|
104
104
|
- 按 templates/plans/prd/ 的模板格式,仅写入用户未跳过的维度文件
|
|
105
|
-
- 生成 tasks.md(每个任务默认是端到端垂直切片,标注 AFK / HITL
|
|
105
|
+
- 生成 tasks.md(每个任务默认是端到端垂直切片,标注 AFK / HITL、依赖、具体文件路径、预期变更、完成标准与验证方式;任务可独立验证)
|
|
106
106
|
- 在 `tasks.md` 中保留 “Codex /goal 执行入口”,让 Codex 按 `/goal -> ~auto -> ~qa` 执行已拆分任务、验收边界和 `contract.json`;不要把完整 PRD 原文直接当作 `/goal` 目标
|
|
107
107
|
- 生成 decisions.md(贯穿全程的决策日志)
|
|
108
108
|
- 生成 `contract.json`(至少包含 `qaMode`、`qaFocus`;涉及 UI 时补 `ui.required`、`ui.designContract`、`ui.sourcePriority`;仅在确需先明确审美方向时再补 `ui.styleAdvisor.required`、`ui.styleAdvisor.reason`、`ui.styleAdvisor.focus`;仅在确需视觉验收时再补 `ui.visualValidation.required`、`ui.visualValidation.reason`、`ui.visualValidation.screens`、`ui.visualValidation.states`;仅在确需独立 advisor 时,再补 `advisor.required`、`advisor.reason`、`advisor.focus`、`advisor.preferredSources`)
|
|
@@ -52,7 +52,7 @@ description: 按任务类型适用 — 建立质量驱动工作流,通过技
|
|
|
52
52
|
禁止行为:
|
|
53
53
|
- 禁止在选路分层、目标澄清阶段读取实现类技能(hello-ui/hello-test/qa-review 等)
|
|
54
54
|
- 禁止因为"可能用到"就提前读取技能文件——等到真正需要时再读
|
|
55
|
-
-
|
|
55
|
+
- 同一会话内,同一路径的配置文件、模块、`SKILL`、模板只读一次并跨轮复用;缺少所需内容、读取失败、用户要求刷新或本次修改后才重新读取
|
|
56
56
|
- ~command 命令只读取对应的 command SKILL.md,不连带读取其他技能
|
|
57
57
|
|
|
58
58
|
## 技能查找路径
|
|
@@ -102,8 +102,7 @@ description: 按任务类型适用 — 建立质量驱动工作流,通过技
|
|
|
102
102
|
|
|
103
103
|
用户使用 `~command` 时,只读取对应的 command skill,路径按上方“~command 命令技能”规则查找:
|
|
104
104
|
- `~auto`
|
|
105
|
-
- `~
|
|
106
|
-
- `~office`
|
|
105
|
+
- `~ask`
|
|
107
106
|
- `~plan`
|
|
108
107
|
- `~build`
|
|
109
108
|
- `~prd`
|
|
@@ -119,5 +118,6 @@ description: 按任务类型适用 — 建立质量驱动工作流,通过技
|
|
|
119
118
|
- `~do` → 直接按 `~build` 的 command skill 路径读取并执行
|
|
120
119
|
- `~design` → 直接按 `~plan` 的 command skill 路径读取并执行
|
|
121
120
|
- `~review` → 直接按 `~qa` 的 command skill 路径读取并执行
|
|
121
|
+
- `~idea` → 直接按 `~ask` 的 command skill 路径读取并执行(逐步废弃)
|
|
122
122
|
|
|
123
123
|
只有当对应 command skill 明确要求再读取 hello-* 技能时,才按上方“hello-* 技能”规则继续读取。
|
|
@@ -51,6 +51,15 @@ description: 统一质量审查、命令验证、阻断修复与交付前质量
|
|
|
51
51
|
|
|
52
52
|
不要只给泛泛评价。
|
|
53
53
|
|
|
54
|
+
## 任务完成标准逐条核对
|
|
55
|
+
|
|
56
|
+
若存在方案包且 `tasks.md` 中有任务清单,必须逐条核对:
|
|
57
|
+
|
|
58
|
+
- 对每个已标记完成的任务,逐条对照其"完成标准"验证是否真实满足
|
|
59
|
+
- 完成标准必须是可独立验证的布尔条件——如果读完标准仍需要额外上下文才能判断,则该标准本身不合格,标记为 [-] 并写明原因
|
|
60
|
+
- 验证不依赖主会话上下文:任何人(或另一个 AI)读完标准 + 当前代码状态,应能做出相同的通过/不通过判定
|
|
61
|
+
- 核对结果写入 `artifacts/qa-review.json` 的 `taskVerification` 字段
|
|
62
|
+
|
|
54
63
|
## 验证命令
|
|
55
64
|
|
|
56
65
|
验证命令来源:
|
package/templates/plans/tasks.md
CHANGED
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
- 厚任务必须继续拆小;横向前置任务只在确有技术依赖时保留。
|
|
7
7
|
|
|
8
8
|
## 任务列表
|
|
9
|
-
[
|
|
10
|
-
- [ ] 任务1(AFK/HITL):端到端行为描述(依赖:无;涉及文件:path/to/file.ts
|
|
11
|
-
- [ ] 任务2(AFK/HITL):端到端行为描述(依赖:任务1
|
|
9
|
+
[按执行顺序排列,每个任务可独立验证]
|
|
10
|
+
- [ ] 任务1(AFK/HITL):端到端行为描述(依赖:无;涉及文件:path/to/file.ts;预期变更:...;完成标准:可独立验证的布尔条件——任何人读完就能判断任务是否完成,用 Given-When-Then 或等价形式,不写"功能正常""符合预期"等无法独立判断的表述;验证方式:具体命令或可执行步骤)
|
|
11
|
+
- [ ] 任务2(AFK/HITL):端到端行为描述(依赖:任务1;涉及文件:...;预期变更:...;完成标准:同上的可独立验证格式;验证方式:...)
|
|
12
12
|
- [ ] 任务3(AFK/HITL):端到端行为描述(依赖:...;涉及文件:...;预期变更:...;完成标准:...;验证方式:...)
|
|
13
13
|
|
|
14
14
|
## Codex /goal 执行入口
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ~idea
|
|
3
|
-
description: 轻量点子探索与方向发散(~idea 命令)
|
|
4
|
-
policy:
|
|
5
|
-
allow_implicit_invocation: false
|
|
6
|
-
---
|
|
7
|
-
Trigger: ~idea [description]
|
|
8
|
-
|
|
9
|
-
`~idea` 是轻量探索命令,用于在不写文件、不进入执行、不激活完整项目流程的前提下,帮用户快速比较方向、生成点子、明确方案。
|
|
10
|
-
|
|
11
|
-
## 铁律
|
|
12
|
-
- 只讨论,不编写实现代码,不创建项目文件,不执行实现操作
|
|
13
|
-
- 不创建 `.helloagents/`
|
|
14
|
-
- 不创建或更新当前项目存储中的 `state_path`;同样禁止更新知识库文件、方案包或项目级规则文件
|
|
15
|
-
- 不生成方案包
|
|
16
|
-
- 不执行会改变工作区或外部状态的命令
|
|
17
|
-
- 不默认使用子代理
|
|
18
|
-
- 输出的重点是方向、差异、推荐理由与下一步可升级路径
|
|
19
|
-
|
|
20
|
-
## 流程
|
|
21
|
-
|
|
22
|
-
### 1. 快速理解问题
|
|
23
|
-
|
|
24
|
-
- 理解用户当前要解决的目标、场景、限制与关注点
|
|
25
|
-
- 若任务是已有项目中的连续工作,可按需读取少量相关上下文;不要为了脑暴而展开完整项目流程
|
|
26
|
-
|
|
27
|
-
### 2. 生成备选方向
|
|
28
|
-
|
|
29
|
-
- 提供 2-4 个可行方向
|
|
30
|
-
- 每个方向都给出:
|
|
31
|
-
- 核心思路
|
|
32
|
-
- 适用场景
|
|
33
|
-
- 主要优点
|
|
34
|
-
- 主要代价或风险
|
|
35
|
-
|
|
36
|
-
### 3. 给出推荐
|
|
37
|
-
|
|
38
|
-
- 明确推荐一个最优方向
|
|
39
|
-
- 解释推荐理由,不使用空泛形容词
|
|
40
|
-
- 若涉及视觉/交互,选项必须具体到可执行特征
|
|
41
|
-
|
|
42
|
-
### 4. 给出升级路径
|
|
43
|
-
|
|
44
|
-
- 如果用户希望继续推进,实现层升级路径为:
|
|
45
|
-
- 想先判断值不值得做、要不要做这么大 → `~office`
|
|
46
|
-
- 想形成结构化方案 → `~plan`
|
|
47
|
-
- 想直接进入实现 → `~build`
|
|
48
|
-
- 需要重型产品规格 → `~prd`
|
|
49
|
-
- 想让 AI 自动执行完整流程 → `~auto`
|
|
50
|
-
- 如果用户在 `~idea` 过程中转而明确要求写文件、改代码、创建知识库或执行命令,不在 `~idea` 内偷偷写文件;改为按最合适的升级路径继续
|
|
51
|
-
|
|
52
|
-
## 输出要求
|
|
53
|
-
|
|
54
|
-
- 允许发散,但必须给出明确结论
|
|
55
|
-
- 不做“点子堆砌”
|
|
56
|
-
- 不把尚未决定的探索结果伪装成已确认方案
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ~office
|
|
3
|
-
description: 价值与范围评估命令 — 先判断事情该不该做、该做多大、先做哪一小块(~office 命令)
|
|
4
|
-
policy:
|
|
5
|
-
allow_implicit_invocation: false
|
|
6
|
-
---
|
|
7
|
-
Trigger: ~office [description]
|
|
8
|
-
|
|
9
|
-
`~office` 是范围收缩命令,用于在不写文件、不进入实现、不激活完整项目流程的前提下,先帮用户判断一件事是否值得做、是否做得过大、最小可验证切口应该落在哪里。
|
|
10
|
-
|
|
11
|
-
## 铁律
|
|
12
|
-
- 只讨论,不编写实现代码,不创建项目文件,不执行实现操作
|
|
13
|
-
- 不创建 `.helloagents/`
|
|
14
|
-
- 不创建或更新当前项目存储中的 `state_path`;同样禁止更新知识库文件、方案包或项目级规则文件
|
|
15
|
-
- 不生成方案包
|
|
16
|
-
- 不执行会改变工作区或外部状态的命令
|
|
17
|
-
- 不默认使用子代理
|
|
18
|
-
- 输出重点不是“还能做什么”,而是“要不要做、该做多大、先做哪块”
|
|
19
|
-
|
|
20
|
-
## 流程
|
|
21
|
-
|
|
22
|
-
### 1. 快速锁定待判断事项
|
|
23
|
-
|
|
24
|
-
- 先用一句话重述当前用户真正想判断的事情
|
|
25
|
-
- 明确判断目标:是评估“值不值得做”、还是评估“要不要现在做”、还是评估“要不要做这么大”
|
|
26
|
-
- 若任务是已有项目中的连续工作,可按需读取少量相关上下文;不要为了做 office 评估而展开完整项目流程
|
|
27
|
-
|
|
28
|
-
### 2. 从关键维度拷问
|
|
29
|
-
|
|
30
|
-
- 只选当前最相关的 3-5 个维度,不机械全问
|
|
31
|
-
- 可用维度包括:
|
|
32
|
-
- 真实需求是否存在
|
|
33
|
-
- 当前替代方案/现状是什么
|
|
34
|
-
- 最痛的人是谁,痛到什么程度
|
|
35
|
-
- 最小可验证切口是什么
|
|
36
|
-
- 当前最大假设是什么
|
|
37
|
-
- 现在做和以后做的时机差异是什么
|
|
38
|
-
- 做大后的主要成本、风险或返工点是什么
|
|
39
|
-
- 问题必须直指判断,不做泛化 brainstorm
|
|
40
|
-
|
|
41
|
-
### 3. 挑战前提
|
|
42
|
-
|
|
43
|
-
- 明确指出 1-3 条最值得怀疑的前提
|
|
44
|
-
- 每条前提都说明:
|
|
45
|
-
- 它为什么可疑
|
|
46
|
-
- 如果这条前提不成立,会导致什么
|
|
47
|
-
- 最省成本的验证方式是什么
|
|
48
|
-
|
|
49
|
-
### 4. 强制给出不同范围方案
|
|
50
|
-
|
|
51
|
-
- 至少给出 3 档范围:
|
|
52
|
-
- 不做 / 暂缓
|
|
53
|
-
- 最小切口
|
|
54
|
-
- 标准推进
|
|
55
|
-
- 如确有必要,可再补一个“做大方案”,但不默认鼓励
|
|
56
|
-
- 每档都给出:
|
|
57
|
-
- 核心动作
|
|
58
|
-
- 主要收益
|
|
59
|
-
- 主要代价或风险
|
|
60
|
-
- 适用前提
|
|
61
|
-
|
|
62
|
-
### 5. 给出明确判断
|
|
63
|
-
|
|
64
|
-
- 必须明确落到以下结论之一:
|
|
65
|
-
- 不建议做
|
|
66
|
-
- 建议先验证,不建议直接做
|
|
67
|
-
- 值得做,但先做最小切口
|
|
68
|
-
- 值得按当前范围推进
|
|
69
|
-
- 解释理由,不使用空泛形容词
|
|
70
|
-
|
|
71
|
-
### 6. 给出升级路径
|
|
72
|
-
|
|
73
|
-
- 如果用户希望继续推进,实现层升级路径为:
|
|
74
|
-
- 想比较几个做法方向 → `~idea`
|
|
75
|
-
- 想形成结构化方案 → `~plan`
|
|
76
|
-
- 想直接进入实现 → `~build`
|
|
77
|
-
- 需要重型产品规格 → `~prd`
|
|
78
|
-
- 想让 AI 自动执行完整流程 → `~auto`
|
|
79
|
-
- 如果用户在 `~office` 过程中转而明确要求写文件、改代码、创建知识库或执行命令,不在 `~office` 内偷偷写文件;改为按最合适的升级路径继续
|
|
80
|
-
|
|
81
|
-
## 输出要求
|
|
82
|
-
|
|
83
|
-
- 必须先给结论,再给判断依据
|
|
84
|
-
- 不做“点子堆砌”
|
|
85
|
-
- 不把尚未验证的假设伪装成事实
|
|
86
|
-
- 不把“可以做很大”默认当成推荐答案
|