mcpField
F
folder-organizer

folder-organizer

github.com/timlai666Productivity057 installsUpdated 1d ago
Repository

About folder-organizer

folder-organizer is a file-organization skill that inventories files and proposes names, folders, and grouping before making changes. It is for users who want a reviewable plan, with execution gated on explicit confirmation.

Key features

  1. 01File inventory and type summary
  2. 02Per-file content and name analysis
  3. 03Folder structure and grouping proposal
  4. 04Explicit confirmation before changes
  5. 05Post-execution tree and count

Use cases

  1. 01Planning a cleanup of a local folder
  2. 02Grouping project files by topic or type
  3. 03Reviewing suggested renames before moving files

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/timlai666/skills --skill folder-organizer

After installing, type/folder-organizerin Claude Code to confirm it loaded.

Details

From the project README

Folder Organizer

A skill for scanning, analyzing, and organizing files — producing a complete reorganization plan before touching anything.


Core Principle: Plan First, Execute Later

Never rename, move, copy, or delete any file before the user explicitly confirms the full plan.

Always present the complete plan and wait for an affirmative response.


Phase 1 — Scan & Inventory

Determine where the files are:

SourceHow to access
Uploaded to conversationCheck /mnt/user-data/uploads/
Local path given by userUse bash_tool to ls -lah <path>
Described verballyAsk the user to upload or provide a path

Run a scan and report:

# Count files and get basic stats
find <target_dir> -type f | wc -l
find <target_dir> -type f -name "*" | sort
ls -lah <target_dir>

Present a simple summary:

  • 📁 Total file count
  • File types found (extensions breakdown)
  • Any immediately obvious duplicates or empty files

Phase 2 — Per-File Analysis

For each file, determine:

FieldWhat to provide
📌 ContentWhat the file contains or represents (read text files; infer from name/extension for binaries)
🏷 Suggested filenameClear, descriptive, lowercase-with-hyphens or underscores, include date if relevant
📂 Suggested folderLogical category group name
🗑 Deletable?Flag if file appears redundant, empty, temp, or duplicate

Filename conventions:

  • Lowercase, use - or _ as separators
  • Include context: 2024-q3-sales-report.xlsx not report.xlsx
  • Keep extensions unchanged

Folder naming conventions:

  • Short, noun-based: reports/, assets/, drafts/, archives/
  • Avoid deep nesting beyond 2 levels unless necessary

Phase 3 — Grouping & Structure Proposal

After analyzing all files, produce:

  1. Grouped clusters — files that belong together by topic, project, or type
  2. Proposed folder tree — show as a tree diagram, e.g.:
    📁 organized/
    ├── 📁 reports/
    │   ├── 2024-q1-sales.xlsx
    │   └── 2024-q3-forecast.pdf
    ├── 📁 assets/
    │   ├── logo-primary.png
    │   └── banner-homepage.jpg
    └── 📁 drafts/
        └── proposal-v2.docx
    
  3. Files to delete — list separately with reason
  4. Files to bundle — groups that could be zipped together (e.g., all assets for a project)

Phase 4 — Confirmation Gate

Present the full plan and ask:

「以上是完整的整理計畫,請確認後我再執行。如需調整任何分類、檔名或資料夾名稱,請直接告訴我。」

(English: "Above is the complete reorganization plan. Please confirm before I proceed. Let me know if you'd like to adjust any category, filename, or folder name.")

Do not proceed until the user says yes / 確認 / 執行 or equivalent.


Phase 5 — Execution (only after confirmation)

Once confirmed, execute the plan:

# Example: create folders and move files
mkdir -p <output_dir>/reports
mv "<source>/old-name.xlsx" "<output_dir>/reports/2024-q3-sales.xlsx"
# ... etc

After execution:

  • Show a final file tree of the result
  • Confirm completion with file count moved/renamed

Edge Cases

SituationBehavior
File content unreadable (binary, encrypted)Infer from filename/extension; flag as "manual review needed"
Duplicate filenames after renamingAppend -2, -3 suffix
User uploads a ZIPExtract first, then analyze contents
No files foundAsk user to re-upload or verify path
Very large folder (100+ files)Summarize by type clusters first; ask if user wants per-file detail

Output Language

Match the user's language. If the user writes in Traditional Chinese (繁體中文), respond in Traditional Chinese. If in English, respond in English.

Comments

Markdown supported