Skills Improvements from User Feedback

基本信息

属性内容
日期2025-11-28
状态草稿
来源两个Claude实例在实际开发场景中使用Superpowers的反馈

执行摘要

本次反馈来自两个Claude实例的实际开发会话,暴露了当前Superpowers技能体系中存在的系统性缺陷——即使遵循现有技能流程,仍然会产生可预防的缺陷并发布到生产环境。

核心结论:这些内容是真实问题报告而非单纯的解决方案提议,问题真实存在,对应的改进方案需要进一步评估。

核心主题

  1. 验证缺口:当前仅验证操作执行成功,不验证操作实现了预期目标
  2. 进程卫生问题:后台进程不断累积,跨子代理场景下会产生干扰
  3. 上下文优化不足:子代理会收到过多无关信息
  4. 缺少自我反思环节:交付前没有要求对自身工作进行复盘校验
  5. Mock接口漂移:Mock实现会在无感知的情况下偏离接口定义
  6. 技能激活不足:技能已存在但未被阅读和使用

已识别问题

问题编号问题名称影响等级核心问题描述
1配置变更验证缺口verification-before-completion流程仅检查操作成功,不验证结果是否符合预期配置变更,会产生测试错误信心,导致缺陷流生产
2后台进程累积中高子代理无状态,不知道之前子代理启动的进程,没有清理流程, stale进程会占用端口导致后续测试命中错误服务,得到错误测试结果
3子代理prompt上下文膨胀默认给子代理传递完整计划文件,子代理会在无关内容上浪费token和注意力,导致执行更慢、失败尝试更多
4交付前缺少自我反思实现者在报告完成前不会主动复盘自身工作,本可由实现者发现的缺陷被传递给评审者
5Mock-接口漂移Mock根据错误代码的调用生成而非从接口定义生成,TypeScript无法检测到内联Mock的方法名错误,导致测试通过但运行时崩溃
6评审者文件访问问题低中代码评审子代理的prompt没有包含显式读文件指令,导致评审者无法找到实际存在的文件,评审失败或不完整
7修复工作流延迟现有流程中,实现者在自我反思中发现bug后,需要经过报告->调度修复者->修复->验证的额外往返,增加无价值延迟
8技能未被阅读没有强制要求子Agent阅读相关技能,prompt也不包含阅读技能的要求,导致技能投入被浪费

提议改进方案

改进项对应问题修改内容
verification-before-completion添加配置变更验证问题1新增验证环节,要求配置/提供者/功能开关/环境变更后,必须识别预期差异、找到可观测点、运行命令确认差异存在后才能声明变更生效,强制验证意图而非仅操作成功
subagent-driven-development添加E2E测试进程卫生要求问题2要求调度E2E测试子代理前,在prompt中加入清理流程:启动服务前杀死旧进程、验证端口空闲,测试完成后杀死进程验证清理完成
subagent-driven-development添加精简上下文选项问题3修改子代理任务执行步骤,区分两种上下文模式:独立模式化任务使用精简上下文,仅包含任务描述、目标文件、参考模式、验证命令;复杂有依赖任务使用完整计划上下文
subagent-driven-development添加自我反思环节问题4在prompt模板中添加交付前自我反思步骤,要求实现者复盘工作是否符合要求、是否存在可修复问题,发现问题直接修复后再报告
requesting-code-review添加显式读文件要求问题6在评审模板开头添加要求:评审前必须用读工具加载所有变更文件和引用文件,无法找到文件时明确报告,不加载文件不继续评审
testing-anti-patterns添加Mock-接口漂移反模式问题5新增反模式:禁止从实现推导生成Mock,要求写Mock前先读接口定义、仅Mock接口定义的方法,如果测试失败说明代码存在bug,修复代码而非调整Mock
测试任务要求子代理必须阅读技能问题8在测试相关任务的prompt模板中添加要求:写测试前必须读取testing-anti-patterns技能,应用对应规则,该要求为强制要求
允许实现者修复自识别问题问题7修改工作流:自我反思发现可修复问题后,允许实现者直接修复重新验证,减少额外往返延迟

实施计划

阶段1:高影响、低风险(优先执行)

  1. verification-before-completion:添加配置变更验证
  2. testing-anti-patterns:添加Mock-接口漂移反模式
  3. requesting-code-review:添加显式文件读取要求

阶段2:中度修改(小心测试)

  1. subagent-driven-development:添加进程卫生要求
  2. subagent-driven-development:添加自我反思环节
  3. subagent-driven-development:添加技能阅读强制要求

阶段3:优化项(先验证)

  1. subagent-driven-development:添加精简上下文选项
  2. subagent-driven-development:允许实现者修复自识别问题

待解决开放问题

  1. 精简上下文方案:是否应作为模式化任务默认?如何选择上下文方案?过于精简丢失重要上下文的风险如何处理?
  2. 自我反思:是否会显著减慢简单任务?是否仅应用于复杂任务?如何避免反思流于形式?
  3. 进程卫生:是否应独立成技能而非放在子代理开发流程中?是否适用于E2E测试以外的场景?需要持久运行的开发服务如何处理?
  4. 技能阅读强制:是否要求所有子代理都阅读相关技能?如何避免prompt过长?过度文档导致丢失焦点的风险如何处理?

成功指标

  1. 配置验证:零“测试通过但使用了错误配置”问题
  2. 进程卫生:零“测试命中错误服务”问题、无端口冲突错误
  3. Mock接口漂移:零“测试通过但运行时缺失方法崩溃”问题、Mock与接口无方法名不匹配
  4. 自我反思:实现者报告包含反思结论、更少缺陷流入代码评审
  5. 技能阅读:子代理报告引用技能检查规则、代码评审中更少反模式违规

风险与缓解

风险缓解方案
Prompt膨胀分阶段实施、部分改进仅针对对应任务类型启用、按任务类型使用不同模板
分析瘫痪保持检查流程轻量化、精简上下文初始为可选、监控任务完成时间
错误安全感强调检查流程是最低要求而非完整保证、保留自主判断空间、明确说明技能仅捕获常见失败
技能内容分歧修改前跨技能评审一致性、文档化技能之间的交互关系、全量上线前真实场景测试

最终建议

  • 立即推进阶段1改进
  • 阶段2改进先和相关方测试获取反馈后再定稿
  • 阶段3改进暂不推进,待验证有效性后再评估