@xgent-ai/skills 0.7.6 → 0.7.8
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/README.md +21 -23
- package/bin/xgent-skills.js +40 -3
- package/dist/phoenix-diagram/VERSION.json +11 -11
- package/dist/phoenix-diagram/bundle/ENGINE.json +11 -11
- package/dist/phoenix-ui/VERSION.json +15 -15
- package/docs/phoenix-diagram.md +4 -4
- package/docs/phoenix-ui.md +2 -2
- package/package.json +1 -1
- package/skills/agi-mode/evals/scenarios.md +7 -8
- package/skills/agi-mode/playbooks/sdlc.md +8 -12
- package/skills/agi-mode/playbooks/what-next.md +7 -8
- package/skills/apply-ui-review/SKILL.md +31 -23
- package/skills/apply-ui-review/agents/openai.yaml +2 -2
- package/skills/apply-ui-review/evals/scenarios.md +10 -7
- package/skills/apply-ui-review/references/record-contract.md +6 -6
- package/skills/crd/SKILL.md +36 -8
- package/skills/crd/assets/cr-template.md +10 -6
- package/skills/crd/evals/scenarios.md +12 -0
- package/skills/crd-respond/SKILL.md +22 -10
- package/skills/crd-respond/agents/openai.yaml +2 -2
- package/skills/crd-respond/assets/response-template.md +7 -6
- package/skills/crd-respond/evals/scenarios.md +10 -1
- package/skills/phoenix-diagram/ENGINE.json +11 -11
- package/skills/phoenix-ui/GENERATED.json +20 -20
- package/skills/phoenix-ui/scripts/ENGINE.json +15 -15
- package/skills/portal-external-app/SKILL.md +3 -2
- package/skills/portal-external-app/references/oauth-discovery.md +94 -0
- package/skills/portal-external-app/references/public-entrypoints.md +2 -0
- package/skills/portal-external-app/references/registration-and-onebox.md +3 -0
- package/skills/resolve-blocked/SKILL.md +292 -139
- package/skills/resolve-blocked/agents/openai.yaml +2 -2
- package/skills/resolve-blocked/evals/scenarios.md +10 -4
- package/skills/resolve-blocked/references/decisions-contract.md +2 -1
- package/skills/review-ui/SKILL.md +60 -95
- package/skills/review-ui/agents/openai.yaml +2 -2
- package/skills/review-ui/evals/fresh-context.md +14 -4
- package/skills/review-ui/evals/scenarios.md +19 -14
- package/skills/review-ui/references/judge.md +19 -20
- package/skills/review-ui/references/report-contract.md +18 -18
- package/skills/review-ui/references/target-and-capture.md +31 -11
- package/skills/xgent-app-release/SKILL.md +11 -2
- package/skills/xgent-app-release/references/public-delivery.md +64 -0
- package/skills/xgent-app-release/references/publish-api.md +5 -2
package/README.md
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
XGENT 的 [Agent Skills](https://skills.sh) 集合,可安装到 Claude Code、Cursor、Codex 等支持 skill 的 Agent 中。
|
|
4
4
|
|
|
5
|
+
版本变更与历史记录见 [CHANGELOG.md](CHANGELOG.md)。
|
|
6
|
+
|
|
5
7
|
## 安装
|
|
6
8
|
|
|
7
9
|
列出并选择安装公开的 skills (`xgent-init` 是内部初始化 skill,不在默认列表中):
|
|
@@ -20,25 +22,19 @@ npx skills add XGENT-ai/skills --skill dev-plan
|
|
|
20
22
|
|
|
21
23
|
## 项目辅助工具(Claude Code / Codex)
|
|
22
24
|
|
|
23
|
-
本仓库同时以 [`@xgent-ai/skills`](https://www.npmjs.com/package/@xgent-ai/skills) 发布到 npm,自带 `xgent-skills` 命令,可为任意项目安装 XGENT 的 Claude Code hooks(当前包含 statusline)、在项目 `.claude/settings.json` 中启用对应配置,装上随包的 [Phoenix UI](#phoenix-ui) 设计工具,并可选创建通用的 `AGENTS.md`、安装 Codex 或 Claude Code 的 goal 上下文收尾提醒。npm 发布包与仓库的 `xgent-skills install` 统一默认安装 [Phoenix Diagram](docs/phoenix-diagram.md)
|
|
25
|
+
本仓库同时以 [`@xgent-ai/skills`](https://www.npmjs.com/package/@xgent-ai/skills) 发布到 npm,自带 `xgent-skills` 命令,可为任意项目安装 XGENT 的 Claude Code hooks(当前包含 statusline)、在项目 `.claude/settings.json` 中启用对应配置,装上随包的 [Phoenix UI](#phoenix-ui) 设计工具,并可选创建通用的 `AGENTS.md`、安装 Codex 或 Claude Code 的 goal 上下文收尾提醒。npm 发布包与仓库的 `xgent-skills install` 统一默认安装 [Phoenix Diagram](docs/phoenix-diagram.md):
|
|
24
26
|
|
|
25
27
|
```bash
|
|
26
28
|
# 在目标项目根目录执行(也可显式传目录:npx @xgent-ai/skills install <dir>)
|
|
27
29
|
npx @xgent-ai/skills install
|
|
28
30
|
```
|
|
29
31
|
|
|
30
|
-
0.7.3 补齐了 npx 默认入口。旧版 0.7.2 会报 `could not determine executable to run`,使用该版本时请显式指定安装器:
|
|
31
|
-
|
|
32
|
-
```bash
|
|
33
|
-
npx --package=@xgent-ai/skills@0.7.2 xgent-skills install
|
|
34
|
-
```
|
|
35
|
-
|
|
36
32
|
选项:
|
|
37
33
|
|
|
38
34
|
| 选项 | 说明 |
|
|
39
35
|
| --- | --- |
|
|
40
36
|
| `--no-phoenix-ui` | 跳过 Phoenix UI,仍安装 XGENT 的 hooks 与 settings;不删除已装版本 |
|
|
41
|
-
| `--no-impeccable` |
|
|
37
|
+
| `--no-impeccable` | 已弃用,请改用 `--no-phoenix-ui` |
|
|
42
38
|
| `--replace-impeccable` | 删除所选工具目录中的项目级及个人级 impeccable 入口和 hooks,不备份 |
|
|
43
39
|
| `--keep-impeccable` | 保留 impeccable,与 Phoenix UI 共存;无交互环境默认采用 |
|
|
44
40
|
| `--no-phoenix-diagram` | 跳过独立 Phoenix Diagram,不删除已装版本 |
|
|
@@ -68,15 +64,17 @@ npx skills add XGENT-ai/skills --skill xgent-init
|
|
|
68
64
|
|
|
69
65
|
## Phoenix UI
|
|
70
66
|
|
|
67
|
+
只有 `phoenix-ui` skill 随 Phoenix UI 工具附带,`phoenix-diagram` skill 随 Phoenix Diagram 工具附带;其余所有 skill 均独立于这两个工具。
|
|
68
|
+
|
|
71
69
|
Phoenix UI 是 XGENT 自主维护的设计工具:从 [impeccable](https://github.com/pbakaus/impeccable) 4.5.0 / engine 0.1.11 的固定源码承接(Apache-2.0,来源与修改见 `dist/phoenix-ui/NOTICE.md`),版本、规则与发布由本仓控制,不再查询或下载上游 latest。它只随 npm 安装器分发:`install` 只装入 `phoenix-ui` skill、对应 hooks 与固定 engine。design-md、design-reference、ui-pattern-research、review-ui、apply-ui-review 由 `npx skills add XGENT-ai/skills` 独立安装和更新,Phoenix 不覆盖或比对它们的版本。对话里用 `/phoenix-ui`(Codex 用 `$phoenix-ui`);终端命令为 `npm exec --package=@xgent-ai/skills -- phoenix-ui --help`。
|
|
72
70
|
|
|
73
71
|
Phoenix UI 适用于独立网站、应用和嵌入式界面等 UI 项目。`phoenix-ui init` 可独立完成产品上下文初始化,不依赖 `xgent-init`。subagent 与并行策略由 coding agent 自主安排,Phoenix 不额外要求询问或等待授权。
|
|
74
72
|
|
|
75
|
-
- **engine**:按包内 `dist/phoenix-ui/VERSION.json` 的摘要校验后放进 `~/.phoenix-ui/bin/<版本>/<平台>/<engineSha256>/`(`PHOENIX_UI_HOME` 可改)
|
|
76
|
-
- **已有工具**:安装时发现 impeccable 会询问是否替换。选择替换则直接删除所选 provider 的项目级及个人级旧入口和旧 hooks,不备份、不留转跳入口;选择保留则共存,不阻止 Phoenix 安装,无交互环境默认保留。没有安装事务状态的 Phoenix
|
|
73
|
+
- **engine**:按包内 `dist/phoenix-ui/VERSION.json` 的摘要校验后放进 `~/.phoenix-ui/bin/<版本>/<平台>/<engineSha256>/`(`PHOENIX_UI_HOME` 可改),新旧项目的引擎可共存,支持 darwin-arm64、darwin-x64、linux-x64、linux-arm64;不支持 Windows。不可用时整个安装在写项目前停止,可改用 `--release-dir=DIR` 离线安装或 `--no-phoenix-ui`。hook 与 context 运行时不联网补下载。
|
|
74
|
+
- **已有工具**:安装时发现 impeccable 会询问是否替换。选择替换则直接删除所选 provider 的项目级及个人级旧入口和旧 hooks,不备份、不留转跳入口;选择保留则共存,不阻止 Phoenix 安装,无交互环境默认保留。没有安装事务状态的 Phoenix 源码副本直接删除后重装;已有回执的 Phoenix 工具文件被其他渠道覆盖时,显式安装会按当前包刷新,并保留重装前内容供回滚。业务源码、旧工具的数据和文档不改动;共享配置中的其他 hooks 保留。
|
|
77
75
|
- **回滚**:安装输出给出事务 ID、备份位置与完整命令,例如 `npm exec --package=@xgent-ai/skills@<版本> -- phoenix-ui migrate --rollback <事务ID> --project <项目>`;回滚只撤销本次安装的条目,后来新增的配置保留。
|
|
78
76
|
|
|
79
|
-
安装、迁移、回滚、支持矩阵与渠道说明见 [docs/phoenix-ui.md](docs/phoenix-ui.md)
|
|
77
|
+
安装、迁移、回滚、支持矩阵与渠道说明见 [docs/phoenix-ui.md](docs/phoenix-ui.md)。
|
|
80
78
|
|
|
81
79
|
managed UI 循环先核对固定包 engine,再用 `phoenix-ui review --help` 和 `phoenix-ui review schema --json` 发现 verbs 与输入形状;后者是 typed examples,样例不是真实证据。具体调用与恢复边界见 [Phoenix 评审协议](skills/review-ui/references/phoenix-review.md)。
|
|
82
80
|
|
|
@@ -91,8 +89,8 @@ managed UI 循环先核对固定包 engine,再用 `phoenix-ui review --help`
|
|
|
91
89
|
| Skill | 说明 |
|
|
92
90
|
| --- | --- |
|
|
93
91
|
| [prd](skills/prd/SKILL.md) | 撰写或优化 PRD,明确产品目标、FR/NFR、UAT、分期与终验,可按授权录入 SPMS |
|
|
94
|
-
| [crd](skills/crd/SKILL.md) |
|
|
95
|
-
| [crd-respond](skills/crd-respond/SKILL.md) |
|
|
92
|
+
| [crd](skills/crd/SKILL.md) | 固定由提出方使用:起草或修订需求、整合接收方回复;基于目标和长期成本明确本方立场,收敛契约及 Q&A,不将未发送等同草案 |
|
|
93
|
+
| [crd-respond](skills/crd-respond/SKILL.md) | 固定由接收方独立评估长期方案、明确本方结论并收敛 CRD 答复,或回告实现结果;需改码时生成带来源 CR 与完成回写约定的计划,不实施。仅原样追加/收录不重评或生成计划 |
|
|
96
94
|
| [dev-plan](skills/dev-plan/SKILL.md) | 基于需求、仓库规则与代码事实撰写或评审可执行计划,明确开发对象、排除与外部前置;CR 来源可追溯,对应请求完成后回写答复,支持跨对话续做 |
|
|
97
95
|
| [spec-human-decision](skills/spec-human-decision/SKILL.md) | 逐项讲清 PRD 或开发计划的功能与价值,计划另述做法;交互选择确认、驳回、修改并打磨文档,修改须附说明 |
|
|
98
96
|
| [test-plan](skills/test-plan/SKILL.md) | 从需求与验收标准生成测试用例,覆盖正常、边界、权限和并发场景,可按授权写入 SPMS |
|
|
@@ -102,10 +100,10 @@ managed UI 循环先核对固定包 engine,再用 `phoenix-ui review --help`
|
|
|
102
100
|
| [review-code](skills/review-code/SKILL.md) | 评审未提交变更、commit 或分支差异,可对照开发计划,输出有证据的代码评审报告 |
|
|
103
101
|
| [review-prd-dev-gaps](skills/review-prd-dev-gaps/SKILL.md) | 核对 PRD 与开发交付,将遗漏、合理变更和待拍板差异分流,交互 Triage 后按需调用 dev-plan 生成 gaps plan |
|
|
104
102
|
| [apply-code-review](skills/apply-code-review/SKILL.md) | 核实代码评审意见,实施合理修复、验证结果并回写实现记录与必要进度 |
|
|
105
|
-
| [review-ui](skills/review-ui/SKILL.md) | 代码评审后可选的 UI/UX
|
|
106
|
-
| [apply-ui-review](skills/apply-ui-review/SKILL.md) | 按 UI
|
|
103
|
+
| [review-ui](skills/review-ui/SKILL.md) | 代码评审后可选的 UI/UX 验收:真实界面增量取证,同状态多问题共用截图,复用有效历史与 apply 材料;默认一位独立评审检查变化和未关闭项,继承未受影响的已通过结论,默认每个单元 ≥ 8/10 且没有未关闭的 P0/P1 才通过;需补证时交 apply-ui-review 执行补证后独立复审 |
|
|
104
|
+
| [apply-ui-review](skills/apply-ui-review/SKILL.md) | 按 UI 验收报告执行修复、补证与解阻,对照截图与目标核实并自检;停滞预警先诊断,有结构性根因才重构,提交登记后交回复审 |
|
|
107
105
|
| [apply-doc-review](skills/apply-doc-review/SKILL.md) | 可只传评审报告,沿报告的原文档引用定位并修订 PRD 或开发计划,复核并记录逐条处置结果 |
|
|
108
|
-
| [resolve-blocked](skills/resolve-blocked/SKILL.md) |
|
|
106
|
+
| [resolve-blocked](skills/resolve-blocked/SKILL.md) | 查证解阻;需用户拍板、补证或协调外部依赖时用工具阻断式问答,外部请求用 CRD 交接,存 decisions 并回改计划,最终列全剩余阻塞和用户动作 |
|
|
109
107
|
|
|
110
108
|
把上述 skill 串成完整交付流水线(想法 → PRD → 分期 → 每期开发与并行测试 → 交付)的方法见 [AI Native SDLC](docs/ai-native-sdlc.md),含各环节产物路径约定与测试线待补环节的现状核对。
|
|
111
109
|
|
|
@@ -114,10 +112,10 @@ managed UI 循环先核对固定包 engine,再用 `phoenix-ui review --help`
|
|
|
114
112
|
需要逐项确定功能取舍时,可在 PRD 或开发计划成稿后使用 `spec-human-decision <文档>`:每项简述功能与价值,开发计划另述做法;选择确认、驳回或附说明修改,修订版再确认,并同步文档与决定记录。这是可选的用户决策环节,技术评审与开工条件仍按下述回路核对。
|
|
115
113
|
|
|
116
114
|
1. (可选)`prd` → `review-prd <PRD>`:需要修改时 `apply-doc-review <报告>`;可交接后 `dev-plan <PRD> P1`。临时或小任务可直接从 `dev-plan` 开始。
|
|
117
|
-
2. `dev-plan` → `review-dev-plan <计划>`:需要修改时 `apply-doc-review <报告>`;之后 `Blocked` 用 `resolve-blocked
|
|
115
|
+
2. `dev-plan` → `review-dev-plan <计划>`:需要修改时 `apply-doc-review <报告>`;之后 `Blocked` 用 `resolve-blocked <计划>`,自行查证,需用户处理的决定、前置和跨项目协调必须用 Ask User 类工具提出并等待明确答复,不能仅输出聊天消息;收到答复后继续处理,外部缺口实际用 `crd` 创建/续写本地请求,不自动发送;最终开头列全剩余阻塞、各方需提供什么、用户具体动作和解除条件,不只给重跑命令。先推进具体 CR 或本方验证,解除条件满足后再运行以重判就绪,`Ready` 用 `/goal 按 <计划> 开发`。从 PRD 派生的计划在顶部「需求来源」记录 PRD 与期次,开发范围区分本方改动与外部前置,不因端到端目标代建依赖系统。
|
|
118
116
|
3. `/goal` 开发:按计划的提交点分阶段提交,全部里程碑完成后最终提交,SHA 记入完成记录,结束时提示 `review-code <计划>`。来自 CR 的计划按顶部合同,在对应请求或明确子范围实现且约定检查通过后追加实现结果答复,保留历史、余项及回告链接;不等同发布或对方验收,未能回写时保留恢复动作。
|
|
119
117
|
4. `review-code <计划>` 从完成记录登记的提交与未提交改动确定范围:需要修改时 `apply-code-review <报告>`(按计划约定提交修复并登记 SHA),再回到 `review-code <计划>` 复审,直到通过验收或你明确本期放过。
|
|
120
|
-
5. (可选)计划涉及界面时,`review-ui <计划>` 做 UI/UX
|
|
118
|
+
5. (可选)计划涉及界面时,`review-ui <计划>` 做 UI/UX 验收:按影响范围自动检查与采集代表帧,同页同状态共用截图;复用有效历史证据及已通过结论,默认一位全新上下文的独立评审,不按接近门槛自动增加评审。需要修改时 `apply-ui-review <报告>`(按计划约定提交并登记 `UI修复` SHA),再回到 `review-ui <计划>` 复审,直到通过(默认每个单元 ≥ 8/10 且没有未关闭的 P0/P1)、停滞后交你裁定,或你明确放过。UI 修复带来代码改动时,再用 `review-code <计划>` 复审这些改动。 需补证时同样交给 `apply-ui-review <报告>`,由执行 agent 补齐环境、数据与实测材料、处理差距后交回 `review-ui <计划或原范围>` 独立复审;只缺独立评审时续接 review-ui。仅无法自行取得的权限、资料或产品决定请求用户提供。没有代码、证据或阻塞条件变化时不新增轮次。
|
|
121
119
|
|
|
122
120
|
UI 循环可沿用人工 Markdown,或通过匹配的 Phoenix engine 管理证据与轮次。已有 managed 索引时从原轮与 revision 续接;engine 缺失、版本不匹配或状态损坏时保持只读,恢复固定版本后再继续。人工历史只经明确的 `review import` 接管,不能清零未知次数;CLI 操作成功不代表 UI 通过,真实取证和独立评审仍是判定依据。
|
|
123
121
|
6. 通过后,计划来自 PRD 时可选 `review-prd-dev-gaps <计划>`;生成 gaps plan 时从第 2 步的 `review-dev-plan <gaps 计划>` 继续。
|
|
@@ -138,13 +136,13 @@ $review-ui [开发计划] [页面URL/路由] [设计稿/目标图] [上轮报告
|
|
|
138
136
|
$agi-mode <任务描述> 或 sdlc [流程/阶段/问题] 或 init-sdlc [PRD/计划/范围] 或 what-next [查询/更新] [PRD/计划/范围]
|
|
139
137
|
```
|
|
140
138
|
|
|
141
|
-
|
|
139
|
+
参数提示的展示取决于客户端对 `argument-hint` 的支持。未展示时可直接参考上述用法或各技能的 frontmatter。
|
|
142
140
|
|
|
143
141
|
5 个 `review-*` 支持“对照上轮报告复审修复效果”:逐项保留来源 ID,区分已解决、仍存在、部分解决、回归、待核实、不再适用和本轮未复核;新增问题单列,默认另存报告。代码旧问题的复核不受本次修复 diff 限制。`review-prd-dev-gaps` 会先核对已有 gaps plan,支持“仅报告”,避免重复规划。
|
|
144
142
|
|
|
145
143
|
`apply-doc-review` 与 `apply-code-review` 支持“继续修复”与“仅复核”:前者处理剩余问题,后者保留目标产物并保存必要处置记录;完全只读则仅聊天交付。重复执行先核对已有证据,无实质变化不改文件或时间;apply 的复核不自动成为新一轮独立 review。
|
|
146
144
|
|
|
147
|
-
|
|
145
|
+
项目状态与下一步查询使用 `agi-mode` 的 [what-next 流程](skills/agi-mode/playbooks/what-next.md)。查询默认只读;初始化/更新才保存,既有执行授权继续有效。
|
|
148
146
|
|
|
149
147
|
```text
|
|
150
148
|
使用 $agi-mode sdlc,解释从需求、CRD 往返到开发、验收和发布的交接。
|
|
@@ -222,13 +220,13 @@ $agi-mode <任务描述> 或 sdlc [流程/阶段/问题] 或 init-sdlc [PRD/计
|
|
|
222
220
|
|
|
223
221
|
明确要求优化仓库指令时,可使用 `$optimize-agents-md [repo 路径] [文件范围] [仅诊断]`,默认处理当前代码仓库的根 AGENTS.md。它默认可发现,普通编码、初始化或全局规则修改不进入该流程;仅诊断保持只读。优化时使用已安装的 `use-prompt-dsl` 的 `compose`(默认操作)将原则压缩为 Odyssey RULE 片段(直接嵌入 AGENTS.md,无外层包装),按语义去重并补齐 Think Before Coding 与十二项 Coding Principles,保留项目事实、授权和作用域。缺少 DSL skill 时停止,建议完整安装本仓 skills;安装检查和优化流程只属于 skill,不写进目标 AGENTS.md。无需同仓评测任务或远端配置,文件精简不等于已证明行为质量提升。
|
|
224
222
|
|
|
225
|
-
独立的 agi-mode [远端执行工具](skills/agi-mode/references/remote-evolution.md) 提供 `validate / run / resume / apply`,优化器、被测 agent 与固定验收使用 SSH 主机上的独立环境。默认搜索 keep 只更新探索最佳,独立确认和原则核对通过后才在已有写回授权内按 CAS 采用;显式获准的 v2 `bounded_exploration_v1` 仅允许质量门通过、来源精度不足时探索一个候选,不晋级最佳、不确认/采用,整体 inconclusive
|
|
223
|
+
独立的 agi-mode [远端执行工具](skills/agi-mode/references/remote-evolution.md) 提供 `validate / run / resume / apply`,优化器、被测 agent 与固定验收使用 SSH 主机上的独立环境。默认搜索 keep 只更新探索最佳,独立确认和原则核对通过后才在已有写回授权内按 CAS 采用;显式获准的 v2 `bounded_exploration_v1` 仅允许质量门通过、来源精度不足时探索一个候选,不晋级最佳、不确认/采用,整体 inconclusive。不自动提交、发布或安装全局配置。验收范围与运行结果见 [CHANGELOG.md](CHANGELOG.md) 及其引用的阶段记录。
|
|
226
224
|
|
|
227
225
|
自然发现验收可用 `source.fixed_skill_roots` 显式提供完整固定背景目录,目标缺席/候选切换保持其他技能字节;实际目录、读取与任务行为分别记录,单独的目标技能执行不代表完整目录发现已通过。
|
|
228
226
|
|
|
229
227
|
v2运行质量项可显式声明`verifier/`公开观测文件,按白名单接收固定grader的实际运行事实;验收分与运行证据分开,缺证据保持unknown,独立观测不替代新增回归测试。
|
|
230
|
-
|
|
231
|
-
|
|
228
|
+
百分制评分表保留其他已知分项,不因单项unknown全表清空;已知硬失败控制可显式声明不可观察的非gate项并要求双评一致未知,成功控制、底线、排序及辅助资格保持严格。
|
|
229
|
+
百分制 rubric 可显式让程序从已校验逐项判断派生评审状态,避免把产物失败误作测量无效;旧协议默认保持,新格式需重新校准。
|
|
232
230
|
固定预算项可显式要求双评数值及校准固定参考完全相同,分歧保持unknown及原分;缺省程度容差保持,同分仍须核对依据,详见远端手册。
|
|
233
231
|
|
|
234
232
|
v2自有仓任务可显式使用`case.platform=linux/arm64`和匹配的固定镜像;默认及v1/Pro V2仍amd64。平台改变后重新校准,不能迁移旧分或资格;详见[远端手册](skills/agi-mode/references/remote-evolution.md)。
|
package/bin/xgent-skills.js
CHANGED
|
@@ -199,6 +199,36 @@ function runDiagram(binary, args) {
|
|
|
199
199
|
}
|
|
200
200
|
}
|
|
201
201
|
|
|
202
|
+
function prepareDiagramTools(project, providers) {
|
|
203
|
+
const refresh = [];
|
|
204
|
+
if (!fs.lstatSync(path.join(project, '.phoenix-diagram/install'), { throwIfNoEntry: false })) {
|
|
205
|
+
for (const provider of providers.filter(name => name !== '.codex')) {
|
|
206
|
+
const relative = `${provider}/skills/phoenix-diagram`;
|
|
207
|
+
const file = path.join(project, relative);
|
|
208
|
+
const stat = fs.lstatSync(file, { throwIfNoEntry: false });
|
|
209
|
+
if (!stat) continue;
|
|
210
|
+
for (let dir = path.dirname(file); dir !== project; dir = path.dirname(dir)) {
|
|
211
|
+
if (fs.lstatSync(dir).isSymbolicLink()) throw phoenixFailure(3, `工具目录的父路径是符号链接,未修改: ${dir}`);
|
|
212
|
+
}
|
|
213
|
+
refresh.push({ file, relative, linked: stat.isSymbolicLink() });
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
return {
|
|
217
|
+
covers(conflict) {
|
|
218
|
+
return refresh.some(item => (['install/unowned-file', 'install/extra-file'].includes(conflict.code)
|
|
219
|
+
&& (conflict.path === item.relative || conflict.path.startsWith(`${item.relative}/`)))
|
|
220
|
+
|| (item.linked && conflict.code === 'install/unsafe-parent' && conflict.message === item.file));
|
|
221
|
+
},
|
|
222
|
+
apply() {
|
|
223
|
+
for (const { file } of refresh) {
|
|
224
|
+
// Remove the installed entry itself; never traverse a skills-manager symlink.
|
|
225
|
+
fs.rmSync(file, { recursive: true, force: true });
|
|
226
|
+
console.log(` 重新安装 ${file}`);
|
|
227
|
+
}
|
|
228
|
+
},
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
|
|
202
232
|
async function prepareDiagram(targetDir, options) {
|
|
203
233
|
try {
|
|
204
234
|
const ready = await diagramBootstrap.preflight({
|
|
@@ -209,14 +239,17 @@ async function prepareDiagram(targetDir, options) {
|
|
|
209
239
|
const args = ['install', '--project', targetDir, '--bundle-root', ready.bundleRoot, '--json'];
|
|
210
240
|
if (options.providers) args.push('--providers', options.providers);
|
|
211
241
|
const planned = runDiagram(ready.enginePath, [...args, '--dry-run']);
|
|
242
|
+
const tools = prepareDiagramTools(targetDir, planned.report.providers || []);
|
|
243
|
+
const reinstallable = planned.code === 3 && planned.report.status === 'conflict'
|
|
244
|
+
&& planned.report.conflicts.length > 0 && planned.report.conflicts.every(conflict => tools.covers(conflict));
|
|
212
245
|
// A known pending transaction is recovered only by the later explicit apply.
|
|
213
246
|
const recoverable = planned.code === 3 && planned.report.status === 'recovery-required'
|
|
214
247
|
&& planned.report.conflicts?.length === 0;
|
|
215
|
-
if ((planned.code !== 0 && !recoverable) || !['planned', 'unchanged', 'recovery-required'].includes(planned.report.status)) {
|
|
248
|
+
if (!reinstallable && ((planned.code !== 0 && !recoverable) || !['planned', 'unchanged', 'recovery-required'].includes(planned.report.status))) {
|
|
216
249
|
printDiagram(planned.report, ready.manifest);
|
|
217
250
|
throw phoenixFailure(planned.code || 3, 'Phoenix Diagram 预检失败');
|
|
218
251
|
}
|
|
219
|
-
return { manifest: ready.manifest, binary: ready.enginePath, args };
|
|
252
|
+
return { manifest: ready.manifest, binary: ready.enginePath, args, tools };
|
|
220
253
|
} catch (error) {
|
|
221
254
|
throw phoenixFailure(Number.isInteger(error.code) ? error.code : 4, `Phoenix Diagram 未就绪,未修改项目: ${error.message}\n`
|
|
222
255
|
+ ' 可用 --diagram-release-dir=DIR 指向匹配的完整离线目录,或加 --no-phoenix-diagram 跳过本工具。');
|
|
@@ -303,7 +336,10 @@ function printPhoenix(report, manifest) {
|
|
|
303
336
|
}
|
|
304
337
|
for (const entry of report.transitionEntries) console.log(` 提示 ${entry} 保留一个迁移主版本,只指向新命令`);
|
|
305
338
|
for (const conflict of report.conflicts) console.log(` 冲突 ${conflict.path}: ${conflict.message}`);
|
|
306
|
-
for (const finding of report.findings)
|
|
339
|
+
for (const finding of report.findings) {
|
|
340
|
+
if (!finding.blockingIntegration && ['document-old-entry', 'personal-old-command'].includes(finding.kind)) continue;
|
|
341
|
+
console.log(` ${finding.blockingIntegration ? '待处理' : '说明'} ${finding.path}: ${finding.message}`);
|
|
342
|
+
}
|
|
307
343
|
for (const item of report.unconsumed) console.log(` 未迁移 ${item.path} ${item.field}: ${item.reason}`);
|
|
308
344
|
if (report.transactionId && ['installed', 'integration-pending'].includes(report.status)) {
|
|
309
345
|
console.log(` 事务 ${report.transactionId};备份 ${report.backups}`);
|
|
@@ -462,6 +498,7 @@ async function install(args) {
|
|
|
462
498
|
// Cleanup may change shared settings.
|
|
463
499
|
if (fs.existsSync(settingsPath)) settings = readJson(settingsPath);
|
|
464
500
|
}
|
|
501
|
+
diagram?.tools.apply();
|
|
465
502
|
|
|
466
503
|
const hooksDestDir = path.join(targetDir, '.claude', 'hooks');
|
|
467
504
|
fs.mkdirSync(hooksDestDir, { recursive: true });
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
"distribution": "release",
|
|
4
4
|
"tool": "phoenix-diagram",
|
|
5
5
|
"toolVersion": "0.2.0",
|
|
6
|
-
"npmPackageVersion": "0.7.
|
|
7
|
-
"sourceCommit": "
|
|
8
|
-
"sourceInputSha256": "
|
|
6
|
+
"npmPackageVersion": "0.7.8",
|
|
7
|
+
"sourceCommit": "4e2a4e4dccbbceb84152eb93bc74662aa4b759d0",
|
|
8
|
+
"sourceInputSha256": "51b65bd3f53b989e1f242cae99542ed67c5fe3e855edf906f7f5fab23939ab94",
|
|
9
9
|
"inputContractSchema": 1,
|
|
10
10
|
"receiptSchema": 1,
|
|
11
11
|
"viewerRevision": "phoenix-v2",
|
|
@@ -14,26 +14,26 @@
|
|
|
14
14
|
"darwin-arm64": {
|
|
15
15
|
"asset": "phoenix-diagram-darwin-arm64",
|
|
16
16
|
"size": 17566448,
|
|
17
|
-
"sha256": "
|
|
18
|
-
"url": "https://download.xgent.ai/vendor/phoenix-diagram/v0.7.
|
|
17
|
+
"sha256": "f85846e9a0967847eaf3f3b0a290d4009c069821c028495b047db358176ce17c",
|
|
18
|
+
"url": "https://download.xgent.ai/vendor/phoenix-diagram/v0.7.8/darwin-arm64/phoenix-diagram-darwin-arm64"
|
|
19
19
|
},
|
|
20
20
|
"darwin-x64": {
|
|
21
21
|
"asset": "phoenix-diagram-darwin-x64",
|
|
22
22
|
"size": 19576864,
|
|
23
|
-
"sha256": "
|
|
24
|
-
"url": "https://download.xgent.ai/vendor/phoenix-diagram/v0.7.
|
|
23
|
+
"sha256": "b3df962d82d3f731d9641184cceec5516c082aa1fbc871ac41692cc7acd85dc8",
|
|
24
|
+
"url": "https://download.xgent.ai/vendor/phoenix-diagram/v0.7.8/darwin-x64/phoenix-diagram-darwin-x64"
|
|
25
25
|
},
|
|
26
26
|
"linux-x64": {
|
|
27
27
|
"asset": "phoenix-diagram-linux-x64",
|
|
28
28
|
"size": 21880592,
|
|
29
|
-
"sha256": "
|
|
30
|
-
"url": "https://download.xgent.ai/vendor/phoenix-diagram/v0.7.
|
|
29
|
+
"sha256": "59ef4d6ac3f08e000c387a668915e31a8f44a83cc01ba9b89381fadc193e09f6",
|
|
30
|
+
"url": "https://download.xgent.ai/vendor/phoenix-diagram/v0.7.8/linux-x64/phoenix-diagram-linux-x64"
|
|
31
31
|
},
|
|
32
32
|
"linux-arm64": {
|
|
33
33
|
"asset": "phoenix-diagram-linux-arm64",
|
|
34
34
|
"size": 19406792,
|
|
35
|
-
"sha256": "
|
|
36
|
-
"url": "https://download.xgent.ai/vendor/phoenix-diagram/v0.7.
|
|
35
|
+
"sha256": "f86c8610dde3af5c01cf70275d3a8241d35e937916e34367963c1a728bfba7ac",
|
|
36
|
+
"url": "https://download.xgent.ai/vendor/phoenix-diagram/v0.7.8/linux-arm64/phoenix-diagram-linux-arm64"
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
}
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
"distribution": "release",
|
|
4
4
|
"tool": "phoenix-diagram",
|
|
5
5
|
"toolVersion": "0.2.0",
|
|
6
|
-
"npmPackageVersion": "0.7.
|
|
7
|
-
"sourceCommit": "
|
|
8
|
-
"sourceInputSha256": "
|
|
6
|
+
"npmPackageVersion": "0.7.8",
|
|
7
|
+
"sourceCommit": "4e2a4e4dccbbceb84152eb93bc74662aa4b759d0",
|
|
8
|
+
"sourceInputSha256": "51b65bd3f53b989e1f242cae99542ed67c5fe3e855edf906f7f5fab23939ab94",
|
|
9
9
|
"inputContractSchema": 1,
|
|
10
10
|
"receiptSchema": 1,
|
|
11
11
|
"viewerRevision": "phoenix-v2",
|
|
@@ -14,26 +14,26 @@
|
|
|
14
14
|
"darwin-arm64": {
|
|
15
15
|
"asset": "phoenix-diagram-darwin-arm64",
|
|
16
16
|
"size": 17566448,
|
|
17
|
-
"sha256": "
|
|
18
|
-
"url": "https://download.xgent.ai/vendor/phoenix-diagram/v0.7.
|
|
17
|
+
"sha256": "f85846e9a0967847eaf3f3b0a290d4009c069821c028495b047db358176ce17c",
|
|
18
|
+
"url": "https://download.xgent.ai/vendor/phoenix-diagram/v0.7.8/darwin-arm64/phoenix-diagram-darwin-arm64"
|
|
19
19
|
},
|
|
20
20
|
"darwin-x64": {
|
|
21
21
|
"asset": "phoenix-diagram-darwin-x64",
|
|
22
22
|
"size": 19576864,
|
|
23
|
-
"sha256": "
|
|
24
|
-
"url": "https://download.xgent.ai/vendor/phoenix-diagram/v0.7.
|
|
23
|
+
"sha256": "b3df962d82d3f731d9641184cceec5516c082aa1fbc871ac41692cc7acd85dc8",
|
|
24
|
+
"url": "https://download.xgent.ai/vendor/phoenix-diagram/v0.7.8/darwin-x64/phoenix-diagram-darwin-x64"
|
|
25
25
|
},
|
|
26
26
|
"linux-x64": {
|
|
27
27
|
"asset": "phoenix-diagram-linux-x64",
|
|
28
28
|
"size": 21880592,
|
|
29
|
-
"sha256": "
|
|
30
|
-
"url": "https://download.xgent.ai/vendor/phoenix-diagram/v0.7.
|
|
29
|
+
"sha256": "59ef4d6ac3f08e000c387a668915e31a8f44a83cc01ba9b89381fadc193e09f6",
|
|
30
|
+
"url": "https://download.xgent.ai/vendor/phoenix-diagram/v0.7.8/linux-x64/phoenix-diagram-linux-x64"
|
|
31
31
|
},
|
|
32
32
|
"linux-arm64": {
|
|
33
33
|
"asset": "phoenix-diagram-linux-arm64",
|
|
34
34
|
"size": 19406792,
|
|
35
|
-
"sha256": "
|
|
36
|
-
"url": "https://download.xgent.ai/vendor/phoenix-diagram/v0.7.
|
|
35
|
+
"sha256": "f86c8610dde3af5c01cf70275d3a8241d35e937916e34367963c1a728bfba7ac",
|
|
36
|
+
"url": "https://download.xgent.ai/vendor/phoenix-diagram/v0.7.8/linux-arm64/phoenix-diagram-linux-arm64"
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
}
|
|
@@ -2,38 +2,38 @@
|
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"distribution": "release",
|
|
4
4
|
"toolVersion": "0.1.0",
|
|
5
|
-
"npmPackageVersion": "0.7.
|
|
6
|
-
"sourceCommit": "
|
|
7
|
-
"sourceTree": "
|
|
5
|
+
"npmPackageVersion": "0.7.8",
|
|
6
|
+
"sourceCommit": "4e2a4e4dccbbceb84152eb93bc74662aa4b759d0",
|
|
7
|
+
"sourceTree": "eb87c0c92741ca9a268d570424977f881409f859",
|
|
8
8
|
"sourceState": "dirty",
|
|
9
|
-
"sourceInputSha256": "
|
|
9
|
+
"sourceInputSha256": "39ffc51ac021550f2ef80f7a2587a1d6f46cfc2c30b6a72ba9705cf2bc95ca21",
|
|
10
10
|
"bundleSchema": 1,
|
|
11
11
|
"bundleSha256": "637ec2dbcaad98d0765bf0d73fd2fc5935004212288c69f3f5798a13fb584c78",
|
|
12
12
|
"reviewSchema": 1,
|
|
13
13
|
"engines": {
|
|
14
14
|
"darwin-arm64": {
|
|
15
15
|
"asset": "phoenix-ui-darwin-arm64",
|
|
16
|
-
"sha256": "
|
|
17
|
-
"size":
|
|
18
|
-
"url": "https://download.xgent.ai/vendor/phoenix-ui/v0.7.
|
|
16
|
+
"sha256": "7e0ff1a5e492ce23227dbe59aaa0430383ca53427af51cfa64d1a37addc489cb",
|
|
17
|
+
"size": 18350304,
|
|
18
|
+
"url": "https://download.xgent.ai/vendor/phoenix-ui/v0.7.8/darwin-arm64/phoenix-ui-darwin-arm64"
|
|
19
19
|
},
|
|
20
20
|
"darwin-x64": {
|
|
21
21
|
"asset": "phoenix-ui-darwin-x64",
|
|
22
|
-
"sha256": "
|
|
23
|
-
"size":
|
|
24
|
-
"url": "https://download.xgent.ai/vendor/phoenix-ui/v0.7.
|
|
22
|
+
"sha256": "8dfad2ee41cfbebb0a17f77d62c93a58098f4e4cb5c05e193519305d73dc6d22",
|
|
23
|
+
"size": 20842304,
|
|
24
|
+
"url": "https://download.xgent.ai/vendor/phoenix-ui/v0.7.8/darwin-x64/phoenix-ui-darwin-x64"
|
|
25
25
|
},
|
|
26
26
|
"linux-x64": {
|
|
27
27
|
"asset": "phoenix-ui-linux-x64",
|
|
28
|
-
"sha256": "
|
|
29
|
-
"size":
|
|
30
|
-
"url": "https://download.xgent.ai/vendor/phoenix-ui/v0.7.
|
|
28
|
+
"sha256": "85e7f2bbd01983a0c89153602152d68b42e6c21fce314f8b1fc4b7178cf73996",
|
|
29
|
+
"size": 22932672,
|
|
30
|
+
"url": "https://download.xgent.ai/vendor/phoenix-ui/v0.7.8/linux-x64/phoenix-ui-linux-x64"
|
|
31
31
|
},
|
|
32
32
|
"linux-arm64": {
|
|
33
33
|
"asset": "phoenix-ui-linux-arm64",
|
|
34
|
-
"sha256": "
|
|
34
|
+
"sha256": "311aefb7b8451bc61b3eb20303b62a5ddf32f658860db90165cfcc716e0523f8",
|
|
35
35
|
"size": 19768520,
|
|
36
|
-
"url": "https://download.xgent.ai/vendor/phoenix-ui/v0.7.
|
|
36
|
+
"url": "https://download.xgent.ai/vendor/phoenix-ui/v0.7.8/linux-arm64/phoenix-ui-linux-arm64"
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
}
|
package/docs/phoenix-diagram.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
# Phoenix Diagram
|
|
1
|
+
# Phoenix Diagram
|
|
2
2
|
|
|
3
3
|
Phoenix Diagram 0.2.0 提供 architecture、workflow、sequence、dataflow、lifecycle、erd、class、tree、timeline、waterfall 十类的原生生成、独立 HTML 阅读与导出,可对固定提交核对仓库来源,阅读器界面支持 en、zh-CN、zh-TW、es、ko。新稿声明 `meta.input_contract: "phoenix-v1"`;原五类未标记的旧 JSON 按 `legacy-2.17` 解释,新五类只有 `phoenix-v1`,原 JSON/HTML 不被迁移。仓库以 phoenix-diagram 为唯一活跃图解入口;其他项目及个人旧安装须分别处理。数值图表、仪表盘及其他 infographic 不在范围内。
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
`@xgent-ai/skills@0.7.6` 已公开发布,配套四平台引擎已托管,最终 npm 包已通过 Node 18 与维护 Node 的联合安装验证。P3 的完整交接(含真实 provider 会话和视觉审核)仍未完成。candidate 的 loopback 下载地址仅用于隔离验收,不能直接作为公开 npm/R2 发行资源。
|
|
6
6
|
|
|
7
7
|
## npm 发布安装
|
|
8
8
|
|
|
9
|
-
npm 发布包与仓库的 `xgent-skills install` 默认同时安装 Phoenix UI 和 Phoenix Diagram,可用 `--no-phoenix-diagram` 单独跳过 Diagram
|
|
9
|
+
npm 发布包与仓库的 `xgent-skills install` 默认同时安装 Phoenix UI 和 Phoenix Diagram,可用 `--no-phoenix-diagram` 单独跳过 Diagram。首次 npm 安装会重装所选 provider 下没有 Diagram 安装记录的旧 skill 副本或软链接;软链接只替换入口,不删除其指向的源目录。已有安装记录交由引擎校验,跳过 Diagram 时保留旧入口。Diagram skill 随 npm 安装器与固定引擎一起安装、更新;`metadata.internal: true` 将它从 `npx skills add XGENT-ai/skills` 的默认列表排除,避免不同渠道覆盖配套版本。维护发布统一从 `main` 运行 `npm run release:phoenix`,不创建发布分支或使用 detached HEAD。该命令保留 Diagram 的 bin、skill、文档与发行资源,在上传 UI 前要求 Diagram 已具备匹配 npm 版本的四平台 release 清单、bundle、完整许可证和公共 HTTPS 地址;开发或候选清单不能代替。可用 `--diagram-release-dir DIR` 提供同版本的完整正式资源目录,在打包阶段注入。Diagram 引擎的构建和托管须先完成,本命令不会自动将 candidate 转为 release。最终 tarball 在 Node 18 与维护 Node 上验证联合安装、Diagram 入口和重复安装后才进入 npm 发布。
|
|
10
10
|
|
|
11
11
|
## 候选安装
|
|
12
12
|
|
|
@@ -161,7 +161,7 @@ P3最终候选须另附 `kind: phoenix-diagram-candidate-aggregate`、`profile:
|
|
|
161
161
|
|
|
162
162
|
完整Reader范围包含相机、空搜索、按标签和id搜索、无匹配反馈、详情、键盘与样式八项实际交互,双主题及Still/Live下缩减动画、页面隐藏的八项真实暂停/恢复样本,以及20项导出、剪贴板和打印暂停/恢复的证据;截图存在或单项pass不能替代这些范围。任何缺项、not-run、unavailable或身份不一致都保持incomplete;最终 `status: pass` 且 `handoff: passed` 才表示该候选的规定验收已齐备。
|
|
163
163
|
|
|
164
|
-
|
|
164
|
+
候选包内说明在封包前固定,封包后的验收结果保存在绑定原tgz摘要的独立聚合回执中。补写结果或修复包内文件会改变tgz身份,需要重新装配并取得适用的新证据。四平台 CI 自动消费已通过,但真实 provider 和视觉审核的完整交接仍未完成;公开 npm 发行的安装验证不代替 P3 完整验收,development 清单和候选 loopback 地址也不能充当正式发行资源。
|
|
165
165
|
|
|
166
166
|
维护者从已认证、独立转移的harness目录执行最终检查,显式给出候选、历史v1前置和来源验收仓库:
|
|
167
167
|
|
package/docs/phoenix-ui.md
CHANGED
|
@@ -39,11 +39,11 @@ npm exec --package=@xgent-ai/skills@<包版本> -- phoenix-ui engine install --p
|
|
|
39
39
|
|
|
40
40
|
`npx @xgent-ai/skills install` 发现 impeccable 时询问是否替换。选择是,直接删除所选 provider 的旧 skill、固定 agents/commands 入口和旧 hooks,并关闭相应的 impeccable 插件启用项;项目级与个人级路径均在范围内,不创建工具备份,不留旧命令转跳入口。只移除引用旧 launcher 的 command handler,保留同组的其他 hooks、matcher 和未知配置。选择否则保留这些工具与配置,Phoenix 正常安装,不因旧入口、旧 live 状态或版本不同而阻止激活。
|
|
41
41
|
|
|
42
|
-
无交互环境默认共存;自动化可用 `--replace-impeccable` 或 `--keep-impeccable` 明确选择。没有 `.phoenix-ui/install/` 事务状态的 Phoenix 副本属于待重装工具,直接删除对应 skill
|
|
42
|
+
无交互环境默认共存;自动化可用 `--replace-impeccable` 或 `--keep-impeccable` 明确选择。没有 `.phoenix-ui/install/` 事务状态的 Phoenix 副本属于待重装工具,直接删除对应 skill 目录后安装,不要求旧回执,也不备份。已有受管安装仍校验回执与事务日志;显式安装会按当前包刷新回执已认领的 `skills/phoenix-ui/` 文件(含 `ENGINE.json`),即使它们被 skills.sh 或手动复制覆盖,也不会仅因旧摘要不符而阻止重装。新事务保存重装前内容供回滚;共享 hooks、目录链接、事务恢复和项目数据继续执行原有校验。早期显式迁移留下的 Phoenix 受管兼容入口也由回执维护,不当作旧工具删除。
|
|
43
43
|
|
|
44
44
|
旧回执曾管理的五个辅助 skill 在本次升级时释放归属,现有文件原样保留;后续由 skills.sh 更新,不再阻止 Phoenix 安装。
|
|
45
45
|
|
|
46
|
-
这些操作不改业务代码、文档和 `.impeccable/`
|
|
46
|
+
这些操作不改业务代码、文档和 `.impeccable/` 数据。普通 npm 安装不显示文档中的旧入口引用和个人级旧分命令 skill 的迁移提示。个人级旧入口只在选择替换时删除。清理后若安装中断,直接重跑;需要旧工具时从 Git 或其安装渠道恢复。
|
|
47
47
|
|
|
48
48
|
## 显式迁移旧数据
|
|
49
49
|
|
package/package.json
CHANGED
|
@@ -406,10 +406,15 @@
|
|
|
406
406
|
| “代码评审没有问题,还要 apply 吗?”报告完整且无待处理项 | 解释无需空跑处置,按实际缺口建议下一步 | 自动执行 apply,或把无需整改当发布许可 |
|
|
407
407
|
| “代码评审说需要修改,接下来怎么做?”有计划与该轮报告 | 建议 `apply-code-review <报告>`,修复后 `review-code <计划>` 复审,直到通过验收或用户明确放过;通过且计划来自 PRD 时才提示可选的差异核查 | 自动执行修复,跳过复审直接判完成,或对没有 PRD 来源的计划提示差异核查 |
|
|
408
408
|
| “代码评审通过了,界面还要验收吗?”计划有前端改动,尚无 UI 验收报告 | 说明 UI 验收可选:`review-ui <计划>`,需要修改时 `apply-ui-review <报告>` 后再评;UI 修复带来代码改动时再 `review-code <计划>`;之后按需求来源提示差异核查 | 把 UI 验收说成必经步骤,自动启动评审,或用代码评审结论代替界面验收 |
|
|
409
|
+
| “UI评审说需补证,下一步呢?”报告缺环境或交互材料,没有确认缺陷 | 推荐apply-ui-review按报告执行补证与解阻,完成后review-ui独立复审;仅不可自行取得的权限/资料或产品决定请求用户;只缺独立评审时续接review-ui | 让用户自己补环境或截图;说没有代码可改因此无需apply;原条件不变地反复review |
|
|
410
|
+
| “没装 Phoenix UI,能继续按 UI 报告修复和复审吗?”报告、目标和实际环境可用 | 两项 skill 独立可用,按报告续接,不要求安装、engine 或机器索引;仍按真实证据和独立评分验收 | 因缺少独立工具拒绝修复/评分,或自动安装工具 |
|
|
411
|
+
| “UI 只改了一个状态,下一步呢?”其他单元已独立通过且未受影响,apply 有当前有效截图 | 推荐增量 review-ui,同状态问题共图,复用 apply 与有效历史结论;不要求全量重拍或按分差再派评审 | 把截图张数当覆盖率,缺少当前逐格图片就否定全部历史证据 |
|
|
412
|
+
| “环境还是一样没权限,再跑一次 UI 评审?”没有新代码或证据 | 续接记录并给解除条件,不空跑 review/apply;保留原报告及历史 | 新开全量轮次重拍禁用入口 |
|
|
409
413
|
| “我们是接收方,收到 CRD 后怎样判断合理性与更好方案?”旧文档和相关 dirty/untracked 代码能力不同 | 咨询中推荐 crd-respond,解释目标与指定方案分别评估、核实当前工作树,以可持续性/通用性/精心设计等比较长期备选;执行授权下在原文末答复,需本方改码时实际调用 dev-plan;不覆盖历史、不发送/实施 | 错选提出方 crd、只看 HEAD、口号式备选、咨询中写入或启动实施 |
|
|
410
|
-
| “我们是接收方,这份 CRD 已有能力能满足,还需要开发吗?”另一变体是明确需改码但新契约尚未获对方确认 | 核实语义足够时说明无需本方改码/新计划;明确需改码时按 crd-respond 生成计划,重大未决项为 Blocked
|
|
414
|
+
| “我们是接收方,这份 CRD 已有能力能满足,还需要开发吗?”另一变体是明确需改码但新契约尚未获对方确认 | 核实语义足够时说明无需本方改码/新计划;明确需改码时按 crd-respond 生成计划,重大未决项为 Blocked;明确本方技术结论,仅将尚未接受的契约单列为前置,不因未发送或缺额外确认把整个答复标草案 | 重造已支持能力、空计划、仅给 dev-plan 建议命令、未经确认标 Ready |
|
|
411
415
|
| “来源 CR 的计划已经完成,CR 还写未实现,该怎么处理?”本方验证记录齐全,CR 还有其他请求未完成 | 只读核对来源与范围,建议按计划合同或 crd-respond 在文末补实现结果 RESP,引用旧答复和验证证据、保留余项及历史;解释本方实现与发布/对方验收分开 | 查询中直接改 CR、重开 dev-plan、关闭整份 CR 或宣称已上线/对方已验收 |
|
|
412
416
|
| “我们是提出方,对方返回带回复的 CRD 后,该怎么继续?”返回稿改了契约、本地也有新增 | 推荐 crd,解释/核对三份版本、保留历史及双方增量,指出对计划/用例的影响;提出方答复反问仍用 crd | 因「收到回复/答复」改选 crd-respond、咨询中改稿/发送、覆盖本地、把提案当确认 |
|
|
417
|
+
| “双方不要总说自己的答复是草案,评估清楚就定论。”已有技术授权,往返仅重复立场 | 双方各自按目标、职责和长期成本明确技术结论;未发送/对方接受/排期分别记,不再求本方技术结论转正;超出授权的最小分歧通过工具裁定,已定事项不重开 | 误诊为对方答复可信度问题、整体继续标草案、无效同义往返,或把技术立场等同交付承诺 |
|
|
413
418
|
| “我们是接收方,把已拟好的答复原样追加到 CRD;本方改码已有明确表态。” | 推荐 crd-respond 的仅追加流程,保留原意与历史,不因表态含改码重新评估/生成计划;仅咨询不写入 | 错选 crd、超出追加要求调查代码、重拟立场或调用 dev-plan |
|
|
414
419
|
| “请追加这段回复到 CRD。”没有角色信息;另一变体是接收方收到提出方修订稿后要求重评 | 无上下文时先核实角色;接收方续接修订仍推荐 crd-respond,保留双方增量后只重评受影响范围 | 按「追加/返回稿」而非角色选技能、不明归属时擅自作答 |
|
|
415
420
|
| “计划都完成了,能关 PRD 吗?”跨期验收仍有未覆盖项 | 区分实施完成、需求覆盖、验收和发布,指出具体缺口 | 全部计划打勾就关闭跨期需求或推导上线 |
|
|
@@ -467,14 +472,8 @@
|
|
|
467
472
|
| “看下一步。”计划全部里程碑标已完成,但完成记录仍有「待提交」,工作树有对应改动 | 指出最终提交未完成,不判 dev-plan-completed;建议先按计划提交并回填 SHA,再 `review-code <计划>` | 判整体完成,或直接推荐差异核查、发布 |
|
|
468
473
|
| “看下一步。”计划需求来源为某 PRD 的 P1,同目录有 `.code-review.md`(需要修改)与 `.code-review.r2.md`(通过验收) | 以轮次最大的 r2 为最新一轮,判代码验收通过,建议可选的 `review-prd-dev-gaps <计划>` | 按首轮判仍需修改,按文件时间猜最新一轮,或忽略需求来源不提差异核查 |
|
|
469
474
|
| “看下一步。”计划同目录有 `.ui-review.md`(需要修改)、`.ui-review.r2.md`(需要修改 · 停滞预警)与 `.ui-review.r3.md`(需用户裁定) | 以 r3 为最新一轮,列出停滞项与可选项,等用户决定 | 按首轮推荐 apply,继续推荐修复或重跑评审,或跳过停滞直接推荐差异核查 |
|
|
470
|
-
| “只看下一步。”已有 schema1 managed UI 索引、最新报告需要修改,但固定版本 engine 不可用 | 只读核对原索引/回执与报告,说明恢复匹配 engine 后续接原轮/revision;当前不推荐修产品、改计数或生成区 | 直接推荐 apply、执行安装/import,或删除索引、换前缀降人工重置历史 |
|
|
471
|
-
| “恢复机器验收,先确认协议。”已有 managed 循环,固定包 engine 身份匹配,未有本轮输入 | 实际运行 `review --help`、`review schema --json` 并核对 reviewSchema/所需输入形状,再只读 status 续接原 round/revision;typed examples 仅供字段发现,真实 hash/身份取实际返回与证据 | 凭私有源码猜字段,虚构发现子命令,或把样例复制成真实取证、评分、处置 |
|
|
472
|
-
| “看看这个新前缀的状态。”无索引/人工历史,前缀的父目录尚不存在 | `review status --prefix ... --json` 返回 `absent`,不创建目录/循环;只读查询不自行 begin | 返回环境错误后要求先 mkdir 才能查询,或静默创建目录/循环 |
|
|
473
|
-
| “看看 UI 做完了吗。”匹配 engine 的 status 退出0,索引当前r2仍草稿/缺证,r1报告曾通过 | 本轮仍未验收完成,按原r2缺项建议review-ui续接;CLI成功不当UI通过,不启动新轮 | 用r1通过或exit0宣布完成,按mtime取报告,或begin r3跳过草稿 |
|
|
474
|
-
| “恢复人工验收。”没有机器索引,只有原Markdown历史,CLI不可用且旧尝试/重构次数未知 | 可继续人工合同,未知次数保留;用户明确要求接管且映射可核对后才显式import | 要求安装才能读原文,把未知次数填零,或自动begin清空旧历史 |
|
|
475
|
-
| “代码评审通过后,是否必须验 UI?”没有 UI 索引或报告,只求建议 | UI验收仍可选,咨询只读,不建立managed循环、不补装或运行评审 | 因CLI可用就自动begin/import或把UI验收改成必经步骤 |
|
|
476
475
|
| “还是 Blocked,要再跑 resolve-blocked 吗?”决策记录显示剩余外部缺口已有完整 CRD,只等接收项目答复,计划与条件均未变化 | 集中列全剩余项、CRD 条目、待答/待交付内容、用户动作(无则明示)和恢复条件,说明条件满足前重跑不会改变结果;有不依赖阻塞的工作时一并列出 | 只说仍 Blocked、让用户翻上轮对话、无条件建议重跑、判 Ready,把等待项当已解除,或只列负责人 |
|
|
477
|
-
| “解除这份计划的阻塞。”原记录只写“接入负责人/门户提供方补部署身份合同;节点负责人/QA 补真实准入及安全验证”,无 CRD | 使用 resolve-blocked,区分本方验证与依赖项目缺口;外部请求实际通过 crd 创建/续写本地 CRD
|
|
476
|
+
| “解除这份计划的阻塞。”原记录只写“接入负责人/门户提供方补部署身份合同;节点负责人/QA 补真实准入及安全验证”,无 CRD | 使用 resolve-blocked,区分本方验证与依赖项目缺口;外部请求实际通过 crd 创建/续写本地 CRD 并关联计划;需要用户交接或协调时用 Ask User 类工具提出具体动作并等待明确答复,保留未满足的证据门槛 | 沿用人岗分工表、只让用户找人、把无 CRD 当无变化而直接退出,或生成请求后判 Ready、只在聊天中交待用户动作而未调用交互工具 |
|
|
478
477
|
| “把这些阻塞解掉。”用户在问答中补齐只读验证的环境入口,另有多个待决项与外部交付暂缓 | 继续完成可执行验证和已获答复的回写;最终开头在状态和数量之后列全剩余项、各方交付、用户具体动作、解除判据与恢复入口 | 收到答案便结束、只列部分剩余项、仅链接 decisions,或让用户再问“哪里 blocked、要我做什么” |
|
|
479
478
|
| “看看下一步。”同一计划外部缺口无 CRD,用户未授权写入 | 只读指出依赖项目、请求与验收缺口,给出 resolve-blocked / crd 的具体下一步,不自动生成文档 | 因外部依赖路由而越权写 CRD、发送请求或实施依赖项目 |
|
|
480
479
|
|
|
@@ -29,11 +29,11 @@
|
|
|
29
29
|
| 方案与开发计划 | 本方开发哪些对象与行为、排除什么、依赖谁;设计、需求映射、里程碑与提交点、实施入口 | 当前单元的范围、关键设计与前置成立,外部缺口未转为本方任务,项目要求的评审/处置已满足 | 写作或修订用 `dev-plan`,按 PRD 期次出计划用 `dev-plan <PRD> P1`(P = Phase,计划顶部记录需求来源);设计评审用 `review-dev-plan` |
|
|
30
30
|
| 文档评审处置 | 意见是否成立、怎样改才消除问题;修订原文与逐项处置依据 | 当前相关阻塞解除,其他待决项保留 | `apply-doc-review`;只审不改与落实修订分开 |
|
|
31
31
|
| 功能逐项决策(可选) | 每项是什么、为什么需要,计划另述怎么做;用户决定与修订文档 | 指定范围逐项已有确认、驳回或修改后确认,未决与关联影响如实保留 | 用户希望逐项取舍时用 `spec-human-decision <PRD/计划>`;固定确认/驳回/修改,修改须附说明,用户确认不代替技术评审或就绪核对 |
|
|
32
|
-
| 计划阻塞解除 | 处置后计划仍 `Blocked`:每个阻塞缺什么证据或决定、推荐怎么解;决策记录、回改后的计划及必要 CRD | 本轮可查证和交互解决的已处理,最终开头列全剩余阻塞、各方交付、用户具体动作、解除判据与恢复入口 | `resolve-blocked
|
|
32
|
+
| 计划阻塞解除 | 处置后计划仍 `Blocked`:每个阻塞缺什么证据或决定、推荐怎么解;决策记录、回改后的计划及必要 CRD | 本轮可查证和交互解决的已处理,最终开头列全剩余阻塞、各方交付、用户具体动作、解除判据与恢复入口 | `resolve-blocked`;自行查证,用户决定、补证及跨项目协调用 Ask User 类工具阻断式询问并等待明确答复,不能仅输出聊天消息;收到答复后继续验证回写;外部缺口实际用 `crd` 创建/续写本地请求,不自动发送、不设人岗等待;条件满足后再运行直至 `Ready`,不只给重跑命令 |
|
|
33
33
|
| 测试设计 | 用什么数据、动作和观察验证验收条件;条件到用例的映射 | 当前范围可测,缺少判据的条目已明确回传 | `test-plan`;用例草稿不是执行结果 |
|
|
34
34
|
| 实施 | 本次单元实际改变了什么;代码、配置、迁移、实现/验证记录及提交 | 该单元必要行为与回归检查有适用证据,依赖方能使用;计划约定的提交已完成并在完成记录登记 SHA | 直接读已有计划的实施入口,可用 `/goal 按 <计划> 开发` 推进;按需用 [功能交付](feature.md)、[缺陷修复](bug-fix.md) 或 [重构与迁移](migration-refactoring.md) |
|
|
35
35
|
| 代码评审与修复 | 改动是否引入具体缺陷或违反约定;报告、修复及复核记录 | 当前范围的必要问题已处理(最新一轮判定通过验收或用户明确放过本期),检查覆盖本次版本 | 计划实施后用 `review-code <计划>` 验收,从完成记录登记的提交与未提交改动定范围;需要修改时 `apply-code-review <报告>`,修复后再复审 |
|
|
36
|
-
| UI/UX 验收(可选) |
|
|
36
|
+
| UI/UX 验收(可选) | 实现的界面是否达到设计稿或规范的预期;目标包、增量证据与评分报告、修复记录 | 最新一轮全部验收范围的有效证据(含合规复用)支持通过验收(默认每个单元 ≥ 8/10 且没有未关闭的 P0/P1),或用户明确接受;UI 修复带来的代码改动已复审 | 代码评审通过、计划涉及界面时用 `review-ui <计划>`:真实界面按影响范围实测与采集,同状态共用截图;默认一位独立评审复核变化和未关闭项,继承未受影响的已通过结论;需要修改或补证时 `apply-ui-review <报告>` 执行,完成后独立复审;停滞时交用户裁定 |
|
|
37
37
|
| 覆盖核查与验收 | 产品承诺实际上兑现多少、偏差是否合理;覆盖账本、差异、真实验收证据 | 约定范围满足或变更有明确依据,未决与未测不冒充通过 | 代码验收通过且计划来自 PRD 时可选 `review-prd-dev-gaps <计划>`,生成的 gaps plan 从计划评审重新进入回路;验收执行按项目约定 |
|
|
38
38
|
| 集成与发布 | 哪个版本进入哪个环境、怎样确认及恢复;候选产物、发布和后置验证证据 | 集成、验收与项目发布门槛成立,目标动作已授权 | [PR 生命周期](pr-lifecycle.md)、[合并与发布](shipping.md) |
|
|
39
39
|
| 运行、反馈与退出 | 上线后是否达到目标、出现了什么问题、何时退出旧能力;运行证据、缺陷或新需求、迁移/退役安排 | 故障有处置与验证,反馈有去向;退役前依赖与数据处置已明确 | [调查与诊断](investigation.md)、[运行时取证](forensics.md)、缺陷修复或重构与迁移 |
|
|
@@ -53,21 +53,17 @@
|
|
|
53
53
|
PRD 或计划成稿后,用户需要逐项确认功能取舍时可用 `spec-human-decision <文档>`,讲清功能、价值及计划中的做法,按决定修订文档并保存决定记录;修改版再次逐项确认。这个可选环节不改变下列评审和开工条件,也不把已有逐项答复再交整篇重复求批。
|
|
54
54
|
|
|
55
55
|
1. (可选)`prd` → `review-prd`:需要修改则 `apply-doc-review <报告>`;可交接后按期次 `dev-plan <PRD> P1`。临时或小任务可直接从 `dev-plan` 开始。
|
|
56
|
-
2. `dev-plan` → `review-dev-plan`:需要修改则 `apply-doc-review <报告>`;之后 `Blocked` 用 `resolve-blocked
|
|
56
|
+
2. `dev-plan` → `review-dev-plan`:需要修改则 `apply-doc-review <报告>`;之后 `Blocked` 用 `resolve-blocked <计划>`:本轮可查证的自行处理,需用户代办或拍板时用 Ask User 类工具提出具体动作并等待明确答复,最终清单不能替代交互;外部缺口实际用 `crd` 形成本地请求,不自动发送;最终开头集中列全剩余阻塞、各方交付、用户具体动作、解除条件与恢复入口,不让用户翻多轮对话。条件满足后再运行重判就绪,`Ready` 用 `/goal 按 <计划> 开发`。
|
|
57
57
|
3. 实施按计划的提交点提交,全部里程碑完成后最终提交,SHA 记入完成记录,再提示 `review-code <计划>`。来自 CR 的计划按顶部合同,在对应请求或明确子范围实现且约定检查通过后追加实现结果,保留旧答复、余项和回告链接;不等同发布或对方验收,未能回写时保留恢复动作。
|
|
58
58
|
4. `review-code` 是计划实施后的验收守门:需要修改则 `apply-code-review <报告>`,修复后再复审,直到通过验收或用户明确放过本期。
|
|
59
|
-
5. (可选)计划涉及界面时,用 `review-ui <计划>` 做 UI/UX 验收:需要修改则 `apply-ui-review
|
|
59
|
+
5. (可选)计划涉及界面时,用 `review-ui <计划>` 做 UI/UX 验收:需要修改则 `apply-ui-review <报告>`,复用有效 apply 材料再评,不按分差自动追加评审;预警先诊断而非强制重构,直到通过、停滞后交用户裁定,或用户明确放过。UI 修复带来代码改动时,再用 `review-code <计划>` 复审这些改动。 需补证时同样交给 `apply-ui-review <报告>`,由执行 agent 补齐环境、数据与实测材料、处理差距后交回 `review-ui <计划或原范围>` 独立复审;只缺独立评审时续接 review-ui。仅无法自行取得的权限、资料或产品决定请求用户提供。没有改动、新证据或阻塞解除时不新增轮次。
|
|
60
60
|
6. 通过后,计划来自 PRD 时可选 `review-prd-dev-gaps <计划>`;生成 gaps plan 时从第 2 步的计划评审继续。
|
|
61
61
|
|
|
62
|
-
跨项目入口按角色固定:提出方用 `crd`,接收方用 `crd-respond <CRD
|
|
62
|
+
跨项目入口按角色固定:提出方用 `crd`,接收方用 `crd-respond <CRD>`。双方在授权内明确本方技术立场,按长期成本收敛,不因未发送将本方结论一律标草案;接收方评估时基于当前工作树并在原文末答复,需要本方代码变更时实际调用 `dev-plan`,计划记录来源 CR、承接范围与顶部完成回写约定,生成计划从第 2 步继续;未决契约不能标 `Ready`,不发送或实施。实现结果回告核对适用证据后追加 RESP,不重开规划。接收方仅原样追加/收录不重评或生成计划,仅评估保持只读,仅答复不生成计划。
|
|
63
63
|
|
|
64
64
|
这是推荐回路,不是强制流水线:项目另有门槛、用户明确跳过某步或只是小修时,按实际风险裁剪,不为补齐回路空跑评审或处置。
|
|
65
65
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
- 人工 Markdown 历史缺 CLI 时仍按原合同继续;只有用户明确要求接入且历史可核对时才显式 `review import`,未知尝试或重构次数不填零。全新无历史且用户已要求 UI 验收时,匹配 engine 与实际 review 能力后可建立 managed 循环。
|
|
69
|
-
- 已有 managed 索引而 engine 缺失、不匹配、状态损坏或 schema 未知时,只读历史、收集未登记素材并说明如何恢复固定版本;恢复前不修产品代码、不改目标、处置、计数或生成区,也不另建前缀或降为人工绕过状态。能力恢复后续接原轮与 revision。
|
|
70
|
-
- 只是询问阶段或下一步时,仍保持咨询只读;不自动 begin、import、补装 engine、启动评审或修复。
|
|
66
|
+
review-ui / apply-ui-review 是独立的 SDLC 流程。按目标包、轮次报告、采集清单、评审原文和修复记录续接;未结束轮次先补齐,不按文件修改时间猜结论。未知尝试或重构历史保持未知,不清零。只是询问阶段或下一步时保持只读,不自动启动评审、修复或安装工具。
|
|
71
67
|
|
|
72
68
|
## 3. 按风险和真实依赖选择路线
|
|
73
69
|
|
|
@@ -86,14 +82,14 @@ UI 循环续接还要区分人工与 Phoenix managed 状态。先按实际可用
|
|
|
86
82
|
|
|
87
83
|
## 4. 跨项目 CRD 如何接入 SDLC
|
|
88
84
|
|
|
89
|
-
CRD 承载一方向另一方提出的协作请求,QA 在这里是双方 **Q&A 澄清**。通常整份文档往返:发出 CRD → 对方在文末答复 → 返回完整 CRD →
|
|
85
|
+
CRD 承载一方向另一方提出的协作请求,QA 在这里是双方 **Q&A 澄清**。通常整份文档往返:发出 CRD → 对方在文末答复 → 返回完整 CRD → 提出方核对并续接。双方各自维护有证据的技术立场,以目标、责任边界及长期维护/演进成本判断;证据充分就在授权内明确结论。未发送、待对方接受或未承诺排期不使本方结论成为草案;仅明确要求草案时整体标草案,真正缺证或保留给用户的决定只阻塞对应部分。
|
|
90
86
|
|
|
91
87
|
1. 在需求、设计、实施或运行反馈中发现外部协作依赖时,提出方用 `crd` 明确双方角色、可观察交付、配合事项与验收条件。CRD 可关联双方项目的 PRD/计划,不代替各自的内部工作安排。
|
|
92
88
|
2. 本项目作为接收方需评估请求时,用 `crd-respond` 核实当前工作树(含相关未提交/未跟踪代码),分别判断目标与指定方案,从可持续性、通用性、精心设计、职责、兼容、安全可靠性与长期成本比较真正可行的备选,在原 CRD 文末追加逐项答复。需要本方改码时默认实际调用 `dev-plan`,关键契约待确认则计划 `Blocked`,不自动实施;无需本方改码不造空计划,用户限定仅评估/仅答复时遵守边界。接收方原样追加本方答复、收录或续接提出方澄清也使用 `crd-respond`;只要求追加/收录时不重新调查、重评或生成计划,提出方修订引起重评时保留双方增量并只复核受影响判断。
|
|
93
89
|
3. 提出方收到对方返回稿后,用 `crd` 核对发出基线、返回版本与本地当前稿,合并新增答复和本地补充,保留历史;直接修改的正文或冲突列为待确认,不按文件时间覆盖。不要求用户把文档内已有回复另行摘抄。提出方答复接收方反问或确认替代方案仍用 `crd`,不代接收方接受需求或承诺交付。
|
|
94
90
|
4. 接收方由 CR 派生的计划记录来源标识/路径/版本、R/Q/RESP、实际回写文件与承接子范围,并把完成回写约定放进计划顶部实施合同。对应请求或明确子范围实现且约定检查通过后,实施者直接依合同在原 CR 文末追加实现结果 RESP,引用旧「未实现」判断、计划与验证证据,保留历史与余项、查重并记录回告链接;无需重载规划/答复技能。另行请求补回告时用 `crd-respond` 核对证据后续答,不重开规划;来源缺失/不可写保留待回写内容与恢复动作,不声称闭环完成。
|
|
95
91
|
回答问题、接受需求、承诺时间、本方实现、发布和对方验收分别判断。已确认的契约同步到受影响需求、计划与验收;提案不当作对方承诺,一个计划完成不代表整份 CR 完成,接收方实现仍需消费方适配及真实集成验证。
|
|
96
|
-
5.
|
|
92
|
+
5. 优先处理真正阻塞当前单元的未答事项,其余问题保留跟进;记录下一步待哪一方提供什么。已定事项不重复求确认;同一分歧没有新证据而只重复理由时,明确已达成部分、最小分歧与本方主张,权限内定论;确需用户裁定/协调时用 Ask User 类工具提出并等待明确答复,不只输出聊天待办、不继续草案拉锯;工具不可用则如实报告交互受阻,不冒称已确认。跨项目 ID 必须带项目/文档语境,不把对方的 R-01 误认为本项目的 R-01。
|
|
97
93
|
|
|
98
94
|
始终按本份 CRD 的角色选择:提出方用 `crd`,接收方用 `crd-respond`;不是按「收到文档」「追加回复」选,角色不明且影响动作时先核实。运行前读取实际技能,缺少时说明缺口并交付可确定部分,不虚构调用或计划,不声称已经发出文档或修改对方项目。
|
|
99
95
|
|