SuperAPI AI 工具集

task-finish

编程与开发

查看项目

更新于 10-15 07:49

技能介绍

用途

task-finish 是一个提交前质量门禁 Skill,在 commit 之前触发,只负责代码质量自检,不负责复盘。其定位是:提交前自检发现问题的成本是上线后的 1/10。复盘沉淀在需求关闭时由 task-manager 触发。

触发词:提交代码、自检、准备提交。

主要能力

第一步:判断自检深度

根据改动规模选择自检模式:

  • 单文件小改动(修 typo、调样式、改注释)→ 跳过,直接提交
  • 改动 ≤3 文件且不涉及公共接口 → 快速自检(5 项)
  • 改动 >3 文件 / 涉及公共接口 / 核心业务逻辑 → 深度自检(15 项)

第二步:CR 自检(Self Code Review)

用「审查别人代码」的视角审查自己的代码。执行方式包括:

  • 先 git diff 审查自己的改动:逐文件看 diff,而不是凭记忆
  • 对照清单逐项检查:不需要每条都适用,但每条都过一遍脑子
  • 发现问题当场修:不要想着「先提交再说」
  • 不确定的地方主动说:在提交时告知用户「这里我不确定 X,建议关注」

快速自检清单(≤3 文件改动)

  1. 改动解决了目标问题?跑一遍核心路径确认
  2. 没有遗留 debug 代码?console.log、print、TODO hack
  3. 命名清晰、无硬编码敏感信息?密钥、token、密码
  4. 没有混入不相关变更?改动范围最小化
  5. 代码能正常运行?改后验证,不是「我觉得对」

深度自检清单(>3 文件 / 公共接口 / 核心逻辑)

正确性检查:

  • 改动是否真的解决了目标问题?跑一遍核心路径确认
  • 边界情况是否处理?空值、零值、超长输入、并发场景
  • 错误处理是否完整?异常不会被吞掉,错误信息有意义
  • 是否引入了回归?改动是否可能破坏现有功能

设计检查:

  • 改动范围是否最小化?有没有混入不相关的变更
  • 命名是否自解释?新增的函数/变量/类型名能否让人一眼理解
  • 是否重复造轮子?项目里有没有已有的工具或模式可以复用
  • 复杂度是否合理?有没有过度抽象或不必要的间接层

安全检查:

  • 外部输入是否校验?用户输入、API 参数、URL 参数
  • 有没有硬编码的敏感信息?密钥、token、密码、内部地址
  • SQL/命令拼接是否安全?是否使用了参数化查询
  • 前端是否防 XSS?动态内容是否正确转义

可维护性检查:

  • 没有遗留 debug 代码(console.log、print、TODO hack)
  • 复杂逻辑是否有注释说明「为什么」
  • 公共接口的改动是否向后兼容?不兼容是否已标注

使用方式

在准备提交代码时触发。Skill 会引导按改动规模选择自检深度,然后按对应清单逐项检查,发现问题当场修复。

在与其他 Skill 的衔接中,工作流位置为:task-start(启动:对焦需求 + 设计方案)→ task-execute(执行:持续编码 + 跨会话进度管理)→ task-finish(本 skill,提交前自检)。

自检通过后提交代码,并包含以下衔接动作:

  • 文档同步提醒(按改动内容判断,可能同时命中多条):
    • 涉及新模块 / 模块间交互变更?→ 提醒更新 architecture/ 或 user-guide/(docs-management.Synthesize)
    • 涉及依赖/工具链/环境配置变更?→ 提醒更新 guides/
    • 涉及部署流程/基础设施变更?→ 提醒更新 runbooks/
  • 涉及上线服务?→ 提示跑 security-audit(安全审查)
  • 准备发版?→ 引导到 release skill

提交完成后,主动询问用户:「这个需求是否彻底完成?如果是,可以标记 done 触发复盘和经验沉淀。」

用户确认完成后,由 task-manager 标 done,触发复盘 + 经验沉淀 + docs-management.Ingest。

适用场景

适用于需要在提交代码前进行质量自检的开发工作流,尤其适合与 task-start、task-execute、task-manager 等 Skill 配合使用,形成从启动、执行到提交前自检再到复盘沉淀的完整流程。

限制

  • 复盘不在 task-finish 中触发。因为「编码完成」不等于「需求完成」——后续可能还有手动测试、bug 修复、调整。复盘在需求被用户明确标记为 done 时,由 task-manager 触发,确保覆盖完整的交付过程。
  • 但 task-finish 有责任提醒:提交代码后主动询问用户是否需要关闭需求,避免复盘被遗忘。
  • 本 skill 只负责代码质量门禁。