← ClaudeAtlas

file-singlifylisted

scan disks, folders, mounted paths, or uploaded file manifests to find redundant duplicate files and duplicate directory copies. use when the user wants file deduplication, directory-first duplicate detection, storage cleanup, canonical-copy selection, duplicate-to-canonical reference mapping, hardlink or symlink plans, dry-run reports, or storage space saving analysis.
host452b/polish · ★ 1 · AI & Automation · score 67
Install: claude install-skill host452b/polish
# file-singlify(文件单副本化) ## 这个 skill 做什么 扫描某个磁盘 / 目录 / 挂载路径,找出因多次复制、备份、同步、迁移产生的**重复文件**和**重复目录**,生成「单副本化」方案:每组保留一份 canonical copy,其余映射为引用 / 待删除 / 链接建议,估算可节省空间。 **核心原则:默认只读、只做 dry-run。绝不直接删除、移动、覆盖、改写、创建硬/软链接。任何破坏性操作都必须先出报告、再等用户明确确认。** 脚本本身永远只读 —— `--action-mode` 只改报告里 `suggested_action` 的标签,不执行任何动作。 ## 何时使用 - 用户要扫某个盘/目录/一批文件夹,找「一模一样的文件」「重复目录」「冗余备份」「多重复制」 - 用户想保留一份原始文件、生成引用映射、删除建议、硬/软链接建议、去重报告、节省空间估算 - 关键词:去重 / 单副本化 / 重复目录折叠 / dedup / canonical copy / storage cleanup **不适用:** 用户要的是文件内容分析、压缩、或与重复检测无关的整理。 ## 默认工作流 1. **路径与权限检查** — 确认当前环境能否访问 `root_path`。**能访问就运行脚本;不能访问则要求用户提供目录清单 / 目录树 / 压缩包 / 可访问挂载路径。绝不虚构扫描结果。** 2. **运行脚本(directory-first)** — 先按目录一致性找冗余,再用 hash 确认文件。整个目录被重复复制是最大空间浪费来源,优先展示目录级结果。 3. **读脚本输出,整理给用户** — 优先讲重复目录组,再讲重复文件组、canonical 映射、节省空间、风险项。对脚本标为 `uncertain` / `manual_review` 的项,**向用户提问澄清**,不要替他决定。 4. **给出 top-4 后续命令** — 脚本会按当前 OS/shell 生成 top-4 推荐命令(安全优先:verify → quarantine → hardlink → delete),见报告第 10 节 / JSON 的 `recommended_commands`。把它们呈现给用户,并按用户**真实的** OS 与 shell 调整语法;脚本默认自动探测,必要时用 `--target-os` / `--target-shell` 覆盖。**只给命令,不执行。** 命令里用的是代表性样本路径,需逐行套用到映射表。 5. **destructive 操作前再确认** — 用户要真正删除 / 换链接时,先复述计划并要求明确确认;脚本不会执行,需用户自行执行或另行授权。 ## 何时运行脚本 环境可直接读到 `root_path` 就运行;只拿到清单/树时,按同样的判定逻辑(目录结构一致 → 文件大小一致 → 内容 hash 确认)人工分析并明确说明「未做 hash 确认」。 ```bash python3 scripts/scan_file_singlify.py <root_path> \ --scan-mode directory-first \ # 或 file-only --hash-algorithm md5 \ # md5 | sha256 | both(严格用 both) --output-format markdown \ # ma