用途:对用户的 Plannotator 计划存档做多阶段研究分析,从被否决的计划中提取模式,归纳为可执行洞察,并生成一份 HTML 仪表盘报告。
数据源选择:优先使用 Plannotator 模式,数据目录为 $PLANNOTATOR_DATA_DIR(未设置时用 ~/.plannotator),检查其 plans/ 子目录中的 *-denied.md 文件;若不存在或没有被拒计划,则回退到 Claude Code 模式,检查 ~/.claude/projects/ 并读取 references/claude-code-fallback.md,使用内置脚本 scripts/extract_exit_plan_mode_outcomes.py 从 JSONL 记录提取否决理由;两者都没有时向用户询问目录,不得猜测。
主要阶段:Phase 0 定位计划并检测历史报告(文件名形如 compound-planning-report.html 及带版本号的后缀),若有历史报告则让用户选择增量或全量分析,增量以报告修改日期为截止点;Phase 1 清点文件,统计 -approved.md、-denied.md 数量、日期范围、修订率,并按行数统计已批准计划的平均规模,忽略 *.annotations.md 文件;Phase 2 使用 Haiku 模型并行提取每个被拒文件的主题、否决理由、反馈类型、具体修改要求、反复出现的措辞和批注,结果写入 /tmp/compound-planning/extraction-{batch-name}.md;Phase 3 使用 Sonnet 模型归约,产出拒绝原因分类法、高频反馈模式、反复措辞、审阅者价值取向、代理常见错误、结构性要求、时间演变,以及可执行的提示词指令并估算其覆盖率;Phase 4 依据 assets/report-template.html 的设计语言(仅视觉风格,不使用其示例数据)生成自包含 HTML 报告,递增版本命名保存到用户计划目录。
限制:必须读取每个范围内文件,不得跳过;增量模式只处理截止日期之后的文件;少于 3 个新增被拒文件时应提醒用户增量分析可能样本不足;具体目录、模板与脚本路径以实际环境为准,资料未提供完整代码示例。