File organizer
Skill megandmartin/agent-skills-repo/skills/productivity/file-organizer
75 production-grade agent skills for Hermes Agent + Paperclip — research, write, organize, earn, and run an AI workforce. Every skill passes a QA gate with hard safety rails. Built by Gen AI Hub.
npx -y skills add megandmartin/agent-skills-repo --skill file-organizerAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 14 days oldThe repository was created 14 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Organizes a messy folder — proposes a naming convention and folder taxonomy, shows the complete move plan as a dry-run table, executes only after explicit confirmation, and writes an undo.sh before touching anything. Use when the user says "organize this folder", "clean up my Downloads", "sort these files", or "my desktop is a mess". Don't use for deleting or deduplicating files (this skill never deletes) or summarizing file contents (use meeting-notes-actions for notes files).
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
5.8 KB, ~1.4k tokens by cl100k_base, as published. Nobody here has run it
File Organizer
Turns a chaotic folder into a clean, documented structure — with a full dry-run plan, an explicit go/no-go, and a working undo.sh written before the first move. The standard: the user sees every single move before it happens, nothing is ever deleted or overwritten, and one command reverses everything.
When to Use
- "Organize my Downloads", "sort this project folder", "impose some order here".
- Before archiving a finished project or handing a folder to someone else.
- Not for: deleting or deduplicating files (this skill never deletes) or summarizing file contents (use
meeting-notes-actionsfor notes files).
Quick Reference
| Action | Command / Call |
|---|---|
| Inventory | find "$DIR" -maxdepth 2 -type f | head -200 and ls -la "$DIR" |
| Profile types | find "$DIR" -maxdepth 2 -type f | sed 's/.*\.//' | sort | uniq -c | sort -rn |
| Collision check | [ -e "$dest" ] && echo "COLLISION: $dest" for every planned destination |
| Create structure | mkdir -p "$DIR/subfolder" |
| Move (never overwrite) | mv -n "src" "dest" — -n is mandatory |
| Undo log | Write undo.sh with one reverse mv -n per move, before any move runs |
Procedure
- Precheck — confirm the target folder exists and count files (
find "$DIR" -maxdepth 2 -type f | wc -l). Over ~300 files: propose organizing the newest or one file-type first. Never operate on/,~itself, or any system/app directory — named subfolders only. - Inventory — profile by extension, size, and modified date. Skim names for natural clusters (invoices, screenshots, drafts, exports). Read-only step: nothing is created or moved.
- Propose the scheme — a taxonomy of 4–8 folders with one-line rules ("Invoices/ — PDFs with invoice/receipt in the name") and a naming convention such as
YYYY-MM-DD_project_description.ext(renames are opt-in — default plan moves only). Get the user's reaction before building the plan. - Build the dry-run table — the FULL move plan, every file, in the template below. No "...and 47 more": every row shown. Check every destination for collisions; on collision, plan a suffixed name (
report_2.pdf), never an overwrite. - Write undo.sh — before anything moves:
undo.shin the target folder, starting#!/bin/sh+ a timestamp comment, then onemv -n "dest" "src"per planned move in reverse order.chmod +x undo.sh. This file exists before the firstmvruns — non-negotiable. - Confirm — state: "{N} moves into {M} folders, 0 deletions, undo.sh ready at {path}. Type yes to execute." Execute only on an explicit yes. Anything else, stop and adjust.
- Execute —
mkdir -pthe folders, then run eachmv -n. If anymvfails or skips (destination existed), record it and continue; report skips at the end. - Report — moved/skipped counts, the new tree (
find "$DIR" -maxdepth 2 -type d), and the undo instruction:sh "$DIR/undo.sh".
Output Template
# Move Plan — {folder} ({N} files) — DRY RUN, nothing moved yet
Proposed taxonomy: {Folder1}/ · {Folder2}/ · ...
Naming convention: {pattern or "keep original names"}
| # | Current name | → Destination | Rule applied |
|---|---|---|---|
| 1 | {file.ext} | {Subfolder}/{file.ext} | {rule} |
| ... every file, no truncation ... |
Collisions handled: {n} (suffixing, never overwriting)
Deletions: 0 (always)
Undo: undo.sh will be written to {folder} BEFORE any move.
Reply "yes" to execute, or tell me what to change.
Pitfalls
mvwithout-nsilently overwrites a same-named file — that's data loss with no undo. Every move and every undo line usesmv -n; collisions are resolved by suffixing in the plan, never at execution time by chance.- undo.sh written after the moves (or never) — a crash mid-run then leaves no recovery. Write and
chmod +xundo.sh in step 5, verify it exists (ls -l undo.sh) before the firstmv. If execution halts midway, undo.sh still reverses the completed portion (mv -nmakes re-running it safe). - Plan truncated ("moving 200 files, here are the first 20") — the user can't consent to moves they haven't seen. Show all rows; if the table is unwieldy, that's the signal to shrink scope (one file type or date range per pass), not to hide rows.
- Overreaching scope — hidden files,
.git/,node_modules/, app bundles, or files outside the target folder get swept into the plan. Exclude dotfiles and known system/tooling directories by default; touch only what's directly in the agreed folder. - User says "looks good" to the taxonomy and the agent starts moving — approving the scheme (step 3) is not approving the plan (step 6). Only an explicit yes after the full dry-run table authorizes execution.
Verification
- Dry-run table listed every file (row count == inventory count) before any move
- undo.sh existed and was executable before the first mv ran
- All moves used
mv -n; zero files deleted or overwritten - Post-run: moved + skipped == planned; skips reported by name
-
sh undo.shwould restore original paths (spot-check 2 lines against the plan) - Nothing outside the target folder was touched
Gives 0 of the 12 instructions most note taking skills give in ~1.4k tokens
Counted across 686 of the 876 authors here whose files we hold, read 2026-08-07
- include a visual element on every slidein 44 of 686, across 13 files
- use wikilinks for internal vault linksin 36 of 686, across 12 files
- commit to a single visual motif across every slidein 34 of 686, across 9 files
- use subagents to visually inspect rendered slidesin 31 of 686, across 7 files
- read pptxgenjs guide before creating presentations from scratchin 30 of 686, across 6 files
- keep 0.5 inch minimum marginsin 30 of 686, across 7 files
- re-verify affected slides after every fixin 27 of 686, across 5 files
- run content QA checks before declaring successin 26 of 686, across 3 files
- Use Markdown links for external URLs onlyin 26 of 686, across 11 files
- pick a bold topic specific color palettein 24 of 686, across 2 files
- read editing guide before editing existing presentationsin 23 of 686, across 1 file
- use one dominant color across all slidesin 23 of 686, across 1 file
Said here and by no other author read
- exclude dotfiles and known system directories
- verify undo.sh exists before moving files
- use mv -n for every move
- show every planned move in the table
- get user reaction before building the plan
- handle collisions by suffixing names
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.