双框架踩坑指南

预计阅读时间: 12 分钟

OpenSpec + Superpowers 的组合能显著提升 AI 编程质量,但两套框架原生无自动联动机制,直接混用极易踩坑。本文基于真实项目迭代经验,梳理最常见的问题和修复方案。

Warning

本文内容来自实际项目踩坑总结。建议在开始双框架协同开发前通读一遍,大部分问题都可以提前规避。

先理清分工

对比维度OpenSpecSuperpowers
核心定位回答「做什么、为什么做」回答「怎么做、按什么标准落地」
输出产物proposal.md、specs、design.md、tasks.md业务代码、单元测试、代码审查报告
管控范围需求与变更规范AI 编码行为、工程落地纪律
单用短板规范齐全,但落地代码质量失控代码规范达标,但开发内容偏离需求

核心准则: OpenSpec 锁定方向,Superpowers 守住落地质量。

7 大踩坑速查表

#问题现象根本诱因落地解法
1提案技术方案和需求不符跳过 Explore 直接 Propose固定 Explore → Propose 顺序
2AI 擅自新增非需求功能proposal 缺少排除范围明确标注「不做什么」,纳入合规审查
3tasks 任务和 TDD 计划粒度错位OpenSpec 需求视角 vs Superpowers 实现视角不统一衔接层自动拆分任务粒度
4实现方案背离 design 技术约定Superpowers 未读取规范上下文启动前全量导入 OpenSpec 文档
5常规 CR 查不出规范违规原生审查只校验代码质量配置 spec-compliance-check 合规审查
6只做代码审查或只做规范校验误以为两类校验目标一致代码 CR + 合规校验 + Verify 三步全执行
7归档上线后隐藏代码 BUG归档前无强制全量测试Archive 前置 Superpowers 全量测试

详细踩坑分析

踩坑 1:跳过 Explore 直接 Propose

场景: 存量 Go 微服务新增 JWT 认证,直接执行 /opsx:propose 跳过 /opsx:explore

现象: AI 自主选用无黑名单纯 JWT 方案,无法满足主动踢人需求,提案反复修改 3 次。

根因: 缺少前置方案研讨,AI 依靠默认经验生成规范。

解决方案: 固定流程:先 /opsx:explore 研讨方案,确认细节后再 /opsx:propose

踩坑 2:Proposal 缺失排除范围

现象: 未标注「不改动前端 Web 登录逻辑」,AI 落地时擅自改造原有 Web 端代码。

根因: 无边界约束,AI 习惯性补充额外功能。

解决方案: 提案中细化「不做什么」,排除范围后续会被 Superpowers 合规审查引用。

踩坑 3:任务粒度不匹配

现象: OpenSpec 单条「实现 JWT 签发函数」,无法直接对接 Superpowers 六步 TDD 开发。

解决方案: 通过衔接层做粒度转换——由 Superpowers writing-plans 自动拆解原子开发步骤(编写失败测试 → 执行报错 → 最小代码实现 → 测试通过 → 代码重构 → 提交代码)。

踩坑 4:Superpowers 空跑

现象: 无视 design.md 中 Redis 黑名单约定,AI 改用内存 Map 存储失效 Token。

根因: 无规范上下文,AI 自主选用实现方案。

解决方案: 启动开发前强制加载 OpenSpec 全套规范文档(design.md + specs + tasks.md)。

踩坑 5:原生代码审查不校验规范合规

现象: 代码质量无问题,但实现逻辑和 specs/design 不符,常规 CR 无法识别。

解决方案: 新增 spec-compliance-check 自定义 Skill,强制审查时比对全套规范文档。详见下方「自动化 Skill 方案」。

踩坑 6:二选一执行审查/校验

现象: 代码 CR 满分但实现偏离规范,或 Verify 合规但代码无法运行。

根因: 混淆「代码质量」与「规范合规」的校验目标。

解决方案: 固定顺序:代码质量审查 → 规范合规审查 → OpenSpec 全量 Verify。

踩坑 7:Archive 前未跑全量测试

现象: Verify 校验合规,但存在隐性代码 BUG,上线后暴露。

根因: OpenSpec 归档无内置全量测试强制校验。

解决方案: 归档前强制触发 Superpowers 全量测试校验,测试全量通过才可归档。

失败路径修复手册

以下 5 个场景是最常见的卡点,每个都包含症状、根因、修复步骤和防复发策略。

场景 1:Implementer 偏离需求

症状:

  • 代码「看起来都对」,但和 specs/*.md 的约束对不上
  • PR 里出现「顺便加了个功能/顺便改了个结构」

高频原因:

  • tasks.md 只有「做什么」,缺少「做到什么算完成」(DoD)
  • 实现阶段一次性加载太多上下文,注意力漂移

修复步骤:

  1. 回到 tasks.md:给每个任务补 1 行 DoD(Definition of Done)(状态码/错误分支/测试覆盖点/日志)
  2. Implementer 只做「减法」:把非目标移出本变更
  3. Spec Reviewer 用「对照打勾」方式审:只判定是否满足 specs + DoD

防复发:proposal.md 的「非目标」同步到 tasks.md 顶部,作为实现阶段护栏。

场景 2:TDD 卡住

症状:

  • 红灯阶段写不出一个合理的失败测试
  • 测试依赖 DB/网络,跑不稳定

高频原因:

  • 一个任务包含多个行为,测试无法聚焦
  • 依赖未隔离,很难 mock

修复步骤:

  1. 把任务拆到 2–5 分钟粒度:一条测试只覆盖一个行为
  2. 先写「纯校验/纯映射」测试,再写 I/O
  3. 对 DB/网络:先做「内存实现 + 契约测试」,最后再换真实实现

防复发:tasks.md 每个任务里写明:1 个失败用例 + 1 个边界用例

场景 3:Worktree 管理混乱

症状:

  • 同一变更出现多个 worktree,或在错误 worktree 上改代码
  • 合并时发现漏文件/漏 commit

修复步骤:

  1. 约定命名:../<repo>-<change>-<yyyyMMdd>../<repo>-feature-xxx
  2. 每次开工先 git worktree list,确认路径 ↔ 分支
  3. 只保留 ≤ 3 个活跃 worktree:完成一个就删一个

防复发: 在变更任务清单顶部写清楚 worktree 路径 + 分支名。

场景 4:Verify 不通过

症状: 验证报告提示某些任务未覆盖,或测试/构建失败。

修复步骤:

  1. 把失败项映射回 tasks.md——哪个任务的 DoD 没满足
  2. 先修「便宜失败」(lint/类型/单测),再修系统性失败(集成/架构)
  3. 修复后补 1 条「回归测试点」

防复发: 每完成 2–3 个小任务就做一次快速验证,不要堆到最后。

场景 5:Spec Reviewer 与 Code Reviewer 意见冲突

症状: 一个说「满足规格就行」,另一个说「结构不行要重构」。

修复步骤:

  1. 先过规格:只讨论「是否满足 specs + DoD」
  2. 再过质量:限定重构边界(不改行为、不改外部接口)
  3. 若确需大改:回到 design.md 补一条决策记录

防复发: 固定两阶段审查输出——Spec 只给「缺口清单」,Quality 只给「风险清单」。

自动化 Skill 方案

上述 7 个踩坑中,5 个可通过自定义 Skill 自动化处理(仅坑 1、坑 2 需人工在需求阶段把控)。

Skill 1:spec-compliance-check(规范合规校验)

解决: 踩坑 5(原生审查不校验规范合规)

触发时机: 代码审查前

功能:

  1. 读取项目主规范 + 本次增量 spec 文档
  2. 逐条核对 spec「假设-当-则」场景落地、design 架构方案、proposal 排除范围
  3. 发现违规直接标记 BUG

部署路径:

  • Claude Code:~/.claude/skills/ 目录
  • Cursor:.cursor/rules/ 目录

Skill 2:openspec-superpowers-bridge(双框架衔接桥梁)

解决: 踩坑 3、4、6、7

触发时机: 启动 Superpowers 实现任务时

功能:

  1. 自动检索 openspec/changes 目录未归档变更文档,全量加载 design、spec、tasks
  2. 已完成 Explore/Propose 则自动跳过 Superpowers brainstorming
  3. 自动把 spec 业务场景转换为 TDD 测试用例,拆分 tasks 至 Superpowers 标准粒度
  4. 单任务完成自动调用合规审查,全任务结束强制 Verify + 全量测试后才可 Archive
Tip

更详细的自定义 Skill 编写方法,请参考自定义技能

实测数据对比

以 JWT 认证功能为例,三种落地模式的实测对比:

评估维度单用 OpenSpec单用 Superpowers双框架协同
需求边界管控依靠提案排除范围口头约束,偶发超范围排除范围 + 合规双重管控,0 次越界
单元测试覆盖无强制测试全量 TDD 落地全量 TDD 落地
代码提交粒度单次大批量提交拆分小粒度提交拆分小粒度提交
规范合规校验仅 Verify 校验无规范校验能力合规审查 + Verify 双重校验
迭代返工次数1~2 次2~3 次0~1 次
长期项目维护规范持续沉淀无历史规范留存规范沉淀 + 统一编码纪律

场景选型指南

场景推荐方案
按钮文案修改、错别字修复等微小迭代仅 OpenSpec(快速通道 /opsx:ff
一次性脚本、临时小工具仅 Superpowers
团队协作、长期迭代的业务项目OpenSpec + Superpowers 双框架
存量代码新增复杂功能(权限、支付)双框架 + Comet 自动化

简易判断标准: 代码生命周期 ≥ 1 个月、≥ 3 位开发者参与,优先双框架联用。

相关资源