关于 obsidian-capture
obsidian-capture 是用于向 Obsidian 仓库记录任务、日志、学习笔记、日记和每周趣事的技能。它通过脚本将内容写入相应的每日或每周笔记,并统一格式。
主要功能
- 01记录任务、日志和日记内容
- 02将条目分流至每日或每周笔记
- 03按仓库模板创建笔记
- 04追加前填充空占位项
- 05格式化 Tasks 插件日期
适用场景
- 01将任务添加到今天的每日笔记
- 02记录带时间戳的通话或事件
- 03保存每周任务或趣事
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ wilbeibi/ wilbeibi-skills --skill obsidian-capture安装后在 Claude Code 中输入/obsidian-capture确认已加载。
附带文件scripts/capture.py
详细介绍
obsidian-capture
一次捕获 = 调用一次 scripts/capture.py。脚本会处理所有确定性操作——解析今天的日记 / 本周的周记(如果不存在,则根据知识库模板创建),路由到正确的章节,在追加内容前填入空的占位槽,并格式化 Tasks 插件日期——因此不要手动编辑笔记。需要 $OBSIDIAN_VAULT 和 python3(仅使用标准库)。
命令
scripts/capture.py todo "回 offer 邮件" # daily ✅ 其他, due today
scripts/capture.py todo "准备 design review" --must # daily 🎯 今天必须完成, due today
scripts/capture.py todo "写 freshrss theme" --weekly # weekly ## Todos, due = today+3d, capped at Sunday
scripts/capture.py todo "读论文" --due friday -p high # any todo: explicit due + ⏫ priority
scripts/capture.py log "和 recruiter 通话" # daily 🪵 Log, timestamped now (--time HH:MM to backfill)
scripts/capture.py learned "TIL 内容" # daily 📝 今日记 → 新知:
scripts/capture.py diary "发生的事" # daily 📝 今日记 → 新事:
scripts/capture.py fun "有趣的事" # weekly ## Something Fun This Week
scripts/capture.py reflect "杠杆" "答案全文" # weekly Reflections, under the Q: matching the substring
scripts/capture.py done "package 邮件" # tick first matching open #agent-todo (today's notes first, then all), appends ✅ date
scripts/capture.py annotate "加 CI" "blocked: 缺权限" # append a sub-bullet under first matching open #agent-todo
# agent-owned todos (#agent-todo): captured for a later, possibly weaker, agent to execute cold
scripts/capture.py todo "给 skills repo 加 CI" --agent \
--ctx "context: repo ~/Local/wilbeibi-skills,GitHub Actions 跑 skill lint" \
--ctx "done-when: push 后 Actions 全绿"
scripts/capture.py agenda # list open #agent-todo due ≤ today + context, file:line (--days 90 default)
--due 接受 today、tomorrow、+Nd、mon..sunday、this-week、next-week、YYYY-MM-DD、none——直接传入用户的说法,不要自行计算日期。运行 --help 查看其余选项。
判断(模型唯一需要决定的部分)
- 普通待办属于用户;带
--agent的待办属于你。agenda/done/annotate只会匹配#agent-todo行,因此不会触碰用户的待办——但在核对其自身的done-when:之前,绝不要将其标记为已完成。 - 保持捕获文本与用户使用的语言一致;不要翻译或改写。
- “必须 / must / today's deadline / blocking” →
--must;否则使用普通待办。 - 日记还是周记:默认使用日记。只有用户提到 weekly / 本周,或任务属于整周范围且没有固定日期时,才使用
--weekly。即使待办的截止日期很远,也仍然记在今天的日记中——Tasks 插件会根据其 📅 日期查找,而不是根据文件位置。 - “让 agent 做 / 给 agent 记” →
--agent。执行者可能是没有对话历史的弱模型,因此待办必须能够冷启动执行:使用--ctx "context: ..."提供绝对路径 / 仓库 / URL,并使用--ctx "done-when: ..."提供验收标准。从当前对话中提取具体信息;如果无法让待办独立执行,就询问用户,而不是捕获一个含糊的待办。(没有--ctx时,脚本会拒绝--agent。) - 脚本会输出所写入的文件、章节和确切行内容——将其作为确认反馈给用户,然后结束。如果报错(章节 / 问题 / 待办不匹配),请修正参数;不要改为手动编辑。
评论
支持 Markdown