helloagents 3.0.20-beta.1 → 3.0.21-beta.1
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 +3 -1
- package/README_CN.md +3 -1
- package/bootstrap-lite.md +1 -0
- package/bootstrap.md +1 -0
- package/gemini-extension.json +1 -1
- package/package.json +1 -1
- package/scripts/cli-doctor-codex.mjs +1 -1
- package/scripts/cli-doctor-render.mjs +1 -1
- package/scripts/cli-messages.mjs +3 -3
- package/scripts/delivery-gate-messages.mjs +4 -4
- package/scripts/guard-rules.mjs +2 -2
- package/scripts/guard.mjs +3 -3
- package/scripts/ralph-loop.mjs +1 -1
- package/scripts/workflow-recommendation.mjs +1 -1
- package/skills/commands/build/SKILL.md +1 -1
- package/skills/commands/plan/SKILL.md +1 -1
- package/skills/commands/prd/SKILL.md +1 -1
- package/skills/commands/verify/SKILL.md +1 -1
- package/skills/hello-write/SKILL.md +1 -1
- package/skills/helloagents/SKILL.md +5 -6
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "helloagents",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.21-beta.1",
|
|
4
4
|
"description": "HelloAGENTS — The orchestration kernel that makes any AI CLI smarter. Adds intelligent routing, quality verification (Ralph Loop), safety guards, and notifications.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "HelloWind",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "helloagents",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.21-beta.1",
|
|
4
4
|
"description": "HelloAGENTS — Quality-driven orchestration kernel for AI CLIs with intelligent routing, quality verification (Ralph Loop), 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)
|
|
@@ -209,6 +209,8 @@ Runtime evidence files include:
|
|
|
209
209
|
- `.helloagents/sessions/<workspace>/<session>/artifacts/closeout.json`
|
|
210
210
|
- `.helloagents/sessions/<workspace>/<session>/artifacts/loop-results.tsv`
|
|
211
211
|
|
|
212
|
+
Delivery gate, guard, and loop messages use action-oriented wording such as processing path, closeout action, and visual validation action, so blocked flows show what to do next without turning executable steps into optional suggestions.
|
|
213
|
+
|
|
212
214
|
### 7) Safer install, update, cleanup, and diagnostics
|
|
213
215
|
|
|
214
216
|
The CLI manages host files explicitly:
|
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)
|
|
@@ -209,6 +209,8 @@ HelloAGENTS 不把“命令通过”和“任务完成”简单画等号。交
|
|
|
209
209
|
- `.helloagents/sessions/<workspace>/<session>/artifacts/closeout.json`
|
|
210
210
|
- `.helloagents/sessions/<workspace>/<session>/artifacts/loop-results.tsv`
|
|
211
211
|
|
|
212
|
+
交付门控、守卫和循环提示使用执行性表述,例如处理路径、收尾动作和视觉验收动作。阻塞流程会说明下一步要做什么,而不是把可执行步骤写成泛化建议。
|
|
213
|
+
|
|
212
214
|
### 7)更安全的安装、更新、清理和诊断
|
|
213
215
|
|
|
214
216
|
CLI 显式管理宿主文件:
|
package/bootstrap-lite.md
CHANGED
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
- 不写黑话、营销话、内部化表述或空泛形容;源码字段名、协议名、命令、路径、配置键等必须保留原名时除外
|
|
34
34
|
- 不写无执行价值的客套、邀约、重复确认、能力陈述或空泛建议
|
|
35
35
|
- 同一概念前后用语保持一致;先给结论再给细节,避免同义反复、重复解释和堆砌近义句
|
|
36
|
+
- 优化既有约束或文案时,优先在原条目内收敛表达;只有边界独立且原条目无法承载时才新增条目,并同步删除重复表述
|
|
36
37
|
|
|
37
38
|
### 完整交付(强制)
|
|
38
39
|
- 一次做完:用户需求明确且已获得执行授权时,必须持续执行到完成;只有符合下文“阻塞判定”的情况,才可中途停下
|
package/bootstrap.md
CHANGED
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
- 不写黑话、营销话、内部化表述或空泛形容;源码字段名、协议名、命令、路径、配置键等必须保留原名时除外
|
|
34
34
|
- 不写无执行价值的客套、邀约、重复确认、能力陈述或空泛建议
|
|
35
35
|
- 同一概念前后用语保持一致;先给结论再给细节,避免同义反复、重复解释和堆砌近义句
|
|
36
|
+
- 优化既有约束或文案时,优先在原条目内收敛表达;只有边界独立且原条目无法承载时才新增条目,并同步删除重复表述
|
|
36
37
|
|
|
37
38
|
### 完整交付(强制)
|
|
38
39
|
- 一次做完:用户需求明确且已获得执行授权时,必须持续执行到完成;只有符合下文“阻塞判定”的情况,才可中途停下
|
package/gemini-extension.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "helloagents",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.21-beta.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "HelloAGENTS — The orchestration kernel that makes any AI CLI smarter. Adds intelligent routing, quality verification (Ralph Loop), safety guards, and notifications.",
|
|
6
6
|
"author": "HelloWind",
|
|
@@ -201,7 +201,7 @@ export function inspectCodexDoctor(runtime, settings) {
|
|
|
201
201
|
if (!checks.pluginVersionMatch && !pluginVersion && detectedMode === 'global') notes.push(runtime.msg('未读到 global 插件根目录版本信息', 'Global plugin root version was not readable'))
|
|
202
202
|
if (!checks.pluginCacheVersionMatch && !cacheVersion && detectedMode === 'global') notes.push(runtime.msg('未读到 global 插件缓存版本信息', 'Global plugin cache version was not readable'))
|
|
203
203
|
if (detectedMode !== 'none' && !checks.codexGoalsFeature) notes.push(runtime.msg('Codex /goal 未启用;如需长程执行,可运行 `helloagents codex goals enable`。', 'Codex /goal is not enabled; run `helloagents codex goals enable` if you need long-running goals.'))
|
|
204
|
-
if (detectedMode !== 'none' && checks.legacyCodexHooksFeature) notes.push(runtime.msg('检测到旧版 `codex_hooks`;HelloAGENTS 只兼容 Codex
|
|
204
|
+
if (detectedMode !== 'none' && checks.legacyCodexHooksFeature) notes.push(runtime.msg('检测到旧版 `codex_hooks`;HelloAGENTS 只兼容 Codex 最新版,请移除旧 key。', 'Legacy `codex_hooks` was detected; HelloAGENTS targets latest Codex only, so remove the old key.'))
|
|
205
205
|
|
|
206
206
|
const status = summarizeDoctorStatus(issues, { trackedMode, detectedMode })
|
|
207
207
|
return { host, label: runtime.getHostLabel(host), trackedMode, detectedMode, status, checks, issues, notes, suggestedFix: suggestCodexDoctorFix(status, trackedMode) }
|
package/scripts/cli-messages.mjs
CHANGED
|
@@ -29,8 +29,8 @@ function pluginCommands() {
|
|
|
29
29
|
|
|
30
30
|
function removeHint(msg) {
|
|
31
31
|
return msg(
|
|
32
|
-
'如已安装 Claude Code
|
|
33
|
-
'If Claude Code plugin installed,
|
|
32
|
+
'如已安装 Claude Code 插件,可手动移除: /plugin remove helloagents\n 如已安装 Gemini CLI 扩展,可手动移除: gemini extensions uninstall helloagents',
|
|
33
|
+
'If the Claude Code plugin is installed, you can remove it: /plugin remove helloagents\n If the Gemini CLI extension is installed, you can remove it: gemini extensions uninstall helloagents',
|
|
34
34
|
)
|
|
35
35
|
}
|
|
36
36
|
|
|
@@ -118,7 +118,7 @@ ${msg('Codex /goal', 'Codex /goal')}:
|
|
|
118
118
|
${msg('仅显式管理 Codex 最新版 [features].goals,不替代 /goal', 'Explicitly manages only latest Codex [features].goals; does not replace /goal')}
|
|
119
119
|
|
|
120
120
|
${msg('卸载', 'Uninstall')}:
|
|
121
|
-
helloagents cleanup ${msg('
|
|
121
|
+
helloagents cleanup ${msg('(先清理所有 CLI 注入/链接)', '(cleans all CLI injections/links first)')}
|
|
122
122
|
npm uninstall -g helloagents
|
|
123
123
|
${msg('如宿主命令不可用,另需手动移除:', 'If host commands are unavailable, also remove manually:')}
|
|
124
124
|
Claude Code: /plugin remove helloagents
|
|
@@ -54,17 +54,17 @@ export function buildDeliveryBlockReason(issues, recommendation, gateHint) {
|
|
|
54
54
|
|
|
55
55
|
lines.push('')
|
|
56
56
|
if (recommendation?.nextPath) {
|
|
57
|
-
lines.push(
|
|
57
|
+
lines.push(`处理路径:${recommendation.nextPath}`)
|
|
58
58
|
}
|
|
59
59
|
if (issues.some((issue) => issue.type === 'missing-closeout-evidence')) {
|
|
60
|
-
lines.push('
|
|
60
|
+
lines.push('收尾动作:先写入当前会话 `artifacts/closeout.json`,记录 `requirementsCoverage` 和 `deliveryChecklist`,再报告完成。')
|
|
61
61
|
}
|
|
62
62
|
if (issues.some((issue) => issue.type === 'missing-visual-evidence')) {
|
|
63
|
-
lines.push('
|
|
63
|
+
lines.push('视觉验收动作:先写入当前会话 `artifacts/visual.json`,记录 `tooling`、`screensChecked`、`statesChecked`、`status` 和 `summary`,再报告完成。')
|
|
64
64
|
}
|
|
65
65
|
if (gateHint) {
|
|
66
66
|
lines.push(gateHint)
|
|
67
67
|
}
|
|
68
|
-
lines.push('
|
|
68
|
+
lines.push('暂不要报告完成。先完成剩余任务、补齐收尾证据,或修复方案包,使其成为可信的交付记录。')
|
|
69
69
|
return lines.join('\n')
|
|
70
70
|
}
|
package/scripts/guard-rules.mjs
CHANGED
|
@@ -81,13 +81,13 @@ export function scanShellSafetyWarnings(command = '') {
|
|
|
81
81
|
.map((entry) => entry.trim())
|
|
82
82
|
.filter(Boolean)
|
|
83
83
|
if (logicalLines.length > 3) {
|
|
84
|
-
warnings.push('PowerShell 内联脚本超过 3
|
|
84
|
+
warnings.push('PowerShell 内联脚本超过 3 个逻辑行,请改用临时 .ps1 文件')
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
|
|
88
88
|
const fileOps = normalized.match(/\b(remove-item|move-item|copy-item|new-item|set-content|add-content|out-file|mkdir|md|touch|cp|copy|mv|move|ren|rename|del|erase|rm|rmdir)\b/ig) || []
|
|
89
89
|
if (fileOps.length > 1 && /[;\r\n]/.test(normalized)) {
|
|
90
|
-
warnings.push('单条 shell
|
|
90
|
+
warnings.push('单条 shell 命令串联了多个文件操作,请拆成独立命令')
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
return warnings
|
package/scripts/guard.mjs
CHANGED
|
@@ -76,12 +76,12 @@ function buildHighRiskGate(matches, cwd, payload = {}) {
|
|
|
76
76
|
if (!recommendation) return null
|
|
77
77
|
if (matches.some((match) => match.gate === 'post-verify')) {
|
|
78
78
|
return {
|
|
79
|
-
reason: `[HelloAGENTS Guard] 已阻止 T3 命令:当前工作流尚未进入 VERIFY / CONSOLIDATE。\n当前工作流:${recommendation.summary}\n
|
|
79
|
+
reason: `[HelloAGENTS Guard] 已阻止 T3 命令:当前工作流尚未进入 VERIFY / CONSOLIDATE。\n当前工作流:${recommendation.summary}\n处理路径:${recommendation.nextPath}\n${recommendation.guidance}`,
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
if (matches.some((match) => match.gate === 'plan-first') && recommendation.nextCommand === 'plan') {
|
|
83
83
|
return {
|
|
84
|
-
reason: `[HelloAGENTS Guard] 已阻止 T3 命令:高风险 schema 变更前仍需先完成 ~plan。\n当前工作流:${recommendation.summary}\n
|
|
84
|
+
reason: `[HelloAGENTS Guard] 已阻止 T3 命令:高风险 schema 变更前仍需先完成 ~plan。\n当前工作流:${recommendation.summary}\n处理路径:${recommendation.nextPath}\n${recommendation.guidance}`,
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
return null
|
|
@@ -207,7 +207,7 @@ function emitShellWarnings(data, command, highRiskWarnings, shellSafetyWarnings)
|
|
|
207
207
|
sections.push(`⚠️ [HelloAGENTS 高风险操作提醒] 检测到高风险命令:\n${highRiskWarnings.map((warning) => ` - ${warning}`).join('\n')}\n请确认已完成相应规划/审查并获得必要授权。`)
|
|
208
208
|
}
|
|
209
209
|
if (shellSafetyWarnings.length > 0) {
|
|
210
|
-
sections.push(`⚠️ [HelloAGENTS Shell 安全提醒]
|
|
210
|
+
sections.push(`⚠️ [HelloAGENTS Shell 安全提醒] 检测到需要关注的命令写法:\n${shellSafetyWarnings.map((warning) => ` - ${warning}`).join('\n')}\n当前仅提示,不中断执行。`)
|
|
211
211
|
}
|
|
212
212
|
if (sections.length === 0) return
|
|
213
213
|
|
package/scripts/ralph-loop.mjs
CHANGED
|
@@ -135,7 +135,7 @@ function handleFailure(failures, cwd, options = {}) {
|
|
|
135
135
|
writeBreaker(cwd, breaker, options);
|
|
136
136
|
|
|
137
137
|
const breakerWarning = breaker.consecutive_failures >= 3
|
|
138
|
-
? `\n\n⚠️ [断路器] 已连续 ${breaker.consecutive_failures}
|
|
138
|
+
? `\n\n⚠️ [断路器] 已连续 ${breaker.consecutive_failures} 次验证失败。当前修复思路可能有误,先处理:\n 1. 重新分析根因,不要继续在同一方向上硬修\n 2. 检查是否存在架构层面的问题\n 3. 考虑回退到上一个正常状态重新开始`
|
|
139
139
|
: '';
|
|
140
140
|
|
|
141
141
|
const details = failures.map(f => `\u2717 ${f.cmd}\n${f.output}`).join('\n\n');
|
|
@@ -313,7 +313,7 @@ function buildBuildOrchestrationHint(plan) {
|
|
|
313
313
|
if (openTasks.every((item) => item.files.length === 0)) {
|
|
314
314
|
return '编排提示:当前有多个开放任务,但 tasks.md 尚未写清契约元数据;考虑子代理并行前先补足文件路径、完成标准与验证方式。'
|
|
315
315
|
}
|
|
316
|
-
return '
|
|
316
|
+
return '编排提示:当前仍有多个开放任务,但文件范围存在重叠;暂不并行子代理,优先串行推进。'
|
|
317
317
|
}
|
|
318
318
|
|
|
319
319
|
export function buildOrchestrationHintFromSnapshot(snapshot, cwd, recommendation = buildRecommendation(snapshot, cwd)) {
|
|
@@ -29,7 +29,7 @@ Trigger: ~build [description]
|
|
|
29
29
|
- 实现时优先把 `tasks.md` 中每个任务的“完成标准”当作本轮实现约束,不要只按任务标题猜测范围
|
|
30
30
|
- `contract.json` 存在时,优先按其中的 `verifyMode`、`reviewerFocus`、`testerFocus` 理解后续验证边界
|
|
31
31
|
- 若本轮运行在 Codex active goal 下,按 `tasks.md` 未完成项、`contract.json` 与 `state_path` 恢复实现位置;不要自动创建新 goal,也不要把 goal 目标原文替代方案包
|
|
32
|
-
-
|
|
32
|
+
- 若当前上下文中已注入“当前工作流约束”或“当前推荐下一命令”,先服从它;只有推荐仍为 `~build`,或用户明确提出新增实现范围时,才继续 `~build`
|
|
33
33
|
- 其余项目知识库与相关代码文件,按 HelloAGENTS 项目上下文要求读取
|
|
34
34
|
- 若任务涉及 UI,按以下优先级读取并遵循:当前活跃 `plan.md` / PRD 中的 UI 决策 > 逻辑 `.helloagents/DESIGN.md`(实际路径按当前项目存储模式解析) > `hello-ui` 通用规则
|
|
35
35
|
- 若已激活项目且当前任务属于整页新建、设计系统改造、或跨多个组件的视觉重做,但逻辑 `.helloagents/DESIGN.md` 不存在,先按模板创建最小设计契约,再继续大规模实现
|
|
@@ -102,7 +102,7 @@ Trigger: ~plan [description]
|
|
|
102
102
|
|
|
103
103
|
如果用户已明确表示继续执行,则视为授权成立,可直接继续执行。
|
|
104
104
|
如果当前任务来自 `~auto`,且方案包已足够支撑实现、也未命中阻塞判定,则默认直接进入 `~build`,不再追加一次“是否开始执行”的询问。
|
|
105
|
-
如果当前任务是显式 `~plan` 或 `~design
|
|
105
|
+
如果当前任务是显式 `~plan` 或 `~design`,且尚未获得执行授权,最终收尾按通用输出格式使用等待输入态:正文说明方案包与验证结果,`🔄 下一步` 写清待确认动作。
|
|
106
106
|
|
|
107
107
|
## 方案包要求
|
|
108
108
|
|
|
@@ -121,7 +121,7 @@ c. AI 总结该维度的决策结果,进入下一个维度
|
|
|
121
121
|
|
|
122
122
|
如果用户已对当前 PRD 或继续执行作出明确同意,视为执行授权成立,可直接进入执行,或按需先补一轮 `~plan` 明确实现方案。
|
|
123
123
|
如果当前任务来自 `~auto`,且 PRD 已整理成可执行任务、也未命中阻塞判定,则默认继续进入 `~build`,必要时先补一轮轻量 `~plan`,不再额外询问一次“是否开始执行”。
|
|
124
|
-
如果当前任务是显式 `~prd
|
|
124
|
+
如果当前任务是显式 `~prd`,且尚未获得执行授权,最终收尾按通用输出格式使用等待输入态:正文说明 PRD / 任务 / 契约结果,`🔄 下一步` 写清待确认动作。
|
|
125
125
|
|
|
126
126
|
### 6. 继续执行
|
|
127
127
|
|
|
@@ -9,7 +9,7 @@ Trigger: ~verify [scope]
|
|
|
9
9
|
## 流程
|
|
10
10
|
|
|
11
11
|
0. 先对齐当前工作流状态:
|
|
12
|
-
-
|
|
12
|
+
- 若当前上下文中已注入“当前工作流约束”或“当前推荐下一命令”,先服从它
|
|
13
13
|
- 即使命令通过,也不能越过当前方案包边界:不完整方案包不能视为可信交付记录,未闭合方案包不能被整体报告为已完成
|
|
14
14
|
- 当推荐路径已进入 `~verify` / 收尾时,优先把本命令用于审查、验真和交付收尾
|
|
15
15
|
- 若当前存在活跃方案包,先读取 `requirements.md`、`plan.md`、`tasks.md`、`contract.json`,把它们当作本轮验证契约;不要只看命令结果
|
|
@@ -5,8 +5,8 @@ description: 按任务类型适用 — 建立质量驱动工作流,通过技
|
|
|
5
5
|
|
|
6
6
|
# HelloAGENTS
|
|
7
7
|
|
|
8
|
-
主代理触发或读取任意 skill
|
|
9
|
-
子代理只豁免路由与收尾要求,直接执行任务;安全、质量、验证和失败处理规则仍持续生效,且不得包装 HelloAGENTS
|
|
8
|
+
主代理触发或读取任意 skill 时,只有本轮最终收尾消息才按通用输出格式包装;流式内容、进度或状态汇报、中间文本,以及任何仍将继续执行的文本,都保持自然输出。最终收尾中的 `🔄 下一步` 写真实动作,不写当前状态;等待用户授权时使用等待输入态收尾,已获授权且可继续执行时不得收尾。
|
|
9
|
+
子代理只豁免路由与收尾要求,直接执行任务;安全、质量、验证和失败处理规则仍持续生效,且不得包装 HelloAGENTS 外层输出格式。
|
|
10
10
|
只有运行时必须识别本轮“完成 / 等待输入 / 阻塞”时,主代理才写 turn-state;普通问候、普通问答、T0 只读分析和一次性解释不调用。必须调用场景:显式 `~auto` / `~loop`、非只读任务完成验证并进入收尾、需要 delivery gate / Ralph Loop / closeout evidence、需要等待或阻塞且运行时必须识别状态、已进入项目连续流程或方案包闭环。首选 `helloagents-turn-state write --kind complete --role main`;等待或阻塞时写 `kind=waiting` / `kind=blocked`,并同时写 `reasonCategory` 与 `reason`。显式 `~auto` / `~loop` 下,还必须写入 `blocker.target`、`blocker.evidence`、`blocker.requiredAction`。不要查找、读取或拼接 `turn-state.mjs` 源码路径。子代理不得写 turn-state。
|
|
11
11
|
|
|
12
12
|
`.helloagents/` 在所有 skill 中都统一按项目级存储路径理解:项目本地 `.helloagents/` 继续承担激活信号和会话运行态;状态文件只使用 `state_path`(实际位于 `sessions/{workspace}/{session}/STATE.md`);会话证据使用当前 `state_path` 所在目录下的 `artifacts/*.json`;`sessions/active.json` 只作为当前活跃会话索引;若 `project_store_mode=repo-shared`,`context.md`、`guidelines.md`、`DESIGN.md`、`verify.yaml`、`modules/`、`plans/`、`archive/` 按当前上下文中已注入的“当前项目存储”/“项目知识/方案目录”解析,不要假定这些文件一定实际位于当前工作树中。
|
|
@@ -16,9 +16,8 @@ description: 按任务类型适用 — 建立质量驱动工作流,通过技
|
|
|
16
16
|
以下三重机制按任务类型适用;一旦当前任务进入对应阶段,对应机制就是强制要求,不可跳过或弱化。普通问候、普通问答、T0 只读分析和一次性解释不进入完整实现、验证或收尾流程。
|
|
17
17
|
|
|
18
18
|
### 质量标准
|
|
19
|
-
每个 hello-*
|
|
20
|
-
|
|
21
|
-
违反规范 = 质量不合格,必须修复。
|
|
19
|
+
每个 hello-* 技能的规范都是当前任务进入对应场景后的执行标准。
|
|
20
|
+
技能被激活时,逐条落实;未满足时先修复再交付。
|
|
22
21
|
|
|
23
22
|
### 流程纪律(执行时)
|
|
24
23
|
- 执行 command skill 时,公共阶段边界以当前已加载的 HelloAGENTS 规则为准;command skill 只补充该命令的专属动作和边界
|
|
@@ -39,7 +38,7 @@ description: 按任务类型适用 — 建立质量驱动工作流,通过技
|
|
|
39
38
|
4. 有未通过项 → 修复后重新检查
|
|
40
39
|
5. 全部通过 → 才能报告完成
|
|
41
40
|
|
|
42
|
-
|
|
41
|
+
未完成检查时不得报告完成。
|
|
43
42
|
|
|
44
43
|
## 技能加载规则(渐进式披露)
|
|
45
44
|
|