对话归档助手
把有价值的对话和洞见整理成可检索、可链接的 Obsidian Markdown 笔记。
技能声明仅使用 Read、Write、Edit、Glob、Grep,但正文要求执行 bash/python、使用 CLI 或 MCP 写入 vault,存在工具权限与实际数据流不一致,扣分。写入前会检查目标、锁文件并在同路径已存在时询问覆盖,具备部分隔离和恢复意识;但未明确保存动作本身的确认、敏感对话处理、外部传输披露或失败回滚,且索引、日志和 hot 缓存并非事务性更新。
步骤、模式路由、传输选择、锁和文件命名规则较具体,CI 与仓库测试提供了部分共享脚本的静态证据。但没有针对 save 工作流的测试,未覆盖路由冲突、锁释放失败、部分写入、MCP/CLI 不可用、重复页面或异常对话;工具声明也与所需命令矛盾,因此按静态上限保守扣分。
触发短语、笔记类型、目标文件夹、个人 vault 与项目 wiki 的优先级均有说明,并覆盖 generic、LYT、PARA、Zettelkasten。未充分定义不适用边界、保存低价值内容的判断标准执行方式、跨环境前置条件或中文内容的端到端行为;不过其本地 Markdown/Obsidian 目标与中文用户场景基本相容,未见完全依赖海外服务。
技能结构清晰,包含传输、模式、并发、决策表、工作流、模板、写作规范和跳过条件;仓库上下文提供 MIT 许可证、安全政策、CI 与版本线索。技能本身缺少明确维护责任人、变更记录、安装依赖清单、故障排查和稳定参数约定;交叉引用的其他技能与全局 CLAUDE.md 不在本次选定文件证据内,因而扣分。
核心目标明确:把当前对话整理成带 frontmatter、链接、索引、日志和 hot 缓存的可检索 Markdown 笔记,且类型和文件位置直接可用。内容提取与链接规则能支持主要 happy path;但最终结果依赖未提供的 vault 状态、CLAUDE.md、脚本和外部传输,缺少 save 专项输出样例或验证,且多文件更新可能部分完成,故不超过静态上限并扣分。
README、LICENSE、SECURITY、CI 和若干通用测试提供了可审计的仓库证据,CI 也验证部分脚本和 frontmatter。但没有 save/SKILL.md 的专门测试、提交级行为证据、代表性保存结果或独立交叉验证;仓库营销性能力声明不能替代该技能路径的复现证据,因此仅给有限分数。
- 保存当前对话前未明确要求用户确认“保存”本身;可能把敏感或不应长期保留的内容写入 vault。
- 技能声明的 allowed-tools 不包含 Bash、Python 或 MCP,但流程依赖这些能力;部署时可能无法执行或产生未预期的传输路径。
- 笔记、索引、日志和 hot 缓存分多步更新,锁机制不等于事务回滚;中途失败可能留下部分状态或锁文件。
- 个人 vault、项目 wiki、全局 CLAUDE.md 和相关脚本决定最终路径,但这些前置状态未在选定文件中验证。
这个 Skill 能做什么,适合哪些场景?
Save 是 claude-obsidian 中专门负责归档对话的技能。它分析当前对话、答案或洞见,选择合适的笔记类型,生成 frontmatter,并将内容写入 Obsidian wiki 的对应目录。保存后,它还会更新索引、日志和 hot cache,使内容进入持续维护的知识库。它适合已经使用该仓库完整 vault 工作流、希望减少手动整理的人;不适合只想使用独立聊天记录导出功能、且没有 Obsidian vault 的用户。
读取当前对话内容,判断内容属于 synthesis、concept、source、decision 或 session;生成包含 type、title、日期、标签、关联页面和来源的 YAML frontmatter;依据项目配置选择目标 vault、方法论模式和目录;通过文件系统、Obsidian CLI 或 Obsidian MCP 写入 Markdown 笔记;在多文件保存时使用逐文件 advisory lock;更新 wiki/index.md、wiki/log.md 和 wiki/hot.md;已有相同路径的笔记时要求先确认,不直接覆盖。
- 研究者在长对话中形成了可复用的分析,希望将其保存为带来源和关联链接的 wiki 页面。
- 开发者在一次架构讨论后做出决定,希望把决策理由归档到 Obsidian 的 meta 目录。
- 个人知识管理用户获得一个重要概念解释,希望将其整理成可链接的 concept 笔记。
- 使用 claude-obsidian 跨项目知识库的人,希望把完整会话摘要保存到统一的个人 vault。
- 团队或多代理并行写入同一 vault 时,希望通过文件锁降低笔记被并发覆盖或写坏的风险。
这个 Skill 有哪些优点和局限?
- 输出为用户拥有的普通 Markdown 文件,并支持 Obsidian wikilinks 和 frontmatter。
- 覆盖从内容提炼、分类、写入到索引、日志和 hot cache 更新的完整归档流程。
- 支持 generic、LYT、PARA 和 Zettelkasten 方法论模式下的路径路由。
- 针对多文件保存设计了逐文件 advisory lock,适合并行写入场景。
- MIT 开源,且 README 提供 Claude Code 插件和完整 vault 两种安装方式。
- 技能依赖已有的 Obsidian vault、项目脚本和相关目录结构,独立使用方式未文档化。
- 核心工作流围绕 Claude Code 的 /save 和 CLAUDE.md 约定,移植到其他客户端可能需要调整触发方式。
- 源材料没有提供 save 技能自身的独立测试结果。
- 文件锁是 advisory lock;源材料没有说明它能解决所有外部编辑器或同步工具的冲突。
- 目标路径、模式和 transport 配置复杂,首次部署需要理解整个仓库的 vault 结构。
如何安装这个 Skill?
该技能没有单独安装命令;README 记录的是整个 claude-obsidian 集合的安装方式。可执行:git clone https://github.com/AgriciDaniel/claude-obsidian && cd claude-obsidian && bash bin/setup-vault.sh。然后在 Obsidian 中将该目录作为 vault 打开,并在同一目录启动 Claude Code。也可以使用:claude plugin marketplace add AgriciDaniel/claude-obsidian;claude plugin install claude-obsidian@agricidaniel-claude-obsidian。单独复制 skills/save/SKILL.md 的安装步骤,源材料未说明。
如何使用这个 Skill?
在 Claude Code 会话中使用 /save,或输入“save this”“save this analysis”“file this conversation”“save to wiki”等触发语句。也可以使用 /save [name] 指定标题。技能会在必要时询问笔记名称;未指定类型时根据内容选择最合适的类型。保存完成后,预期会返回类似“Saved as [[Note Title]] in wiki/[folder]/.”的确认信息。
这个 Skill 与同类方案有什么区别?
README 将整个 claude-obsidian 定位为开源、基于本地 Markdown 的 Notion 替代方案;但 Save 只负责对话归档、笔记分类和 vault 元数据更新,不是完整的 Notion 替代品。