@double-codeing/flow2spec 2.2.3 → 3.0.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 +77 -53
- package/cli.js +254 -14
- package/docs/Flow2Spec-/344/275/277/347/224/250/346/241/210/344/276/213-/346/250/241/346/213/237/345/257/271/350/257/235.md +123 -134
- package/docs/Flow2Spec-/350/256/276/350/256/241/350/257/264/346/230/216.md +574 -0
- package/docs/Flow2Spec/344/275/277/347/224/250/350/257/264/346/230/216.md +116 -76
- package/docs/README-/344/275/223/347/263/273/344/270/216/345/216/237/347/220/206.md +85 -44
- package/docs/README-/345/221/275/344/273/244/350/257/264/346/230/216.md +548 -79
- package/docs/README-/347/233/256/345/275/225/344/270/216/350/267/257/345/276/204/347/272/246/345/256/232.md +33 -62
- package/lib/agents.js +15 -3
- package/lib/claudeSettingsAdapter.js +114 -0
- package/lib/codexAgentsAdapter.js +70 -0
- package/lib/flow2specConfig.js +229 -0
- package/lib/init.js +698 -25
- package/package.json +2 -2
- package/templates/AGENTS.md +98 -0
- package/templates/flow2spec.config.json +9 -0
- package/templates/hooks/f2s-config-inject.js +181 -0
- package/templates/knowledge/index.md +68 -0
- package/templates/knowledge/manifest-matchers.json +35 -0
- package/templates/knowledge/manifest-routing.json +45 -0
- package/templates/knowledge/matchers/m-doc-routing.json +11 -0
- package/templates/knowledge/matchers/m-f2s-config-precheck.json +15 -0
- package/templates/knowledge/matchers/m-implement-from-spec.json +10 -0
- package/templates/{template → knowledge/template}//345/220/216/347/253/257/346/212/200/346/234/257/346/250/241/347/211/210.md +3 -2
- package/templates/{template → knowledge/template}//347/273/210/347/250/277/346/250/241/347/211/210.md +5 -4
- package/templates/knowledge/topics/f2s-config-precheck.md +24 -0
- package/templates/knowledge/topics/f2s-fallback-triage.md +60 -0
- package/templates/knowledge/topics/f2s-implement-tech-design.md +21 -0
- package/templates/knowledge/topics/f2s-stock-docs-vs-req-docs.md +25 -0
- package/templates/rules/f2s-config-check.mdc +35 -0
- package/templates/rules/f2s-flow2spec-unified-entry.mdc +88 -0
- package/templates/rules/f2s-implement-tech-design.mdc +144 -0
- package/templates/rules/f2s-karpathy-guidelines.mdc +77 -0
- package/templates/rules/f2s-knowledge-preflight.mdc +70 -0
- package/templates/rules/f2s-stock-docs-vs-req-docs.mdc +16 -0
- package/templates/rules/f2s-task.mdc +202 -0
- package/templates/skills/f2s-ctx-build/SKILL.md +74 -173
- package/templates/skills/f2s-ctx-rm/SKILL.md +39 -43
- package/templates/skills/f2s-doc-add/SKILL.md +69 -106
- package/templates/skills/f2s-doc-arch/SKILL.md +20 -9
- package/templates/skills/f2s-doc-final/SKILL.md +29 -21
- package/templates/skills/f2s-doc-pdf/SKILL.md +17 -10
- package/templates/skills/f2s-git-commit/SKILL.md +189 -0
- package/templates/skills/f2s-karpathy-guidelines/SKILL.md +20 -0
- package/templates/skills/f2s-kb-feat/SKILL.md +72 -50
- package/templates/skills/f2s-kb-fix/SKILL.md +77 -46
- package/templates/skills/f2s-kb-merge/SKILL.md +9 -0
- package/templates/skills/f2s-kb-migrate/SKILL.md +356 -0
- package/templates/skills/f2s-kb-sync/SKILL.md +80 -59
- package/templates/skills/f2s-kb-upgrade/SKILL.md +225 -0
- package/templates/skills/f2s-req-backend/SKILL.md +35 -12
- package/templates/skills/f2s-req-clarify/SKILL.md +10 -2
- package/templates/skills/f2s-req-plan/SKILL.md +110 -0
- package/templates/skills/stock-docs-vs-req-docs/SKILL.md +10 -4
- package/docs/images//345/216/237/347/220/206/345/233/2761.png +0 -0
- package/docs/images//345/216/237/347/220/206/345/233/2762.png +0 -0
- package/docs/images//345/221/275/344/273/244/346/230/216/347/273/206/345/233/276.png +0 -0
- package/docs/images//346/227/245/345/270/270/346/223/215/344/275/234/346/265/201/347/250/213/345/233/276.png +0 -0
- package/docs/images//347/256/200/350/277/260/345/233/276.png +0 -0
- package/templates/rules/implement-tech-design.mdc +0 -177
- package/templates/rules/stock-docs-vs-req-docs.mdc +0 -14
|
@@ -0,0 +1,356 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: f2s-kb-migrate
|
|
3
|
+
description: 旧版知识库一次性迁到 `.Knowledge`:以配置根 `docs-index.md` + 规则统一入口(旧版 `rules/main.md(c)` 或新版包 `rules/f2s-flow2spec-unified-entry.md(c)`)为主索引线索,全量处理业务 `rules/` 与业务 `skills/`(排除 `f2s-*` 包技能),并全量迁移 `stock-docs`/`req-docs`;**迁移验收后必选**落盘 `.Knowledge/migration-report.md`(迁移对照表 + 拟删除路径列表);**收尾必选**删除已迁旧的 `rules/`、已迁业务 `skills/`、旧版 `docs-index.md`/`index-doc.md`;用户只**核对/修订删除清单(排除项)**;触发:f2s-kb-migrate、知识库迁移、旧版迁移
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
> 执行口径:这是 `f2s-*` 技能流程,不是 CLI 子命令。迁移目标包含:
|
|
7
|
+
> 1) 结构层:`.Knowledge/topics`、`.Knowledge/index.md`、`.Knowledge/manifest-routing.json`、`.Knowledge/matchers/*.json`
|
|
8
|
+
> 2) 文档层:`.Knowledge/stock-docs`、`.Knowledge/req-docs`
|
|
9
|
+
>
|
|
10
|
+
> **硬边界**:`skills/f2s-*`(各 agent 配置根下)属于 Flow2Spec 包技能/执行层能力,**不得**写入 `.Knowledge`(含 `topics/stock-docs/req-docs`),也不得作为“业务技能迁移”的源;**不得**在本流程中删除(版本对齐走 `flow2spec init` / 包升级)。
|
|
11
|
+
>
|
|
12
|
+
> **基线规则保留清单(不得删除)**:`rules/f2s-flow2spec-unified-entry.md(c)`、`rules/f2s-implement-tech-design.md(c)`、`rules/f2s-stock-docs-vs-req-docs.md(c)`。
|
|
13
|
+
|
|
14
|
+
## 编排(主 / 子 agent)
|
|
15
|
+
|
|
16
|
+
- 两字段(`subAgent` / `switchAgentVerification`)语义以统一入口为唯一事实源:**Cursor/Claude** 读配置根 `rules/f2s-flow2spec-unified-entry.*`;**Codex** 读 `.codex/topics/f2s-flow2spec-unified-entry.md`(与上同源,`flow2spec init` 镜像)。本节不复述。
|
|
17
|
+
- **子 agent 职责**(仅当 `subAgent=true`):在主给定清单下做搬运工作、生成 `migration-report.md` 的**草案片段**;产出一律以 patch 形式提交,由主 agent 合并落盘。
|
|
18
|
+
- **主必控**:
|
|
19
|
+
- `.Knowledge/.migrate-state.json` **写权归主**(状态机事实源,主 / 子抢写会致队列错位);
|
|
20
|
+
- `migration-report.md` 的 **「删除执行记录」** 小节恒由主 agent 追加;
|
|
21
|
+
- **删除清单确认**与闭环收尾必主完成。
|
|
22
|
+
- **写权硬约束**:`manifest-routing.json` / `.Knowledge/index.md` / `.Knowledge/.migrate-state.json` / 迁移报告「删除执行记录」均恒由主 agent 落盘。
|
|
23
|
+
- 默认落盘侧自验;本 SKILL 不绑定交叉校验。
|
|
24
|
+
|
|
25
|
+
# f2s-kb-migrate(旧版知识库 -> 新版知识库)
|
|
26
|
+
|
|
27
|
+
## 与 `f2s-kb-upgrade` 为何并存
|
|
28
|
+
|
|
29
|
+
| 技能 | 解决的问题 |
|
|
30
|
+
| --- | --- |
|
|
31
|
+
| **本技能 `f2s-kb-migrate`** | **一次性结构搬家**:旧索引(`docs-index.md` / `index-doc.md`)、`rules/main.md(c)`、业务 `skills/`、散落 `stock-docs`/`req-docs` → **`.Knowledge`**,并处理删除清单与 `migration-report.md`。 |
|
|
32
|
+
| **`f2s-kb-upgrade`** | **知识库模板升级技能(唯一「升级」口径)**:按 **`skills/f2s-kb-upgrade/SKILL.md`** 全文执行;其中代跑 **`flow2spec init`** 以对齐 **`manifest-routing` + `matchers/`** 与各 agent **`rules`/`skills`**;含 **V1 / 现行库(V2+)** 分流(旧项目须 **migrate 后再跑本技能**;**V2+ 含 npm v3.x 等已上 `.Knowledge` 的项目**,见 `f2s-kb-upgrade` 步骤 0)。 |
|
|
33
|
+
|
|
34
|
+
- **迁移验收、删除清单确认完成后**:应提醒或代用户执行 **`f2s-kb-upgrade` 技能全文**(其中 **步骤 2** 会代跑 **`flow2spec init`**),把 Flow2Spec 包版本、路由分片与配置根产物对齐到当前包。**勿**让用户以为「单独执行 `init`」即完成知识库模板升级。
|
|
35
|
+
- **已在稳定使用 `.Knowledge` 且无旧索引负担的项目**:不要重复跑本技能;日常包/模板对齐走 **`f2s-kb-upgrade`** 技能即可(不是只跑 `init`)。
|
|
36
|
+
|
|
37
|
+
**为何各 agent 下都有同名 `SKILL.md`?** 各工具只读各自配置根下的 `skills/`;`flow2spec init` 会向所选 agent **同步** `templates/skills/` 中的内容。
|
|
38
|
+
|
|
39
|
+
## 本命令做什么(对外口径)
|
|
40
|
+
|
|
41
|
+
把旧版“散落在配置根的文档索引 + 规则 + 业务技能 + stock/req 文档树”,**整体搬迁并改写到新版 `.Knowledge`**,完成后再做**旧版入口与旧版业务产物清理**,实现与旧版知识库组织方式的切割。
|
|
42
|
+
|
|
43
|
+
必须覆盖的对象:
|
|
44
|
+
|
|
45
|
+
1. **索引入口**:配置根 `docs-index.md`(兼容 `index-doc.md`)中声明/映射到的业务文档与规则线索。
|
|
46
|
+
2. **规则入口**:`rules/main.md` / `rules/main.mdc`(旧版常见)或 `rules/f2s-flow2spec-unified-entry.md` / `rules/f2s-flow2spec-unified-entry.mdc`(兼容历史命名 `rules/flow2spec-unified-entry.md(c)`)中声明/引用的规则集合(以及 `rules/` 下其它业务规则文件)。
|
|
47
|
+
3. **业务技能**:各 agent 配置根 `skills/` 下除 `f2s-*` 以外的业务技能目录(全量盘点)。
|
|
48
|
+
4. **文档树**:旧版 `stock-docs/`、`req-docs/`(或同义目录)**全量**迁入 `.Knowledge` 对应目录。
|
|
49
|
+
|
|
50
|
+
对“索引未覆盖”的对象:
|
|
51
|
+
|
|
52
|
+
- 先输出候选清单(路径 + 推断理由:命名/目录/引用关系)。
|
|
53
|
+
- **默认必须让用户确认**是否纳入迁移;仅当证据非常充分(例如被 `rules/main` / `f2s-flow2spec-unified-entry` 显式引用、或被已索引文档明确引用)才允许 Agent 自行判定纳入,并在迁移摘要中写明判定依据。
|
|
54
|
+
|
|
55
|
+
迁移完成后的清理(**必选收尾**;且迁移结果无失败、无待确认项;**`skills/f2s-*` 永不删除**):
|
|
56
|
+
|
|
57
|
+
- **必须执行**:删除旧版 **`rules/` 中已迁移业务规则文件**(含 `main.md(c)` 若仅作为旧入口),但**不得删除**基线规则保留清单中的 3 个 `f2s-*` 根规则文件。
|
|
58
|
+
- **必须执行**:删除旧版 **业务** `skills/` 下**已迁移**的子目录(**排除** `f2s-*`;若某目录下仍有未迁完项则不得删该目录,须先补齐或从清单剔除)。
|
|
59
|
+
- **必须执行**:删除旧版入口 **`docs-index.md`**(兼容 **`index-doc.md`**),避免与 `.Knowledge/index.md` 双入口并存。
|
|
60
|
+
- **默认一并列入删除子清单**(用户可在清单中排除):旧版 **`stock-docs/`**、**`req-docs/`** 源目录(仅当对应文档层迁移验收通过、无失败/无待确认项时执行实际删除)。
|
|
61
|
+
|
|
62
|
+
**用户确认的含义(重要)**:
|
|
63
|
+
|
|
64
|
+
- **不是**询问「要不要做清理」;清理是流程的一部分。
|
|
65
|
+
- **而是**输出**默认全选的「删除路径清单」**(规则文件逐条、业务 skill 目录逐条、索引文件名、以及可选的旧文档根目录),请用户**核对**;用户只能:
|
|
66
|
+
- 回复「**确认清单**」按当前清单执行删除;或
|
|
67
|
+
- 回复「**排除:<路径…>**」从清单中移除指定项后再执行(移除项须写入 `.migrate-state.json` 的 `notes[]` 并说明原因)。
|
|
68
|
+
- 若用户要求**暂缓删除某路径**,须在清单中保留该项并结束本轮清理(状态文件 `status=paused`),**不得**假装已完成迁移闭环。
|
|
69
|
+
|
|
70
|
+
## 适用场景
|
|
71
|
+
|
|
72
|
+
- 项目仍在使用旧版知识组织(`docs-index.md` / `index-doc.md` + `rules/main.md(c)` 或 `rules/f2s-flow2spec-unified-entry.md(c)`(兼容旧 `flow2spec-unified-entry.md(c)`)+ 业务 `skills/` + 散落 `stock-docs`/`req-docs`)。
|
|
73
|
+
- 希望迁移到新版 `.Knowledge`,并且按主题逐个确认,避免一次性大改。
|
|
74
|
+
- 需要 **req-docs / stock-docs 全量** 迁入 `.Knowledge`,并与旧版知识库目录/表述做切割(路径、索引、主题文案统一到新架构口径)。
|
|
75
|
+
|
|
76
|
+
## 输入
|
|
77
|
+
|
|
78
|
+
- 可选输入:
|
|
79
|
+
- 旧版规则统一入口路径:`rules/main.md` / `rules/main.mdc` 和/或 `rules/f2s-flow2spec-unified-entry.md` / `rules/f2s-flow2spec-unified-entry.mdc`(兼容旧 `rules/flow2spec-unified-entry.md(c)`)
|
|
80
|
+
- 旧版 `index-doc.md`(或 `docs-index.md`)路径
|
|
81
|
+
- 旧版存量文档目录(如 `stock-docs/`、`docs/stock/`)
|
|
82
|
+
- 旧版需求文档目录(如 `req-docs/`、`docs/req/`)
|
|
83
|
+
- 迁移范围(全部主题 / 指定主题)
|
|
84
|
+
- 不提供时,先在仓库中定位上述文件并向用户确认。
|
|
85
|
+
|
|
86
|
+
## 断点续迁状态文件(必须启用)
|
|
87
|
+
|
|
88
|
+
- 状态文件路径:`.Knowledge/.migrate-state.json`
|
|
89
|
+
- 作用:记录迁移进度,支持会话中断后恢复,不重复迁移已完成项。
|
|
90
|
+
- 初始化时机:用户确认“开始迁移”后立即创建。
|
|
91
|
+
- 结束时机:
|
|
92
|
+
- 全部迁移完成且用户确认结束:删除状态文件。
|
|
93
|
+
- 用户主动“停止”:保留状态文件,等待下次恢复。
|
|
94
|
+
- `.migrate-state.json` 只由主 agent 写;子 agent 以 patch 片段提交由主合并(写权硬约束)。
|
|
95
|
+
|
|
96
|
+
建议字段(最小集):
|
|
97
|
+
|
|
98
|
+
```json
|
|
99
|
+
{
|
|
100
|
+
"version": "1",
|
|
101
|
+
"status": "running",
|
|
102
|
+
"currentStage": "inventory|orphans|topics|stock-docs|req-docs|cleanup",
|
|
103
|
+
"topicQueue": [],
|
|
104
|
+
"topicDone": [],
|
|
105
|
+
"bizRuleQueue": [],
|
|
106
|
+
"bizRuleDone": [],
|
|
107
|
+
"bizSkillQueue": [],
|
|
108
|
+
"bizSkillDone": [],
|
|
109
|
+
"stockQueue": [],
|
|
110
|
+
"stockDone": [],
|
|
111
|
+
"reqQueue": [],
|
|
112
|
+
"reqDone": [],
|
|
113
|
+
"pendingManual": [],
|
|
114
|
+
"failed": [],
|
|
115
|
+
"notes": [],
|
|
116
|
+
"updatedAt": "ISO-8601"
|
|
117
|
+
}
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
更新规则(必须执行):
|
|
121
|
+
|
|
122
|
+
1. 每完成 1 个主题、1 个业务技能目录、1 个业务规则文件或 1 个文档文件后,立即落盘更新状态文件。
|
|
123
|
+
2. 收到“重试 <topic|file>”时,先回滚该项状态,再执行重试。
|
|
124
|
+
3. 收到“继续”时,优先读取状态文件,从未完成队列继续。
|
|
125
|
+
4. 收到“停止”时,写入 `status=paused` 并结束本轮。
|
|
126
|
+
5. 收到恢复请求时,先展示状态摘要(当前阶段、剩余数量、失败/待确认项)并等待用户确认继续。
|
|
127
|
+
|
|
128
|
+
## 强制流程(分阶段执行)
|
|
129
|
+
|
|
130
|
+
### 步骤 1:读取旧版映射
|
|
131
|
+
|
|
132
|
+
1. 读取 `docs-index.md`(兼容 `index-doc.md`),提取“业务文档 -> 规则/主题”映射(**主索引**)。
|
|
133
|
+
2. 读取 **`rules/main.md`(兼容 `main.mdc`)** 或 **`rules/f2s-flow2spec-unified-entry.md`(兼容 `f2s-flow2spec-unified-entry.mdc`;兼容旧 `flow2spec-unified-entry.md(c)`)**(二者通常只存在其一),提取模块/主题目录线索(**与索引交叉校验**)。
|
|
134
|
+
3. **全量盘点业务规则文件**:扫描 `rules/` 下除以下文件外的业务规则文件,建立 `bizRuleQueue`(去重):
|
|
135
|
+
- 统一入口:`main.md(c)`、`f2s-flow2spec-unified-entry.md(c)`、`flow2spec-unified-entry.md(c)`(兼容旧命名)
|
|
136
|
+
- 基线保留:`f2s-implement-tech-design.md(c)`、`f2s-stock-docs-vs-req-docs.md(c)`
|
|
137
|
+
4. **全量盘点业务技能**:扫描各 agent 配置根 `skills/` 目录,**排除** `f2s-*`,其余目录一律进入 `bizSkillQueue`(去重)。
|
|
138
|
+
5. 扫描旧版 `stock-docs` 与 `req-docs` 候选来源目录(若存在)。
|
|
139
|
+
6. 生成待迁移清单并展示给用户确认:
|
|
140
|
+
- 主题清单(去重、排序)
|
|
141
|
+
- 业务规则文件清单(`bizRuleQueue`)
|
|
142
|
+
- 业务技能目录清单(`bizSkillQueue`)
|
|
143
|
+
- `stock-docs` 文件清单
|
|
144
|
+
- `req-docs` 文件清单
|
|
145
|
+
7. 文档分类口径(必须明确):
|
|
146
|
+
- 来源路径命中 `stock-docs`(含同义目录如 `docs/stock`) -> 迁移到 `.Knowledge/stock-docs`
|
|
147
|
+
- 来源路径命中 `req-docs`(含同义目录如 `docs/req`) -> 迁移到 `.Knowledge/req-docs`
|
|
148
|
+
- 无法判定的文件 -> 列入“待人工确认清单”,未确认前不迁移
|
|
149
|
+
8. 计算“索引外候选”(`orphans`):
|
|
150
|
+
- `bizRuleQueue` 中未被 `docs-index` / 统一入口(`rules/main` 或 `f2s-flow2spec-unified-entry`)覆盖的文件
|
|
151
|
+
- `bizSkillQueue` 中未被索引映射覆盖的目录
|
|
152
|
+
- 对每一项默认要求用户确认是否迁移;仅在高置信引用场景允许 Agent 自判纳入,并将依据追加写入状态文件 `notes[]`(不得破坏 JSON 可解析性)。
|
|
153
|
+
9. 用户确认清单后,初始化状态文件并写入队列(inventory/orphans/topics/stock/req)。
|
|
154
|
+
|
|
155
|
+
### 步骤 2:逐主题迁移(结构层核心)
|
|
156
|
+
|
|
157
|
+
对每个主题按以下顺序执行:
|
|
158
|
+
|
|
159
|
+
1. 汇总该主题旧资料:
|
|
160
|
+
- 相关 `rules/*.md(c)`(业务规则)
|
|
161
|
+
- 相关 **业务** `skills/<非 f2s-*>`(将其内容合并进主题叙述/流程,不复制为 `.Knowledge` 下的技能文件)
|
|
162
|
+
- 索引映射中的**业务文档**路径
|
|
163
|
+
- **不得**包含 `skills/f2s-*` 下任何文件
|
|
164
|
+
2. 生成或更新 `.Knowledge/topics/<topic>.md`:
|
|
165
|
+
- 正文表述统一为新架构口径(`.Knowledge` 分层、`manifest` 路由、`stock-docs`/`req-docs` 分工)。
|
|
166
|
+
- 去除旧版独有路径/术语(如旧 `docs-index` 根路径、旧散落目录名),改为指向 `.Knowledge/...` 或相对 `.Knowledge` 的稳定路径。
|
|
167
|
+
3. 更新 `.Knowledge/index.md` 的主题索引行,并同步维护“关联文档(摘要)”列(每主题 1-3 条关键 `stock-docs/req-docs` **可点击 Markdown 链接**,格式:`[标题](相对路径)`)。
|
|
168
|
+
4. 按需更新路由清单:
|
|
169
|
+
- `.Knowledge/manifest-routing.json`:`topicPaths`、`taskToTopicRules[]`、`topicDependencies`、`fallbackTopic`
|
|
170
|
+
- `.Knowledge/matchers/<matcherId>.json`:`includeAny`(与 `manifest-routing.taskToTopicRules[].matcherPath` 一致)
|
|
171
|
+
5. 输出本主题迁移摘要并**暂停**,提示用户:
|
|
172
|
+
- 回复“继续”迁移下一个主题
|
|
173
|
+
- 或回复“停止”终止本轮
|
|
174
|
+
- 或回复“重试 <topic>”重做当前主题
|
|
175
|
+
|
|
176
|
+
> 未收到“继续”前,不得迁移下一个主题。
|
|
177
|
+
> 每完成一个主题,必须先更新状态文件再进入等待。
|
|
178
|
+
|
|
179
|
+
### 步骤 3:迁移 `stock-docs`(文档层)
|
|
180
|
+
|
|
181
|
+
当步骤 2 全部完成后,执行:
|
|
182
|
+
|
|
183
|
+
1. 按“来源目录相对路径”迁移到 `.Knowledge/stock-docs/<relative-path>`,不做平铺。
|
|
184
|
+
2. 默认场景视为在旧版仓库首次迁移到新版知识库,目标路径按“不存在”执行。
|
|
185
|
+
3. 每迁移 1 个文件输出一次结果并暂停,等待“继续 / 停止 / 重试 <文件>”。
|
|
186
|
+
4. 全部完成后输出 `stock-docs` 子摘要(成功/失败/待确认)。
|
|
187
|
+
|
|
188
|
+
> 未收到“继续”前,不得迁移下一个文件。
|
|
189
|
+
> 每完成一个文件,必须先更新状态文件再进入等待。
|
|
190
|
+
|
|
191
|
+
### 步骤 4:迁移 `req-docs`(文档层)
|
|
192
|
+
|
|
193
|
+
当 `stock-docs` 阶段完成后,执行:
|
|
194
|
+
|
|
195
|
+
1. 按“来源目录相对路径”迁移到 `.Knowledge/req-docs/<relative-path>`,不做平铺。
|
|
196
|
+
2. 默认场景视为在旧版仓库首次迁移到新版知识库,目标路径按“不存在”执行。
|
|
197
|
+
3. 每迁移 1 个文件输出一次结果并暂停,等待“继续 / 停止 / 重试 <文件>”。
|
|
198
|
+
4. 全部完成后输出 `req-docs` 子摘要(成功/失败/待确认)。
|
|
199
|
+
|
|
200
|
+
> 未收到“继续”前,不得迁移下一个文件。
|
|
201
|
+
> 每完成一个文件,必须先更新状态文件再进入等待。
|
|
202
|
+
|
|
203
|
+
### 步骤 5:全部迁移完成后的收尾(必选:迁移报告落盘 + 删除清单确认)
|
|
204
|
+
|
|
205
|
+
当主题(步骤 2)与文档层 `stock-docs` / `req-docs`(步骤 3–4)**全部验收通过**(无失败、无阻塞性待确认项,或已在报告中单列)后,按顺序执行以下子步骤。
|
|
206
|
+
|
|
207
|
+
#### 5.0 迁移报告(必选:写入项目 Markdown)
|
|
208
|
+
|
|
209
|
+
1. **必须**在项目仓库中创建或覆盖文件:**`.Knowledge/migration-report.md`**(相对项目根;与 `.Knowledge` 同库,便于评审与留痕)。
|
|
210
|
+
2. 报告正文须至少包含两大块(可用表格或分级列表,路径一律用**相对项目根**的 POSIX 风格):
|
|
211
|
+
- **「迁移对照表」**:
|
|
212
|
+
- **主题**:每个已迁移 `topic` → 旧侧来源(对应 `rules/*.md(c)`、业务 `skills/<dir>`、`docs-index` 映射行摘要)→ 新路径 `.Knowledge/topics/<topic>.md`;并注明本次是否改写了 `.Knowledge/index.md` / 路由清单相关字段。
|
|
213
|
+
- **`stock-docs`**:每条 **源路径 → `.Knowledge/stock-docs/...` 目标路径**(含跳过的文件及原因,若无则写「无」)。
|
|
214
|
+
- **`req-docs`**:同上。
|
|
215
|
+
- **「拟删除路径清单」**:与下文步骤 5.2 中向用户展示的**默认全选删除清单**逐项一致(`rules/` 下每个文件、业务 `skills/` 下每个待删目录、`docs-index`/`index-doc`、以及可选列入的旧 `stock-docs/`/`req-docs/` 根目录);每条建议用 `- [ ] <路径>`,便于人类勾选核对。
|
|
216
|
+
3. 若用户随后在步骤 5.2 中发出 **「排除:<路径…>」**,须在**执行物理删除前**更新同一文件:追加或在「用户排除项」小节中写明排除路径与原因,并同步更新「拟删除路径清单」勾选状态或列表,使**磁盘上的报告与最终删除集合一致**。
|
|
217
|
+
4. 在步骤 5.2 第 3 步按最终清单**执行完物理删除后**,须在**同一文件末尾**追加小节 **`## 删除执行记录`**(含执行时间、实际已删路径列表;未删项注明原因与 `status=paused` 等),不得仅留在对话里。
|
|
218
|
+
5. 迁移报告的「删除执行记录」小节恒由主 agent 追加,子 agent 不得直接写入(写权硬约束)。
|
|
219
|
+
|
|
220
|
+
> **禁止**:未完成 `.Knowledge/migration-report.md` 落盘即进入物理删除或结束本轮迁移闭环。
|
|
221
|
+
|
|
222
|
+
#### 5.1 总摘要(对话内,可与报告摘要一致)
|
|
223
|
+
|
|
224
|
+
- 已迁移主题列表
|
|
225
|
+
- 新增/更新的 `.Knowledge` 文件
|
|
226
|
+
- 已迁移 `stock-docs` 文件
|
|
227
|
+
- 已迁移 `req-docs` 文件
|
|
228
|
+
- 未迁移或失败项
|
|
229
|
+
|
|
230
|
+
#### 5.2 必选清理阶段(删除清单确认,不得跳过)
|
|
231
|
+
|
|
232
|
+
1. 输出**默认全选**的「**删除路径清单**」(须与 `migration-report.md` 中「拟删除路径清单」同源),至少包含:
|
|
233
|
+
- 旧版 **`rules/`** 下每个将删除的**业务规则**文件路径(可含 `main.md(c)`;**不含**基线保留清单中的 `f2s-*` 根规则)
|
|
234
|
+
- 旧版 **业务** `skills/` 下每个将删除的子目录路径(**不含** `f2s-*`)
|
|
235
|
+
- 旧版 **`docs-index.md` / `index-doc.md`**
|
|
236
|
+
- (可选子清单)旧版 **`stock-docs/`**、**`req-docs/`** 根目录:仅当文档迁移验收通过且无待确认项时列入;用户可排除。
|
|
237
|
+
2. 等待用户回复 **「确认清单」** 或 **「排除:<路径…>」** 更新清单;**禁止**使用「是否执行清理」类二选一提问。
|
|
238
|
+
3. 按**最终清单**执行删除;**不得**删除清单外的路径;**不得**删除 **`skills/f2s-*`**。
|
|
239
|
+
4. 收尾完成后处理状态文件:
|
|
240
|
+
- 本轮完整完成:删除 `.Knowledge/.migrate-state.json`
|
|
241
|
+
- 本轮暂停/中止:保留 `.Knowledge/.migrate-state.json`(`status=paused`),并记录未删路径与原因
|
|
242
|
+
|
|
243
|
+
## 输出摘要格式(建议)
|
|
244
|
+
|
|
245
|
+
```markdown
|
|
246
|
+
## 主题迁移完成:<topic>
|
|
247
|
+
|
|
248
|
+
### 来源
|
|
249
|
+
- rules: <旧路径...>
|
|
250
|
+
- 业务文档: <索引映射中的文档路径...>
|
|
251
|
+
- 映射: <docs-index / index-doc 行或文档名>
|
|
252
|
+
|
|
253
|
+
### 已写入
|
|
254
|
+
- .Knowledge/topics/<topic>.md
|
|
255
|
+
- .Knowledge/index.md(更新 <x> 行)
|
|
256
|
+
- .Knowledge/manifest-routing.json(更新字段:...)
|
|
257
|
+
- .Knowledge/matchers/<id>.json(更新 `includeAny` 等:...)
|
|
258
|
+
|
|
259
|
+
### 下一步
|
|
260
|
+
- 回复“继续”迁移下一个主题
|
|
261
|
+
- 回复“停止”结束迁移
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
```markdown
|
|
265
|
+
## 文档迁移完成:<stock-docs|req-docs>/<file>
|
|
266
|
+
|
|
267
|
+
### 来源
|
|
268
|
+
- source: <旧路径...>
|
|
269
|
+
|
|
270
|
+
### 已写入
|
|
271
|
+
- .Knowledge/<stock-docs|req-docs>/<relative-path>
|
|
272
|
+
|
|
273
|
+
### 下一步
|
|
274
|
+
- 回复“继续”迁移下一个文件
|
|
275
|
+
- 回复“停止”结束迁移
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
## 约束
|
|
279
|
+
|
|
280
|
+
- 必须逐主题确认,不可批量跳过确认直接全量迁移。
|
|
281
|
+
- `stock-docs` / `req-docs` 必须逐文件确认,不可无确认批量迁移。
|
|
282
|
+
- 文档迁移必须保留来源目录相对路径,不可平铺为单层文件名。
|
|
283
|
+
- **`f2s-*` 技能不得进入 `.Knowledge`,不得在主题迁移中合并进 `topics`。**
|
|
284
|
+
- **业务** `skills/`(非 `f2s-*`)必须纳入全量盘点;索引未覆盖项默认必须用户确认后才可迁移。
|
|
285
|
+
- 未完成全部主题前,禁止删除旧业务 `rules/` 与**非 `f2s-*`** 的旧业务 `skills/`;基线保留清单中的 `f2s-*` 根规则文件始终不得删除。
|
|
286
|
+
- 未完成文档迁移前,禁止删除旧文档目录。
|
|
287
|
+
- 删除旧目录前必须完成「**删除路径清单**」核对(允许排除项),**禁止**用「是否清理」替代清单确认。
|
|
288
|
+
- 迁移过程只改 `.Knowledge` 与(**最终删除清单**确认后)对清单内旧路径的删除,不改业务代码。
|
|
289
|
+
- 必须维护 `.Knowledge/.migrate-state.json`,禁止只在内存中维护迁移进度。
|
|
290
|
+
- 主题与文档层迁移验收通过后,**必须先**写入 `.Knowledge/migration-report.md`(含迁移对照表与拟删除路径清单),再进入物理删除;报告与对话内删除清单须同源可追溯。
|
|
291
|
+
- `.migrate-state.json` / `migration-report.md` 的删除执行记录 / `manifest-routing.json` / `.Knowledge/index.md` 均恒主落盘。
|
|
292
|
+
|
|
293
|
+
## 迁移报告模板(落盘 `migration-report.md` 时建议结构)
|
|
294
|
+
|
|
295
|
+
以下骨架可直接复制后填空;路径均为相对项目根。
|
|
296
|
+
|
|
297
|
+
```markdown
|
|
298
|
+
# 知识库迁移报告
|
|
299
|
+
|
|
300
|
+
- **生成时间(ISO-8601)**:<...>
|
|
301
|
+
- **配置根(如 `.cursor/`)**:<...>
|
|
302
|
+
|
|
303
|
+
## 迁移对照表
|
|
304
|
+
|
|
305
|
+
### 主题(旧来源 → 新路径)
|
|
306
|
+
|
|
307
|
+
| topic ID | 旧 rules / 旧业务 skills / 索引线索 | 新路径 |
|
|
308
|
+
| --- | --- | --- |
|
|
309
|
+
| <id> | <...> | `.Knowledge/topics/<id>.md` |
|
|
310
|
+
|
|
311
|
+
### stock-docs(源 → 目标)
|
|
312
|
+
|
|
313
|
+
| 源路径 | 目标路径 | 备注 |
|
|
314
|
+
| --- | --- | --- |
|
|
315
|
+
| <...> | `.Knowledge/stock-docs/...` | 成功 / 跳过原因 |
|
|
316
|
+
|
|
317
|
+
### req-docs(源 → 目标)
|
|
318
|
+
|
|
319
|
+
| 源路径 | 目标路径 | 备注 |
|
|
320
|
+
| --- | --- | --- |
|
|
321
|
+
| <...> | `.Knowledge/req-docs/...` | 成功 / 跳过原因 |
|
|
322
|
+
|
|
323
|
+
## 拟删除路径清单(默认全选;与对话内清单一致)
|
|
324
|
+
|
|
325
|
+
- [ ] `<路径>`(`rules/` 下逐文件)
|
|
326
|
+
- [ ] `<路径>`(业务 `skills/<dir>`,不含 `f2s-*`)
|
|
327
|
+
- [ ] `.cursor/docs-index.md`(或实际路径)
|
|
328
|
+
- [ ] (可选)旧 `stock-docs/` / `req-docs/` 根目录
|
|
329
|
+
|
|
330
|
+
## 用户排除项(如有)
|
|
331
|
+
|
|
332
|
+
- (无则写「无」)
|
|
333
|
+
|
|
334
|
+
## 失败或未迁移项(如有)
|
|
335
|
+
|
|
336
|
+
- (无则写「无」)
|
|
337
|
+
|
|
338
|
+
## 删除执行记录
|
|
339
|
+
|
|
340
|
+
(仅在执行物理删除后追加:时间、已删列表、未删及原因)
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
## 完成后自检
|
|
344
|
+
|
|
345
|
+
1. 主题总数是否与旧映射总数对齐(允许用户显式跳过)。
|
|
346
|
+
2. `manifest.topics[].path` 是否都存在。
|
|
347
|
+
3. `index` 是否可定位到每个已迁移主题。
|
|
348
|
+
4. `.Knowledge/stock-docs`、`.Knowledge/req-docs` 是否与确认迁移清单一致。
|
|
349
|
+
5. 待人工确认清单是否已清空;未清空则禁止删除旧文档目录。
|
|
350
|
+
6. 旧业务 `rules/`、**非 `f2s-*`** 的旧业务 `skills/`、旧版索引及(若列入清单)旧文档目录是否已按**最终删除清单**执行删除;基线保留清单中的 3 个 `f2s-*` 根规则是否仍保留。
|
|
351
|
+
7. 旧版入口 `docs-index.md` / `index-doc.md` 与 `rules/main.md(c)` 是否已按清单删除(且 `.Knowledge` 已可替代其职责),或是否因用户排除而**明确保留**并写入 `notes[]`。
|
|
352
|
+
8. 状态文件是否与迁移结果一致(完成则删除,暂停则保留且 `status=paused`)。
|
|
353
|
+
9. `.Knowledge/index.md` 是否已为每个主题同步“关联文档(摘要)”列(可写“无”,但不得留空)。
|
|
354
|
+
10. `skills/f2s-*` 是否未被误删、未被写入 `.Knowledge`。
|
|
355
|
+
11. `.Knowledge/migration-report.md` 是否已落盘且包含 **迁移对照表**、**拟删除路径清单**;若已执行删除,是否已追加 **「删除执行记录」** 并与实际磁盘状态一致。
|
|
356
|
+
12. 状态机文件与删除执行记录未被子 agent 越权写入;manifest / index 由主 agent 单点落盘。
|
|
@@ -1,88 +1,109 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: f2s-kb-sync
|
|
3
|
-
description:
|
|
3
|
+
description: 可显式给出能力或零输入推断;先输出知识库更新大纲,确认后写入 topics/index/manifest;触发:f2s-kb-sync、全局同步、知识库同步、已实现能力
|
|
4
4
|
---
|
|
5
|
-
> **「配置根」**:当前 agent 对应的 AI 工具配置目录(`flow2spec init` 写入,常见 **`.cursor/`**、**`.claude/`**、**`.codex/`**)。下文 **`配置根/...`** 指该目录下的相对路径。
|
|
6
5
|
|
|
7
|
-
|
|
6
|
+
> 执行口径:本技能只维护 `.Knowledge`,默认不改配置根 `rules/skills`。
|
|
8
7
|
|
|
9
|
-
|
|
8
|
+
## 编排(主 / 子 agent)
|
|
10
9
|
|
|
11
|
-
|
|
10
|
+
- 两字段(`subAgent` / `switchAgentVerification`)语义以统一入口为唯一事实源:**Cursor/Claude** 读配置根 `rules/f2s-flow2spec-unified-entry.*`;**Codex** 读 `.codex/topics/f2s-flow2spec-unified-entry.md`(与上同源,`flow2spec init` 镜像)。
|
|
11
|
+
- 步骤 1(素材汇总):`subAgent=true` 时可拆子并行,仅只读汇总,不得落盘。
|
|
12
|
+
- 步骤 2(大纲 + 用户确认):必主 agent 完成,确认权不可下放子 agent。
|
|
13
|
+
- 步骤 3(落盘):`subAgent=true` 时可按已确认大纲拆子逐项落盘;硬约束:子落盘前必须前置加载近邻 2–3 个主题的开头摘要,做叙事风格对齐。
|
|
14
|
+
- 写权硬约束:`manifest-routing.json` 与 `.Knowledge/index.md` 恒由主 agent 单点落盘,禁止下放。
|
|
15
|
+
- 校验:默认落盘侧 agent 自验;本 SKILL 不绑定交叉校验。
|
|
12
16
|
|
|
13
|
-
|
|
17
|
+
# f2s-kb-sync(先大纲后写入)
|
|
14
18
|
|
|
15
|
-
##
|
|
19
|
+
## 输入(可选)
|
|
16
20
|
|
|
17
|
-
|
|
21
|
+
1. 用户显式给出“已实现能力列表”
|
|
22
|
+
2. 零输入:由 Agent 基于当前上下文推断
|
|
23
|
+
3. 辅助材料:`@` 文件、需求文档、架构说明等
|
|
18
24
|
|
|
19
|
-
|
|
20
|
-
- 若用户写了这部分:将其视为**高优先级事实**,写入大纲中的 **「用户指定的能力清单」**,与下文推断结果**对齐、合并、去重**;冲突时以**用户本次明确文字**为准。
|
|
25
|
+
## 强制流程(不可颠倒)
|
|
21
26
|
|
|
22
|
-
###
|
|
27
|
+
### 步骤 1:收集素材(只读)
|
|
23
28
|
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
29
|
+
- 汇总用户目标、范围、优先级
|
|
30
|
+
- 汇总已实现能力(用户指定 + Agent 推断)
|
|
31
|
+
- 对照现有知识库:
|
|
32
|
+
- `.Knowledge/topics/`
|
|
33
|
+
- `.Knowledge/index.md`
|
|
34
|
+
- `.Knowledge/manifest-routing.json`
|
|
35
|
+
- `.Knowledge/matchers/*.json`(与路由中 `matcherPath` 对应的分片)
|
|
36
|
+
- `.Knowledge/stock-docs/`
|
|
30
37
|
|
|
31
|
-
###
|
|
38
|
+
### 步骤 2:输出《更新大纲》(必须)
|
|
32
39
|
|
|
33
|
-
|
|
34
|
-
- **路径/附件**:如 **`配置根/req-docs/xxx.md`**、**`配置根/stock-docs/xxx.md`**、README、架构说明等;用户也可用 `@` 引用文件。
|
|
40
|
+
大纲至少包含:
|
|
35
41
|
|
|
36
|
-
|
|
42
|
+
1. 同步目标
|
|
43
|
+
2. 能力清单(用户指定 / Agent 推断 / 合并结果)
|
|
44
|
+
3. 信息来源
|
|
45
|
+
4. 拟改文件清单(精确到路径)
|
|
46
|
+
5. 不改动范围
|
|
47
|
+
6. 等待用户确认提示
|
|
37
48
|
|
|
38
|
-
|
|
49
|
+
> 未确认前禁止落盘修改。
|
|
39
50
|
|
|
40
|
-
### 步骤
|
|
51
|
+
### 步骤 3:确认后写入
|
|
41
52
|
|
|
42
|
-
|
|
43
|
-
- 若用户**已指定**「Agent 已实现的能力」:逐条收录,并标为 **「用户指定」**。
|
|
44
|
-
- 若用户**未指定**或指定不全:**由 Agent 根据当前上下文推断**「用户与项目关心的能力」,标为 **「Agent 推断」**,每条附**一句依据**(对话原句 / 路径 / 文件角色)。
|
|
45
|
-
- 合并为本次要注入知识库的 **「目标能力列表」**(去重;用户指定与推断冲突时以用户指定为准)。
|
|
46
|
-
2. **用户侧**:整理用户消息中的目标、范围、术语、约束、验收或优先级;若用户声明了「当前 Agent 身份/模式/回答风格」等,单独摘录为「Agent 描述」小节素材。
|
|
47
|
-
3. **项目侧**(在合理范围内浏览/检索,避免全仓无目的扫描):例如 **`README`**、**`package.json`**、顶层目录、与对话相关的源码路径;读取 **`配置根/docs-index.md`**、**`配置根/rules/main.mdc`**(若存在)以了解现有知识库结构,避免重复或冲突。
|
|
48
|
-
4. **功能与约定**:围绕 **「目标能力列表」**,归纳**业务能力、模块边界、接口/MQ/配置习惯**等(只写从文档与代码中可支撑的结论;不确定处在大纲标「待确认」,不写进最终落库正文,除非用户在大纲确认中一并认可)。
|
|
53
|
+
> 硬约束:若启用拆子,子 agent 落盘前必须读取近邻 2–3 个主题的开头摘要,确保叙事风格一致;`manifest-routing.json` 与 `.Knowledge/index.md` 由主 agent 单点落盘,子 agent 无写权。
|
|
49
54
|
|
|
50
|
-
|
|
55
|
+
按大纲逐项更新:
|
|
51
56
|
|
|
52
|
-
|
|
57
|
+
- `.Knowledge/topics/*.md`
|
|
58
|
+
- `.Knowledge/index.md`(同步主题路由表的“关联文档(摘要)”列)
|
|
59
|
+
- 路由清单(按需)
|
|
60
|
+
- `.Knowledge/stock-docs/*.md`(按需补充索源文档)
|
|
53
61
|
|
|
54
|
-
|
|
55
|
-
2. **能力清单**(必填小节):
|
|
56
|
-
- **用户指定的能力**(若无则写「无」);
|
|
57
|
-
- **Agent 推断:用户与项目关心的能力**(若无则写「无」或「推断受限」+ 需补充的问题);
|
|
58
|
-
- **合并后的目标能力列表**(最终将以知识库条目支撑的能力)。
|
|
59
|
-
3. **信息来源**:列出已依据的用户原话要点、Agent 描述要点、项目文件/路径(不必贴全文)。
|
|
60
|
-
4. **拟变更清单**(逐项、可到路径级):
|
|
61
|
-
- **rules**:拟新建或修改的 `.mdc` 路径 + 每处「改什么 / 为什么」。
|
|
62
|
-
- **skills**:拟新建子目录与 `SKILL.md` 或拟修改的现有 `SKILL.md` + 每处「改什么 / 为什么」。
|
|
63
|
-
- **docs-index / main**:是否增删行、是否更新模块一览等。
|
|
64
|
-
- **stock-docs**(可选):是否新增摘录类 MD、文件名建议、是否后续再走 **f2s-ctx-build**(若需从终稿生成大套 Rules/Skills,应在大纲中单独列为可选阶段)。
|
|
65
|
-
5. **不做的事**:明确写出本次**不会**改动的范围(如业务源码、依赖版本、未在大纲中的文件),避免用户误解。
|
|
66
|
-
6. **确认提示**:用单独一段请求用户回复,例如:「请回复 **确认** 按大纲执行」「或回复修改意见(指出要删/要改的条目)」。
|
|
62
|
+
### 步骤 4:收尾摘要
|
|
67
63
|
|
|
68
|
-
|
|
64
|
+
- 列出已修改路径与目的
|
|
65
|
+
- 列出未执行项与原因
|
|
69
66
|
|
|
70
|
-
|
|
67
|
+
## 输出摘要格式(建议)
|
|
71
68
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
- 写入 **`rules/`**、**`skills/`** 时遵守项目既有风格与 frontmatter;若涉及从 **`stock-docs/`** 链出或写 **sourceDoc**,遵守 **`f2s-ctx-build`** 技能中的「文档路径与链接约定」(参见 `配置根/skills/f2s-ctx-build/SKILL.md`)。
|
|
75
|
-
- 若大纲列有「先 **f2s-doc-final** / **f2s-ctx-build**」等后续技能:在本技能完成**已确认**的写入后,再引导用户按需触发对应技能,**不要**在本技能内跳过确认擅自执行长链路。
|
|
69
|
+
```markdown
|
|
70
|
+
## 知识库同步结果
|
|
76
71
|
|
|
77
|
-
###
|
|
72
|
+
### 已确认能力范围
|
|
73
|
+
- <能力1>
|
|
74
|
+
- <能力2>
|
|
78
75
|
|
|
79
|
-
|
|
80
|
-
-
|
|
76
|
+
### 已修改文件
|
|
77
|
+
- .Knowledge/topics/<topic>.md:<修改说明>
|
|
78
|
+
- .Knowledge/index.md:<修改说明>
|
|
79
|
+
- .Knowledge/manifest-routing.json:<修改说明或“未改动”>
|
|
80
|
+
- .Knowledge/matchers/<id>.json:<修改说明或“未改动”>
|
|
81
|
+
- .Knowledge/stock-docs/<doc>.md:<修改说明或“未改动”>
|
|
81
82
|
|
|
82
|
-
|
|
83
|
+
### 未执行项
|
|
84
|
+
- <项>:<原因>
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## 复杂场景示例
|
|
88
|
+
|
|
89
|
+
用户仅说“/f2s-kb-sync 同步一下”,未给能力清单。
|
|
90
|
+
|
|
91
|
+
- 步骤 1 先做最小推断(例如支付、订单两个高频能力),并给出推断依据。
|
|
92
|
+
- 步骤 2 必须输出大纲并等待“确认”;未确认前禁止写入任何 `.Knowledge` 文件。
|
|
93
|
+
- 用户确认后只执行大纲内条目;若用户中途缩小范围,未执行项写入收尾摘要。
|
|
94
|
+
|
|
95
|
+
## 约束
|
|
96
|
+
|
|
97
|
+
- 先大纲,后写入
|
|
98
|
+
- 小步增补,避免整文件重写
|
|
99
|
+
- 同主题优先原位更新
|
|
100
|
+
- `index.md` 每个主题需包含 `stock-docs/req-docs` 的摘要级**可点击 Markdown 链接**(格式:`[标题](相对路径)`,1-3 条,允许写“无”)
|
|
101
|
+
- 不改配置根 `rules/skills`
|
|
83
102
|
|
|
84
|
-
##
|
|
103
|
+
## 完成后自检
|
|
85
104
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
105
|
+
1. 是否存在未确认即写入(必须为否)。
|
|
106
|
+
2. topic 文件与 index 行是否一一对应,且“关联文档(摘要)”已同步更新。
|
|
107
|
+
3. manifest 中 `topics` / `taskToTopicRules` / `topicDependencies` 是否仍引用有效路径。
|
|
108
|
+
4. 是否误改配置根 `rules/skills`(必须为否)。
|
|
109
|
+
5. 步骤 2 大纲 + 用户确认未下放子 agent;步骤 3 子落盘前已加载近邻 2–3 主题摘要;manifest / index 由主单点落盘。
|