Diary writing assistant, providing a complete diary workflow, including task review, inspiring questions, and task capture.
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.
Core Principles
| Principle | Description |
|---|---|
| 45-minute constraint | The complete process is controlled to be completed within one Pomodoro |
| GTD integration | Review today's tasks at the start, and capture new plans at the end |
| Inspire rather than write for the user | Use questions to guide thinking, and do not decide the content for the user |
Complete Process
┌──────────────────────────────────────────────────────────┐
│ diary-assistant 完整流程(目标 ≤35min) │
└──────────────────────────────────────────────────────────┘
┌──────────────┐
│ 用户触发日记 │
└──────┬───────┘
│
▼
┌────────────────────────────────────┐
│ 1. Pre-Diary Clarification (~1min) │
│ 确认日期:2026-01-29.md │
└──────┬─────────────────────────────┘
│
▼
┌────┴──────────┐
│ 日记文件已存在? │
└────┬──────────┘
是 │ │ 否
▼ │
┌─────────────┐ │
│ 选择模式: │ │
│ 继续/追加/ │ │
│ 重新开始 │ │
└──────┬──────┘ │
└────┬────┘
▼
┌────────────────────────────────────┐
│ 2. 今日任务回顾(简化) (~2min) │
│ 获取 Reminders → 批量确认 │
└──────┬─────────────────────────────┘
│
▼
┌────────────────────────────────────┐
│ 3. 启发提问 (~20min) │
│ │
│ Q1「今天有什么想记录的?」 │
│ Q2「有什么收获或感受?」 │
│ Q3「之后有什么计划?」 │
│ │
│ → 计划直接解析为 Reminders │
└──────┬─────────────────────────────┘
│
▼
┌────────────────────────────────────┐
│ 4. 整理成文 (~10min) │
└──────┬─────────────────────────────┘
│
▼
┌────────────────────────────────────┐
│ 5. 智能收尾 (~0-5min) │
│ 检测到 TIL → 「要生成 Anki 吗?」│
└──────┬─────────────────────────────┘
│
▼
┌──────┐
│ 完成 │ 总计 ~33-38min
└──────┘
1. Pre-Diary Clarification
Confirm the date and file before starting:
Claude: 「今天的日记是 2026-01-29.md 吗?」
用户: 「是」/ 「不是,是昨天的」
Handling when the file already exists
If the file already exists, provide options:
| Option | Description |
|---|---|
| Continue | Continue editing based on the existing content |
| Append | Add new content at the end of the file |
| Start over | Clear and rewrite (will confirm) |
2. Today's Task Review
Call schedule-manager to get today's Reminders, then confirm in batches:
今日计划的 5 件事:
1. 写文档
2. 修 bug
3. 开会
4. 回复邮件
5. 复习英语
哪些完成了?(输入序号,如「1,3」,或「全部」/「都没完成」)
Processing logic:
- The user says "1,3" → mark 1 and 3 as completed, and ask "When are 2, 4, and 5 postponed to?"
- The user says "all" → mark all as completed
- The user says "none completed" → ask "When are they postponed to?"
Postponement time parsing:
- "tomorrow" → tomorrow
- "the day after tomorrow" → 2 days
- "Friday" → friday
- "next week" → next monday
Skip this step when there are no tasks.
Command Reference
# 获取今日任务
reminders show-all --due-date today
# 完成任务
reminders complete "<列表名>" <index>
# 延期到指定日期(删除后重建)
reminders delete "<列表名>" <index>
reminders add "<列表名>" "<任务名>" --due-date "<用户指定的日期>"
3. Inspiring Questions
| Order | Question |
|---|---|
| Q1 | "What do you want to record today?" |
| Q2 | "What gains or feelings do you have?" |
| Q3 | "What plans do you have next?" |
Questioning Rhythm
Claude: 「今天有什么想记录的?」
用户: [回答]
Claude: [确认/追问] → 「好的,下一个问题:有什么收获或感受?」
4. Task Capture
The answer to the last question, "What plans do you have next?", will be automatically parsed as tasks:
Date Parsing Examples
| User Input | Parsing Result |
|---|---|
| "I need to submit the report tomorrow" | Tomorrow |
| "Meeting on Friday" | This Friday |
| "Review next Monday" | Next Monday |
| "Submit before the end of the month" | The last day of this month |
| "Early next month" | The 1st of next month |
Create after confirmation
Claude: 「检测到以下计划,确认创建到 Reminders 吗?」
- 明天:交报告
- 周五:开会
用户: 「好」
Claude: [调用 schedule-manager 创建]
reminders add "提醒" "交报告" --due-date "tomorrow"
reminders add "提醒" "开会" --due-date "friday"
5. Intelligent Wrap-up
Recommend follow-up actions based on the diary content:
| Detected Content | Recommended Action |
|---|---|
| TIL (what you learned today) | "It was detected that you learned something new today. Do you want to generate Anki cards?" → Call anki-card-generator |
Note: The diary is stored in Obsidian (iCloud sync), and no git commit is required.
Time Budget
| Step | Time |
|---|---|
| Confirm date + file handling | ~1 min |
| Task review | ~2 min |
| Inspiring questions (including plans) | ~20 min |
| Organize into writing | ~10 min |
| Intelligent wrap-up (optional) | ~0-5 min |
| Total | ~33-38 min |
User configuration
See user-config.md to configure the journal path and work repository.