# Clean Downloads

> Sort a messy Downloads folder into per-type subfolders (use when the user says their Downloads is a mess / wants it organized)

- Skill: `0pen-sourcer/clean-downloads` (Agent Skill)
- Install (CLI): `npx skillmds@latest add 0pen-sourcer/clean-downloads`
- Raw SKILL.md: https://api.skillmd.com/api/skills/0pen-sourcer/clean-downloads/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: 0pen-Sourcer (https://skillmd.com/u/0pen-sourcer)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/0pen-sourcer/clean-downloads

---


# Clean up Downloads

Sort loose files in the Downloads folder into tidy per-type subfolders. Non-destructive: only *moves* files, never deletes, never overwrites.

## Steps

1. `list_directory` on the user's Downloads folder (`~/Downloads`, or ask if it's elsewhere).
2. Bucket each **file** (ignore folders) by extension:
   - **Documents** — pdf, doc, docx, txt, md, ppt, pptx, xls, xlsx, csv, epub
   - **Images** — png, jpg, jpeg, gif, webp, svg, heic, bmp
   - **Video** — mp4, mkv, mov, avi, webm
   - **Audio** — mp3, wav, flac, m4a, ogg
   - **Installers** — exe, msi, dmg, appimage
   - **Archives** — zip, rar, 7z, tar, gz
   - **Other** — everything else
3. For each bucket that has at least one file, `create_directory` `Downloads/<Bucket>` if it doesn't exist.
4. `move_path` each file into its bucket. If a file with the same name already exists in the target, append ` (2)`, ` (3)`, … to the name — **never overwrite**.
5. Report a short summary: how many files moved into each bucket.

## Don't

- Don't touch subfolders the user already created (only loose files at the top level).
- Don't move files currently in use / locked — skip and mention them.
- Don't delete anything. This skill only organizes.

