Communitygithub.com

hiadrianchen/challenge-plans

在计划执行前,利用你已有的 Claude Code / Codex 订阅进行多智能体对抗性审查,无需额外 API 密钥。

challenge-plans 是什么?

这是一个结合 CLI 工具与 AI 智能体技能的方案,旨在通过多智能体对抗性审查流程,在执行前对计划、规格说明、设计文档等技术产出进行严格评估,从而显著降低返工风险。该工具是标准工作流中“编写计划 → 挑战计划 → 执行计划”的关键中间环节。它支持审查多种输入类型,包括规格说明(spec)、差异(diff,如 git diff)和非开发领域的通用计划(plan),并输出六种等级的裁决结果以及经过验证的反对意见。用户可通过 `--type`、`--profile`、`--sink` 等参数控制审查深度与输出格式,并利用 `--lang` 参数实现审查报告的本地化输出。该技能依赖用户已有的 Claude Code 或 Codex 订阅,并通过 `challenge-plans doctor` 命令检查后端就绪状态。它不会自动调用,而是由调用智能体手动集成到工作流中的适当位置,可与 `superpowers`、`grill-me` 等规划技能互补使用。

兼容平台✓Claude Code✓Codex CLI~Cursor
npx skills add hiadrianchen/challenge-plans

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

挑战计划

在执行前通过多智能体对抗性审查来强化计划/规格说明,从而减少返工。嵌入流程为:编写计划 → 挑战计划 → 执行计划。

何时使用(路由信号)

  • 输入是单个已起草的产物(规格说明/计划/差异/设计文档/架构决策记录)+ 意图为“审查/查找缺陷/能否执行/强化/质量保证”→ 使用此技能。
  • 智能体已完成某项工作并即将询问用户决策或质量保证→ 先运行此技能,然后展示交叉审查建议。
  • 输入是 ≥2 个待选项→ 使用同级的 weigh-options(审议/投票),而非此技能。

运行

# 从 PyPI 安装 (pip install challenge-plans) — 控制台命令可直接使用:
challenge-plans doctor                                                            # 首先检查适配器登录状态
challenge-plans run <artifact> --type spec --profile standard --sink markdown     # 审查一个计划/规格说明
challenge-plans run <artifact> --type spec --profile standard --sink markdown --lang zh   # 本地化输出
# code-diff 门控:  git diff > change.diff && challenge-plans run change.diff --type diff --sink markdown
# 从源代码检出版本(非 pip 安装):PYTHONPATH=src python3 -m challenge_plans.cli <args>
  • --type spec|diff|plan(decision 评价标准尚未实现 — 设计上会以退出码 2 退出)。diff 审查原始 git diff;plan 审查任何计划(旅行、发布、招聘 — 不限于开发规格说明),使用领域无关的失败类型(缺失成功标准/忽略约束/未处理风险/排序缺口/未声明的假设/目标错位/不可逆性/无回退方案),以及可行性·风险·目标一致性视角。所有类型均运行相同的裁决管道。
  • --profile fast|standard|deep,--sink stdout|markdown,--enforce(非批准裁决以非零退出;默认建议退出码为 0)。
  • --lang <code>(默认为 en):以用户语言编写审查报告,例如 --lang zh。根据用户语言设置此项,以便整个审查结果本地化;JSON 键 / 枚举 / L12-15 锚点保持不变。等同于导出环境变量 CHALLENGE_PLANS_LANG。
  • 输出:一个包含 6 种状态的裁决 + 未解决的反对意见。[sev✓] = 跨系列验证者确认,可能严格门控;[sev?] = 未验证,仅为建议。

如果没有可用的后端

challenge-plans 需要至少一个已登录的订阅 CLI(它自身没有模型,且不使用任何 API 密钥)。如果 doctor 显示没有任何内容 ready,请不要盲目重试 — 询问用户,然后路由:

  1. 拥有 Claude 或 ChatGPT 订阅,但 CLI 缺失或未登录→ 引导用户执行 doctor 打印的确切步骤(安装或 claude → /login,或登录到 codex)。
  2. 尚未有订阅但希望获得→ 引导用户订阅(Claude Pro/Max 或 ChatGPT),然后安装并登录 CLI。
  3. 无订阅且不希望订阅→ 解释 challenge-plans 无法在没有订阅的情况下运行,并停止 — 不要循环。

doctor 已经打印了每个后端的修复方法以及此指南;将其呈现给用户,而不是静默失败。

向用户呈现

向用户展示裁决结果 + 未解决的反对意见(✓ 已验证 vs ? 未验证) + 缺失的必填字段,作为“我的交叉审查建议”,然后让用户决定 — 而不是直接将空白的决策交给他们。详见 README.md。

与规划技能组合使用

  • superpowers(编写计划 → 执行计划):在 writing-plans 保存计划文件(默认为 docs/superpowers/plans/<date>-<feature>.md — 读取实际路径)后,在 executing-plans 之前运行 challenge-plans run <plan> --type spec。它占据与 superpowers 内置 plan-document-reviewer 相同的执行前审查环节,但作为多 CLI 跨系列通道。将未解决的反对意见反馈到计划中,然后执行。
  • grill-me(mattpocock/skills):互补且更早 — 它在计划形成时与用户互动对齐(无文件输出)。在已书面的计划/PRD 存在之后再运行 challenge-plans。
  • 没有自动调用 challenge-plans 的机制;调用智能体将其手动接入环节。--type plan/decision 评价标准尚未实现 — 对于类似计划的文本,目前请使用 --type spec。

相关技能