/long-audio-to-obsidian
将语音转写项目输出的复杂文件结构整理合并为适合 Obsidian 归档的 Markdown 文档
$ npx -y skills add cafe3310/public-agent-skills --skill long-audio-to-obsidian --agent claude-codeHow 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
/long-audio-to-obsidian
Context preview
The summary Claude sees to decide when to auto-load this skill.
将语音转写项目输出的复杂文件结构整理合并为适合 Obsidian 归档的 Markdown 文档
SKILL.md
long-audio-to-obsidian.SKILL.mdname: long-audio-to-obsidian
description: 将语音转写项目输出的复杂文件结构整理合并为适合 Obsidian 归档的 Markdown 文档
license: Apache-2.0
author: github/cafe3310
depends_on_skill: []
depends_on_binary:
- python3
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_command` 的 `mv` 命令,将 `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 时完成所有文件的逻辑排序。
Read more
name: long-audio-to-obsidian description: 将语音转写项目输出的复杂文件结构整理合并为适合 Obsidian 归档的 Markdown 文档 license: Apache-2.0 author: github/cafe3310 depends_on_skill: [] depends_on_binary: - python3
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_command` 的 `mv` 命令,将 `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 时完成所有文件的逻辑排序。
个人常用的 Agent Skill(公开部分)。通过合适的上下文工程,可以将 Agent Skill 用在几乎任何地方。
Other skills on public-agent-skills.
deep-research
一个全面、自主的深度研究框架。当用户请求对复杂主题、市场调研、技术格局进行深入的多维度调查,或需要大量网页浏览、数据合成和结构化报告的任何任务时,使用此技能。它协调子代理(subagents)并使用基于文件系统的状态管理来防止上下文膨胀。

