# Folder Caretaker

> 用户说"整理/管理这个文件夹"时用：扫描并生成根目录 00_使用规则.md 声明（持续治理），或按标准一次性梳理文件夹（整理方法论+验收标准）。

- Skill: `texxxxture/folder-caretaker` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add texxxxture/folder-caretaker`
- Raw SKILL.md: https://api.skillmd.com/api/skills/texxxxture/folder-caretaker/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- License: MIT
- Author: TEXXXXTURE (https://skillmd.com/u/texxxxture)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/texxxxture/folder-caretaker

---


# 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：持续治理（生成声明）

1. **扫描**：列目标文件夹树（深度 ≤3，跳过 `.git`/`node_modules`/`__pycache__` 等），统计文件类型分布
2. **识别类型**：按内容特征匹配类型模板（见「类型适配模板」）
3. **起草声明**：生成 `00_使用规则.md`（按模板填充）
   - 必须包含：这是什么（目录地图）/ 放置规则（硬性）/ 禁区（不可违反）/ 维护日志
4. **用户确认**：展示声明草案，确认后写入文件夹根目录
5. **登记**：维护日志追加一行「生成本规则 + 日期」

## 功能 B：一次性梳理（整理方法论）

### B1. 扫描与分类

1. 完整列目录（含子目录，深度 ≤3）
2. 统计文件类型分布（扩展名 + 数量 + 大小）
3. **语义归类**：按内容主题对文件分组，标注归属（示例：RAG调参报告 → `RAG调参/`，产品拆解 → `产品拆解/`）
4. 识别"孤儿文件"（散落根目录的）、"重复文件"（`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 看到的还是乱

