Outline Checklist Generator
Purpose
对指定 Markdown 学习笔记做“结构重构规划”,并生成一个同级的“可操作框架 md 文档”,便于用户按块手动复制原文完成迁移。
核心约束:
- 只读:标题 + 少量内容(用于判断边界)
- 不改正文、不搬运正文
- 交付:清单 + 框架(scaffold)文件内容/路径
Dependencies
- skill: planning-with-files
- 执行步骤与交付结构必须遵循该 skill 的流程骨架(Read → Diagnose → Propose → Map → Deliver)
- skill: learning-notes-organizer
- 重构原则必须遵循该 skill(重划边界、归类重组、精简口语化、加引导注释、基础→高级串联)
- 仍遵守“只交付清单/不改正文”的总约束
Inputs
- target_file: <path/to/file.md>
- scope_policy (default: headings + small content)
- 提取全部标题(H1-H6)
- 每个标题下最多读取前 N 行或 1-3 段(仅用于判断主题归属)
- 禁止通读全文、禁止重写正文
- scaffold_suffix (default): "-待整理"
- scaffold_same_dir (default): true
- scaffold_overwrite_policy (default): "safe"
- safe: 若输出文件名已存在,则在文件名末尾追加 "-v2"/"-v3"(或加时间戳)
- optional: domain_hint(例如 netty / node 网络 / RPC / TCP)
Outputs
- Checklist(对话输出)
- 新的规划标题结构(含引导注释)
- 旧标题 → 新标题映射表(含动作标签)
- 重命名建议(全局汇总)
- 待确认问题(少量)
- 迁移顺序建议(操作步骤)
- Scaffold Markdown Content(框架 md 完整内容)
- 写入路径规则:
- dir = dirname(target_file)
- base = basename(target_file, ".md")
- out = dir + "/" + base + scaffold_suffix + ".md"
- 若无法自动写文件:仍必须输出“应写入的路径 + 完整 md 内容”,由用户自行保存到该路径。
Procedure (must be expressed using planning-with-files)
Step 1 — Read (limited)
- 提取标题树(层级结构:H1-H6)
- 对每个标题仅抽取 scope_policy 允许的少量内容,用于判断:
- 属于哪个主题域
- 是否重复/过宽/过碎
- 是否应合并/拆分/移动
- 不输出正文摘抄(除非极短用于定位问题,且不超过几行)
Step 2 — Diagnose
- 标记并解释(用简短 bullet):
- 重复/交叉
- 过宽/过碎
- 顺序不合理(缺前置概念或高级内容提前)
- 标题命名不规范(口语化、不可检索、含糊)
- 缺失模块(例如:概念/机制/实践/坑点/优化/源码)
Step 3 — Propose New Outline (from basics to advanced)
- 给出新的 2-4 层标题结构(建议)
- 每个一级/二级标题必须有 1 行“引导注释:读完你会……”
- 结构优先级:
- 概念与背景
- 核心机制/模型
- 实战与模式
- 常见坑/排障
- 性能优化/原理/源码(如适用)
Step 4 — Mapping (old → new)
- 对每个旧标题给出归宿:新标题路径
- 标注动作标签(必选其一):
- KEEP / MOVE / MERGE / SPLIT / RENAME / DROP / TBD
- 合并/拆分必须在备注里说明原因与去向
Step 5 — Rename Suggestions
- 只对“确实需要改名”的旧标题给建议
- 不需要改名的不要列入本清单(保持干净)
- 命名建议原则:
- 可检索(标准术语)
- 短、明确、边界清晰
- 避免“杂谈/随记/一些想法”等弱标题
Step 6 — Generate Scaffold File (operational md)
- 生成 <base>-待整理.md 框架内容,放在 target_file 同级目录
- 框架文件必须:
- 顶部元信息(源文件、范围、规则)
- 主体:新大纲结构(含引导注释)
- 每个新标题下面生成“迁移块”(见 Scaffold Format)
- 附录:旧→新映射表、重命名建议汇总、待确认问题、迁移顺序建议
Step 7 — Deliver
- 在对话输出:
- Checklist(A-E)
- 输出文件路径 + 完整 Scaffold Markdown 内容
Output Format (Checklist in chat)
A) 新的规划标题结构(建议大纲)
B) 旧标题 → 新标题映射表
| 旧标题(含层级) | 动作(KEEP/MOVE/MERGE/SPLIT/RENAME/DROP/TBD) | 新标题路径 | 备注 |
|---|
C) 重命名建议(全局汇总,仅列需要的)
旧标题 -> 建议标题(原因:更标准/更短/更可检索/边界更准确)
D) 待确认问题(最多 3-7 条)
E) 迁移顺序建议(操作步骤)
- 先创建新结构骨架(用 Scaffold)
- 再按映射表逐块复制正文到对应迁移块
- 最后统一处理交叉引用/重复段落/术语一致性
Scaffold Markdown Format (must follow exactly)
文件名:<base>-待整理.md
目标:让用户“打开就能一块块处理”,每块都有:来源旧标题 +(可选)重命名建议 + 迁移要点 + 粘贴区。
Scaffold file structure
以下都为H1级别
- 标题 + 元信息
- 新大纲与迁移工作区(每个新标题一个迁移块)
- 附录A:旧→新映射表(全量)
- 附录B:重命名建议汇总(全量,仅列需要的)
- 附录C:待确认问题
- 附录D:迁移顺序建议
Migration Block Template (for every new section)
- 必须包含“来源旧标题(可多条)”
- “重命名建议”段落:仅当本块存在需要改名的旧标题时才出现;否则整段省略
- 必须包含“迁移要点”和“粘贴区”
模板如下(逐节生成):
Template
<新标题>
引导注释:<一句话>
来源旧标题(可多条,可能合并):
- (<动作>)
<旧标题1>
- (<动作>)
<旧标题2>
- (<动作>)
<旧标题3>
重命名建议(仅列需要重命名的旧标题):
<旧标题2> -> <建议标题2>(原因:...)
<旧标题3> -> <建议标题3>(原因:...)
迁移要点(你复制时注意):
⬇️ 在下面粘贴原文内容 ⬇️
(把原文复制到这里)