mcpField
S
spec-finish

spec-finish

github.com/martinffxAgent 工作流4844 次安装3 天前更新
代码仓库

关于 spec-finish

spec-finish 是一项规范驱动开发的收尾技能,面向已完成实现并准备验证和提交的开发者。它按简化范围、同步文档、验证、审查和准备 PR 的顺序组织工作。

主要功能

  1. 01检查实施前置条件
  2. 02比较范围并简化实现
  3. 03同步 README 与相关文档
  4. 04运行测试、类型检查和构建
  5. 05审查最终改动
  6. 06准备提交与 PR

适用场景

  1. 01完成规范支持的计划后收尾
  2. 02移除超出需求的实现
  3. 03提交前验证并审查代码
  4. 04准备已审查改动的 PR

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/martinffx/atelier --skill spec-finish

安装后在 Claude Code 中输入/spec-finish确认已加载。

详细介绍

Spec Finish

实现后的工作流:简化 → 同步文档 → 验证 → 审查 → 准备 PR。

前提条件

开始前,请确认:

  1. 所有由 Spec 支持的 Plan 任务均已完成
  2. 工作目录中没有尚未解决的已暂存或未暂存更改
  3. 测试通过

如果尚未完成,请返回 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

评论

支持 Markdown