Skip to content
Development
Skill

/tidymydesktop

智能桌面和目录整理工具。根据用户提示词自动分类、整理文件和应用程序图标,去除重复版本,生成整理报告。支持整理桌面或指定目录。

From plugin
ai-agent-team
42012 skills7 agents11 commands
Install
$ npx -y skills add peterfei/ai-agent-team --skill tidymydesktop --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/tidymydesktop

Context preview

The summary Claude sees to decide when to auto-load this skill.

智能桌面和目录整理工具。根据用户提示词自动分类、整理文件和应用程序图标,去除重复版本,生成整理报告。支持整理桌面或指定目录。

SKILL.md

tidymydesktop.SKILL.md
name: tidymydesktop
description: "智能桌面和目录整理工具。根据用户提示词自动分类、整理文件和应用程序图标,去除重复版本,生成整理报告。支持整理桌面或指定目录。"
license: MIT

TidyMyDesktop - 智能桌面整理工具

概述

当用户请求整理桌面或目录时,此 skill 会自动: 1. 分析目录中的文件和应用程序 2. 智能分类并创建文件夹 3. 识别和删除软件的旧版本 4. 搜索未知软件的用途 5. 生成详细的整理报告(Markdown格式)

支持的触发指令

用户可以通过以下方式触发此 skill:

  • "帮我整理桌面" - 整理 ~/Desktop
  • "帮我整理当前目录" - 整理当前工作目录(需要用户确认)
  • 任何关键词 - 首先搜索相关内容

工作流程

步骤 1: 理解用户意图

首先判断用户输入的类型:

// 检查是否是整理指令
if (用户输入包含 "整理桌面") {
  目标路径 = ~/Desktop
} else if (用户输入包含 "整理当前目录") {
  // 需要用户确认目录路径
  await askUserToConfirmPath()
} else {
  // 如果是关键词,先搜索相关内容
  await searchKeyword(用户输入)
  return
}

步骤 2: 扫描和分析目录

使用提供的 Node.js 工具脚本扫描目标目录:

# 扫描目录并生成文件清单
node ~/.claude/skills/tidymydesktop/scripts/scan.js <目标路径>

该脚本会:

  • 列出所有文件和应用程序
  • 识别文件类型和扩展名
  • 检测应用程序版本号
  • 生成初始清单

步骤 3: 智能分类和整理

执行整理操作时,遵循以下原则:

3.1 文件分类规则

根据文件类型创建分类文件夹:

  • **应用程序** (`Applications/`)
  • 开发工具 (`Development/`)
  • 办公软件 (`Office/`)
  • 设计工具 (`Design/`)
  • 通讯工具 (`Communication/`)
  • 娱乐软件 (`Entertainment/`)
  • 系统工具 (`Utilities/`)
  • **文档** (`Documents/`)
  • PDF文档 (`PDFs/`)
  • Word文档 (`Word/`)
  • Excel表格 (`Excel/`)
  • 文本文件 (`TextFiles/`)
  • **图片** (`Images/`)
  • 照片 (`Photos/`)
  • 截图 (`Screenshots/`)
  • 设计稿 (`Designs/`)
  • **视频** (`Videos/`)
  • **音频** (`Audio/`)
  • **压缩包** (`Archives/`)
  • **代码项目** (`CodeProjects/`)
  • **未分类** (`Uncategorized/`)

3.2 版本去重规则

对于同一软件的多个版本:

// 识别版本号模式
// 例如: "AppName v1.2.3.dmg" 和 "AppName v2.0.0.dmg"
// 保留: 最新版本
// 删除: 旧版本

function identifyVersions(files) {
  // 1. 提取版本号
  // 2. 比较版本
  // 3. 标记要删除的旧版本
}

**CRITICAL**: 在删除任何文件前,必须: 1. 向用户展示将被删除的文件列表 2. 等待用户确认 3. 获得明确同意后才执行删除操作

3.3 未知软件处理

当遇到不确定用途的软件时:

# 使用 WebSearch 搜索软件信息
# 搜索查询格式: "<软件名称> 是什么软件 用途"

如果搜索后仍不确定:

  • 将其放入 `未分类/` 文件夹
  • 在报告中标注为"需要人工审核"

步骤 4: 执行整理操作

使用提供的整理脚本:

# 执行整理操作
node ~/.claude/skills/tidymydesktop/scripts/organize.js \
  --source <目标路径> \
  --plan <整理计划JSON文件> \
  --dry-run  # 首次运行使用 dry-run 模式

**重要安全措施**: 1. 首次运行使用 `--dry-run` 模式(仅模拟,不实际移动文件) 2. 向用户展示整理计划 3. 获得用户确认后,再执行实际操作 4. 所有删除操作都需要用户明确确认

步骤 5: 生成整理报告

创建详细的 Markdown 报告,包含:

# 桌面整理报告

**整理时间**: YYYY-MM-DD HH:MM:SS
**整理路径**: /Users/xxx/Desktop

## 整理概要

- 总文件数: XXX
- 已分类文件: XXX
- 创建的文件夹: XXX
- 删除的重复文件: XXX
- 未分类文件: XXX

## 分类详情

### 应用程序 (XX 个)
- 开发工具 (XX 个)
  - Visual Studio Code
  - IntelliJ IDEA
  - ...

### 文档 (XX 个)
- PDF文档 (XX 个)
- ...

## 版本去重记录

| 软件名称 | 保留版本 | 删除版本 | 状态 |
|---------|---------|---------|------|
| Example App | v2.0.0 | v1.0.0, v1.5.0 | 已删除 |

## 未知软件

| 文件名 | 搜索结果 | 处理方式 |
|-------|---------|---------|
| Unknown.app | 未找到相关信息 | 放入"未分类"文件夹 |

## 建议

- [可选] 进一步整理建议
- [可选] 可能需要手动审核的项目

报告保存位置:

  • 桌面整理: `~/Desktop/整理报告_YYYYMMDD_HHMMSS.md`
  • 目录整理: `<目标路径>/整理报告_YYYYMMDD_HHMMSS.md`

工具脚本使用说明

scan.js - 目录扫描工具

扫描目录并生成文件清单:

node ~/.claude/skills/tidymydesktop/scripts/scan.js <目标路径>

输出 JSON 格式的文件清单。

organize.js - 整理执行工具

根据整理计划执行文件移动和删除操作:

# Dry-run 模式(推荐首次使用)
node ~/.claude/skills/tidymydesktop/scripts/organize.js \
  --source <目标路径> \
  --plan <整理计划.json> \
  --dry-run

# 实际执行
node ~/.claude/skills/tidymydesktop/scripts/organize.js \
  --source <目标路径> \
  --plan <整理计划.json>

classify.js - 智能分类工具

使用 AI 辅助分类未知文件:

node ~/.claude/skills/tidymydesktop/scripts/classify.js \
  --file <文件路径> \
  --search  # 启用网络搜索

使用示例

示例 1: 整理桌面

**用户**: "帮我整理桌面"

**Claude 执行流程**:

1. 识别触发词 "整理桌面" 2. 设置目标路径为 `~/Desktop` 3. 运行扫描工具 4. 生成分类计划 5. 以 dry-run 模式预览整理结果 6. 向用户展示整理计划 7. 等待用户确认 8. 执行实际整理操作 9. 生成并保存整理报告 10. 向用户展示报告摘要

示例 2: 整理当前目录

**用户**: "帮我整理当前目录"

**Claude**:

"我将整理当前目录。请确认目标路径:`/Users/xxx/Downloads`

是否继续?(yes/no)"

**用户**: "yes"

**Claude 执行流程**: (与示例 1 相同的流程)

示例 3: 关键词搜索

**用户**: "VS Code"

**Claude 执行流程**:

1. 识别为关键词(非整理指令) 2. 使用 WebSearch 搜索 "VS Code" 3. 返回搜索结果 4. 不执行整理操作

安全注意事项

1. **永远不要自动删除文件** - 所有删除操作必须经过用户明确确认 2. **使用 dry-run 模式** - 首次整理时始终使用模拟模式 3. **备份提醒** - 在执行重要操作前提醒用户备份 4. **路径确认** - 整理目录时必须让用户确认路径 5. **版本识别准确性** - 版本号识别可能不准确,标记为"待确认"

依赖项

Node.js 包(通过 nvm 管理):

  • `fs-extra` - 文件系统操作
  • `glob` - 文件匹配
  • `semver` - 版本号比较
  • `commander` - 命令行参数解析

安装依赖:

# 使用 nvm 切换到合适的 Node 版本
nvm use 18

# 安装依赖
cd ~/.claude/skills/tidymydesktop
npm install

限制和注意事项

1. **macOS 特定功能**:

  • `.app` 应用程序包识别
  • Finder 标签和颜色(暂不支持)

2. **不支持的操作**:

  • 移动系统文件
  • 整理受保护的目录
  • 修改文件内容

3. **性能考虑**:

  • 大型目录(>1000个文件)可能需要较长时间
  • 网络搜索会增加处理时间

故障排除

脚本执行失败

# 检查 Node.js 版本
node --version  # 应该 >= 14.0.0

# 检查依赖安装
cd ~/.claude/skills/tidymydesktop
npm list

权限错误

某些目录可能需要额外权限。如果遇到权限问题:

  • 检查目标目录的读写权限
  • 避免整理系统目录
  • 使用用户目录(如 ~/Desktop, ~/Downloads)

开发和扩展

要添加新的文件分类规则,编辑 `scripts/classify.js`:

const CATEGORY_RULES = {
  // 添加新的分类规则
  'NewCategory': {
    extensions: ['.ext1', '.ext2'],
    keywords: ['keyword1', 'keyword2'],
    subfolder: 'NewCategory'
  }
}

---

**版本**: 1.0.0 **作者**: Claude AI **许可**: MIT

Read more
Ships withai-agent-team

💛 Sponsored by DolOffer — GPT & Claude 正版会员充值,输入优惠码 AI8888 享9折特惠 🚀 拥有24/7专业AI开发团队:产品经理、全栈开发、前端开发、后端开发、测试工程师、DevOps工程师、技术负责人 💾 Thread Manager 让 AI 拥有记忆! 语义搜索 | 任务线程管理 | 完整上下文恢复 | 自动 Git 版本控制 ⚡ 只需 3 步完成安装 → 马上开始使用!

Get the whole plugin