关于 spec-finish
spec-finish 是一项规范驱动开发的收尾技能,面向已完成实现并准备验证和提交的开发者。它按简化范围、同步文档、验证、审查和准备 PR 的顺序组织工作。
主要功能
- 01检查实施前置条件
- 02比较范围并简化实现
- 03同步 README 与相关文档
- 04运行测试、类型检查和构建
- 05审查最终改动
- 06准备提交与 PR
适用场景
- 01完成规范支持的计划后收尾
- 02移除超出需求的实现
- 03提交前验证并审查代码
- 04准备已审查改动的 PR
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ martinffx/ atelier --skill spec-finish安装后在 Claude Code 中输入/spec-finish确认已加载。
详细介绍
Spec Finish
实现后的工作流:简化 → 同步文档 → 验证 → 审查 → 准备 PR。
前提条件
开始前,请确认:
- 所有由 Spec 支持的 Plan 任务均已完成
- 工作目录中没有尚未解决的已暂存或未暂存更改
- 测试通过
如果尚未完成,请返回 spec-implement。
步骤 1:比较范围并简化
在更新文档或验证之前,将实现与原始行为和用户目标进行比较。移除未请求的范围、重复概念、仅供一个使用方使用的抽象,以及取代平台现有充分功能的自定义机制。
如果实现忠实遵循了不必要地庞大的设计,请暂停并返回 spec-plan。先获得对精简方案的批准,再继续。
更新已完成的 SDD,以描述精简后的结果。在规范性设计和计划中替换被否决的架构,而不是将其保留为先例;仅当保留这段历史仍有用时,才将其作为被否决的替代方案提及。
步骤 2:更新文档
检查是否需要更新 README、API 文档或变更日志。通过 code-commit 完成并提交所有必要的文档更改,然后再进行最终验证。
步骤 3:验证
运行验证检查。
测试套件
npm test
# or
pytest
# or
cargo test
类型检查
npm run typecheck
# or
python -m mypy
# or
cargo check
代码检查
npm run lint
# or
ruff check .
# or
cargo clippy
构建
npm run build
# or
go build ./...
如果有任何检查失败: 返回 spec-implement 进行修复。
如果全部通过: 继续。
步骤 4:审查
通过 harness 的技能机制调用已安装的 code-review 技能,对最终更改进行一次全面审查。
审查内容
- 自预期基准分支的合并基点以来的所有更改文件
- 测试覆盖率
- 文档更新
- 是否遗留调试代码
如果 code-review 发现问题
- 可以在此处进行小幅修复,然后重新验证并审查。
- 对于带有
blocking: true或requires_user_approval的发现,以及会改变范围的修复,应返回spec-implement。非阻塞发现和后续事项则不需要。
步骤 5:准备提交
使用 git log --oneline 检查当前提交。使用 code-commit 处理任何未提交的工作。
默认情况下不要改写历史。如果 rebase 能显著改善尚未发布的提交序列,请展示受影响的范围,并在 rebase 前单独征求批准。
步骤 6:准备 PR
必须先完成步骤 1–5(简化、文档、验证、审查、提交),然后才能继续。如果 code-review 发现阻塞性问题或需要用户批准的问题,请停止并返回 spec-implement 进行修复。不要继续执行步骤 6b。
步骤 6a:提交完成情况摘要
创建 PR 前,请向用户提供摘要:
## Completion Summary
**Feature:** [name]
**Tests:** [passed/failed]
**Type Check:** [passed/failed]
**Lint:** [passed/failed]
**Review:** [passed/issues found]
**Commits:** [N commits in stack]
**Ready for PR:** [yes/no]
步骤 6b:调用 code-pull-request
仅当摘要显示 Ready for PR: yes 时,才调用
code-pull-request 技能来创建 PR。该技能会检测平台(GitHub/GitLab)、检查是否已有 PR、查找模板、根据提交生成正文,并通过 gh 或 glab 创建 PR。
交接
“实现已完成。已有 [N] 个提交就绪。PR 资料包已准备好,等待批准。”
集成
此技能会协调其他技能:
- 调用 code-review 进行质量检查
- 调用 code-pull-request 作为最后一步来创建 PR
不适用场景
- 如果实现仍在进行中,请使用 spec-implement
- 如果测试失败,请返回 spec-implement
- 如果审查发现阻塞性问题或需要用户批准的问题,请返回 spec-implement
- 如果实现遵循了不必要地庞大的设计,请返回 spec-plan