speccore 5.67.33 → 5.67.34
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-ask/SKILL.md +47 -150
- package/package.json +1 -1
|
@@ -1,170 +1,67 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: spec-ask
|
|
3
3
|
description: >
|
|
4
|
-
SpecCore
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
Always invoked via execute_command("speccore ask '...'").
|
|
4
|
+
SpecCore 意图引擎 — 宿主 AI 语义分析入口。
|
|
5
|
+
所有用户操作走此 Skill,AI 负责:理解意图 → 拼命令 → 确认 → 逐步执行。
|
|
6
|
+
Always invoked via execute_command("speccore ask '用户原话'").
|
|
8
7
|
allowed-tools: ["Bash", "Read", "Write", "Edit"]
|
|
9
8
|
disable-model-invocation: false
|
|
10
9
|
---
|
|
11
|
-
## 🚫 禁止
|
|
12
10
|
|
|
13
|
-
|
|
14
|
-
- 禁止在 pipeline 未完成时跳到下一步
|
|
15
|
-
- 禁止无用户确认时执行破坏性操作
|
|
16
|
-
- 禁止输出 speccore 命令给用户
|
|
17
|
-
- 禁止重复执行已完成的 SPECCORE_AUTO_RESULT
|
|
11
|
+
# SpecCore Ask — AI 语义分析引擎
|
|
18
12
|
|
|
19
|
-
|
|
13
|
+
## 核心原则
|
|
20
14
|
|
|
21
|
-
|
|
22
|
-
|
|
15
|
+
1. **总是先确认再干活** — 理解用户意图后,展示执行计划让用户确认
|
|
16
|
+
2. **逐步执行不跳步** — 确认后按步骤逐一执行,每步检查结果
|
|
17
|
+
3. **有歧义就问** — 不确定的时候问用户,不要猜
|
|
18
|
+
4. **需要 AI 生成内容的命令加 --prompt** — analyze/plan/execute
|
|
23
19
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
## 核心规则
|
|
27
|
-
|
|
28
|
-
1. 一次一个命令。不等用户确认不执行下一个。
|
|
29
|
-
2. 每次执行完检查退出码,按速查表行事。
|
|
30
|
-
3. 参数缺了让用户选,不猜。
|
|
31
|
-
4. 你自己生成的内容必须校验格式。失败重试 ≤ 2 次。
|
|
32
|
-
5. Pipeline 每步完成等用户确认。
|
|
33
|
-
6. 执行完成展示摘要 + 推荐下一步。
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
## 步骤 0: 判断输入类型
|
|
38
|
-
|
|
39
|
-
```
|
|
40
|
-
判断标准(按顺序检查):
|
|
41
|
-
|
|
42
|
-
IF 含 "?"/"吗"/"怎么"/"是什么"/"如何" AND 不是明确动作词(分析/执行/拆分/开发/导入)
|
|
43
|
-
→ 分支 C (explain)
|
|
44
|
-
ELSE IF 含 "然后"/"再"/"接着"/"最后"/"全流程"/"从头"
|
|
45
|
-
→ 分支 D (pipeline)
|
|
46
|
-
ELSE IF 有意向性的动词("帮我"/"做"/"跑"/"执行")
|
|
47
|
-
→ 步骤 1 (意图识别)
|
|
48
|
-
ELSE
|
|
49
|
-
→ 分支 C (explain) — 默认解释/查询
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
---
|
|
53
|
-
|
|
54
|
-
## 步骤 1: 意图识别
|
|
55
|
-
|
|
56
|
-
```
|
|
57
|
-
执行: speccore ask "{用户输入}"
|
|
58
|
-
从 stdout 第一行提取 [SPECCORE_MODE: xxx] → 进对应分支
|
|
59
|
-
若无标记 → 用步骤 0 标准判断
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
---
|
|
63
|
-
|
|
64
|
-
## 分支 A: match — 单命令
|
|
65
|
-
|
|
66
|
-
```
|
|
67
|
-
A-FAIL: 低置信 → 请用户重新描述
|
|
68
|
-
|
|
69
|
-
A1. 补参:
|
|
70
|
-
Read .speccore/local/context.json → 获取 currentIteration/currentTask
|
|
71
|
-
仍缺 → execute_command("speccore {cmd} --prompt {有参}")
|
|
72
|
-
exitCode=11 → 读 NEEDS_INFO 表格 → 用户选 → 重试
|
|
73
|
-
|
|
74
|
-
A2. 确认(最多 3 轮追问):
|
|
75
|
-
"📋 执行: speccore {cmd} --prompt {params} [是/改/停]"
|
|
76
|
-
|
|
77
|
-
A3. 执行:
|
|
78
|
-
execute_command("speccore {cmd} --prompt {params}")
|
|
79
|
-
exitCode=0 → 步骤 4
|
|
80
|
-
exitCode=10 → A4
|
|
81
|
-
exitCode=11 → A1
|
|
82
|
-
其他 → [重试/跳过/停止]
|
|
83
|
-
|
|
84
|
-
A4. 你生成 (60s):
|
|
85
|
-
取 stdout [SPECCORE_PROMPT]...[/SPECCORE_PROMPT]
|
|
86
|
-
你是 AI — 你自己生成代码/分析/文档
|
|
87
|
-
|
|
88
|
-
A5. 自检:
|
|
89
|
-
execute: {"files":[...]}, 其他: Markdown >100 字符
|
|
90
|
-
失败 → 重试 ≤2 次 → 降级
|
|
91
|
-
|
|
92
|
-
A6. 写入:
|
|
93
|
-
Write /tmp/speccore-resp.json
|
|
94
|
-
execute_command("cat /tmp/speccore-resp.json | speccore {cmd} --response - {params}")
|
|
95
|
-
注意: --response - 表示从 stdin 读取,已验证可用
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
---
|
|
99
|
-
|
|
100
|
-
## 分支 B: ambiguous
|
|
101
|
-
|
|
102
|
-
```
|
|
103
|
-
展示候选人 → 用户选 → 分支 A
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
---
|
|
107
|
-
|
|
108
|
-
## 分支 C: explain
|
|
109
|
-
|
|
110
|
-
```
|
|
111
|
-
直接回答。不调 CLI。
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
---
|
|
115
|
-
|
|
116
|
-
## 分支 D: pipeline (≤5 步)
|
|
117
|
-
|
|
118
|
-
```
|
|
119
|
-
D1. 展示计划,等确认
|
|
120
|
-
D2. 逐步执行(每步走 A3-A6)
|
|
121
|
-
D3. 步间: Read 产出文件 → 提取参数 → 传下一步
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
---
|
|
125
|
-
|
|
126
|
-
## 分支 E: guide
|
|
20
|
+
## 执行流程
|
|
127
21
|
|
|
128
22
|
```
|
|
129
|
-
|
|
130
|
-
|
|
23
|
+
1. execute_command("speccore ask '用户原话'")
|
|
24
|
+
→ 读取输出中的 KB(可用命令列表)和工作流
|
|
131
25
|
|
|
132
|
-
|
|
26
|
+
2. 你是 AI — 根据 KB + 用户输入,自己分析意图
|
|
27
|
+
示例: "分析Q1任务001,列计划,17:30执行" →
|
|
28
|
+
step 1: speccore analyze --prompt -I Q1 --task 001
|
|
29
|
+
step 2: speccore plan --prompt -I Q1 --task 001
|
|
30
|
+
step 3: speccore schedule create -I Q1 --task 001 --at "17:30"
|
|
133
31
|
|
|
134
|
-
|
|
32
|
+
3. 把计划展示给用户:
|
|
33
|
+
```
|
|
34
|
+
我理解你要:
|
|
35
|
+
1. 分析 Q1 的任务001
|
|
36
|
+
2. 为任务001制定开发计划
|
|
37
|
+
3. 定时 17:30 执行
|
|
38
|
+
|
|
39
|
+
是否确认?
|
|
40
|
+
```
|
|
135
41
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
42
|
+
4. 用户确认后,逐步执行:
|
|
43
|
+
step 1: execute_command("speccore analyze --prompt -I Q1 --task 001")
|
|
44
|
+
exitCode=10 → 读 SPECCORE_PROMPT → 你生成分析内容 → write back
|
|
45
|
+
exitCode=0 → 继续
|
|
46
|
+
step 2: execute_command("speccore plan --prompt -I Q1 --task 001")
|
|
47
|
+
(同上)
|
|
48
|
+
step 3: execute_command("speccore schedule create -I Q1 --task 001 --at ...")
|
|
139
49
|
```
|
|
140
50
|
|
|
141
|
-
|
|
51
|
+
## 关键命令参考
|
|
142
52
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
|
146
|
-
|
|
|
147
|
-
|
|
|
148
|
-
|
|
|
149
|
-
|
|
|
150
|
-
|
|
|
151
|
-
|
|
152
|
-
---
|
|
53
|
+
| 命令 | 用途 | 需要 AI |
|
|
54
|
+
|:---|:---|:---|
|
|
55
|
+
| `analyze --prompt -I <iter> --task <id>` | 分析任务需求 | ✅ --prompt |
|
|
56
|
+
| `plan --prompt -I <iter> [--task <id>]` | 制定开发计划 | ✅ --prompt |
|
|
57
|
+
| `execute --prompt -I <iter> --task <id>` | 执行开发任务 | ✅ --prompt |
|
|
58
|
+
| `schedule create -I <iter> --task <id> --at "HH:MM"` | 创建定时调度 | ❌ |
|
|
59
|
+
| `context --set --iteration <name>` | 切换迭代上下文 | ❌ |
|
|
60
|
+
| `dashboard` | 查看进度面板 | ❌ |
|
|
153
61
|
|
|
154
|
-
##
|
|
62
|
+
## 常用工作流
|
|
155
63
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
| 拆分 | `iteration split --prompt -I {i}` | `--response` |
|
|
161
|
-
| 计划 | `plan --prompt -I {i}` | `--response` |
|
|
162
|
-
| 开发 | `execute --prompt -t {t}` | `--response` |
|
|
163
|
-
| PR | `pr --prompt -t {t}` | `--response` |
|
|
164
|
-
| 归档 | `done --prompt -t {t}` | `--response` |
|
|
165
|
-
| 导出 | `spec2doc --prompt -I {i}` | `--apply` |
|
|
166
|
-
| 仪表盘 | `dashboard` | — |
|
|
167
|
-
| 验证 | `validate -I {i}` | — |
|
|
168
|
-
| 回顾 | `retro --task {t}` | — |
|
|
169
|
-
| 搜索 | `search {k}` | — |
|
|
170
|
-
| 初始化 | `init` | — |
|
|
64
|
+
- **分析 + 计划 + 调度**: analyze → plan → schedule
|
|
65
|
+
- **分析 + 开发**: analyze → execute
|
|
66
|
+
- **修复 bug**: analyze → plan → execute → validate → pr → done
|
|
67
|
+
- **批量执行**: plan → schedule → execute
|