mcpField
F
file-organizer

file-organizer

github.com/sickn33生产力48.7k1.2k 次安装今天更新
代码仓库

关于 file-organizer

File Organizer 是用于分析和整理目录的技能,适合需要管理杂乱文件夹或项目文件的人。它会先提出整理计划,经批准后移动或重命名文件,并要求确认后才删除。

主要功能

  1. 01分析文件夹与文件类型
  2. 02查找重复文件
  3. 03建议文件夹结构
  4. 04获批后移动和重命名
  5. 05记录变更以便撤销

适用场景

  1. 01整理杂乱的 Downloads 文件夹
  2. 02清理前检查重复文件
  3. 03建立项目目录结构
  4. 04归档已完成的项目

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/sickn33/agentic-awesome-skills --skill file-organizer

安装后在 Claude Code 中输入/file-organizer确认已加载。

详细介绍

文件整理

何时使用此技能

  • 你的“下载”文件夹杂乱无章
  • 文件散落各处,让你无从查找
  • 有重复文件占用了空间
  • 你的文件夹结构已经不合适
  • 你想养成更好的整理习惯
  • 你正在启动新项目,需要合理的结构
  • 你想在归档旧项目之前进行整理

此技能的功能

  1. 分析当前结构:检查你的文件夹和文件,了解现有内容
  2. 查找重复项:识别系统中的重复文件
  3. 提出整理方案:根据你的内容建议合理的文件夹结构
  4. 自动整理:在获得你批准后移动、重命名和整理文件
  5. 结合上下文:根据文件类型、日期和内容做出合理判断
  6. 减少杂乱:找出你可能不再需要的旧文件

指示

当用户请求文件整理帮助时:

  1. 了解范围

    提出澄清问题:

    • 哪个目录需要整理?(“下载”、“文档”还是整个主文件夹?)
    • 主要问题是什么?(找不到文件、有重复项、太乱了还是没有结构?)
    • 有需要避开的文件或文件夹吗?(当前项目、敏感数据?)
    • 希望以多大力度进行整理?(保守整理还是全面清理?)
  2. 分析当前状态

    检查目标目录:

    # Get overview of current structure
    ls -la [target_directory]
    
    # Check file types and sizes
    find [target_directory] -type f -exec file {} \; | head -20
    
    # Identify largest files
    du -sh [target_directory]/* | sort -rh | head -20
    
    # Count file types
    find [target_directory] -type f | sed 's/.*\.//' | sort | uniq -c | sort -rn
    

    总结发现:

    • 文件和文件夹总数
    • 文件类型分布
    • 文件大小分布
    • 日期范围
    • 明显的整理问题
  3. 识别整理模式

    根据文件确定合理的分组方式:

    按类型:

    • 文档(PDF、DOCX、TXT)
    • 图片(JPG、PNG、SVG)
    • 视频(MP4、MOV)
    • 压缩包(ZIP、TAR、DMG)
    • 代码/项目(包含代码的目录)
    • 电子表格(XLSX、CSV)
    • 演示文稿(PPTX、KEY)

    按用途:

    • 工作与个人
    • 活跃与归档
    • 特定项目
    • 参考资料
    • 临时/草稿文件

    按日期:

    • 当前年份/月份
    • 过去几年
    • 很久以前的文件(可考虑归档)
  4. 查找重复项

    如果用户提出请求,搜索重复项:

    # Find exact duplicates by hash
    find [directory] -type f -exec shasum -a 256 {} \;
    

Group by the digest field using a filename-safe script; the full output line includes paths.

Identical hashes are candidates: compare bytes and metadata before any removal.

Find files with similar names

find [directory] -type f -printf '%f\n' | sort | uniq -d

Find similar-sized files

find [directory] -type f -printf '%s %p\n' | sort -n


对于每组重复项:

- 显示所有文件路径
- 显示文件大小和修改日期
- 建议保留哪个文件(通常是最新的或文件名最合适的)
- **重要**:删除前务必征求确认

5. **提出整理方案**

进行更改前,先给出清晰的方案:

```markdown
# Organization Plan for [Directory]

## Current State

- X files across Y folders
- [Size] total
- File types: [breakdown]
- Issues: [list problems]

## Proposed Structure

[Directory]/
├── Work/
│ ├── Projects/
│ ├── Documents/
│ └── Archive/
├── Personal/
│ ├── Photos/
│ ├── Documents/
│ └── Media/
└── Downloads/
├── To-Sort/
└── Archive/

## Changes I'll Make

1. **Create new folders**: [list]
2. **Move files**:
   - X PDFs → Work/Documents/
   - Y images → Personal/Photos/
   - Z old files → Archive/
3. **Rename files**: [any renaming patterns]
4. **Delete**: [duplicates or trash files]

## Files Needing Your Decision

- [List any files you're unsure about]

Ready to proceed? (yes/no/modify)
  1. 执行整理

    获得批准后,按步骤整理:

    # Create folder structure
    mkdir -p "path/to/new/folders"
    
    # Move files with clear logging
    mv "old/path/file.pdf" "new/path/file.pdf"
    
    # Rename files with consistent patterns
    # Example: "YYYY-MM-DD - Description.ext"
    

    重要规则:

    • 删除任何内容前务必确认
    • 记录所有移动操作,以便必要时撤销
    • 保留原始修改日期
    • 默认拒绝覆盖;显示确切的源路径和目标路径,并保留可逆的移动清单。不要跟随指向授权目录树之外的符号链接。
    • 妥善处理文件名冲突
    • 遇到意外情况时停止并询问
  2. 提供总结和维护建议

    整理完成后:

    # Organization Complete! ✨
    
    ## What Changed
    
    - Created [X] new folders
    - Organized [Y] files
    - Freed [Z] GB by removing duplicates
    - Archived [W] old files
    
    ## New Structure
    
    [Show the new folder tree]
    
    ## Maintenance Tips
    
    To keep this organized:
    
    1. **Weekly**: Sort new downloads
    2. **Monthly**: Review and archive completed projects
    3. **Quarterly**: Check for new duplicates
    4. **Yearly**: Archive old files
    
    ## Quick Commands for You
    
    # Find files modified this week
    
    find . -type f -mtime -7
    
    # Sort downloads by type
    
    [custom command for their setup]
    
    # Find duplicates
    
    [custom command]
    

    还要整理另一个文件夹吗?

最佳实践

文件夹命名
  • 使用清晰、具体的名称
  • 避免使用空格(使用连字符或下划线)
  • 名称要具体:“client-proposals”比“docs”更合适
  • 使用前缀控制排序:“01-current”、“02-archive”
文件命名
  • 包含日期:“2024-10-17-meeting-notes.md”
  • 使用具体名称:“q3-financial-report.xlsx”
  • 避免在名称中添加版本号(改用版本控制)
  • 删除下载产生的冗余部分:“document-final-v2 (1).pdf” → “document.pdf”
何时归档
  • 6 个月或更久未处理的项目
  • 之后可能需要查阅的已完成工作
  • 迁移到新系统后的旧版本
  • 不确定是否要删除的文件(先归档)

示例

用户请求:

将我的“下载”文件夹整理成一种易于预测的结构,先显示建议的移动操作,并且不要删除文件。

限制

  • 仅当任务明确符合上述范围时,才使用此技能。
  • 不要将输出视为特定环境验证、测试或专家评审的替代品。
  • 如果缺少必需的输入、权限、安全边界或成功标准,请停止并请求澄清。

评论

支持 Markdown