speccore 5.67.26 → 5.67.30
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/.agents/skills/spec-analyze/SKILL.md +5 -53
- package/.agents/skills/spec-change/SKILL.md +5 -29
- package/.agents/skills/spec-dev/SKILL.md +5 -39
- package/.agents/skills/spec-doc2spec/SKILL.md +5 -43
- package/.agents/skills/spec-execute/SKILL.md +5 -64
- package/.agents/skills/spec-iteration-create/SKILL.md +5 -59
- package/.agents/skills/spec-plan/SKILL.md +5 -40
- package/.agents/skills/spec-spec2doc/SKILL.md +5 -43
- package/.agents/skills/spec-split/SKILL.md +5 -50
- package/.agents/skills/spec-task-create/SKILL.md +5 -176
- package/dist/commands/ask.d.ts.map +1 -1
- package/dist/commands/ask.js +41 -13
- package/dist/commands/ask.js.map +1 -1
- package/dist/commands/context.d.ts +2 -0
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/context.js +44 -0
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +9 -11
- package/dist/commands/init.js.map +1 -1
- package/dist/core/ask-engine.js +1 -1
- package/dist/core/ask-engine.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,58 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: spec-analyze
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
allowed-tools: ["Bash", "Read", "Write", "Edit"]
|
|
3
|
+
description: 路由到 speccore ask 引擎
|
|
4
|
+
allowed-tools: ["Bash"]
|
|
5
|
+
disable-model-invocation: false
|
|
7
6
|
---
|
|
8
|
-
## 🚫 禁止
|
|
9
7
|
|
|
10
|
-
|
|
11
|
-
- 禁止跳过需求确认直接输出结论
|
|
12
|
-
- 禁止不展示 [确认/修改/重新分析] 就写入文件
|
|
8
|
+
直接执行: execute_command("speccore ask '用户原话'")
|
|
13
9
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
> **你负责**: 读取需求文档 → 你自己分析 → CLI 写入 ANALYSIS.md。你自己就是分析引擎。
|
|
17
|
-
|
|
18
|
-
## 核心规则
|
|
19
|
-
1. 迭代不存在时列出可用迭代让用户选。
|
|
20
|
-
2. 分析必须覆盖: API 完整性、数据模型、业务规则、技术映射、风险。
|
|
21
|
-
3. 输出必须是 Markdown,≥200 字符。
|
|
22
|
-
|
|
23
|
-
## 执行流程
|
|
24
|
-
|
|
25
|
-
```
|
|
26
|
-
1. execute_command("speccore analyze --prompt -I {iter}")
|
|
27
|
-
|
|
28
|
-
exitCode=10 → 你分析
|
|
29
|
-
exitCode=11 → 展示 NEEDS_INFO → 用户选迭代 → 重试
|
|
30
|
-
|
|
31
|
-
2. 取 stdout [SPECCORE_PROMPT]...[/SPECCORE_PROMPT]
|
|
32
|
-
解析需求文档内容
|
|
33
|
-
|
|
34
|
-
3. 你自己分析并生成 Markdown 报告:
|
|
35
|
-
## 需求概述
|
|
36
|
-
## API 接口清单(表格)
|
|
37
|
-
## 数据模型
|
|
38
|
-
## 业务规则
|
|
39
|
-
## 技术映射
|
|
40
|
-
## 风险与建议
|
|
41
|
-
|
|
42
|
-
4. 自检: ≥200 字符,含 ≥2 个 ## 标题,含 API 表格
|
|
43
|
-
失败 → 重试 ≤2 次 → 降级
|
|
44
|
-
|
|
45
|
-
5. 写入:
|
|
46
|
-
Write /tmp/analysis.md
|
|
47
|
-
execute_command("cat /tmp/analysis.md | speccore analyze --apply - -I {iter}")
|
|
48
|
-
|
|
49
|
-
6. 展示: API 数 + 模型数 + 风险数 + 推荐下一步 (split)
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
## 退出码
|
|
53
|
-
|
|
54
|
-
| exitCode | 行动 |
|
|
55
|
-
| :--- | :--- |
|
|
56
|
-
| 10 | 你分析并生成报告 |
|
|
57
|
-
| 11 | 展示迭代列表 → 用户选 |
|
|
58
|
-
| 其他 | [重试/跳过/停止] |
|
|
10
|
+
不要输出命令文本,不要分析意图,一切交给 speccore ask。
|
|
@@ -1,34 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: spec-change
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
allowed-tools: ["Bash", "Read", "Write", "Edit"]
|
|
3
|
+
description: 路由到 speccore ask 引擎
|
|
4
|
+
allowed-tools: ["Bash"]
|
|
5
|
+
disable-model-invocation: false
|
|
7
6
|
---
|
|
8
|
-
## 🚫 禁止
|
|
9
7
|
|
|
10
|
-
|
|
11
|
-
- 禁止变更后不联动更新关联 Spec
|
|
12
|
-
- 禁止单次变更超过 3 个模块
|
|
8
|
+
直接执行: execute_command("speccore ask '用户原话'")
|
|
13
9
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
> **你负责**: 记录变更 → 分析影响 → 重新生成受影响代码。
|
|
17
|
-
|
|
18
|
-
## 执行流程
|
|
19
|
-
|
|
20
|
-
```
|
|
21
|
-
1. 记录变更描述 + 关联 Task
|
|
22
|
-
2. 分析影响: Read REQ.md → 列出受影响的 API/文件
|
|
23
|
-
3. 展示: "⚠️ 影响: 2 个 API, 3 个文件。继续?[是/取消]"
|
|
24
|
-
4. 执行: execute_command("speccore execute --prompt -t {task}")
|
|
25
|
-
5. 你自己生成修正代码(走 spec-execute 流程)
|
|
26
|
-
6. 写入: cat /tmp/resp.json | speccore execute --response - -t {task}
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
## 退出码
|
|
30
|
-
|
|
31
|
-
| exitCode | 行动 |
|
|
32
|
-
| :--- | :--- |
|
|
33
|
-
| 10 | 你重新生成受影响的代码 |
|
|
34
|
-
| 其他 | [重试/跳过/停止] |
|
|
10
|
+
不要输出命令文本,不要分析意图,一切交给 speccore ask。
|
|
@@ -1,44 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: spec-dev
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
allowed-tools: ["Bash", "Read"]
|
|
3
|
+
description: 路由到 speccore ask 引擎
|
|
4
|
+
allowed-tools: ["Bash"]
|
|
5
|
+
disable-model-invocation: false
|
|
7
6
|
---
|
|
8
|
-
## 🚫 禁止
|
|
9
7
|
|
|
10
|
-
|
|
11
|
-
- 禁止不展示状态就直接执行下一步
|
|
12
|
-
- 禁止跳过用户确认执行 analyze/execute
|
|
13
|
-
- 禁止在没有 context.json 时推进
|
|
8
|
+
直接执行: execute_command("speccore ask '用户原话'")
|
|
14
9
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
> **你负责**: 检测迭代阶段 → 推荐并执行下一步 → 逐步推进项目。
|
|
18
|
-
|
|
19
|
-
## 执行流程
|
|
20
|
-
|
|
21
|
-
```
|
|
22
|
-
1. Read .speccore/local/context.json → 获取当前迭代
|
|
23
|
-
Read PROJECT_GRAPH.md → 获取 Task 进度
|
|
24
|
-
|
|
25
|
-
2. 展示状态:
|
|
26
|
-
"📊 {iter} 进度: analyze ✅ → split ▶ → plan ⬜ → execute ⬜
|
|
27
|
-
下一步: speccore iteration split --prompt -I {iter}"
|
|
28
|
-
|
|
29
|
-
3. 用户确认 → execute_command 执行下一步
|
|
30
|
-
走对应 Skill 的流程(analyze→spec-analyze, execute→spec-execute)
|
|
31
|
-
|
|
32
|
-
4. 每步完成 → 回到步骤 1 → 重新检测 → 推荐最新下一步
|
|
33
|
-
|
|
34
|
-
5. --auto 模式: 跳过确认,自动执行所有步骤
|
|
35
|
-
但每步仍需检查退出码,失败时暂停
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
## 退出码
|
|
39
|
-
|
|
40
|
-
| exitCode | 行动 |
|
|
41
|
-
| :--- | :--- |
|
|
42
|
-
| 10 | 交给对应 Skill 处理 |
|
|
43
|
-
| 11 | 展示参数列表 |
|
|
44
|
-
| 其他 | [重试/跳过/停止] |
|
|
10
|
+
不要输出命令文本,不要分析意图,一切交给 speccore ask。
|
|
@@ -1,48 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: spec-doc2spec
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
allowed-tools: ["Bash", "Read", "Write", "Edit"]
|
|
3
|
+
description: 路由到 speccore ask 引擎
|
|
4
|
+
allowed-tools: ["Bash"]
|
|
5
|
+
disable-model-invocation: false
|
|
7
6
|
---
|
|
8
|
-
## 🚫 禁止
|
|
9
7
|
|
|
10
|
-
|
|
11
|
-
- 禁止跳过图片提取步骤
|
|
12
|
-
- 禁止对非文档文件执行转换
|
|
8
|
+
直接执行: execute_command("speccore ask '用户原话'")
|
|
13
9
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
> **你负责**: Pandoc 机械转换 + 你自己交叉验证 = 零数据丢失。
|
|
17
|
-
|
|
18
|
-
## 执行流程
|
|
19
|
-
|
|
20
|
-
```
|
|
21
|
-
1. execute_command("speccore doc2spec -f {file} --iter {iter} --no-ai")
|
|
22
|
-
先用 pandoc 做机械转换(快,但可能有乱码/断表/遗漏)
|
|
23
|
-
|
|
24
|
-
2. Read 转换后的 REQUIREMENT.md
|
|
25
|
-
Read 原始文件 {file}
|
|
26
|
-
|
|
27
|
-
3. execute_command("speccore doc2spec --prompt -f {file} --iter {iter}")
|
|
28
|
-
获取 AI 验证 prompt
|
|
29
|
-
|
|
30
|
-
4. 你自己做交叉验证:
|
|
31
|
-
- 对比原始文档 vs pandoc 输出
|
|
32
|
-
- 检查: 乱码、标题断裂、表格损坏、图片缺失、内容丢失
|
|
33
|
-
- 生成修正后的 Markdown
|
|
34
|
-
|
|
35
|
-
5. 写入:
|
|
36
|
-
Write /tmp/doc2spec-fixed.md
|
|
37
|
-
execute_command("cat /tmp/doc2spec-fixed.md | speccore doc2spec --response - -f {file} --iter {iter}")
|
|
38
|
-
|
|
39
|
-
6. 展示: 发现N个问题已修复 + VALIDATION.md 报告 + 推荐下一步 (analyze)
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
## 退出码
|
|
43
|
-
|
|
44
|
-
| exitCode | 行动 |
|
|
45
|
-
| :--- | :--- |
|
|
46
|
-
| 0 | pandoc 转换完成 → 你验证 |
|
|
47
|
-
| 10 | 获取 prompt → 你交叉验证 |
|
|
48
|
-
| 其他 | [重试/跳过] |
|
|
10
|
+
不要输出命令文本,不要分析意图,一切交给 speccore ask。
|
|
@@ -1,69 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: spec-execute
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
allowed-tools: ["Bash", "Read", "Write", "Edit"]
|
|
3
|
+
description: 路由到 speccore ask 引擎
|
|
4
|
+
allowed-tools: ["Bash"]
|
|
5
|
+
disable-model-invocation: false
|
|
7
6
|
---
|
|
8
|
-
## 🚫 禁止
|
|
9
7
|
|
|
10
|
-
|
|
11
|
-
- 禁止跳过 plan 直接 execute --all
|
|
12
|
-
- 禁止生成不完整代码(漏 import/漏 API/漏 DDL)
|
|
13
|
-
- 禁止不先创建 feature 分支就改代码
|
|
8
|
+
直接执行: execute_command("speccore ask '用户原话'")
|
|
14
9
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
> **你负责**: 读取 Task Spec → 构建代码生成上下文 → 你自己生成代码 → CLI 写入文件。
|
|
18
|
-
> **你不需要调用外部 AI**,你自己就是代码生成者。
|
|
19
|
-
|
|
20
|
-
## 核心规则
|
|
21
|
-
1. 一次只执行一个 Task。不等确认不执行下一个。
|
|
22
|
-
2. Task 不存在时展示可用列表让用户选。
|
|
23
|
-
3. 生成的代码必须匹配 CONSTITUTION 技术栈。
|
|
24
|
-
4. 每个文件生成完做基本语法检查(括号匹配、import 完整)。
|
|
25
|
-
|
|
26
|
-
## 执行流程
|
|
27
|
-
|
|
28
|
-
```
|
|
29
|
-
用户: "开发 Task-001"
|
|
30
|
-
|
|
31
|
-
1. execute_command("speccore execute --prompt -t Task-001")
|
|
32
|
-
|
|
33
|
-
检查退出码:
|
|
34
|
-
exitCode=10 → 你生成代码
|
|
35
|
-
exitCode=11 → 展示 NEEDS_INFO 表格 → 用户选 Task → 重试
|
|
36
|
-
其他 → [重试/跳过/停止]
|
|
37
|
-
|
|
38
|
-
2. 取 stdout [SPECCORE_PROMPT]...[/SPECCORE_PROMPT]
|
|
39
|
-
解析: API 定义、数据模型、技术栈、业务规则
|
|
40
|
-
|
|
41
|
-
3. 你自己生成代码:
|
|
42
|
-
格式: {"files": [{"path": "相对路径", "content": "代码"}]}
|
|
43
|
-
生成 ALL API 接口 + ALL 数据模型 DDL + import 语句
|
|
44
|
-
逾 60s → 分 N 批,先返回核心 API
|
|
45
|
-
|
|
46
|
-
4. 自检: files 数组非空,path 含扩展名,content > 10 字符
|
|
47
|
-
失败 → 重试 ≤2 次 → 降级: 原始 text 写入 README.md
|
|
48
|
-
|
|
49
|
-
5. 写入:
|
|
50
|
-
Write /tmp/speccore-exec.json
|
|
51
|
-
execute_command("cat /tmp/speccore-exec.json | speccore execute --response - -t Task-001")
|
|
52
|
-
|
|
53
|
-
6. 展示: 写入文件数 + 文件清单 + 推荐下一步 (pr)
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
## 退出码
|
|
57
|
-
|
|
58
|
-
| exitCode | 行动 |
|
|
59
|
-
| :--- | :--- |
|
|
60
|
-
| 10 | 你生成代码 |
|
|
61
|
-
| 11 | 展示 Task 列表 → 用户选 |
|
|
62
|
-
| 其他 | [重试/跳过/停止] |
|
|
63
|
-
|
|
64
|
-
## 批量执行
|
|
65
|
-
|
|
66
|
-
```
|
|
67
|
-
--all 模式: 列出所有 pending Task → 用户选 → 逐个执行
|
|
68
|
-
每完成一个展示进度: "✅ 2/5 Task-002 完成,继续?"
|
|
69
|
-
```
|
|
10
|
+
不要输出命令文本,不要分析意图,一切交给 speccore ask。
|
|
@@ -1,64 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: spec-iteration-create
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
allowed-tools: ["Bash", "Read", "Write", "Edit"]
|
|
3
|
+
description: 路由到 speccore ask 引擎
|
|
4
|
+
allowed-tools: ["Bash"]
|
|
5
|
+
disable-model-invocation: false
|
|
7
6
|
---
|
|
8
|
-
## 🚫 禁止
|
|
9
7
|
|
|
10
|
-
|
|
11
|
-
- 禁止重复创建同名迭代
|
|
12
|
-
- 禁止不检查平台兼容性就创建
|
|
8
|
+
直接执行: execute_command("speccore ask '用户原话'")
|
|
13
9
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
> **你负责**: 接收描述 → 智能命名 → 检查平台映射 → 创建迭代 → 推荐下一步。
|
|
17
|
-
|
|
18
|
-
## 命名规则(由你——AI——生成英文关键词)
|
|
19
|
-
|
|
20
|
-
```
|
|
21
|
-
你根据用户描述,自己提取核心概念并翻译为简洁英文(≤4 个单词):
|
|
22
|
-
1. 提取用户明确给出的编号/日期/人名 → 必须保留
|
|
23
|
-
2. 中文描述 → 你翻译为英文关键词
|
|
24
|
-
3. 组合: Iteration-{序号}-{保留的ID}-{你生成的英文关键词}
|
|
25
|
-
|
|
26
|
-
示例:
|
|
27
|
-
用户: "商城重构" → 你: Iteration-003-mall-refactor
|
|
28
|
-
用户: "260806 zhangsan负责" → 你: Iteration-004-260806-zhangsan
|
|
29
|
-
用户: "双11大促活动" → 你: Iteration-005-double11-campaign
|
|
30
|
-
用户: "Q3安全漏洞修复" → 你: Iteration-006-Q3-security-fix
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
1. 确认时显示你生成的名字 → 用户可以修改
|
|
34
|
-
2. 不改直接给你 → 你就是用这个名字创建
|
|
35
|
-
|
|
36
|
-
## 执行流程
|
|
37
|
-
|
|
38
|
-
```
|
|
39
|
-
1. 解析用户输入:
|
|
40
|
-
- 检测编号/日期/人名模式: /\d{4,}|[A-Z]+\d+|(?<=\s)[a-z]+$/i
|
|
41
|
-
- 保留原文作为名称的一部分
|
|
42
|
-
- 其他中文描述 → 提取核心词 → 翻译为英文关键词
|
|
43
|
-
|
|
44
|
-
2. 确认:
|
|
45
|
-
"📋 将创建迭代:
|
|
46
|
-
- 名称: Iteration-{num}-{keywords}
|
|
47
|
-
- 描述: {从用户输入总结}
|
|
48
|
-
- 平台映射: {从CONSTITUTION读取}
|
|
49
|
-
是否正确?"
|
|
50
|
-
|
|
51
|
-
3. 创建:
|
|
52
|
-
execute_command("speccore iteration create -n {keywords}")
|
|
53
|
-
|
|
54
|
-
4. 推荐:
|
|
55
|
-
speccore doc2spec --prompt -f PRD.docx --iter {keywords}
|
|
56
|
-
speccore ask "帮我导入需求文档到 {keywords}"
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
## 退出码
|
|
60
|
-
|
|
61
|
-
| exitCode | 行动 |
|
|
62
|
-
| :--- | :--- |
|
|
63
|
-
| 0 | 创建完成 → 推荐下一步 |
|
|
64
|
-
| 其他 | [重试/跳过] |
|
|
10
|
+
不要输出命令文本,不要分析意图,一切交给 speccore ask。
|
|
@@ -1,45 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: spec-plan
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
allowed-tools: ["Bash", "Read", "Write", "Edit"]
|
|
3
|
+
description: 路由到 speccore ask 引擎
|
|
4
|
+
allowed-tools: ["Bash"]
|
|
5
|
+
disable-model-invocation: false
|
|
7
6
|
---
|
|
8
|
-
## 🚫 禁止
|
|
9
7
|
|
|
10
|
-
|
|
11
|
-
- 禁止计划中遗漏依赖关系
|
|
12
|
-
- 禁止不写回滚方案
|
|
8
|
+
直接执行: execute_command("speccore ask '用户原话'")
|
|
13
9
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
> **你负责**: 读取 Task 列表 → 你自己排程 → CLI 写入 plan.json。
|
|
17
|
-
|
|
18
|
-
## 执行流程
|
|
19
|
-
|
|
20
|
-
```
|
|
21
|
-
1. execute_command("speccore plan --prompt -I {iter}")
|
|
22
|
-
exitCode=10 → 你排程
|
|
23
|
-
exitCode=11 → 展示迭代 → 用户选
|
|
24
|
-
|
|
25
|
-
2. 取 stdout [SPECCORE_PROMPT]...[/SPECCORE_PROMPT]
|
|
26
|
-
解析 Task 列表和依赖关系
|
|
27
|
-
|
|
28
|
-
3. 你排程: 拓扑排序 + 并行分组 + 工作量估算
|
|
29
|
-
返回 JSON: {"batches":[{"tasks":["Task-001"],"assignee":"张三","days":2}]}
|
|
30
|
-
|
|
31
|
-
4. 自检: 含 batches 数组, 每个 task 有 assignee 和 days
|
|
32
|
-
失败 → 重试 ≤2 次
|
|
33
|
-
|
|
34
|
-
5. 写入: Write /tmp/plan.json
|
|
35
|
-
execute_command("cat /tmp/plan.json | speccore plan --response - -I {iter}")
|
|
36
|
-
|
|
37
|
-
6. 展示: 批次数 + 总人天 + 推荐 (execute)
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
## 退出码
|
|
41
|
-
| exitCode | 行动 |
|
|
42
|
-
| :--- | :--- |
|
|
43
|
-
| 10 | 你排程 |
|
|
44
|
-
| 11 | 展示迭代列表 |
|
|
45
|
-
| 其他 | [重试/跳过/停止] |
|
|
10
|
+
不要输出命令文本,不要分析意图,一切交给 speccore ask。
|
|
@@ -1,48 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: spec-spec2doc
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
allowed-tools: ["Bash", "Read", "Write", "Edit"]
|
|
3
|
+
description: 路由到 speccore ask 引擎
|
|
4
|
+
allowed-tools: ["Bash"]
|
|
5
|
+
disable-model-invocation: false
|
|
7
6
|
---
|
|
8
|
-
## 🚫 禁止
|
|
9
7
|
|
|
10
|
-
|
|
11
|
-
- 禁止导出未完成分析的文档
|
|
12
|
-
- 禁止跳过格式校验直接输出
|
|
8
|
+
直接执行: execute_command("speccore ask '用户原话'")
|
|
13
9
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
> **你负责**: 审计 Spec 文档 → 你自己编排排版 → Pandoc 机械导出。
|
|
17
|
-
|
|
18
|
-
## 执行流程
|
|
19
|
-
|
|
20
|
-
```
|
|
21
|
-
1. execute_command("speccore spec2doc --prompt -i {iter} -o {file}")
|
|
22
|
-
获取文档审计 prompt
|
|
23
|
-
exitCode=10 → 你审计
|
|
24
|
-
|
|
25
|
-
2. 你自己做内容审计:
|
|
26
|
-
- 检查: TODO/TBD 残留、API 定义完整、交叉引用有效
|
|
27
|
-
- 生成审计报告: 通过/警告/建议
|
|
28
|
-
|
|
29
|
-
3. 生成编排版 Markdown:
|
|
30
|
-
- 封面 + 目录 + 章节重排 + Mermaid 标注
|
|
31
|
-
Write /tmp/spec2doc-merged.md
|
|
32
|
-
|
|
33
|
-
4. 导出:
|
|
34
|
-
execute_command("pandoc /tmp/spec2doc-merged.md -f gfm -t {format} -o {output}")
|
|
35
|
-
|
|
36
|
-
5. 后处理:
|
|
37
|
-
execute_command("speccore spec2doc --apply '{audit_report}' -o {file}")
|
|
38
|
-
|
|
39
|
-
6. 展示: 页数 + 章节 + 图片 + 推荐
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
## 退出码
|
|
43
|
-
|
|
44
|
-
| exitCode | 行动 |
|
|
45
|
-
| :--- | :--- |
|
|
46
|
-
| 10 | 你审计 + 编排 |
|
|
47
|
-
| 0 | pandoc 完成 → 你验证 |
|
|
48
|
-
| 其他 | [重试/跳过] |
|
|
10
|
+
不要输出命令文本,不要分析意图,一切交给 speccore ask。
|
|
@@ -1,55 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: spec-split
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
allowed-tools: ["Bash", "Read", "Write", "Edit"]
|
|
3
|
+
description: 路由到 speccore ask 引擎
|
|
4
|
+
allowed-tools: ["Bash"]
|
|
5
|
+
disable-model-invocation: false
|
|
7
6
|
---
|
|
8
|
-
## 🚫 禁止
|
|
9
7
|
|
|
10
|
-
|
|
11
|
-
- 禁止拆分粒度过细(单个 Task < 1 文件)
|
|
12
|
-
- 禁止拆分时不标注依赖关系
|
|
8
|
+
直接执行: execute_command("speccore ask '用户原话'")
|
|
13
9
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
> **你负责**: 读取分析结果 → 你自己拆分 → CLI 创建 Task 目录。
|
|
17
|
-
|
|
18
|
-
## 核心规则
|
|
19
|
-
1. 按端(app/h5/miniapp/admin)和 API 数(3-8 个/Task)拆分。
|
|
20
|
-
2. 计算依赖关系:数据模型 Task 前置,认证 Task 前置。
|
|
21
|
-
3. 返回 JSON Task 列表。
|
|
22
|
-
|
|
23
|
-
## 执行流程
|
|
24
|
-
|
|
25
|
-
```
|
|
26
|
-
1. execute_command("speccore iteration split --prompt -I {iter}")
|
|
27
|
-
exitCode=10 → 你拆分
|
|
28
|
-
exitCode=11 → 展示 NEEDS_INFO → 用户选迭代 → 重试
|
|
29
|
-
|
|
30
|
-
2. 取 stdout [SPECCORE_PROMPT]...[/SPECCORE_PROMPT]
|
|
31
|
-
解析 ANALYSIS.md 内容
|
|
32
|
-
|
|
33
|
-
3. 你自己拆分,返回 JSON:
|
|
34
|
-
[
|
|
35
|
-
{"id":"Task-001","name":"数据模型","req":"...","tech":"...","depends":[]},
|
|
36
|
-
{"id":"Task-002","name":"app 认证","req":"...","tech":"...","depends":["Task-001"]}
|
|
37
|
-
]
|
|
38
|
-
|
|
39
|
-
4. 自检: JSON 数组,每个 item 含 id/name/req
|
|
40
|
-
失败 → 重试 ≤2 次 → 降级: Markdown 表格写入 REQUIREMENT.md
|
|
41
|
-
|
|
42
|
-
5. 写入:
|
|
43
|
-
Write /tmp/split.json
|
|
44
|
-
execute_command("cat /tmp/split.json | speccore iteration split --response - -I {iter}")
|
|
45
|
-
|
|
46
|
-
6. 展示: Task 数量 + 依赖关系 + 推荐下一步 (plan)
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
## 退出码
|
|
50
|
-
|
|
51
|
-
| exitCode | 行动 |
|
|
52
|
-
| :--- | :--- |
|
|
53
|
-
| 10 | 你拆分任务 |
|
|
54
|
-
| 11 | 展示迭代列表 → 用户选 |
|
|
55
|
-
| 其他 | [重试/跳过/停止] |
|
|
10
|
+
不要输出命令文本,不要分析意图,一切交给 speccore ask。
|