关于 specs-code-cleanup
specs-code-cleanup 是用于审查通过后进行外观整理的工作流技能,集成在 /developer-kit-specs:specs.task-implementation 的 Phase T-7 中。它面向完成规格驱动任务的开发者,清理代码卫生问题,同时保持行为不变,不改逻辑或修复缺陷。
主要功能
- 01移除调试日志和确认无用的代码
- 02优化导入并格式化代码
- 03检查文档和未完成的 TODO
- 04运行可用的 lint 和测试
- 05在任务文件中记录清理结果
适用场景
- 01在任务完成前整理已审查的代码
- 02移除临时产物和未使用的导入
- 03在不改变行为的前提下执行最终检查
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ giuseppe-trisciuoglio/ developer-kit --skill specs-code-cleanup安装后在 Claude Code 中输入/specs-code-cleanup确认已加载。
附带文件references/language-patterns.md
详细介绍
代码清理
概述
在评审后进行外观清理,使代码达到可用于生产环境的标准。此工作流现已集成到 /developer-kit-specs:specs.task-implementation 的 T-7 阶段。也可以使用 --action=cleanup 手动调用。
输入:docs/specs/[id]/tasks/TASK-XXX.md(已评审状态)
输出:清理后的代码,任务标记为 completed
适用场景
- 当用户要求在评审通过后清理代码、润色、完成收尾、整理或清除技术债时使用。
- 用于完成代码前的准备工作:移除调试日志和无用代码、优化导入并提升可读性。
- 用作规范驱动开发工作流中的最终质量关卡。
- 不用于重构逻辑或修复错误——仅专注于外观和代码卫生清理。
参数
| 参数 | 必需 | 描述 |
|---|---|---|
--lang | 否 | java、spring、typescript、nestjs、react、python、general |
--task | 是 | 任务文件路径 |
--action | 否 | 手动调用时设为 cleanup |
最佳实践
- 清理,不改动:仅移除或重新整理,绝不改变功能
- 保持行为不变:清理后的代码必须与之前完全一致地运行
- 使用项目工具:优先使用
./mvnw spotless:apply、npm run lint:fix、black等 - 使用 TodoWrite:跟踪全部 8 个阶段的进度
- 失败即停止:如果测试失败,就停止并报告——不要继续
请参阅 references/language-patterns.md,了解特定语言的格式化命令、导入排序和 grep 模式。
说明
阶段 1:任务验证
-
解析
$ARGUMENTS中的参数:--lang(可选):目标语言/框架--task(必需):任务 ID 或文件路径--spec(可选):规范文件夹路径(与任务 ID 搭配使用)
支持两种格式:
- 格式 1(直接路径):
--task=docs/specs/001-feature/tasks/TASK-001.md - 格式 2(规范+任务):
--spec=docs/specs/001-feature --task=TASK-001
如果使用格式 2,则按以下形式构建任务文件路径:
{spec}/tasks/{task}.md -
读取任务文件。验证:
- 状态为
reviewed或implemented(不能是completed) - 评审报告
TASK-XXX--review.md存在且已通过
- 状态为
-
如果尚未评审 → 停止并告知用户先运行
/developer-kit-specs:specs.task-review -
提取任务 ID、标题和
provides文件
阶段 2:确定要清理的文件
- 读取
TASK-XXX--review.md,获取已创建/修改的文件 - 读取任务的
provides字段,获取文件路径 - 确认文件存在;构建清理列表
- 分类:源文件、测试文件、配置文件
阶段 3:移除技术债
使用 Grep 搜索文件中的临时/调试内容:
console.log、System.out.println、print(、// DEBUG:、// temp、// hack- 已解决的
TODO/FIXME注释(保留尚未解决的注释)
结合上下文检查每项发现。移除确认的技术债,并记录移除了哪些内容。
阶段 4:优化导入
- 如果可用,运行特定语言的导入优化工具(参见参考资料)
- 如果没有可用工具,则手动移除未使用的导入
- 记录有更改的文件
阶段 5:提升代码可读性
- 如果可用,运行特定语言的格式化工具(参见参考资料)
- 如果没有格式化工具:修正缩进、拆分过长的行(>120)、修正空格
- 仅在明显安全时移除无用代码
- 记录所做更改
阶段 6:验证文档
- 验证类/文件头部和公共 API 文档
- 检查剩余的 TODO 是否仍然有效且有上下文
- 移除或更新过时注释
- 记录文档更改
阶段 7:最终验证
- 如果可用,运行代码检查工具
- 如果可用,运行测试
- 确认没有引入逻辑或签名更改
- 如果测试失败 → 停止并报告失败情况
阶段 8:任务完成
-
自动更新任务状态:
- 在任务文件中添加一个
## Cleanup Summary部分 - 勾选 DoD 部分中任何未勾选的复选框
- Hooks 会自动将状态更新为
completed,并设置completed_date+cleanup_date
- 在任务文件中添加一个
-
在任务文件中追加
## Cleanup Summary,包含:- 清理的文件
- 所做的更改
- 验证清单(代码检查工具、测试、无功能更改)
-
将所有待办事项标记为已完成
示例
Spring Boot 清理
/developer-kit-specs:specs.task-implementation --lang=spring --task="docs/specs/001-user-auth/tasks/TASK-001.md" --action=cleanup
操作:
- 确认 TASK-001 的状态为
reviewed - 文件:
UserController.java、UserService.java、UserRepository.java - 删除 5 条
System.out.println和 2 个已解决的 TODO - 运行
./mvnw spotless:apply - 运行
./mvnw test -q - 将任务标记为
completed
TypeScript 清理
/developer-kit-specs:specs.task-implementation --lang=typescript --task="docs/specs/002-dashboard/tasks/TASK-003.md" --action=cleanup
操作:
- 确认 TASK-003 的状态为
reviewed - 文件:
Dashboard.tsx、useDashboard.ts、Dashboard.test.tsx - 删除 8 条
console.log语句 - 运行
npm run lint:fix和npm run format - 运行
npm test - 将任务标记为
completed
约束和警告
- 清理期间切勿更改逻辑或签名
- 如果测试失败,立即停止并报告
- 标记完成前,确认行为未发生变化