onewave-ai/cowork-folder-organizer
Cowork-style cleanup of a messy folder or shared drive -- classifies every file, proposes a target structure, renames to a consistent convention, deduplicates, and writes an index. Use on Downloads, Desktop, client folders, or team shared drives.
npx skills add https://github.com/OneWave-AI/claude-skills --skill cowork-folder-organizer
Turn a chaotic folder into an organized, navigable workspace the way Claude Cowork works through a directory: inventory everything first, propose before moving, then execute with a full undo trail. Never destroy information -- every move is logged and reversible.
Take a directory path. If none is provided, ask for one. Confirm scope before touching anything: subdirectories included or not, and whether any paths are off-limits.
~$ locks, empty files).final, final2, v3, (1)). Identify the canonical copy (newest complete version) and mark the rest.YYYY-MM-DD-descriptive-name.ext for dated documents, client-project-doctype for client work), the duplicate resolution list, and the junk list. Wait for approval before moving anything._review-before-deleting/ -- never delete outright. Log every operation as old-path -> new-path in _organizer-log.md.INDEX.md at the root: the new tree, what lives where, and a table of the 20 most recently active files so the owner can re-orient instantly._review-before-deleting/ and let the human pull the trigger.When run as a recurring Cowork scheduled task (e.g. weekly on Downloads), skip the approval step only for previously approved rules: apply the established convention to new files, quarantine new junk, and post a summary of what moved. Anything that does not match an existing rule goes to _needs-decision/ and is listed in the summary.
_organizer-log.mdTake onewave-ai/cowork-folder-organizer from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.