| name | media-organizer |
| description | 根据项目约定将媒体文件目录组织成结构化分类形式,便于归档管理 |
| license | Apache-2.0 |
| author | github/cafe3310 |
| depends_on_skill | [] |
| depends_on_binary | [] |
媒体文件整理工作流
本 Skill 指导将一个包含杂乱媒体文件的目录整理成本项目内的标准化结构。此工作流强调与用户协作,以确保最终的组织方式符合用户需求。
步骤 1: 确定源目录
- 请用户提供包含待整理媒体文件的目录的绝对或相对路径。
- 确认用户提供的路径有效且可访问。如果无效,请通知用户并请求正确的路径。
步骤 2: 提出整理计划
- 使用
ls -R <source_directory> 命令列出源目录中的文件,以了解其内容。
- 澄清文件内容:
- 对于文件名含义不明确,无法直接判断其内容或归类的文件,主动询问用户以获取准确信息。
- 如果文件名中包含数字,应向用户确认其含义,例如是“版本号”(
_v...)还是“示例编号”(_no...)。
- 根据文件名和类型,提出一组子分类。默认分类如下:
community-content: 用于存放来自外部来源的内容(如 YouTube 评测、文章等)。
internal-demos: 用于存放内部团队创建的演示和用例。
generated-examples: 用于存放由模型自动生成的内容。
assets: 用于存放辅助性材料(如 Logo、封面、倒计时视频等)。
- 根据项目的
GEMINI.md 文件提出文件命名规范。默认为:{YYYYMMDD}_{分类}_{描述}_{编号}.{后缀}。
- 重要:
{YYYYMMDD} 必须使用文件的最后修改时间 (stat 命令) 确定,而不是文件名中自带的日期。
- 生成一个完整的文件迁移计划,将每个旧文件路径映射到一个建议的新文件路径。以清晰的格式(如 Markdown 表格或列表)呈现给用户。
- 暂停并请求用户确认。 请用户审查建议的分类、命名规范和完整的迁移计划。在获得用户明确批准之前,不要继续。允许用户对计划提出修改意见。
步骤 3: 执行迁移
一旦用户批准计划:
- 创建新的子分类目录(例如,使用
mkdir -p ...)。
- 为已批准计划中的每个项目运行
mv 命令,执行文件迁移。最安全的方式是逐个或按小的逻辑批次执行。
- 所有文件移动完毕后,清理源目录。这可能包括删除已变为空的子目录和任何系统垃圾文件(如
.DS_Store)。在执行 rm -rf 之前,请与用户确认此清理操作。
步骤 4: 生成文档
- 为每个创建的新分类目录生成一个
README.md 文件。
- 使用位于
skills/media-organizer/assets/readme.md.template 的模板来创建内容。
README.md 应简要描述该分类,并可以包含指向几个关键文件的链接作为示例。
- 更新父目录的
README.md 以反映新的、有组织的结构,使新内容易于发现。
步骤 5: 最终审查
- 通知用户整理、清理和文档化过程已完成。
- 使用
ls 命令显示新的目录结构。
- 询问用户是否对结果满意。