specline 2.0.2 → 2.0.3

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.
@@ -12,3 +12,11 @@ description: >-
12
12
  3. 1-3 文件小改 → specline-quickfix
13
13
  4. 思考探索 → specline-explore
14
14
  5. 读 specline/config.yaml 了解 human_gate_policy
15
+
16
+ ## Skill 语言风格
17
+
18
+ 1. Skill 面向 Agent/用户的说明采用中文主导;系统契约、CLI、配置字段、文件字段和固定术语保留英文原文。
19
+ 2. 标题骨架使用中文,如 `第 1 层:速览与定位`、`主流程`、`步骤 1:创建 Change`、`约束`、`验证清单`。
20
+ 3. 不使用 `Layer`、`Happy Path`、`Steps`、`Guardrails`、`Verification Checklist` 等说明性英文作为主标题。
21
+ 4. `Pipeline`、`Quickfix`、`Gate`、`Human Gate`、`Artifact`、`Spec`、`Change`、`Agent`、`Hook`、`Type`、`Depends`、`Covers`、`Files`、`WHEN`、`THEN`、CLI 命令、路径和配置键保持英文。
22
+ 5. 首次出现的核心术语可使用“中文说明(English Term)”,同一文件内保持一致。
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: specline-apply-change
3
- description: Implement tasks from a Specline change. Use when the user wants to start implementing, continue implementation, or work through tasks.
3
+ description: 实现 Specline change 中的任务。用于用户想开始实现、继续实现或逐项推进 tasks
4
4
  license: MIT
5
5
  compatibility: Compatible with specline.
6
6
  metadata:
@@ -9,11 +9,11 @@ metadata:
9
9
  generatedBy: "1.3.1"
10
10
  ---
11
11
 
12
- Implement tasks from a Specline change.
12
+ 实现 Specline change 中的任务。
13
13
 
14
- **Input**: Optionally specify a change name. If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes.
14
+ **输入**:可选传入 change name。若未传入,先判断能否从对话上下文推断;若模糊或有歧义,必须展示可用 change 让用户选择。
15
15
 
16
- ## 速览 (Layer 1)
16
+ ## 1 层:速览
17
17
 
18
18
  > **一句话**:实现 Specline change 中的编码任务。
19
19
  > **入口**:`/specline-apply-change [change-name]` 或直接说「继续实现」
@@ -23,11 +23,11 @@ Implement tasks from a Specline change.
23
23
  > - change 选择 → 若上下文中已有 change name,直接使用;否则取第一个活跃 change
24
24
  > - 其他 {{CONFIRM}} 交互 → 自动采用默认安全选项继续,不暂停等待人工输入
25
25
 
26
- **Fluid Workflow Integration**
26
+ **流动式工作流集成**
27
27
 
28
- This skill supports the "actions on a change" model:
29
- - **Can be invoked anytime**: Before all artifacts are done (if tasks exist), after partial implementation, interleaved with other actions
30
- - **Allows artifact updates**: If implementation reveals design issues, suggest updating artifacts - not phase-locked, work fluidly
28
+ Skill 支持围绕单个 change 持续执行 action 的模型:
29
+ - **可随时调用**:Artifact 尚未全部完成但已有 tasks 时、部分实现后、或与其他 action 交错时都可调用
30
+ - **允许更新 Artifact**:如果实现暴露设计问题,建议更新 Artifact;不被阶段锁死,按实际情况流动推进
31
31
 
32
32
  **开始前请确认:**
33
33
  - [ ] Change 已选中(`/specline-pipeline --change <name>`)
@@ -36,71 +36,71 @@ This skill supports the "actions on a change" model:
36
36
  - [ ] 已读取 design.md(知道技术决策)
37
37
  - [ ] 已读取 tasks.md(知道实现清单)
38
38
 
39
- ## 详细步骤 Happy Path (Layer 2)
39
+ ## 2 层:主流程
40
40
 
41
- **Steps**
41
+ **步骤**
42
42
 
43
- 1. **Select the change**
43
+ 1. **选择 change**
44
44
 
45
- If a name is provided, use it. Otherwise:
46
- - Infer from conversation context if the user mentioned a change
47
- - Auto-select if only one active change exists
48
- - If ambiguous, run `specline gate list --json` to get available changes and use {{CONFIRM}} to let the user select
45
+ 如果提供了 name,直接使用。否则:
46
+ - 如果用户在对话中提到 change,则从上下文推断
47
+ - 如果只有一个活跃 change,自动选择
48
+ - 如果有歧义,运行 `specline gate list --json` 获取可用 change,并使用 {{CONFIRM}} 让用户选择
49
49
 
50
- Always announce: "Using change: <name>" and how to override (e.g., `/specline-pipeline --change <other>`).
50
+ 始终告知:"Using change: <name>",并说明如何覆盖选择(如 `/specline-pipeline --change <other>`)。
51
51
 
52
- 2. **Check status to understand the schema**
52
+ 2. **检查状态以识别 schema**
53
53
  ```bash
54
54
  specline gate artifacts --change "<name>" --json
55
55
  ```
56
- Parse the JSON to understand:
57
- - `schemaName`: The workflow being used (e.g., "spec-driven")
58
- - Which artifact contains the tasks (typically "tasks" for spec-driven, check status for others)
56
+ 解析 JSON,确认:
57
+ - `schemaName`:当前使用的工作流(如 "spec-driven"
58
+ - 哪个 Artifact 包含 tasks(spec-driven 通常是 "tasks",其他 schema 以状态为准)
59
59
 
60
- 3. **Read context files**
60
+ 3. **读取上下文文件**
61
61
 
62
- Read the planning files at `specline/changes/<name>/`:
63
- - `proposal.md` — what & why
64
- - `specs/<capability>/spec.md` — requirements & scenarios
65
- - `design.md` — architecture & decisions
66
- - `tasks.md` — implementation checklist
62
+ 读取 `specline/changes/<name>/` 下的规划文件:
63
+ - `proposal.md` — 做什么与为什么
64
+ - `specs/<capability>/spec.md` — Requirements Scenarios
65
+ - `design.md` — 架构与决策
66
+ - `tasks.md` — 实现清单
67
67
 
68
- Check task completion: count `- [ ]` (incomplete) vs `- [x]` (complete).
68
+ 检查 task 完成度:统计 `- [ ]`(未完成)与 `- [x]`(已完成)。
69
69
 
70
- 4. **Show current progress**
70
+ 4. **展示当前进度**
71
71
 
72
- Display:
73
- - Progress: "N/M tasks complete"
74
- - Remaining tasks overview
72
+ 展示:
73
+ - 进度:"N/M tasks complete"
74
+ - 剩余任务概览
75
75
 
76
- 5. **Implement tasks (loop until done or blocked)**
76
+ 5. **实现 tasks(循环直到完成或阻塞)**
77
77
 
78
- For each pending task:
79
- - Show which task is being worked on
80
- - Make the code changes required
81
- - Keep changes minimal and focused
82
- - Mark task complete in the tasks file: `- [ ]` → `- [x]`
83
- - Continue to next task
78
+ 对每个待完成 task
79
+ - 展示当前正在处理的 task
80
+ - 完成所需代码修改
81
+ - 保持修改最小且聚焦
82
+ - tasks 文件中标记完成:`- [ ]` → `- [x]`
83
+ - 继续下一个 task
84
84
 
85
- **Pause if:**
86
- - Task is unclear ask for clarification
87
- - Implementation reveals a design issue suggest updating artifacts
88
- - Error or blocker encountered report and wait for guidance
89
- - User interrupts
85
+ **出现以下情况时暂停:**
86
+ - Task 不清晰请求澄清
87
+ - 实现暴露设计问题建议更新 Artifact
88
+ - 遇到错误或阻塞报告并等待指引
89
+ - 用户中断
90
90
 
91
- 6. **On completion or pause, show status**
91
+ 6. **完成或暂停时展示状态**
92
92
 
93
- Display:
94
- - Tasks completed this session
95
- - Overall progress: "N/M tasks complete"
96
- - If all done: suggest archive
97
- - If paused: explain why and wait for guidance
93
+ 展示:
94
+ - session 完成的 tasks
95
+ - 总体进度:"N/M tasks complete"
96
+ - 如果全部完成:建议归档
97
+ - 如果暂停:解释原因并等待指引
98
98
 
99
- ## 输出模板 & 高级话题 (Layer 3)
99
+ ## 3 层:输出模板与高级话题
100
100
 
101
101
  ### 输出模板
102
102
 
103
- **Output During Implementation**
103
+ **实现过程输出**
104
104
 
105
105
  ```
106
106
  ## Implementing: <change-name> (schema: <schema-name>)
@@ -114,7 +114,7 @@ Working on task 4/7: <task description>
114
114
  ✓ Task complete
115
115
  ```
116
116
 
117
- **Output On Completion**
117
+ **完成时输出**
118
118
 
119
119
  ```
120
120
  ## Implementation Complete
@@ -131,7 +131,7 @@ Working on task 4/7: <task description>
131
131
  All tasks complete! Ready to archive this change.
132
132
  ```
133
133
 
134
- **Output On Pause (Issue Encountered)**
134
+ **暂停时输出(遇到问题)**
135
135
 
136
136
  ```
137
137
  ## Implementation Paused
@@ -151,16 +151,16 @@ All tasks complete! Ready to archive this change.
151
151
  What would you like to do?
152
152
  ```
153
153
 
154
- ### Guardrails
155
- - Keep going through tasks until done or blocked
156
- - Always read context files before starting (from the apply instructions output)
157
- - If task is ambiguous, pause and ask before implementing
158
- - If implementation reveals issues, pause and suggest artifact updates
159
- - Keep code changes minimal and scoped to each task
160
- - Update task checkbox immediately after completing each task
161
- - Pause on errors, blockers, or unclear requirements - don't guess
162
- - Use contextFiles from CLI output, don't assume specific file names
163
- - **Hook blocked → no silent fallback**: If this skill is invoked because a coding subagent (specline-frontend-dev / specline-backend-dev) was blocked by a hook, you MUST first notify the user of the blocking cause and attempt diagnosis. Do not silently execute tasks that should have been handled by the blocked subagent. Reference the Hook Blocking Resolution Protocol in the specline-pipeline skill.
154
+ ### 约束
155
+ - 持续推进 tasks,直到完成或阻塞
156
+ - 开始前始终读取上下文文件(来自 apply 指令输出)
157
+ - task 有歧义时,先暂停询问,再实现
158
+ - 实现暴露问题时,暂停并建议更新 Artifact
159
+ - 保持代码修改最小化,并限定在当前 task 范围内
160
+ - 每完成一个 task,立即更新 checkbox
161
+ - 遇到错误、阻塞或需求不清时暂停,不要猜测
162
+ - 使用 CLI 输出中的 contextFiles,不要假设固定文件名
163
+ - **Hook blocked → no silent fallback**:如果本 Skill 是因为 coding subagentspecline-frontend-dev / specline-backend-dev)被 hook 阻断而被调用,必须先告知用户阻断原因并尝试诊断。不要静默执行本应由被阻断 subagent 处理的任务。参考 specline-pipeline Skill 中的 Hook Blocking Resolution Protocol
164
164
 
165
165
  ---
166
166
 
@@ -176,7 +176,7 @@ What would you like to do?
176
176
  | "这个任务没有测试也没关系,下一个任务会补" | 每个 Testable=true 的任务必须产出测试。推迟 = 不写。 |
177
177
  | "tasks.md 的 Covers 追溯链我不用管,代码写对就行" | Covers 链是 Spec → Code 的可追溯纽带。不维护它,Code Review 和测试失败定位都失去锚点。 |
178
178
 
179
- ## Verification Checklist
179
+ ## 验证清单
180
180
 
181
181
  每完成一个任务后自查,全部完成后终查:
182
182
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: specline-archive-change
3
- description: Archive a completed change in the experimental workflow. Use when the user wants to finalize and archive a change after implementation is complete.
3
+ description: 归档已完成的 Specline change。用于实现完成后 finalize archive change
4
4
  license: MIT
5
5
  compatibility: Compatible with specline.
6
6
  metadata:
@@ -9,11 +9,11 @@ metadata:
9
9
  generatedBy: "1.3.1"
10
10
  ---
11
11
 
12
- ## TL;DR (Layer 1)
12
+ ## 1 层:速览
13
13
 
14
14
  > **一句话**:归档已完成的 Specline change。
15
15
  > **入口**:`/specline-archive-change [change-name]`
16
- > **流程**:选 change → 检查完成度 → Delta spec sync 决策 → 移动目录 → 完成
16
+ > **流程**:选 change → 检查完成度 → Delta spec sync 决策 → 移动目录 → 归档后可选知识库更新建议 → 完成
17
17
 
18
18
  ### 归档前后目录结构变化
19
19
 
@@ -29,48 +29,48 @@ specline/changes/ specline/changes/
29
29
  │ └── specs/
30
30
  ```
31
31
 
32
- **Input**: Optionally specify a change name. If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes.
32
+ **输入**:可选传入 change name。若未传入,先判断能否从对话上下文推断;若模糊或有歧义,必须展示可用 change 让用户选择。
33
33
 
34
34
  ---
35
35
 
36
- ## Steps (Layer 2 — Happy Path)
36
+ ## 2 层:主流程
37
37
 
38
- 1. **If no change name provided, prompt for selection**
38
+ 1. **未提供 change name 时,请用户选择**
39
39
 
40
- Run `specline gate list --json` to get available changes. Use {{CONFIRM}} to let the user select.
40
+ 运行 `specline gate list --json` 获取可用 change。使用 {{CONFIRM}} 让用户选择。
41
41
 
42
- Show only active changes (not already archived).
43
- Include the schema used for each change if available.
42
+ 只展示活跃 change(不展示已归档项)。
43
+ 如果可用,展示每个 change 使用的 schema。
44
44
 
45
- **IMPORTANT**: Do NOT guess or auto-select a change. Always let the user choose.
45
+ **重要**:不要猜测或自动选择 change。始终让用户选择。
46
46
 
47
- 2. **Check artifact completion status**
47
+ 2. **检查 Artifact 完成状态**
48
48
 
49
- Run `specline gate artifacts --change "<name>" --json` to check artifact completion.
49
+ 运行 `specline gate artifacts --change "<name>" --json` 检查 Artifact 完成状态。
50
50
 
51
- Parse the JSON to understand:
52
- - `schemaName`: The workflow being used
53
- - `artifacts`: List of artifacts with their status (`done` or other)
51
+ 解析 JSON,确认:
52
+ - `schemaName`:当前使用的工作流
53
+ - `artifacts`:Artifact 列表及状态(`done` 或其他)
54
54
 
55
- **If any artifacts are not `done`:**
56
- - Display warning listing incomplete artifacts
57
- - Use {{CONFIRM}} to confirm user wants to proceed
58
- - Proceed if user confirms
55
+ **如果存在未 `done` Artifact:**
56
+ - 展示警告,列出未完成的 Artifact
57
+ - 使用 {{CONFIRM}} 确认用户是否继续
58
+ - 用户确认后继续
59
59
 
60
- 3. **Check task completion status**
60
+ 3. **检查 task 完成状态**
61
61
 
62
- Read the tasks file (typically `tasks.md`) to check for incomplete tasks.
62
+ 读取 tasks 文件(通常是 `tasks.md`),检查未完成任务。
63
63
 
64
- Count tasks marked with `- [ ]` (incomplete) vs `- [x]` (complete).
64
+ 统计 `- [ ]`(未完成)和 `- [x]`(已完成)的任务数量。
65
65
 
66
- **If incomplete tasks found:**
67
- - Display warning showing count of incomplete tasks
68
- - Use {{CONFIRM}} to confirm user wants to proceed
69
- - Proceed if user confirms
66
+ **如果发现未完成任务:**
67
+ - 展示警告,说明未完成任务数量
68
+ - 使用 {{CONFIRM}} 确认用户是否继续
69
+ - 用户确认后继续
70
70
 
71
- **If no tasks file exists:** Proceed without task-related warning.
71
+ **如果不存在 tasks 文件:** 不展示 task 相关警告,继续执行。
72
72
 
73
- 4. **Assess delta spec sync state**
73
+ 4. **评估 delta spec sync 状态**
74
74
 
75
75
  **决策流程:**
76
76
 
@@ -84,69 +84,130 @@ specline/changes/ specline/changes/
84
84
  └── 跳过 → 归档
85
85
  ```
86
86
 
87
- Check for delta specs at `specline/changes/<name>/specs/`. If none exist, proceed without sync prompt.
87
+ 检查 `specline/changes/<name>/specs/` 下是否存在 delta specs。若不存在,不提示 sync,直接继续。
88
88
 
89
- **If delta specs exist:**
90
- - Compare each delta spec with its corresponding main spec at `specline/specs/<capability>/spec.md`
91
- - Determine what changes would be applied (adds, modifications, removals, renames)
92
- - Show a combined summary before prompting
89
+ **如果存在 delta specs:**
90
+ - 将每个 delta spec `specline/specs/<capability>/spec.md` 中对应的 main spec 比较
91
+ - 判断将应用哪些变化(新增、修改、删除、重命名)
92
+ - 提示用户前先展示合并摘要
93
93
 
94
- **Prompt options:**
95
- - If changes needed: "Sync now (recommended)", "Archive without syncing"
96
- - If already synced: "Archive now", "Sync anyway", "Cancel"
94
+ **提示选项:**
95
+ - 需要同步时:"Sync now (recommended)", "Archive without syncing"
96
+ - 已同步时:"Archive now", "Sync anyway", "Cancel"
97
97
 
98
- If user chooses sync, {{DISPATCH}},role="general-purpose",prompt: "Use Skill tool to invoke specline-sync-specs for change '<name>'. Delta spec analysis: <include the analyzed delta spec summary>". Proceed to archive regardless of choice.
98
+ 如果用户选择 sync{{DISPATCH}},role="general-purpose",prompt: "Use Skill tool to invoke specline-sync-specs for change '<name>'. Delta spec analysis: <include the analyzed delta spec summary>"。无论用户是否选择 sync,之后都继续归档。
99
99
 
100
- 5. **Perform the archive**
100
+ 5. **执行归档**
101
101
 
102
- Create the archive directory if it doesn't exist:
102
+ 如果归档目录不存在,先创建:
103
103
  ```bash
104
104
  mkdir -p specline/changes/archive
105
105
  ```
106
106
 
107
- Generate target name using current date: `YYYY-MM-DD-<change-name>`
107
+ 使用当前日期生成目标名称:`YYYY-MM-DD-<change-name>`
108
108
 
109
- **Check if target already exists:**
110
- - If yes: Fail with error, suggest renaming existing archive or using different date
111
- - If no: Move the change directory to archive
109
+ **检查目标目录是否已存在:**
110
+ - 如果存在:失败并报错,建议重命名已有归档或使用不同日期
111
+ - 如果不存在:将 change 目录移动到 archive
112
112
 
113
113
  ```bash
114
114
  specline gate archive --execute --change <name>
115
115
  ```
116
116
 
117
- 6. **Display summary**
118
-
119
- Show archive completion summary including:
120
- - Change name
121
- - Schema that was used
122
- - Archive location
123
- - Whether specs were synced (if applicable)
124
- - Note about any warnings (incomplete artifacts/tasks)
125
-
126
- ### Output On Success
117
+ 6. **展示摘要**
118
+
119
+ 展示归档完成摘要,包括:
120
+ - Change 名称
121
+ - 使用的 schema
122
+ - 归档位置
123
+ - specs 是否已同步(如适用)
124
+ - 任何警告说明(Artifact/task 未完成)
125
+
126
+ 7. **归档后知识库更新建议**
127
+
128
+ 归档成功后,评估该 change 是否包含值得为未来 AI Agent 或维护者沉淀的知识。
129
+
130
+ **重要边界:**
131
+ - 该步骤发生在归档之后且是可选动作,绝不能阻塞归档成功。
132
+ - 更新任何知识文件前都必须先询问用户。
133
+ - 如果用户跳过更新,正常完成,不视为警告。
134
+ - 不要假设项目一定使用 `specline-knowledge`;它只是可能的知识落点之一。
135
+
136
+ **可检查输入:**
137
+ - `proposal.md` — 目的与范围
138
+ - `design.md` — 架构决策与替代方案
139
+ - `tasks.md` — 实际工作拆解与触达范围
140
+ - `specs/` — 用户可见能力变化
141
+ - `summary.md` — 最终归档摘要(如存在)
142
+
143
+ **当 change 包含以下内容时,建议更新知识库:**
144
+ - 新增或改变核心架构、pipeline 阶段行为、Agent 职责或 Skill 职责
145
+ - 新增或改变 CLI 命令、配置字段、公开接口、Hook 行为或用户可见工作流
146
+ - 新的长期项目概念或术语
147
+ - 有意义的设计决策、权衡或被拒绝的替代方案
148
+ - 未来维护者或 Agent 应知道的可复用操作指南
149
+ - 跨模块核心变更,且 `proposal.md`、`design.md` 或 `summary.md` 解释了长期有效的 why
150
+
151
+ **以下情况不建议更新知识库:**
152
+ - 没有长期设计变化的纯 bug 修复
153
+ - 仅 copy、注释、格式或 typo 修改
154
+ - 小范围本地测试更新
155
+ - 不应沉淀为长期项目知识的临时兼容修复
156
+
157
+ **如果不建议更新:**
158
+ - 在归档摘要中简短说明:`Knowledge: no update suggested`。
159
+
160
+ **如果建议更新:**
161
+ - 用简短列表展示可沉淀的知识。
162
+ - 询问用户是否现在更新知识库。
163
+ - 至少提供 `Update knowledge base` 和 `Skip` 两个选项。
164
+
165
+ **如果用户确认:**
166
+ 1. 先查找 `specline-knowledge` 风格结构:
167
+ - `AGENTS.md` 存在并链接到 `docs/knowledge/*`,或
168
+ - `docs/knowledge/` 存在。
169
+ 2. 如果找到,以 archive Artifact 为增量输入更新最相关的知识文件。优先选择:
170
+ - 架构或 pipeline 流程变化 → `docs/knowledge/architecture.md`
171
+ - 长期编码/工作流约定 → `docs/knowledge/conventions.md`
172
+ - CLI/config/API/Hook 参考 → `docs/knowledge/reference.md`
173
+ - 可复用操作流程 → `docs/knowledge/howtos/`
174
+ - 重大决策和权衡 → `docs/knowledge/decisions/`
175
+ - 长期概念 → `docs/knowledge/glossary.md`
176
+ 3. 如果不存在 `specline-knowledge` 结构,查找项目自有的可能知识落点:
177
+ - `AGENTS.md`, `CLAUDE.md`, `CURSOR.md`, `.cursor/rules/`
178
+ - `docs/adr/`, `docs/decisions/`, `docs/architecture/`
179
+ - 仅当 change 影响用户可见行为或安装配置时,才考虑 `README.md`
180
+ 4. 如果合适落点很明显,告知用户计划更新的位置,并在编辑前确认。
181
+ 5. 如果没有明显落点,询问用户知识应写到哪里。
182
+
183
+ ### 成功输出
127
184
 
128
185
  ```
129
- ## Archive Complete
186
+ ## 归档完成
130
187
 
131
188
  **Change:** <change-name>
132
189
  **Schema:** <schema-name>
133
190
  **Archived to:** specline/changes/archive/YYYY-MM-DD-<name>/
134
191
  **Specs:** ✓ Synced to main specs (or "No delta specs" or "Sync skipped")
192
+ **Knowledge:** No update suggested / Suggested and skipped / Updated <path>
135
193
 
136
194
  All artifacts complete. All tasks complete.
137
195
  ```
138
196
 
139
197
  ---
140
198
 
141
- ## Guardrails (Layer 3 — 高级话题)
199
+ ## 3 层:约束与高级话题
142
200
 
143
- - Always prompt for change selection if not provided
144
- - Use artifact graph (specline gate artifacts --json) for completion checking
145
- - Don't block archive on warnings - just inform and confirm
146
- - Preserve .specline.yaml when moving to archive (it moves with the directory)
147
- - Show clear summary of what happened
148
- - If sync is requested, use specline-sync-specs approach (agent-driven)
149
- - If delta specs exist, always run the sync assessment and show the combined summary before prompting
201
+ - 未提供 change 时,始终提示用户选择
202
+ - 使用 Artifact 图(`specline gate artifacts --json`)检查完成度
203
+ - 警告不阻塞归档,只需告知并确认
204
+ - 移动到 archive 时保留 `.specline.yaml`(随目录一起移动)
205
+ - 清晰展示发生了什么
206
+ - 如果请求 sync,使用 specline-sync-specs 方案(Agent 驱动)
207
+ - 如果存在 delta specs,始终执行 sync 评估,并在提示用户前展示合并摘要
208
+ - 仅在归档成功后运行知识库更新建议,绝不把它变成 Gate
209
+ - 没有用户明确确认时,绝不更新知识文件
210
+ - 不要假设项目使用 `specline-knowledge`;探测可能的知识落点,歧义时询问用户
150
211
 
151
212
  ---
152
213
 
@@ -160,8 +221,10 @@ All artifacts complete. All tasks complete.
160
221
  | "Delta spec 不用同步,下次再说" | 未同步的 Delta spec 意味着 spec 与代码脱节。归档后几乎不会再有人回来补。 |
161
222
  | "归档就是移动目录,不需要通知用户" | 归档改变了 change 的可见性和可修改性。用户需要知道发生了什么。 |
162
223
  | "警告不用管,自动继续就行" | 警告(artifact 不完整、task 未完成)是信号。归档时应确认而非忽略。 |
224
+ | "知识库更新也算归档完成条件" | 知识沉淀是归档后的可选收尾动作。用户跳过时 pipeline 仍然成功完成。 |
225
+ | "项目一定用 specline-knowledge" | 用户项目可能有自己的 AGENTS.md、CLAUDE.md、ADR 或 README 维护方式。先探测,再确认,找不到就问。 |
163
226
 
164
- ## Verification Checklist
227
+ ## 验证清单
165
228
 
166
229
  归档前自查:
167
230
 
@@ -171,3 +234,5 @@ All artifacts complete. All tasks complete.
171
234
  - [ ] Delta spec sync 决策已完成(存在则展示摘要→询问;不存在则跳过)
172
235
  - [ ] 归档目录已创建(`specline/changes/archive/YYYY-MM-DD-<name>/`)
173
236
  - [ ] 归档摘要已展示给用户
237
+ - [ ] 归档成功后已判断是否需要知识库更新建议
238
+ - [ ] 若建议更新知识库,已由用户确认后才写入;跳过不视为失败