# Local File Organizer

> 逐文件拆解混乱目录，按真实用途和内容归属重分类、重命名，并用可回滚账本安全执行。

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

---


# Local File Organizer

整理的交付物不是“看起来整齐”，而是一个可解释、可回滚、能继续维护的系统。

## 选择分支

只走用户需要的分支，完成后即停止：

- **盘点**：只读检查并给出结构、命名与清理方案。
- **执行**：在盘点后按已授权的变更账本移动、重命名或去重。
- **复盘**：仅在用户明确要求时，从已检查的材料提炼人生与工作线索。读取
  [复盘规则](references/reflection.md)；不因整理文件而自动生成。

## 选择整理深度

- **标准模式**：适合快速梳理或规模很大的同质资料；允许按可解释规则分组。
- **原子化深度模式**：递归到安全最小单元，逐文件理解、分类和命名。用户提出“深度梳理”
  “全部拆解”“具体到每个文件”或不保留原目录时使用；该模式禁止用抽样代替逐项结论。

安全最小单元通常是单个文件；存在内部路径引用的代码仓库、应用包、照片图库、设计工程、
媒体项目或依赖目录是**完整性包**。先把完整性包作为一个原子，只有用户明确授权拆包后，
才继续分析其内部文件。

## 安全契约

- 先解析目标的绝对路径、排除项与每个空间的用途。现有目录是线索，不是分类真相。
- 默认保持可逆。把不确定项放入 `Review` 或 `PendingDelete`；可用系统废纸篓时优先使用。
- 单独标出符号链接、硬链接、云端占位文件、完整性包、权限边界及跨卷移动。
- 区分内容归属与文件系统所有者。默认保留 UID/GID、ACL、权限、扩展属性和时间信息；
  分类整理不构成 `chown`、`chmod` 或权利转移授权。
- 只读取完成分类所需的最少内容。报告中省略证件号、地址、账户、健康、合同等敏感细节。
- 永久删除需要对当前清单中明确类别的单独授权。“清理一下”不构成删除授权。
- 跨卷或云盘操作先复制并验证，再处理源文件；目标未验证前，源文件保持不变。

## 工作流

### 1. 建立空间契约

为每个根目录确定一个主要职责，例如 `CurrentWork`、`Inbox`、`Archive`、
`MediaWork` 或 `PersonalVault`。若职责无法从请求中可靠判断，用普通文本给出 2–3 个
方案，标注推荐项及一句取舍。

记录：

- 目标与排除路径
- 空间职责
- 用户要盘点、执行还是复盘
- 标准模式或原子化深度模式
- 可接受的改名、移动与删除范围

完成标准：每个根目录只有一个主要职责，边界与授权无歧义。

### 2. 建立证据清单

先只读盘点。沿证据阶梯逐级深入，证据足够判断用途即停止：

1. 原始路径、名称、类型、逻辑大小和时间；
2. UID/GID、权限、ACL、扩展属性、链接与云端状态；
3. EXIF、媒体标签、文档属性、PDF 元数据、项目清单等格式元数据；
4. 文本提取、OCR、图片视觉分析、音视频转写等内容检查；
5. 与相邻文件、版本、项目和时间线的关系。

- 先判断真实用途，再决定归宿；原目录名称只提供上下文。
- 分开记录内容归属/权利与技术所有者。内容归属可使用
  `Personal`、`Employer/Company`、`Client/Collaborator`、`Family/Shared`、
  `ThirdParty/Licensed` 或 `Unknown`，并按实际材料调整。
- 标准模式可以为同质文件建立证据分组，但决定删除时不得依赖抽样。
- 原子化深度模式递归枚举每个叶子文件和完整性包；每项单独记录，不保留“因数量太多而
  未读”的模糊分组。
- 文件名相似只产生“疑似重复”；大小一致并经内容哈希确认后才是“完全重复”。
- 相似照片、不同导出、版本稿和项目内副本是独立审查项，不并入完全重复。

完成标准：标准模式中的每项均被记录或落入有规则、有数量的证据分组；原子化深度模式中，
每个叶子文件或未拆完整性包都有稳定 ID、用途、内容归属、证据、拟议名称与目标位置。
权限、加密、损坏等无法判断的项目明确标为 `Unknown`，不得静默跳过。

### 3. 分片只读分析

当文件量大、格式多且宿主支持 sub-agent 时，可把内容判断分成互不重叠的只读批次：

- 主代理先冻结范围、分类词表、稳定 ID 和输出字段，再按目录、格式或时间切片。
- 每个 sub-agent 只接收必要上下文而非完整对话历史，读取分配清单并返回证据、用途、
  内容归属/权利、建议名称、目标位置、置信度和未决问题。
- sub-agent 不移动、重命名、删除文件，也不自行扩展范围。
- 主代理合并唯一账本，复核低置信度、敏感、冲突及高风险项目。

完成标准：所有分片均已返回或明确失败；ID 无遗漏、无重叠；冲突由主代理统一裁决。

### 4. 设计结构与变更账本

每层目录只采用一个主要检索轴：

1. 根层按空间职责；
2. 下一层按领域或项目；
3. 只有当时间是主要检索方式时，才按时间分层。

原子化深度模式中，原始路径只保留在证据和回滚映射里，不继承为目标结构。按实际用途、
内容归属和检索方式重新聚合，避免把“公司、项目、人物、时间”混在同一层竞争。

沿用用户已有的简洁命名风格。仅在确实需要固定排序或双语识别时使用
`NN_EnglishTag_中文说明`；日期目录使用 `YYYYMMDD_主题`。文件改名基于可辨认的主题、
日期、项目或内容归属，保留扩展名；完整性包内部名称不在未授权时改变。

先提交目标树和变更账本。账本至少包含：

| ID | 来源 | 用途 | 内容归属/权利 | 技术所有者 | 建议名称/目标 | 证据/置信度 | 动作 | 风险/可逆性 | 大小 |
|---|---|---|---|---|---|---|---|---|---|

另列：

- 完全重复、疑似重复、生成物/缓存、过期候选；
- 命名冲突、包边界、跨卷或云端项目；
- 明确保留、暂不处理与需要确认的项目；
- 回滚方法及预计待释放空间。

完成标准：每个动作都有唯一目标；覆盖、同名冲突和高风险项已有处理决定；所有未决项保持
不动。

### 5. 通过授权门

- 用户只要求盘点或方案：保持只读。
- 用户已明确要求执行，且账本完全落在已确认边界内：可执行可逆动作。
- 范围、归类策略或目标位置发生实质变化：先确认更新后的账本。
- 永久删除：展示具体类别、文件数、路径范围与逻辑大小，取得单独授权后才执行。

授权只覆盖当前账本。新增动作回到本步骤。

### 6. 分批执行并核验

在首个变更前，把逐项来源—目标映射保存到目标空间或用户指定的持久日志位置。随后：

1. 检查目标卷空间、写权限、目标不存在覆盖冲突；
2. 创建目标目录；
3. 小批量执行低风险移动和改名，每批更新账本并核对所有者、权限和扩展属性；
4. 跨卷文件复制后核对数量、大小和关键元数据；关键文件或完全重复再核对哈希；
5. 对不确定项保留相对路径，移动到审查区；
6. 全部后代均已结账且目录确认为空后，才按授权清理旧空目录；
7. 遇到目标变化、校验失败、权限异常或未计划冲突时，停止受影响批次。

遇到覆盖冲突时保留源与目标并记录；按账本状态区分部分成功与全部成功。

完成标准：账本中每项都有 `完成`、`失败` 或 `未执行` 状态；完成项的目标实际存在，
跨卷复制已验证，失败项的源文件仍可恢复。

### 7. 结账

报告：

- 已完成、失败、未执行与刻意保留的数量和位置；
- 各内容归属/权利类别、`Unknown` 项及技术所有者异常；
- 完全重复、疑似重复及删除候选的处理结果；
- 回滚或从废纸篓恢复的方法；
- 新结构的使用规则和最小下一步。

区分空间口径：

- 文件仍在磁盘、审查区或废纸篓：`待释放空间`；
- 已经永久移除：`已删除的逻辑大小`；
- 只有经过文件系统测量，才称为`实际释放空间`。

