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 |
| worklog | skill | No | 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 (今日任务) │
│ └─ subagent: worklog skill (daily, 仅工作日) │
│ │
└──────┬────────────────────────────────────────────────────┘
│
▼
┌────────────────────────────────────┐
│ 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
└──────┘
1. Pre-Diary Clarification
开始前确认日期和文件:
Claude: 「今天的日记是 2026-01-29.md 吗?」
用户: 「是」/ 「不是,是昨天的」
文件已存在处理
如果文件已存在,提供选项:
| 选项 | 说明 | |------|------| | 继续 | 在现有内容基础上继续编辑 | | 追加 | 在文件末尾添加新内容 | | 重新开始 | 清空重写(会确认) |
2. 今日任务回顾(简化版)
调用 schedule-manager 获取今日 Reminders,然后批量确认:
今日计划的 5 件事:
1. 写文档
2. 修 bug
3. 开会
4. 回复邮件
5. 复习英语
哪些完成了?(输入序号,如「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 "<用户指定的日期>"
3. Work Log 自动化
工作日(周一至周五)自动执行,不询问。周末跳过,直接进入启发提问。
调用 worklog skill(daily 模式)获取当日工作回顾,将输出直接嵌入日记的 Work Log 部分。
在步骤 2 中已通过 subagent 并行启动 worklog skill,此处使用其结果。
worklog skill 会自动整合本地 git 统计、GitHub 和云效数据,输出结构化 Markdown(概览 + 按项目明细 + Bug 跟踪)。
如果 worklog skill 不可用,可手动回顾当天的工作内容。
4. 启发提问(适应性)
根据工作日/周末问不同的问题:
工作日(Work Log 已记录工作内容)
| 顺序 | 问题 | |------|------| | Q1 | 「工作之外,今天还有什么想记录的?」 | | Q2 | 「之后有什么计划?」 |
周末(无 Work Log)
| 顺序 | 问题 | |------|------| | Q1 | 「今天做了什么?」 | | Q2 | 「有什么收获或感受?」 | | Q3 | 「之后有什么计划?」 |
提问节奏
Claude: 「工作之外,今天还有什么想记录的?」
用户: [回答]
Claude: [确认/追问] → 「好的,下一个问题:之后有什么计划?」
5. 任务捕获
最后一个问题「之后有什么计划?」的回答会自动解析为任务:
日期解析示例
| 用户输入 | 解析结果 | |----------|----------| | 「明天要交报告」 | 明天 | | 「周五开会」 | 本周五 | | 「下周一复习」 | 下周一 | | 「月底前提交」 | 本月最后一天 | | 「下个月初」 | 下月 1 号 |
确认后创建
Claude: 「检测到以下计划,确认创建到 Reminders 吗?」
- 明天:交报告
- 周五:开会
用户: 「好」
Claude: [调用 schedule-manager 创建]
reminders add "提醒" "交报告" --due-date "tomorrow"
reminders add "提醒" "开会" --due-date "friday"
6. 智能收尾
根据日记内容推荐后续操作:
| 检测内容 | 推荐操作 |
|----------|----------|
| 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 配置日记路径和工作仓库。