sillyspec 3.11.11 → 3.12.0

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.
@@ -8,8 +8,6 @@ description: 用于正式开始开发前的需求澄清和技术方案设计。
8
8
  ## 用法
9
9
  用户触发此 skill 时,使用 `sillyspec run brainstorm` 逐步执行需求探索。
10
10
 
11
- **⚠️ 必须指定变更名!**
12
-
13
11
  ## 执行步骤
14
12
 
15
13
  1. 确定变更名(格式:`YYYY-MM-DD-<简短描述>`,如 `2026-05-28-agent-log-streaming`)
@@ -21,9 +19,12 @@ description: 用于正式开始开发前的需求澄清和技术方案设计。
21
19
  ## 示例
22
20
 
23
21
  ```bash
24
- # 首次启动
22
+ # 首次启动(推荐指定变更名)
25
23
  sillyspec run brainstorm --change 2026-05-28-agent-log-streaming
26
24
 
25
+ # 不指定变更名时自动生成(格式:YYYY-MM-DD-new-change)
26
+ sillyspec run brainstorm
27
+
27
28
  # 完成当前步骤
28
29
  sillyspec run brainstorm --done --change 2026-05-28-agent-log-streaming --output "需求已澄清"
29
30
 
@@ -35,7 +36,8 @@ sillyspec run brainstorm --reset --change 2026-05-28-agent-log-streaming
35
36
  ```
36
37
 
37
38
  ## 注意
38
- - **必须带 `--change <变更名>`**,否则会报错
39
+ - 推荐指定 `--change <变更名>`(格式:`YYYY-MM-DD-<简短描述>`),不指定时自动生成 `YYYY-MM-DD-new-change`
39
40
  - 步骤 prompt 由 CLI 管理,不需要手动读取
40
41
  - 依赖 scan 阶段完成,CLI 会自动提醒
41
- - brainstorm 完成后,运行 `sillyspec run propose --change <变更名>` 进入方案设计
42
+ - brainstorm 阶段末步会自动生成四件套(proposal.md + design.md + requirements.md + tasks.md)
43
+ - brainstorm 完成后,运行 `sillyspec run plan --change <变更名>` 进入实现计划
@@ -5,107 +5,64 @@ description: 恢复工作 — 从中断处继续
5
5
 
6
6
  ## 交互规范
7
7
 
8
- **当需要用户从多个选项中做出选择时,必须使用 Claude Code 内置的 AskUserQuestion 工具,将选项以参数传入。**
8
+ **当需要用户从多个选项中做出选择时,必须使用 Claude Code 内置的 AskUserQuestion 工具,将选项传入。**
9
9
 
10
10
  不要用编号列表让用户手动输入数字。
11
11
  如果需要自由输入,在 AskUserQuestion 的选项中加入"Other(自定义输入)"。
12
12
 
13
+ ---
14
+
13
15
  你现在是 SillySpec 的恢复管理器。
14
16
 
15
17
  ## 流程
16
18
 
17
- ### 1. 读取 progress.json
19
+ ### 1. 读取进度
18
20
 
19
21
  ```bash
20
- sillyspec run resume --status 2>/dev/null
22
+ sillyspec progress show
21
23
  ```
22
24
 
23
25
  ### 2. 如果有 progress.json
24
26
 
25
- 直接从 progress.json 中提取并展示:
26
-
27
- > 🔄 工作状态恢复
28
- >
29
- > **当前变更**:<名称>
30
- > **当前阶段**:<阶段名> <状态>
31
- > **下一步**:<命令>
32
- >
33
- > **阶段进度**(大模块):
34
- > | 阶段 | 状态 |
35
- > |---|---|
36
- > | stage-1 列表页 | ✅ |
37
- > | stage-2 表单页 | 🔄 execute (2/6) |
38
- > | stage-3 详情页 | ⬜ |
39
- >
40
- > **关键决策**:
41
- > - xxx
42
- >
43
- > **下一步命令**:
44
- > `/sillyspec:execute reward-punishment/stage-2`
45
-
46
- **不需要执行 Git 操作或文件探测。** progress.json 已经包含所有信息。
47
-
48
- 使用 `sillyspec run resume --status` 查看。
27
+ progress.json 中提取并展示当前状态,使用 `sillyspec progress show` 查看。
49
28
 
50
29
  然后问用户:
51
30
  1. 直接继续执行下一步
52
31
  2. 查看更多细节
53
32
 
54
- ### 3. 如果没有 progress.json
33
+ ### 3. 如果没有 progress.json 或变更目录
55
34
 
56
- **不要直接说"没有记录"。** 自动探测项目状态:
35
+ 自动探测项目状态:
57
36
 
58
37
  ```bash
59
- # 检查主变更
60
- ls .sillyspec/changes/*/MASTER.md 2>/dev/null
61
-
62
38
  # 检查活跃变更
63
- ls -d .sillyspec/changes/*/ | grep -v archive | grep -v stages | tail -1 2>/dev/null
64
-
65
- # 检查子阶段
66
- ls .sillyspec/changes/*/stages/*/proposal.md 2>/dev/null
39
+ ls -d .sillyspec/changes/*/ | grep -v archive 2>/dev/null
67
40
 
68
- # 检查代码库文档
69
- ls .sillyspec/codebase/*.md 2>/dev/null
41
+ # 检查大需求拆分
42
+ ls .sillyspec/changes/*/MASTER.md 2>/dev/null
70
43
 
71
- # 检查计划文件
72
- ls -t .sillyspec/plans/*.md | head -1 2>/dev/null
44
+ # 检查扫描文档
45
+ ls .sillyspec/docs/*/scan/ 2>/dev/null | wc -l
73
46
 
74
47
  # 检查需求/路线图
75
48
  cat .sillyspec/REQUIREMENTS.md 2>/dev/null
76
49
  cat .sillyspec/ROADMAP.md 2>/dev/null
77
50
  ```
78
51
 
79
- #### 如果检测到 MASTER.md(大模块)
80
-
81
- 检查各阶段状态并输出阶段进度表(同步骤 2 格式)。
82
-
83
- 同时**运行 `sillyspec run resume --init`**,将探测到的信息写入 progress.json,后续命令执行时会自动更新。
84
-
85
- #### 如果是普通变更(无 MASTER.md)
86
-
87
52
  根据探测结果推断:
88
53
 
89
54
  | 探测到的文件 | 推断阶段 | 建议操作 |
90
55
  |---|---|---|
91
56
  | 无任何 .sillyspec/ 内容 | 未开始 | `/sillyspec:init` 或 `/sillyspec:scan` |
92
- | 有 SCAN-RAW.md 但缺失文档 | 扫描中断 | `/sillyspec:scan --deep`(断点续扫) |
93
- | 有 codebase/ 但文档不全(快扫 3 份缺失) | 快扫中断 | `/sillyspec:scan`(补全缺失文档) |
94
- | 有 codebase/ 7 份齐全但无 changes/ | 已扫描,未开始需求 | `/sillyspec:brainstorm "想法"` |
57
+ | 有 docs/ 但缺失文档 | 扫描中断 | `/sillyspec:scan`(断点续扫) |
58
+ | 有 docs/ 7 份齐全但无 changes/ | 已扫描,未开始需求 | `/sillyspec:brainstorm "想法"` |
95
59
  | 有 REQUIREMENTS.md 但无 changes/ | 绿地项目,已有需求 | `/sillyspec:brainstorm "想法"` |
96
- | changes/ 下有 proposal,无 tasks | 已有规范,待计划 | `/sillyspec:plan` |
97
- | changes/ 下有 tasks,有未完成 checkbox | 执行中 | `/sillyspec:execute` |
98
- | tasks.md 全部完成 | 待验证 | `/sillyspec:verify` |
99
-
100
- **扫描中断检测逻辑:**
101
- - 有 `SCAN-RAW.md` → 说明深度扫描预处理已完成,检查 7 份文档缺哪些
102
- - 有部分 codebase 文档(如只有 STACK 和 STRUCTURE)→ 说明快扫或深扫中断
103
- - 缺失的文档列表直接展示给用户,告知 `/sillyspec:scan` 会自动跳过已存在的文档
104
-
105
- **同时运行 `sillyspec run resume --init`** 记录推断的状态。
60
+ | changes/ 下有 proposal + design,无 plan.md | 已有规范,待计划 | `/sillyspec:plan` |
61
+ | changes/ 下有 plan.md,tasks 有未完成项 | 执行中 | `/sillyspec:execute` |
62
+ | tasks.md / plan.md 全部 checkbox 已勾选 | 待验证 | `/sillyspec:verify` |
63
+ | 已验证通过 | 待归档 | `/sillyspec:archive` |
106
64
 
107
65
  ### 4. 关键原则
108
66
 
109
- - **不需要 HANDOFF.json**。progress.json 是唯一的恢复数据源。
110
- - **progress.json 不需要 Git 提交**(已在 .runtime/ 下,被 .gitignore 忽略)。
111
- - **每次命令执行完自动更新 progress.json**(通过 `sillyspec run <stage> --done`),不需要用户手动保存。
67
+ - progress.json 是唯一的恢复数据源(存储在 `.sillyspec/changes/<name>/progress.json` 或旧版 `.sillyspec/.runtime/progress.json`)
68
+ - progress.json `sillyspec run <stage> --done` 自动更新,不需要手动保存
@@ -59,9 +59,9 @@ ls .sillyspec/projects/*.yaml 2>/dev/null | grep -q .
59
59
  name: <name>
60
60
  path: <relative-path>
61
61
  status: active
62
- role: <description>
63
- repo: <repo-url> # 可选
64
62
  ```
63
+ > ⚠️ `sillyspec init` 只会写入 `name`、`path`、`status` 三个字段。
64
+ > `role` 和 `repo` 由 `/sillyspec:workspace add` 追加。
65
65
  5. 创建 `.sillyspec/shared/` 目录
66
66
 
67
67
  #### 3b. 添加子项目(`add`)
@@ -129,6 +129,14 @@ done
129
129
 
130
130
  每个子项目对应 `.sillyspec/projects/<name>.yaml`:
131
131
 
132
+ **sillyspec init 创建的格式(3 字段):**
133
+ ```yaml
134
+ name: frontend
135
+ path: ./frontend
136
+ status: active
137
+ ```
138
+
139
+ **workspace add 扩展的格式(最多 5 字段):**
132
140
  ```yaml
133
141
  name: frontend
134
142
  path: ./frontend