원클릭으로
ssf-build
阶段三(建)。用户输入 /ssf-build 或由 ssf-spec 续接时触发。按 OpenSpec tasks 执行,使用 Superpowers 风格:理解、计划、TDD、小步实现、验证、更新 spec-to-code-map。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
阶段三(建)。用户输入 /ssf-build 或由 ssf-spec 续接时触发。按 OpenSpec tasks 执行,使用 Superpowers 风格:理解、计划、TDD、小步实现、验证、更新 spec-to-code-map。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | ssf-build |
| description | 阶段三(建)。用户输入 /ssf-build 或由 ssf-spec 续接时触发。按 OpenSpec tasks 执行,使用 Superpowers 风格:理解、计划、TDD、小步实现、验证、更新 spec-to-code-map。 |
从 OpenSpec change contract 到可验证实现。
本阶段体现 Superpowers 的价值:AI 不凭感觉写代码,而是先理解、再计划、再写失败测试、再最小实现、再验证。
/ssf-build、/ssf-build all、/ssf-build Nssf-spec readiness 为 Ready 后续接如果没有可用 OpenSpec change,先暂停并要求提供 change-id,或进入 ssf-spec。
.superspecflow/engineering/<change-id>/。.superspecflow/maps/<change-id>/spec-to-code-map.md。engineering/<change-id>/spec-to-code-map.md,该路径可提交且不得视为运行时产物。.superspecflow/engineering/<change-id>/ 和 .superspecflow/maps/<change-id>/,缺失时 fallback 到兼容期旧路径。.superspecflow/progress/<change-id>/state.json、timeline.md、verification.md 和 handoff.md。.superspecflow/progress/<change-id>/state.json 和 handoff.md,再读取 OpenSpec。.superspecflow/progress/<change-id>/verification.md 写入或引用 fresh verification。宿主项目默认输出到 .superspecflow/engineering/<change-id>/implementation-plan.md;SuperSpecFlow 本仓库包源码实现可把工程交付物写入 engineering/<change-id>/。
implementation-plan.md 必须按以下 6 个子节生成。代码示例和命令使用宿主项目的语言、测试框架和包管理工具,不预设 Python/JS/TS 等。
# Implementation Plan: [change-id]
**Goal:** [一句话目标]
**Architecture:** [2-3 句架构方向]
**Spec Contract:** `openspec/changes/<change-id>/specs/`
**Tech Stack:** [关键技术、库、版本]
---
## Scope Check
- In scope:
- ...
- Out of scope:
- ...
如果范围涉及多个相互独立的子系统,停下来建议拆 sub-plans(参考 superpowers:writing-plans 的 Scope Check),不要硬塞进一份 plan。
## File Structure
- Create: `path/to/new-file.ext` — [单一职责,一句话]
- Modify: `path/to/existing.ext` — [本次变更职责]
- Test: `tests/path/file.test.ext` — [测试覆盖范围]
先锁定文件边界再拆任务。每个文件应有单一职责;变更聚集的文件归到同一个 task。
每个 task 必须包含 5 个 bite-sized 步骤(每步 2-5 分钟)。代码块给出可直接 copy-paste 的完整内容,禁止「添加验证逻辑」这类抽象描述。
### Task N: [Component Name]
**Spec:** [SPEC-ID]
**Files:**
- Create: `path/to/file.ext`
- Modify: `path/to/existing.ext:行号范围`
- Test: `tests/path/file.test.ext`
- [ ] **Step 1: 写失败测试**
[完整测试代码,宿主项目语言,可直接 copy-paste]
- [ ] **Step 2: 跑测试确认失败**
Run: `<宿主项目测试命令,含具体路径和断言点>`
Expected: FAIL with "<具体错误信息>"
- [ ] **Step 3: 写最小实现**
[完整实现代码,宿主项目语言,可直接 copy-paste]
- [ ] **Step 4: 跑测试确认通过**
Run: `<同 Step 2>`
Expected: PASS
- [ ] **Step 5: 准备 Git gate**
```bash
git status --short
git diff --stat
git diff --check
git add tests/path/file.test.ext path/to/file.ext
git diff --staged --stat
git diff --staged --check
然后进入 /ssf-commit [change-id],不得在 implementation plan 中直接提交。
强制约束:
- 每个 task 必须有且只有一个 `**Spec:**` 字段引用 SPEC-ID
- Step 1 和 Step 3 的代码块必须完整可执行,禁止 `...` 省略或抽象描述
- Step 2 和 Step 4 的测试命令必须含具体路径和断言点,禁止「运行测试」这类抽象表述
- Step 5 只能准备 Git gate,commit 消息由 `/ssf-commit` 生成并检查
- 模板和生成计划必须保留 `Bite-Sized Tasks`、`Plan Review Loop` 和 `Execution Handoff` 标题,便于 Superpowers writing-plans 契约验证。
### 1.5 Plan Review Loop
implementation-plan.md 完整写出后,使用可用的 Agent tool 或 reviewer prompt 评审:
- Reviewer prompt:优先使用宿主环境已安装的 Superpowers `plan-document-reviewer-prompt.md`;如果不可定位,不得猜测固定 Claude plugin cache path。
- 传给子代理:
- Plan 路径
- Spec contract 路径(`openspec/changes/<change-id>/specs/`)
- 循环:
- ✅ Approved → 进入 1.6
- ❌ Issues Found → 修复后重新 dispatch,最多 3 轮
- 超过 3 轮 → 交人工裁决
注意:reviewer prompt 是英文,针对 superpowers 单一 plan 结构。读中文 plan 和 OpenSpec SPEC-ID 时反馈仍有参考价值,但可能漏检项目特定约束。连续两轮出现明显不适配(例如要求把 SPEC-ID 删掉、不识别中文 commit 模板)时,记录 follow-up,跳过本步并恢复人工审阅。
如果 reviewer prompt、Agent tool 或宿主环境不可用,不得静默跳过;必须在 implementation plan 的 `Blocked / Waived Evidence` 记录 `Reviewer prompt unavailable`、原因、残余风险和人工替代检查。
### 1.6 Execution Handoff
plan 评审通过后,二选一进入 Step 4 执行任务:
- **Subagent-Driven(推荐)**:每个 task 由新鲜 subagent 执行(参考 superpowers:subagent-driven-development),上下文干净、迭代快、可二阶段评审
- **Inline**:在本会话内 batch 执行(参考 superpowers:executing-plans),含 checkpoint 评审
明确告诉用户选哪种、为什么,然后进入 Step 4。
## Step 2 — Spec-to-Code Map
宿主项目默认输出到 `.superspecflow/maps/<change-id>/spec-to-code-map.md`;SuperSpecFlow 本仓库包源码实现保留 `engineering/<change-id>/spec-to-code-map.md`。
```markdown
# Spec to Code Map: [change-id]
| Spec ID | Requirement | Implementation Files | Tests | Status |
|---|---|---|---|---|
| SPEC-001 | ... | ... | ... | Planned |
如果 .superspecflow/progress/<change-id>/ 存在,或本次工作会持续超过一个可验证 task,使用 progress 协议记录运行状态:
.superspecflow/progress/<change-id>/
state.json
timeline.md
verification.md
handoff.md
模板来源:
templates/progress-state.json
templates/progress-timeline.md
templates/progress-verification.md
templates/progress-handoff.md
规则:
state.json,并在 timeline.md 追加事件。verification.md 记录范围、命令或方法、结果和输出摘要。state.json.last_verification 必须引用最近相关验证记录。handoff.md。如果当前 change 属于 parent change 下的 Spec cluster:
.superspecflow/clusters/<parent-change>/cluster-plan.md。.superspecflow/clusters/<parent-change>/cluster-status.md。/ssf-build all:逐条执行。
/ssf-build N:只执行第 N 条。
每个任务遵循:
Read → Plan → Failing Test → Minimal Code → Run Test → Update Map → Update tasks.md
每完成一条输出:
✓ Task N done — [一句话说明]
Spec: [SPEC-ID]
Tests: [运行结果]
以下情况必须暂停:
暂停格式:
⚠️ Task N 暂停
## 原因
## 影响的 Spec
## 选项
- A: ...
- B: ...
## 建议
宿主项目默认输出到 .superspecflow/engineering/<change-id>/dev-handoff.md。
任务完成后输出:
# Developer Handoff: [change-id]
## Change Summary
## Specs Implemented
## Files Changed
## Tests Added / Updated
## Commands Run
## Known Risks
## Migration / Rollback
## QA Focus Areas
用户确认后进入 ssf-review。
详细纪律见 skills/ssf-karpathy/SKILL.md;本阶段只保留 build 必须执行的本地门禁:
详细提交纪律见 skills/ssf-git/SKILL.md;build 阶段只准备 Git gate,不直接替代 /ssf-commit。
每完成一个可验证 task,进入:
/ssf-commit [change-id]
如果用户明确开启自动提交,提交前仍必须执行:
git status --shortgit diff --statgit diff --checkgit diff --staged --stat<英文类型>(<英文范围>): <中文摘要>,正文中文)不得在未展示 staged diff 摘要的情况下提交。
阶段六(档)。用户输入 /ssf-archive 或由 ssf-ship 续接时触发。归档 OpenSpec change、同步文档、更新 decision ledger,并用 Diataxis 检查文档缺口。
复盘。用户输入 /ssf-retro 时触发。复盘本轮 SuperSpecFlow,检查产品、规格、开发、测试、发布各阶段的流程质量,输出可执行改进。
阶段二(规)。用户输入 /ssf-spec 或由 ssf-think 续接时触发。生成 OpenSpec 风格 change contract:proposal.md、design.md、specs/*.md、tasks.md、Spec Readiness Review。
阶段一(想)。用户输入 /ssf-think 或描述新想法/新功能时触发。用 Superpowers brainstorming 纪律做价值、体验、范围反问,产出 Product Change Brief、Decision Record 和 design.md,然后进入 ssf-spec。
Git 工作流与中文 commit 正文门禁。用户输入 /ssf-git、/ssf-branch、/ssf-commit、/ssf-pr,或要求建分支、提交、生成 PR、合并、rebase 时触发。强制分支、暂存、提交、PR 与 OpenSpec change-id/Spec ID 对齐;commit 标题的类型与范围使用英文标识符(conventional commits),摘要、正文、字段名必须使用中文。
Karpathy 风格的 AI 编码行为约束。用于写代码、review、重构、修 bug、提交前审查,防止错误假设、过度设计、无关改动和不可验证目标。