Diary Assistant
日记写作助手,提供完整的日记工作流,包含任务回顾、Work Log 自动化、启发提问和任务捕获。
Prerequisites
Tool Type Required Install
macOS system Yes This skill requires macOS
reminders-cli cli Yes brew install keith/formulae/reminders-cli
schedule-manager skill Yes Included in npx skills add niracler/skill
anki-card-generator skill No Included in npx skills add niracler/skill
Do NOT proactively verify these tools on skill load. If a command fails due to a missing tool, directly guide the user through installation and configuration step by step.
核心原则
原则 说明
45 分钟约束 完整流程控制在一个番茄钟内完成
GTD 集成 开始时回顾今日任务,结束时捕获新计划
启发而非代写 用提问引导思考,不替用户决定内容
工作日必须 Work Log 周一至周五自动获取,不询问
完整流程
┌─────────────────────────────────────────────────────────────────────┐ │ diary-assistant 完整流程(目标 ≤45min) │ └─────────────────────────────────────────────────────────────────────┘
┌──────────────┐ │ 用户触发日记 │ └──────┬───────┘ │ ▼ ┌────────────────────────────────────┐ │ 1. Pre-Diary Clarification (~1min) │ │ 确认日期:2026-01-29.md │ └──────┬─────────────────────────────┘ │ ▼ ┌────┴──────────┐ │ 日记文件已存在? │ └────┬──────────┘ 是 │ │ 否 ▼ │ ┌─────────────┐ │ │ 选择模式: │ │ │ 继续/追加/ │ │ │ 重新开始 │ │ └──────┬──────┘ │ └────┬────┘ ▼ ┌─────────────────────────────────────────────────────────────┐ │ 2. 并行获取数据(subagent) (~2-3min) │ │ │ │ └─ Reminders (今日任务) │ │ │ └──────┬────────────────────────────────────────────────────┘ │ ▼ ┌────────────────────────────────────┐ │ 3. 今日任务回顾(简化) (~2min) │ │ │ │ 「今日计划 5 件事: │ │ 1.写文档 2.修bug 3.开会...」 │ │ 「哪些完成了?输入序号」 │ │ 「未完成的延期到什么时候?」 │ └──────┬─────────────────────────────┘ │ ▼ ┌────┴────┐ │ 是工作日?│ └────┬────┘ 是 │ │ 否 ▼ │ ┌──────────┐ │ │ Work Log │ │ 整理 subagent 获取的数据 │ 云效+GH │ │ └────┬─────┘ │ └───┬────┘ ▼ ┌────────────────────────────────────┐ │ 3. 启发提问(适应性) (~20-25min) │ │ │ │ 工作日: │ │ Q1「工作之外还有什么想记录的?」 │ │ Q2「之后有什么计划?」 │ │ │ │ 周末: │ │ Q1「今天做了什么?」 │ │ Q2「有什么收获或感受?」 │ │ Q3「之后有什么计划?」 │ │ │ │ → 计划直接解析为 Reminders │ └──────┬─────────────────────────────┘ │ ▼ ┌────────────────────────────────────┐ │ 4. 整理成文 (~10min) │ └──────┬─────────────────────────────┘ │ ▼ ┌────────────────────────────────────┐ │ 5. 智能收尾 (~0-5min) │ │ 检测到 TIL → 「要生成 Anki 吗?」│ └──────┬─────────────────────────────┘ │ ▼ ┌──────┐ │ 完成 │ 总计 ~35-45min └──────┘
- Pre-Diary Clarification
开始前确认日期和文件:
Claude: 「今天的日记是 2026-01-29.md 吗?」 用户: 「是」/ 「不是,是昨天的」
文件已存在处理
如果文件已存在,提供选项:
选项 说明
继续 在现有内容基础上继续编辑
追加 在文件末尾添加新内容
重新开始 清空重写(会确认)
- 今日任务回顾(简化版)
调用 schedule-manager 获取今日 Reminders,然后批量确认:
今日计划的 5 件事:
- 写文档
- 修 bug
- 开会
- 回复邮件
- 复习英语
哪些完成了?(输入序号,如「1,3」,或「全部」/「都没完成」)
处理逻辑:
-
用户说「1,3」→ 标记 1、3 为完成,追问「2、4、5 延期到什么时候?」
-
用户说「全部」→ 全部标记完成
-
用户说「都没完成」→ 追问「延期到什么时候?」
延期时间解析:
-
「明天」→ tomorrow
-
「后天」→ 2 days
-
「周五」→ friday
-
「下周」→ next monday
无任务时跳过此步骤。
命令参考
获取今日任务
reminders show-all --due-date today
完成任务
reminders complete "<列表名>" <index>
延期到指定日期(删除后重建)
reminders delete "<列表名>" <index> reminders add "<列表名>" "<任务名>" --due-date "<用户指定的日期>"
- Work Log 记录
工作日(周一至周五),当用户提到想记录工作内容时执行。周末跳过,直接进入启发提问。
通过对话引导用户回顾今天的工作经验,将内容写入日记的 ## 2 Work Log 部分。 这里的 Work Log 是个人经验记录(原始素材),不是给上司看的正式报告。
正式的软件研发周报由 weekly-report skill 在每周最后一个工作日生成, 它会读取这些每日 Work Log 作为数据源。
- 启发提问(适应性)
根据工作日/周末问不同的问题:
工作日(Work Log 已记录工作内容)
顺序 问题
Q1 「工作之外,今天还有什么想记录的?」
Q2 「之后有什么计划?」
周末(无 Work Log)
顺序 问题
Q1 「今天做了什么?」
Q2 「有什么收获或感受?」
Q3 「之后有什么计划?」
提问节奏
Claude: 「工作之外,今天还有什么想记录的?」 用户: [回答] Claude: [确认/追问] → 「好的,下一个问题:之后有什么计划?」
- 任务捕获
最后一个问题「之后有什么计划?」的回答会自动解析为任务:
日期解析示例
用户输入 解析结果
「明天要交报告」 明天
「周五开会」 本周五
「下周一复习」 下周一
「月底前提交」 本月最后一天
「下个月初」 下月 1 号
确认后创建
Claude: 「检测到以下计划,确认创建到 Reminders 吗?」
- 明天:交报告
- 周五:开会
用户: 「好」
Claude: [调用 schedule-manager 创建]
reminders add "提醒" "交报告" --due-date "tomorrow" reminders add "提醒" "开会" --due-date "friday"
- 智能收尾
根据日记内容推荐后续操作:
检测内容 推荐操作
TIL(今天学到的东西) 「检测到你今天学了新东西,要生成 Anki 卡片吗?」→ 调用 anki-card-generator
注意: 日记存储在 Obsidian(iCloud 同步),不需要 git 提交。
时间预算
步骤 时间
确认日期 + 文件处理 ~1 min
任务回顾(简化) ~2 min
Work Log(自动) ~2-3 min
启发提问(含计划) ~20-25 min
整理成文 ~10 min
智能收尾(可选) ~0-5 min
总计 ~35-45 min
用户配置
见 user-config.md 配置日记路径和工作仓库。