I haven't changed anything yet. Here is the plan for your approval.
Current state
Downloads holds 14 loose files plus current-project/, which I'll leave alone. Every file is a small .txt stub, and the real type is in the name (for example IMG_2201.jpg.txt). I'm sorting by that inner type.
Proposed structure (all moves, no deletes)
Downloads/
โโโ Documents/
โ โโโ lease-agreement-2024.pdf.txt
โ โโโ sales-report-q3.pdf.txt
โ โโโ board-deck-v3.pptx.txt
โ โโโ pasta-recipe.docx.txt
โโโ Images/
โ โโโ IMG_2201.jpg.txt
โ โโโ IMG_2202.jpg.txt
โ โโโ Screenshot 2026-09-12 at 10.04.11.png.txt
โโโ Installers/
โ โโโ Zoom-installer.dmg.txt
โ โโโ node-v22-installer.pkg.txt
โโโ Archive/
โ โโโ backup-2022-03.zip.txt
โ โโโ backup-2022-09.zip.txt
โโโ To-Sort/
โ โโโ untitled.txt
โ โโโ sales-report-q3 (copy).pdf.txt (duplicate, see below)
โ โโโ board-deck-v3 (1).pptx.txt (duplicate, see below)
โโโ current-project/ (untouched)
The moves keep every filename and modification time, and I'll log each one so it can be undone.
Duplicates (decision for you, nothing is deleted)
These pairs have identical content:
sales-report-q3.pdfandsales-report-q3 (copy).pdfboard-deck-v3.pptxandboard-deck-v3 (1).pptx
Both "(copy)" and "(1)" files look like download leftovers. I'd park them in To-Sort/ rather than delete them. Tell me if you want them deleted.
Three other pairs also have identical content, but I'm not calling them duplicates:
IMG_2201andIMG_2202backup-2022-03andbackup-2022-09Zoom-installerandnode-v22-installer
They have different names and purposes, and these files are only short text stubs. If they were real files with matching hashes, they'd be duplicates. I'm keeping both of each pair.
Questions
- Should the duplicate "(copy)" and "(1)" files go to
To-Sort/(my default), or be deleted? - The 2022 backups are old. Is
Archive/fine, or should they go somewhere else? untitled.txtis "random notes". IsTo-Sort/fine?- Do you want the
.txtsuffixes stripped from the names? I've left them as they are.
Reply "yes" to go ahead with the plan as written, or tell me what to change.
Real run recorded with claude-code / claude-sonnet-5-5. Run on a sample Downloads folder with 14 messy files (the contents are placeholder text; the file names carry the real types). It first proposed a plan and waited for approval, so no file was touched and the demo shows only the plan. Tool-call lines show only the first line of each command. The model output is unmodified.
What it does
Helps clean up folders such as Downloads, Documents or a projects directory: it studies what is there, proposes a structure, spots duplicates and old files, and carries out the plan once you approve it.
How it works
- Asks which folder, what the main problem is, what to leave alone and how aggressive to be.
- Surveys the folder (types, sizes, dates) and looks for duplicates by content hash.
- Shows a plan with the proposed structure, every move and the files that need your decision.
- After approval, moves and renames files, keeps modification dates, logs every move so it can be undone, and always asks before deleting.
Good for
A chaotic Downloads folder, scattered files, duplicates and archiving old projects.
Worth knowing
In our trial it changed nothing until approval: it showed a full plan, kept a protected folder untouched, and put suspected duplicates in a To-Sort folder instead of deleting them.
Pure instruction file: no scripts. After you approve the plan it runs shell commands that create folders, move and rename files and, if you say yes, delete duplicates on your computer. Choose the folder deliberately, keep a backup of anything important, and tell it which folders to avoid. It is designed to ask before deleting and to log moves. The skill folder has no licence file of its own. The licence basis is the source repository's README, which declares the whole repository Apache-2.0 and notes that individual skills may differ. The package also contains LICENSE (the full Apache-2.0 text) and SOURCE.txt (a source and licence-basis note added by AIBars).