helloagents 3.1.5 → 3.1.9

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 (49) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.codex-plugin/plugin.json +1 -1
  3. package/.cursor-plugin/plugin.json +24 -0
  4. package/.grok-plugin/plugin.json +24 -0
  5. package/README.md +42 -15
  6. package/README_CN.md +45 -18
  7. package/bootstrap-lite.md +23 -22
  8. package/bootstrap.md +25 -26
  9. package/cli.mjs +2 -0
  10. package/gemini-extension.json +1 -1
  11. package/hooks/hooks-cursor.json +41 -0
  12. package/hooks/hooks-grok.json +98 -0
  13. package/install.ps1 +3 -3
  14. package/install.sh +3 -3
  15. package/package.json +5 -2
  16. package/scripts/advisor-state.mjs +1 -1
  17. package/scripts/cli-config.mjs +1 -1
  18. package/scripts/cli-cursor.mjs +42 -0
  19. package/scripts/cli-doctor.mjs +173 -3
  20. package/scripts/cli-grok.mjs +54 -0
  21. package/scripts/cli-host-detect.mjs +67 -1
  22. package/scripts/cli-hosts.mjs +5 -0
  23. package/scripts/cli-lifecycle-hosts.mjs +197 -1
  24. package/scripts/cli-lifecycle.mjs +3 -1
  25. package/scripts/cli-messages.mjs +28 -14
  26. package/scripts/cli-runtime-root.mjs +284 -1
  27. package/scripts/cli-utils.mjs +36 -0
  28. package/scripts/cursor-hook.mjs +193 -0
  29. package/scripts/guard.mjs +6 -4
  30. package/scripts/notify-context.mjs +2 -1
  31. package/scripts/notify-events.mjs +2 -0
  32. package/scripts/notify-source.mjs +2 -0
  33. package/scripts/notify.mjs +3 -2
  34. package/scripts/plan-contract.mjs +1 -1
  35. package/scripts/runtime-context.mjs +2 -2
  36. package/scripts/runtime-scope.mjs +1 -1
  37. package/scripts/workflow-plan-files.mjs +1 -1
  38. package/scripts/workflow-recommendation.mjs +1 -1
  39. package/skills/commands/ask/SKILL.md +100 -0
  40. package/skills/commands/auto/SKILL.md +6 -9
  41. package/skills/commands/build/SKILL.md +5 -2
  42. package/skills/commands/help/SKILL.md +13 -13
  43. package/skills/commands/plan/SKILL.md +7 -10
  44. package/skills/commands/prd/SKILL.md +14 -14
  45. package/skills/helloagents/SKILL.md +3 -3
  46. package/skills/qa-review/SKILL.md +9 -0
  47. package/templates/plans/tasks.md +3 -3
  48. package/skills/commands/idea/SKILL.md +0 -56
  49. package/skills/commands/office/SKILL.md +0 -86
@@ -22,7 +22,7 @@ const PLAN_TEMPLATE_MARKERS = {
22
22
  ],
23
23
  'tasks.md': [
24
24
  /# \{项目\/功能名称\} — 任务分解/,
25
- /\[按执行顺序排列,每个任务独立可验证\]/,
25
+ /\[按执行顺序排列,每个任务可独立验证\]/,
26
26
  /- \[ \] 任务1(AFK\/HITL):端到端行为描述/,
27
27
  ],
28
28
  }
@@ -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。除非用户明确要求重规划或现有方案已失效,不要重新回到 ~idea。',
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: 自动执行命令 — 自动选择并依次执行 ~idea / ~office / ~plan / ~build / ~qa / ~prd,默认持续推进直到交付完成(~auto 命令)
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` 是自动执行命令。它根据任务类型、复杂度、风险等级与项目状态,在 `~idea`、`~office`、`~plan`、`~build`、`~qa`、`~prd` 之间选择合适主路径,并连续推进。
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
- - 纯探索 / 点子 / 方向比较 → `~idea`
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` → `~idea` / `~office` 之间选择,不创建项目文件
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
- - 选中 `idea` → 读取 `skills/commands/idea/SKILL.md`
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
- - 若主路径是 `~idea`,且用户本意就是探索/比较,则在探索输出后结束;若探索后已有明确方向且当前任务仍要求写文件或改代码,则继续进入 `~plan` 或 `~build`
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
- | ~idea | 轻量点子探索与方向比较 |
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
 
@@ -45,14 +45,14 @@ Trigger: ~help
45
45
  如果当前 CLI 存在工作区限制导致家目录不可读,则明确说明“无法直接读取配置文件,以下按已注入设置或默认值展示”,不要改用无关工具或伪造已读取结果。
46
46
  | 配置项 | 默认值 | 作用 | 适用 CLI |
47
47
  |--------|-------|------|---------|
48
- | output_language | "" | 空=跟随用户语言/填写则指定(如 zh-CN、en) | Claude Code + Gemini CLI + Codex CLI |
49
- | output_format | true | true=主代理最终回复必须使用 HelloAGENTS 格式,流式/中间输出及子代理输出保持自然;false=自然输出 | Claude Code + Gemini CLI + Codex CLI |
50
- | notify_level | 0 | 0=关闭/1=桌面通知/2=声音/3=两者 | Claude Code + Gemini CLI + Codex CLI |
51
- | ralph_loop_enabled | true | 收尾 QA 门禁(显式 ~qa / ~loop 或收尾要求时触发审查、lint/test/build) | Claude Code + Gemini CLI + Codex CLI |
52
- | guard_enabled | true | 阻断危险命令与写入后的安全扫描 | Claude Code + Gemini CLI + Codex CLI |
53
- | kb_create_mode | 1 | 0=关闭/1=知识库已存在时自动同步/2=编码任务在知识库已存在或当前项目已初始化时自动创建或同步 | Claude Code + Gemini CLI + Codex CLI |
54
- | project_store_mode | "local" | "local"=知识库/方案包保留在项目本地 `.helloagents/`;"repo-shared"=本地 `.helloagents/` 仅保留项目本地状态/运行态,知识库与方案包改写到 `~/.helloagents/projects/<repo-key>/` | Claude Code + Gemini CLI + Codex CLI |
55
- | auto_commit_enabled | true | true=验证完成且有变更时自动执行本地提交;false=跳过自动提交,仍可手动用 `~commit` | Claude Code + Gemini CLI + Codex CLI |
56
- | commit_attribution | "" | 空=不添加/填写内容则添加到 commit message | Claude Code + Gemini CLI + Codex CLI |
57
- | install_mode | "standby" | 当前默认安装模式 | Claude Code + Gemini CLI + Codex CLI |
58
- | host_install_modes | {} | 单 CLI 模式记录,优先于 install_mode | Claude Code + Gemini CLI + Codex CLI |
48
+ | output_language | "" | 空=跟随用户语言/填写则指定(如 zh-CN、en) | Claude Code + Gemini CLI + Grok Build + Codex CLI |
49
+ | output_format | true | true=主代理最终回复必须使用 HelloAGENTS 格式,流式/中间输出及子代理输出保持自然;false=自然输出 | Claude Code + Gemini CLI + Grok Build + Codex CLI |
50
+ | notify_level | 0 | 0=关闭/1=桌面通知/2=声音/3=两者 | Claude Code + Gemini CLI + Grok Build + Codex CLI |
51
+ | ralph_loop_enabled | true | 收尾 QA 门禁(显式 ~qa / ~loop 或收尾要求时触发审查、lint/test/build) | Claude Code + Gemini CLI + Grok Build + Codex CLI |
52
+ | guard_enabled | true | 阻断危险命令与写入后的安全扫描 | Claude Code + Gemini CLI + Grok Build + Codex CLI |
53
+ | kb_create_mode | 1 | 0=关闭/1=知识库已存在时自动同步/2=编码任务在知识库已存在或当前项目已初始化时自动创建或同步 | Claude Code + Gemini CLI + Grok Build + Codex CLI |
54
+ | project_store_mode | "local" | "local"=知识库/方案包保留在项目本地 `.helloagents/`;"repo-shared"=本地 `.helloagents/` 仅保留项目本地状态/运行态,知识库与方案包改写到 `~/.helloagents/projects/<repo-key>/` | Claude Code + Gemini CLI + Grok Build + Codex CLI |
55
+ | auto_commit_enabled | true | true=验证完成且有变更时自动执行本地提交;false=跳过自动提交,仍可手动用 `~commit` | Claude Code + Gemini CLI + Grok Build + Codex CLI |
56
+ | commit_attribution | "" | 空=不添加/填写内容则添加到 commit message | Claude Code + Gemini CLI + Grok Build + Codex CLI |
57
+ | install_mode | "standby" | 当前默认安装模式 | Claude Code + Gemini CLI + Grok Build + Codex CLI |
58
+ | host_install_modes | {} | 单 CLI 模式记录,优先于 install_mode | Claude Code + Gemini CLI + Grok Build + Codex CLI |
@@ -33,18 +33,15 @@ Trigger: ~plan [description]
33
33
 
34
34
  目标:通过自然对话明确目的、约束、成功标准与验收边界。
35
35
 
36
- 根据项目类型选择模式:
36
+ 默认使用交互澄清,一问一答逐条确认:
37
37
 
38
- **假设模式**(已有代码库,优先使用):
39
- - 先读取 5-15 个相关文件,基于代码证据形成假设
40
- - 用 2-4 轮确认关键假设
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. 项目定位(快速,1-2 轮)
68
+ ### 2. 项目定位(交互澄清,与 ~ask 一致)
69
69
 
70
- 目标:快速锁定项目类型和 PRD 范围。
70
+ 目标:通过一问一答锁定项目类型和 PRD 范围。
71
71
 
72
- a. 理解用户的初始描述
73
- b. 确认项目类型(Web App / Mobile / API / CLI / Library / 桌面 / 游戏 / 混合)
74
- c. 根据维度激活矩阵,列出本项目的必选/推荐/可选维度
75
- d. 询问用户:推荐维度是否需要?可选维度是否需要?
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. AI 先给出该维度的行业最佳实践参考和推荐方案
83
- b. 用户确认/修改/补充
84
- c. AI 总结该维度的决策结果,进入下一个维度
81
+ a. 你根据该维度先提第一个问题,带推荐选项和理由
82
+ b. 用户确认/修改/跳过
83
+ c. 继续该维度内的下一个问题,直到关键决策全部明确
84
+ d. 总结该维度的决策结果,进入下一个维度
85
85
 
86
86
  交互原则:
87
- - 每个维度内,每次只问一个问题,偏好选择题
87
+ - 每个维度内,每次只问一个问题,偏好选择题;选项使用数字编号,用户回复数字即可选择
88
88
  - 用户说"跳过" → 跳过该维度,不生成对应文件
89
- - 用户说"默认" → AI 按推荐方案填充,快速过
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
- - 同一会话内,同一路径的配置文件、模块、SKILL、模板只读一次并跨轮复用;缺少所需内容、读取失败、用户要求刷新或本次修改后才重新读取
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
- - `~idea`
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
  验证命令来源:
@@ -6,9 +6,9 @@
6
6
  - 厚任务必须继续拆小;横向前置任务只在确有技术依赖时保留。
7
7
 
8
8
  ## 任务列表
9
- [按执行顺序排列,每个任务独立可验证]
10
- - [ ] 任务1(AFK/HITL):端到端行为描述(依赖:无;涉及文件:path/to/file.ts;预期变更:...;完成标准:功能行为或验收结果;验证方式:npm run test -- feature)
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
- - 不把“可以做很大”默认当成推荐答案