Folder Caretaker — 文件夹自治管理
When to Use(🔴 按需语义触发)
只有用户说出「整理 / 管理文件」语义时才使用本 skill。 不是所有文件夹都自动加规则。
| 用户说的话 | 功能 |
|---|---|
| 「管理这个文件夹 / 给这个文件夹定规则 / 以后按规矩放」 | A. 持续治理(生成声明) |
| 「整理一下这个文件夹 / 这个文件夹好乱 / 梳理一下 / 归类一下」 | B. 一次性梳理 |
| 「整理完以后要一直保持」 | A+B 组合 |
核心理念(为什么存在)
AI 与 Agent 擅长产出内容,却对自己的产出没有结构感:生成的文件默认散落,无命名约定、无归类逻辑、无归档规则;用户不会主动整理 AI 生成的产物。不治理的 AI 产出物只会越积越乱,最终变成无法检索的垃圾堆。
本 skill 给 Agent 的产出建立结构——让 AI 生成的东西像人整理过的一样有逻辑、可检索、可复用。
协议在文件里,不在 Agent 里
约束机制:整理完成后,文件夹根目录生成 00_使用规则.md(协议本身)。协议随文件夹存在——Agent 存取该文件夹时列目录即见(00_ 前缀排最前),内容自述约束。不需要在任何 Agent 的全局指令里写"进场协议铁律",也不要给所有文件夹自动加规则。
双功能
| 功能 | 动作 | 产物 |
|---|---|---|
| A. 持续治理 | 扫描 → 生成 00_使用规则.md 声明 |
文件夹根目录声明(协议在场) |
| B. 一次性梳理 | 扫描 → 分类 → 方案确认 → 执行 → 善后 | 实际目录结构变动 |
功能 A:持续治理(生成声明)
- 扫描:列目标文件夹树(深度 ≤3,跳过
.git/node_modules/__pycache__等),统计文件类型分布 - 识别类型:按内容特征匹配类型模板(见「类型适配模板」)
- 起草声明:生成
00_使用规则.md(按模板填充)- 必须包含:这是什么(目录地图)/ 放置规则(硬性)/ 禁区(不可违反)/ 维护日志
- 用户确认:展示声明草案,确认后写入文件夹根目录
- 登记:维护日志追加一行「生成本规则 + 日期」
功能 B:一次性梳理(整理方法论)
B1. 扫描与分类
- 完整列目录(含子目录,深度 ≤3)
- 统计文件类型分布(扩展名 + 数量 + 大小)
- 语义归类:按内容主题对文件分组,标注归属(示例:RAG调参报告 →
RAG调参/,产品拆解 →产品拆解/) - 识别"孤儿文件"(散落根目录的)、"重复文件"(
xxx(2).md类)、"空目录"
B2. 提出方案(🔴 枚举确认,不直接动手)
方案必须包含:
| 项 | 内容 |
|---|---|
| 新建目录 | 每个目录一句话说明放什么 |
| 移动映射表 | 文件 → 目标目录 的完整清单(逐一列出,不省略) |
| 重命名建议 | 违反命名规范的文件,给出新名(保持原名语义) |
| 删除建议 | 重复文件/垃圾文件,列出但不执行,由用户拍板 |
| 保留不动 | 用户手动创建的结构 / 不确定归属的文件,明确列出 |
展示后等用户确认,确认后才执行。用户说"可以"才动,禁止先斩后奏。
B3. 执行
- 按确认后的方案移动/重命名/建目录
- 不修改文件内容(只动位置和名字)
- 不删除任何文件(删除必须用户单独确认)
B4. 善后(与功能 A 衔接)
- 清理空目录
- 生成
00_使用规则.md(把这次整理的分类结构固化为放置规则,防止再次失序)
整理验收标准(整理到什么程度算合格)
整理完成后逐项自检,全部通过才算完成:
| # | 标准 | 检查方式 |
|---|---|---|
| 1 | 根目录不裸放:根目录只剩规则文件 + 分类目录,无散落文件 | 列根目录检查 |
| 2 | 每个文件有归属:所有文件都在某个分类目录下,无孤儿 | 递归统计 vs 整理前清单 |
| 3 | 目录语义自明:每个目录名 5 秒内能看懂放什么 | 目测 |
| 4 | 命名规范统一:文件名遵守声明中的命名规则(无日期括号、无版本尾缀) | 抽查 |
| 5 | 无重复副本:无 xxx(2).md 类重复(若有已列出交用户处置) |
扫描 |
| 6 | 结构不过深:分类 ≤2 层(根/类/文件),超过说明分类粒度有问题 |
目测 |
| 7 | 声明在场:00_使用规则.md 已生成且放置规则与整理结果一致 |
读声明 |
| 8 | 用户确认:整理结果向用户汇报,用户认可后才算完成 | 汇报 |
自检不通过 → 继续整理直到通过,或向用户说明无法满足的原因。
类型适配模板
| 类型 | 识别特征 | 声明侧重 |
|---|---|---|
| 代码项目 | package.json / pyproject.toml / src/ / tests/ | 结构约定、构建命令、命名规则 |
| 文档输出 | .md/.docx/.pdf 为主,无代码 | 命名规则、归档规则、frontmatter 规范 |
| 素材库 | 图/音/视频多,按类型分目录 | 分类约定、命名模板、元数据 |
| 会话导出 | 时间戳文件名、session 字样的 md | 归类规则、摘要索引约定 |
| 混合杂物堆 | 无主导类型 | 先分类后治理、分区放置 |
禁区(默认写进所有声明,用户可增删)
- 不删除用户手动创建的文件/结构
- 不重组已存在的目录结构(除非用户明确要求)
- 不移动正在被其他程序占用的文件(应用目录)
- 技术目录(node_modules/.git 等)不整理
Pitfalls
- 功能 B 必须先出方案再动手,方案必须完整枚举(移动映射表逐一列出),禁止"就那几个文件"式省略
- 不主动修改已有文件内容——只移动/重命名/建目录
- 不删除任何文件——删除是用户专属决策,只列出建议
- 声明是给所有 agent 看的——语言用通用规范(中文+必要英文),不写"我"、"这个 agent"
- 识别类型不确定时问用户,不要猜
- 应用文件夹(如 D:\软件)默认只生成声明不做功能 B——用户明确不接受重组(历史教训)
- 验收标准 8 条逐项过——整理完不自检=白整理,下个 agent 看到的还是乱