5.8 KiB
5.8 KiB
Dev Flow Skill 评估报告
日期:2026-05-19
对象:.claude/skills/dev-flow/SKILL.md
背景:该 skill 基于 openspec 工作流,并融合 to-prd、grill-with-docs、zoom-out、diagnose、tdd 等开源 skill 思路,目标是形成一套从需求到实现再到知识沉淀的工程开发闭环。
总体评价
这套 dev-flow 的方向是正确的:它没有试图替代 openspec,而是在 openspec 的流程控制之上增加需求精化、架构审计、质量闭环和长期知识沉淀。
最有价值的设计是 devflow/ 产物聚合层:
openspec/changes/负责机器可执行的变更工作区。devflow/projects/负责人类可回溯的项目档案。devflow/glossary/CONTEXT.md负责跨项目领域词汇。devflow/compound/负责沉淀可复用工程知识。
目前最大的问题是:SKILL.md 更像一份设计说明书,而不是一份代理可以稳定执行的运行手册。它解释了很多理念,但缺少执行时必需的检查点、模板、分支规则和 fallback 策略。
亮点
-
产物聚合层设计清晰
devflow/projects/YYYY-MM-DD-{slug}/解决了 openspec archive 后上下文难以回溯的问题。- 工具工作区和人类档案层分离,职责边界明确。
-
阶段顺序合理
- Phase 0 → Phase 1 → Phase 1.5 → Phase 2 → Phase 2.5 → Phase 3 → Phase 4 的顺序能有效避免“需求没想清楚就开始编码”。
-
Phase 4 很有价值
- 明确要求从 openspec 提炼 research、design、tasks、acceptance、ADR 和 compound knowledge。
- 这是区别于普通 openspec 流程和普通编码 skill 的核心优势。
-
grill-with-docs 融合方式正确
- Phase 2 要求一次只问一个问题,并即时更新
CONTEXT.md/ ADR。 - 这符合“边澄清边沉淀”的工作方式。
- Phase 2 要求一次只问一个问题,并即时更新
-
质量闭环意识强
- Phase 3 明确要求 bug 不允许猜测式修复,必须走 diagnose 协议。
- TDD 被设计为可选增强,避免对所有任务强制套用重流程。
主要问题
-
触发描述不够完整
- 当前
description说明了流程构成,但没有覆盖足够多的用户触发场景。 - 建议明确写入:当用户要从需求到实现、规划 feature、执行 openspec change、沉淀工程文档、规范化开发流程时使用。
- 当前
-
Claude 工具耦合较强
allowed-tools使用 Claude Code 风格工具名。- 如果未来迁移到 Codex skill,这些工具名可能不适用。
- 建议把工具白名单保留给 Claude 版本,同时在正文中描述环境无关的 fallback 行为。
-
依赖安装状态不应写死
- 依赖表中写了“✅ 已安装”,这对当前仓库成立,但复制到其他项目会误导。
- 应改成“启动时检查是否存在”,并区分 required、optional、fallback。
-
子 skill 调用方式不稳
- 文档写“调用 Skill 工具启动 openspec-propose / openspec-apply-change”。
- 但不同代理环境未必支持直接调用 Skill 工具。
- 建议增加 fallback:如果不能直接调用,就读取对应
SKILL.md并按其协议执行。
-
缺少初始化算法
- 文档要求写入
devflow/projects/YYYY-MM-DD-{slug}/,但没有说明如何生成 slug、如何处理重名、如何创建目录骨架。
- 文档要求写入
-
缺少模板
- PRD、research、design、tasks、acceptance、CONTEXT、ADR、compound knowledge 都有路径要求,但没有最小模板。
- 这会导致代理每次输出格式不稳定。
-
quick 模式与约束存在冲突
--quick说可以跳 Phase 1.5 和 2.5,仅 grill + apply。- 约束又说严禁跳过 Phase 2。
- 需要明确 quick 模式只能跳哪些阶段,不能跳哪些阶段。
-
Phase 退出条件不足
- 每个 Phase 有目标,但没有明确“什么时候可以进入下一阶段”。
- 建议增加进入条件、退出条件和必需产物。
改进建议
-
将
SKILL.md改成执行协议- 保留角色、触发场景、阶段总览、硬性约束和关键分支规则。
- 把长解释、模板、示例迁移到
references/。
-
增加启动前检查清单
- 检查
openspec/是否存在。 - 检查
.claude/skills/openspec-*是否存在。 - 检查
devflow/是否已初始化。 - 检查是否存在旧的根目录
CONTEXT.md,必要时迁移或合并到devflow/glossary/CONTEXT.md。
- 检查
-
增加 Phase 契约
- 每个 Phase 明确:输入、动作、输出、退出条件、失败时回退路径。
-
补齐模板
- 新增
references/templates.md,收纳 PRD、research、design、tasks、acceptance、ADR、compound knowledge 的最小模板。
- 新增
-
补齐归档规则
- 新增
references/archive-rules.md,明确如何从 openspec 文件提取信息到devflow/projects/。
- 新增
-
统一 quick 模式语义
- quick 模式可以跳过 Phase 1.5 和 Phase 2.5。
- quick 模式不能跳过 Phase 2 的最小澄清,也不能跳过 Phase 4 的轻量归档。
-
增加 fallback 策略
- 优先调用子 skill。
- 如果不可调用,则读取该 skill 的
SKILL.md。 - 如果 skill 文件不存在,则执行 dev-flow 内置的最小协议。
优先级
- P0:修正工具/环境耦合、依赖检查、quick 模式冲突。
- P1:补模板和 Phase 退出条件。
- P2:把长理念迁移到
references/,保持SKILL.md更短更可执行。 - P3:增加
agents/openai.yaml或等价元数据,方便技能列表展示。
结论
dev-flow 已经具备成为高价值工程元技能的基础:流程完整、沉淀意识强、质量闭环明确。下一步不应继续增加理念,而应把它产品化为“代理稳定执行协议”:更短的 SKILL.md、更明确的 Phase 契约、更标准的模板、更稳的 fallback 机制。