mcpField
D
diary-assistant

diary-assistant

github.com/niraclerProductivity1180 installsUpdated 15w ago
Repository

About diary-assistant

diary-assistant is a macOS skill for guided diary writing, combining task review, reflective questions, and task capture. It can add confirmed plans to Reminders and suggest Anki card generation based on diary content.

Key features

  1. 01Review and update today's Reminders tasks
  2. 02Guide diary writing with questions
  3. 03Extract dates and tasks from plans
  4. 04Add confirmed plans to Reminders
  5. 05Suggest Anki card generation from learning notes

Use cases

  1. 01Review daily tasks and record their status
  2. 02Reflect on experiences, feelings, and lessons
  3. 03Turn diary plans into reminders
  4. 04Generate Anki cards from what was learned

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/niracler/skill --skill diary-assistant

After installing, type/diary-assistantin Claude Code to confirm it loaded.

Bundled filesreferences/user-config.md

Details

From the project README

Diary Assistant

日记写作助手,提供完整的日记工作流,包含任务回顾、启发提问和任务捕获。

Prerequisites

ToolTypeRequiredInstall
macOSsystemYesThis skill requires macOS
reminders-clicliYesbrew install keith/formulae/reminders-cli
schedule-managerskillYesIncluded in npx skills add niracler/skill
anki-card-generatorskillNoIncluded 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 集成开始时回顾今日任务,结束时捕获新计划
启发而非代写用提问引导思考,不替用户决定内容

完整流程

┌──────────────────────────────────────────────────────────┐
│       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

开始前确认日期和文件:

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. 启发提问

顺序问题
Q1「今天有什么想记录的?」
Q2「有什么收获或感受?」
Q3「之后有什么计划?」
提问节奏
Claude: 「今天有什么想记录的?」
用户: [回答]
Claude: [确认/追问] → 「好的,下一个问题:有什么收获或感受?」

4. 任务捕获

最后一个问题「之后有什么计划?」的回答会自动解析为任务:

日期解析示例
用户输入解析结果
「明天要交报告」明天
「周五开会」本周五
「下周一复习」下周一
「月底前提交」本月最后一天
「下个月初」下月 1 号
确认后创建
Claude: 「检测到以下计划,确认创建到 Reminders 吗?」
  - 明天:交报告
  - 周五:开会

用户: 「好」

Claude: [调用 schedule-manager 创建]
reminders add "提醒" "交报告" --due-date "tomorrow"
reminders add "提醒" "开会" --due-date "friday"

5. 智能收尾

根据日记内容推荐后续操作:

检测内容推荐操作
TIL(今天学到的东西)「检测到你今天学了新东西,要生成 Anki 卡片吗?」→ 调用 anki-card-generator

注意: 日记存储在 Obsidian(iCloud 同步),不需要 git 提交。

时间预算

步骤时间
确认日期 + 文件处理~1 min
任务回顾~2 min
启发提问(含计划)~20 min
整理成文~10 min
智能收尾(可选)~0-5 min
总计~33-38 min

用户配置

见 user-config.md 配置日记路径和工作仓库。

Comments

Markdown supported