From kflow
Implements features step-by-step from a design checklist YAML, executing paradigm-dimension steps and handling uncovered cases by returning to design.
How this skill is triggered — by the user, by Claude, or both
Slash command
/kflow:k-feat-implThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
开始任何判断或动作前,先读取 `.kflow/attention.md`;缺失则视为骨架不完整,提示先补齐或运行 `k-onboard`。
开始任何判断或动作前,先读取 .kflow/attention.md;缺失则视为骨架不完整,提示先补齐或运行 k-onboard。
到这一步用户已经在方案上签过字了,你的活是把方案变成代码。容易出问题的不是写代码本身,而是实现路上发现方案没覆盖到的情况时怎么办——硬冲下去就把方案当摆设了。下面整套规则就是为了让"停下来"成为默认动作。
共享路径与命名约定看
.kflow/reference/shared-conventions.md第 0 节。
具体规则是这三条姿态的落点,理解姿态比记规则重要。
只写当前步骤明确要的东西。不顺手加"以后可能要"的可配置项、抽象层、参数开关、防御性兜底。判据:写完一段觉得"是不是还得加点 X",先问 X 是不是当前用户能感知到的——不是就别加。整体写完一看 200 行其实 50 行能讲清楚 → 重写。多出来的代码不是中性的,是后人维护的负担。
改某个函数时只改那个函数。同文件里别的函数风格丑、命名怪——除非和本次改动直接冲突,否则别碰。新代码风格匹配当前文件已有写法。混进的"顺手改"会把功能 PR 稀释成"一坨综合改动",review 成本翻几倍。值得改的按下文"顺手发现"格式记成后续 issue。
孤儿处理:你这次改动让某个 import / 函数变成死代码 → 删掉。不是你改动造成的死代码 → 留着记成顺手发现。
写到一半发现 design 没覆盖的角落(边界条件、错误路径、方案外文件)——默认停下来回 design 谈。下面"补丁分支"和"术语守护"是这条姿态的两个典型落点;任何"design 没明说我替它选了一个"的瞬间都触发。
frontmatter:doc_type=feature-design / feature 一致 / status=approved / summary 非空 / tags ≥ 2。
标准 design(节 0/1/2/3/4):
Fastforward design(节 0/1/2/3):
任一项不达标 → 退回 k-feat-design 补齐。原因:方案漏的项实现时一定要现场补,等于绕过 checkpoint。
注意:标准 design 第 3 节"验收契约"只说"做完后什么应该成立",不说"具体怎么做"。改动文件清单 / 函数级落点 / 测试代码归 implement 自决,不要因为 design 里没写就退回去要求补。
feature 字段一致steps 非空(design 已产出,paradigm 维度切片,4-8 步);checks 非空k-feat-design 生成{slug}-checklist.yaml、需求来源(用户描述 + brainstorm note)、.kflow/attention.md通常第 1 步;接续上次中断从已 done 的下一步继续。
design 给的 steps 是 paradigm 维度切片(编排骨架 → 计算节点 → 持久化 → 测试),具体每步改哪个文件由你执行时决定。如果某一步实际是 3 个独立子动作、或发现微重构是它的前置(参考反射检查),跟用户对齐后追加 / 拆分 steps,不偷偷做。
design 第 2.5 节微重构的衔接:
如果 2.5 结论是"做微重构(拆文件)"或"做微重构(重组目录)",checklist 第 1 步就是它——独立跑完,按 2.5 节"行为不变怎么验证"那条核对:
不要合并到下一步——一旦混在一起,行为变更和结构变更就分不开,出问题回滚不到干净中间态
如果 2.5 结论是"不做"但写到中途反射检查触发了拆分信号 → 走下面"反射检查"那条路径(停下来 → 和用户对齐 → 能 provable 解决就追加独立 step),不要绕过用户确认偷偷追加
如果 2.5 末尾有"建议沉淀的 convention"段:implement 阶段不主动归档——只在重组目录跑通且行为零改动确认后,在汇报里带一句"design 2.5 建议沉淀的 convention 已就绪,等 acceptance 阶段确认是否走 k-decide",把决定权交给 acceptance / 用户
按 steps 列表顺序执行,不合并、不跳。每完成一步立即把 status pending → done。
最常见违规是"顺手把下一步也做了"——每步都对应独立可验证的退出信号,两步合做意味着出问题时不知道是哪一步引入的、回滚也回不到干净中间态。
发现值得重构的点(参考 .kflow/reference/shared-conventions.md 第 7 节"写代码时的反射检查"),只要不在本次功能影响面内就记成后续 issue:
> 顺手发现:{文件:行号} {问题简述}。不在本次范围,记录待后续 issue。
顺手改的代码不在方案里,验收对不上;后人 git blame 也分不清是为本次功能还是顺手。
标准 design:新写的类型 / 函数 / 变量名都要去方案 doc 第 0 节对照,不允许出现 doc 里没有的新概念。要引入新概念 → 先停下来改第 0 节、grep 防冲突、用户确认。
Fastforward design:没有正式术语表,但要新起概念名时也要 grep 一下当前代码防冲突。
代价:术语冲突意味着同概念两个名字 / 同名字两个概念——后者会让搜索完全失效。
写代码时冒出 if (特殊情况) { 特殊处理 } 这种结构,停。这种分支基本只有一个原因:方案没覆盖到这种情况。继续写得到的是"为了让代码能跑而加的特殊逻辑"——下次别人改这块时不知道这个分支为什么存在。回方案谈:补进 design / 砍掉 / 明确为遗留问题。
除上面流程约束外,还有一组针对代码质量的反射检查——看 .kflow/reference/shared-conventions.md 第 7 节。
核心:不是"超过 N 行必须拆",而是"遇到 X 情况就停下来问自己"。每条对应 AI 默认会走进去的坑(往大文件继续追加、往大类加方法、补丁分支、复制粘贴、第 4+ 个参数、往万能 util 堆东西)。
反射检查结论是"要拆 / 新建文件 / 重命名 / 抽共用层"且超出现有 steps 范围 → 跟用户商量决定,不偷偷拆完继续写。判据按和 design 2.5 一致的边界分两路(避免 impl 自己造一套口径):
k-refactor,当前 step 用最少的改动绕过去;不要因为"反正都看到了"就在 feature 里顺手做掉——这会把功能 PR 稀释成综合改动,也违反 design 2.5 早就划好的边界所有步骤完成后用下面模板汇报,停下来等用户 review。
固定模板的意义:含糊汇报等于把验证责任推回用户。固定模板逼你把改了哪些文件、是否触碰方案外、是否引入新概念一一说清楚。
## 实现完成汇报
### 动了哪些文件
{git status 真实输出}
### 改了哪些函数 / 类型(按步骤分组)
**步骤 N:{步骤名}**
- file:line 函数名 改动类型(新增 / 修改 / 删除)
### 是否触碰到方案外的文件?
{是 / 否。是的话说明原因 + 是否已同步更新方案 doc}
### 是否引入了方案 doc 里没有的新概念 / 抽象?
{是 / 否。是的话说明已回填方案 doc(标准 design 补第 0 节 + 第 2.1 节;fastforward 补第 1 节)并做过 grep 防冲突}
### 代码质量反射检查自检
{对照 shared-conventions 第 7 节,触发哪些信号 + 怎么处理;都没触发写"无触发"}
### 推进顺序退出信号核对
{对照 steps 逐条列 action + exit_signal + status(应全为 done)}
### 验收场景自检
**标准 design**:对照第 3 节关键场景清单,每条靠什么证据满足(类型 / 单测 / 集成 / 手工 / assert)+ 反向核对项是否守住
**Fastforward design**:对照第 2 节验收标准逐条核对
汇报后停等 review。
标准 design 第 3 节"关键场景清单"每条 = 一个可验证行为约束。你的活是把每条变成可观察证据:单测 / 集成 / 手工操作 / 类型编译期保证。
具体怎么测、用什么 framework、mock 怎么搭——design 没规定,自决。但你得在 steps 里写清楚"哪一步落哪个测试",汇报里逐项核对每条场景都有证据。
测试通过 ≠ 验收场景满足——前者只说明你写的用例过了,不说明每条场景都有用例覆盖。
类型系统保证的(如 TypeScript 签名直接排除某种调用),汇报里说"类型签名已落地,编译期保证"。
done告诉用户:"所有步骤完成,方案 doc 已同步。下一步阶段 3 验收闭环,触发 k-feat-accept。"
别自己顺手开始写验收报告——验收需要独立的 checklist 节奏,提前进入会让把关失效。
实现过程中如果踩到了项目通用的硬约束 / 命令陷阱 / 环境设置("啊原来这个项目要先 X 才能 Y",一两行能讲清、下个 feature 的 AI 还会再撞一次)→ 在告诉用户去 accept 前顺便提一句:"这次发现 {具体那条},是不是要 k-note 一下加到 attention.md,免得下次再踩?"——单条即可,不连写多条;用户说"等 accept 一起处理" 就跳过,accept 第 8 节会兜底盘点。
if (用户是 X) { 特殊处理 } 补丁分支而不停下来npx claudepluginhub kunbo928/kflowCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.