skills/file-organizer/SKILL.md
Intelligently organize messy directories by analyzing files and grouping them based on AI content analysis, temporal patterns, and metadata. Use when users want to clean up cluttered folders (Downloads, Desktop, Documents), sort files by project or topic, or automatically categorize files. Triggers include requests like "organize this folder", "clean up my Downloads", "group these files by project", or "sort my desktop files".
npx skillsauth add mullzhang/skills file-organizerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Automatically analyze and organize files in directories using AI-powered content analysis, temporal clustering, and metadata examination.
This skill helps organize cluttered directories by:
Run the analysis script to collect file metadata:
python scripts/analyze_files.py <directory-path> [-r] [-t TIME_THRESHOLD]
Arguments:
<directory-path>: Path to directory (e.g., ~/Downloads, ~/Desktop)-r, --recursive: Include subdirectories-t, --time-threshold: Seconds for temporal clustering (default: 3600 = 1 hour)-o, --output: Save analysis to JSON fileExample:
# Analyze Downloads folder with 24-hour clustering threshold
python scripts/analyze_files.py ~/Downloads -t 86400 -o analysis.json
The script outputs comprehensive analysis including:
Based on the analysis, create a grouping proposal using AI reasoning. Consider:
Temporal Clusters: Files in the same cluster were likely worked on together (same project/task).
File Names: Extract semantic meaning from names:
Modification Patterns:
Content Analysis (when applicable):
Create a grouping plan with structure:
{
"base_directory": "/path/to/organized",
"groups": {
"GroupName": {
"description": "Brief description of this group",
"files": ["/path/to/file1", "/path/to/file2"]
}
}
}
Grouping Strategies:
Example Groups:
Before executing, always present the proposal clearly:
I've analyzed the directory and found [N] files. Here's my organization proposal:
**Group 1: [Name]** ([N] files)
Description: [Why these files belong together]
Files: [file1, file2, ...]
**Group 2: [Name]** ([N] files)
Description: [Why these files belong together]
Files: [file1, file2, ...]
This will create organized subdirectories under: [base_directory]
Shall I proceed with this organization?
Once approved, save the grouping plan as JSON and execute:
python scripts/organize_files.py plan.json [-n] [-c]
Arguments:
plan.json: The grouping plan file-n, --dry-run: Preview without moving files-c, --copy: Copy files instead of moving-o, --output: Save results to JSONRecommended Workflow:
--dry-run to preview--copy if user wants to keep originalsExample:
# Preview the organization
python scripts/organize_files.py plan.json --dry-run
# Execute (move files)
python scripts/organize_files.py plan.json
# Or copy instead of move
python scripts/organize_files.py plan.json --copy
Analysis:
Grouping:
User Interaction:
Safety:
Pattern 1: Quick Desktop Cleanup
User: "Clean up my Desktop"
1. Run analysis on ~/Desktop with recursive
2. Group by temporal clusters and semantic meaning
3. Present proposal with 5-8 logical groups
4. Execute with dry-run, then real move
Pattern 2: Monthly Download Organization
User: "Organize last month's downloads"
1. Run analysis filtering by date
2. Group by file type with context (work docs, personal, media)
3. Create monthly subfolder structure
4. Execute organization
Pattern 3: Project-Based Sorting
User: "Sort these files by project"
1. Analyze file names for project indicators
2. Use temporal clustering to identify project sessions
3. Group by detected project names
4. Present proposal highlighting how projects were identified
Duplicate Names: Script automatically appends counter (file_1.txt, file_2.txt)
Large Directories: For 500+ files, consider:
Mixed Content: When files don't fit clear groups:
Already Organized: Skip files already in logical subdirectories
scripts/analyze_files.py
scripts/organize_files.py
development
Create a finite Markdown questionnaire file that contains grouped questions, recommended options, answer fields, and optional rationale fields, then read the completed file and continue from the user's answers. Use when Codex needs to ask multiple questions for requirements, specifications, acceptance criteria, product decisions, design choices, implementation tradeoffs, or any situation where conversational back-and-forth would fatigue the user or make the remaining question count unclear.
development
Detect Python dead-code candidates that are referenced only from tests by running Vulture twice and diffing results (production paths vs production+test paths). Use when auditing cleanup targets, reviewing unused-code reports, or validating whether symbols are reachable only through tests.
testing
Generate synthetic data with SDV (Synthetic Data Vault). Learn patterns from real data with machine learning and produce privacy-preserving synthetic data. Use cases: (1) single-table synthetic data generation, (2) multi-table (relational DB) synthetic data generation, (3) time-series synthetic data generation, (4) synthetic data quality evaluation, and (5) metadata and constraint setup
development
Parse PuLP and solver logs (CBC, HiGHS, Gurobi, CPLEX) to diagnose infeasible/unbounded/time-limit/execution failures, extract key metrics, and propose prioritized next debugging actions. Use when given optimization run logs, solver stdout/stderr, or LP/MPS export errors and you need root-cause clues that generalize across optimization problems. When LP/MPS/log artifacts exist, include all of them in the analysis.