zizi 51c6811e11 feat(agents): 文档整理助手 skill(doc-organizer)——增量 + 两阶段审批门
承接创始人需求:手动触发、增量(记上次清理时间→只分析该窗口)、两阶段审批门(发起分析 Workflow→编清理计划→评审→创始人批准后才动手清理)。把 2026-06-16 首轮目录治理固化为可重复可控流程。

三轴:①过期历史档→归档/压缩 ②核心设计档→措辞对齐现行真相 ③主任务总账→回填。组成:.agents/skills/doc-organizer.md(playbook两阶段) + .agents/tools/doc-organizer.sh(检测scan/可逆归档archive/记时record,实测exit0) + doc-organizer-analyze.mjs(分析相Workflow,三轴fan-out只读) + doc-organizer-state.json(seed 7f24a344@2026-06-16)。

手动触发=~/.claude/skills/doc-organizer/SKILL.md 薄入口(本机注册,照 _gstack-command 范式;执行逻辑随仓走)。红线:检测自动·判断留人·脚本不自删·阶段一只读·最新日在飞档不碰·白名单 orchestrator/channel-spike/generation-spike。索引同步 AGENTS §5 + .agents/README。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 15:47:59 +00:00

6.2 KiB
Raw Blame History

文档整理助手doc-organizer

触发:创始人手动/doc-organizer 或"整理文档/清理文档")。 性质增量 + 审批门式文档治理——只分析"上次清理→现在"窗口,先发起 workflow 分析 → 编清理计划 → 评审计划 → 创始人批准后才动手清理。把 2026-06-16 首轮目录治理固化为可重复、可控流程。 铁律阶段一只读不写;任何归档/压缩/改写/总账回填必须等创始人批准后才在阶段二执行。 分工:机械检测/可逆搬运/记时 → .agents/tools/doc-organizer.sh;分析 fan-out → Workflow分类判断/措辞修订/总账回填 → opus 子代理,主代理验证(见 opus-subagents-critical-tasks)。 依据.agents/rules/engineering-conventions.md §10、活地图 docs/agent-specs/_index.md、收口 wave-close-checklist.md


何时触发

创始人手动,典型时机:一波收口后、感觉文档堆积时、或核心设计被新决策推翻后。默认不自动跑


阶段一 · 分析 → 出计划 → 评审(零文件改动)

1. 读窗口 + 体检

bash .agents/tools/doc-organizer.sh since   # 上次清理 commit/时间(增量窗口起点;首次已 seed 7f24a344@2026-06-16
bash .agents/tools/doc-organizer.sh scan    # 一次拿 delta + health + stale + ledger 全部信号

scan 四块:窗口内改动/新增文档 / 热目录体检计数·体积·未归档横幅·未压缩巨档·混入非md/ 核心设计档残留废弃选型词(含"疑似当现行"数,疑似=优先看非必过期,决策史/甘特表会假阳) / 总账新鲜度。

2. 发起分析 workflow用 Workflow 工具 fan-out

本 skill 指示即构成 Workflow 授权。把 scan 暴露的候选清单整理成 args运行分析相脚本

Workflow({ scriptPath: ".agents/tools/doc-organizer-analyze.mjs",
           args: { window, candidates:[{file,lines,type}], staleDocs:[{file,suspect}], ledgerGap } })

三轴并行分类、结构化返回(只读、不改文件):

  • 轴① 过期历史档:每候选 → {type, status(ACTIVE/SHIPPED/SUPERSEDED/SPIKE-DONE/DUP), action(KEEP/ARCHIVE/COMPRESS/EVICT/DELETE), pointer, rationale}(判据=§10/_indexreview 含"为什么"→KEEP/ARCHIVEexecution/edit-plan→COMPRESS代码/证据→EVICT噪声→DELETEKEEP=管当前/未来 或 某线唯一 SoT)。
  • 轴② 核心设计档措辞:每 stale 档 → {revise, bigRewrite, findings:[逐处:当现行?改/已降级?放过 + 现行口径]}(基准=tech-decisions.md+AGENTS §3事实核查据 contracts/+Flyway 勿臆造,规划项标 future-state 勿删)。
  • 轴③ 总账{窗口内已收口波次, 总账是否已回填, 待补段}

3. 编译清理计划(写计划档,仍不动目标文件)

主代理综合子代理结果 → 写 docs/agent-specs/<今日>-文档整理-plan.md:结论先行 + 逐档处置表 + 措辞修订清单 + 总账回填项 + 量化收益归档N/压缩N/对齐N+ 风险/约束/红线。

4. 评审计划(对抗一轮)

派 1 个 opus 评审子代理审计划:误归档活档? 过度压缩? 措辞改错/事实臆造? 漏总账? 越红线动在飞档? → 回填评审意见,主代理据以修订计划。

5. 呈创始人审批 —— 停在此

结论先行报告计划摘要 + 评审结论,AskUserQuestion 请批(执行 / 调整范围 / 不执行)。未获批准前零文件改动。


阶段二 · 执行(仅在创始人批准后)

6. 按批准的计划执行

  • 压缩 = 改写为桩(状态横幅 SHIPPED/SUPERSEDED→替代 + 目标 + 结论 + 权威指针;命名漂移等坑标"勿照抄")。
  • 归档 = bash .agents/tools/doc-organizer.sh archive <文件名...>(自动 git mv→_archive/ + 全仓修引用 agent-specs/Xagent-specs/_archive/X,幂等)。
  • 措辞对齐 = 外科 Edit删除线 + 现行标注不重排、不动无关内容Mermaid 含废弃节点整图重画且语法合法;大档重写先单独出计划过创始人
  • 总账回填 = 按 wave-close-checklist.md 第 1 步§0/§6 + 表头日期 + 对账 commit
  • 重活仍派 opus 子代理、主代理验证。

7. 报告 + 提交 + 记时


安全红线(不可破)

  1. 阶段一绝不改文件;阶段二只动已批准清单内、文件名 ≤ 当前未完成波次的历史档;最新日期在飞档不碰(脚本对 2026-06-16-* 已硬拒归档)。
  2. 破坏性操作(归档/压缩/git rm全程 git 跟踪可回滚;提交前守卫核验:无外来文件、无在飞档、无 orchestrator/* 等未跟踪误纳。
  3. 检测自动、判断留人:脚本只报"疑似/超标"KEEP/ARCHIVE/改不改由 agent 据 _index+MEMORY 裁决、再由创始人批准。
  4. 白名单永留:orchestrator/(活工具箱)、channel-spike/(活 spikegeneration-spike/(可复现证据)。
  5. 多 session 共享树push 前 fetch 核对、撞车的别人 untracked 文档先避让(见 multi-session-shared-tree-push-conflict)。

配套文件

文件 作用
.agents/tools/doc-organizer.sh 检测(scan/since/delta/health/stale/ledger) + 可逆归档(archive) + 记时(record)
.agents/tools/doc-organizer-analyze.mjs 阶段一分析相 Workflow 脚本(三轴 fan-out 分类,只读)
.agents/tools/doc-organizer-state.json 上次清理时间/commit增量窗口锚点勿手改
.agents/rules/engineering-conventions.md §10 / docs/agent-specs/_index.md 判据来源 / 活地图
docs/agent-specs/2026-06-16-agent-specs目录治理-review.md 首轮治理留痕(判据与全量分类范例)