skills/cafe3310/public-agent-skills/long-audio-to-obsidian

long-audio-to-obsidian

SKILL.md

Long Audio to Obsidian Archiver

此技能将散乱的语音转写项目文件整理成结构清晰的 Markdown 文档,便于在 Obsidian 等知识库中归档。

它采用 "Agent 规划 + 脚本执行" 的模式:

  1. Agent (你):负责理解目录结构、识别文件类型、对分段文件进行逻辑排序(例如按行号 1-200, 201-400),并生成合并计划。
  2. Script:负责根据你的计划,机械地读取文件并生成 Markdown。

使用场景

当用户要求将一个包含多个原始音频、数十个转写分段、以及各种说明文档的目录“整理归档”时使用。

工作流 (Workflow)

1. 调查与分析 (Survey & Analyze)

首先,使用 list_directory (必要时配合 glob) 扫描目标项目目录。 你需要回答以下问题:

  • 哪些是原始录音文本?(通常在 1-原始文件 或类似目录)
  • 哪些是最终输出的分段脚本?(通常在 5-最终输出,文件名包含行号如 _1-200
    • 关键任务:你需要根据文件名中的数字对它们进行正确排序。
  • 哪些是项目元数据?(日志、术语表、背景要求等)
  • 哪些是衍生知识/问答?(5-最终输出 中非分段的 Markdown 文件)

2. 生成合并配置 (Generate Configuration)

基于你的分析,构建一个 JSON 配置文件。不要直接输出给用户,而是准备写入临时文件。

JSON 结构定义

{
  "output_dir": "目标项目路径/obsidian_archive",
  "tasks": [
    {
      "filename": "1-原始录音汇总.md",
      "title": "原始录音汇总",
      "sections": [
        {
          "title": "文件1.txt",
          "path": "绝对路径或相对路径/文件1.txt",
          "syntax": "text"
        }
      ]
    },
    {
      "filename": "2-最终输出脚本汇总.md",
      "title": "最终输出脚本汇总",
      "sections": [
        {
          "title": "Part 1 (1-200)",
          "path": "路径/output_1-200.txt",
          "syntax": "text"
        },
        {
          "title": "Part 2 (201-400)",
          "path": "路径/output_201-400.txt",
          "syntax": "text"
        }
        // Agent 必须确保这里的顺序是正确的!
      ]
    }
    // ... 继续为“整理要求汇总”和“知识整理汇总”创建任务
  ]
}

3. 执行合并 (Execute)

  1. 使用 write_file 将 JSON 配置保存为临时文件,例如 merge_plan.json

  2. 调用脚本执行合并:

    python3 .gemini/skills/long-audio-to-obsidian/scripts/doc_merger.py merge_plan.json
    

    (注意:请根据实际安装位置调整脚本路径)

  3. 检查脚本输出,确认生成成功。

  4. 删除临时文件 merge_plan.json

4. 优化命名与生成索引 (Rename & Index)

脚本生成的只是标准文件名的中间产物。为了方便 Obsidian 使用,你需要进行最后一步的人工智能优化:

  1. 确定项目标题:根据原始目录名或核心文件名,提取一个清晰的项目标题(例如 2024-01-01 会议转写 - 项目 A)。
  2. 重命名文件:使用 run_shell_commandmv 命令,将 obsidian_archive 中的标准文件重命名为带前缀的格式。
    • 1-原始录音汇总.md -> {标题} 1 原始录音汇总.md
    • 2-最终输出脚本汇总.md -> {标题} 2 最终输出脚本汇总.md
    • ...以此类推。
  3. 生成索引页
    • 创建一个名为 {标题}.md 的新文件。
    • 内容应包含指向上述所有文件的 Obsidian WikiLinks ([[文件名]])。
    • 如果有关联的外部产品文档(未合并进来的),也可以在此处添加链接。

索引页内容示例

相关文档:

[[2024-01-01 会议转写 - 项目 A 1 原始录音汇总]]

[[2024-01-01 会议转写 - 项目 A 2 最终输出脚本汇总]]

...

归档标准 (Archiving Standards)

请按照以下四个维度组织输出文件(对应 JSON 中的 4 个 task):

  1. 原始录音汇总:包含所有原始录音文本。
  2. 最终输出脚本汇总:包含所有经过校对、合并后的分段文本。顺序至关重要
  3. 整理要求与日志汇总
    • 工作日志 (0-工作日志.md)
    • 校对术语表 (3-校对和术语表.md)
    • 分段主题 (4-分段主题.md)
    • 所有背景要求文件 (2-要求和信息/*)
  4. 知识整理汇总
    • 包含所有衍生生成的知识文件(如 问题和回答-xxx.md)。

注意事项

  • 路径处理:JSON 中的 path 推荐使用绝对路径,或者相对于执行 doc_merger.py 时的相对路径。
  • 容错:如果某个预期的目录不存在(例如没有“知识整理”文件),则不要在 JSON 中包含对应的 task,或者创建一个空的 task。
  • 排序:脚本不会自动排序。必须由 Agent 在生成 JSON 时完成所有文件的逻辑排序。
Weekly Installs
9
GitHub Stars
156
First Seen
Feb 28, 2026
Installed on
cursor9
claude-code9
github-copilot9
amp9
cline9
openclaw9