Use this skill to collect and organize materials for writing a personal biweekly diary (双周记/周记). Invoke immediately when the user wants to: gather diary materials from the past 2-4 weeks, prepare content for their 周记, review what happened recently for journaling, or compile life events + media consumption + articles into a structured draft. Trigger phrases: 收集双周记素材, 准备周记, 周记素材, 双周记, biweekly materials, gather journal materials, 最近发生了什么, 整理素材写周记. This skill collects raw materials from multiple sources (daily notes, Pinboard, Douban, Telegram, Calendar, Reminders, Photos, RSS digests, plrom diff) and organizes them into the 周记 template structure — it does NOT write the final diary for you. Distinct from diary-assistant (daily journaling), weekly-report (work report for boss), and diary-note (quick append).
收集双周记写作素材。从日记、书签、豆瓣、Telegram、日历、提醒事项、照片、RSS 精选、plrom 变更等 多个来源抓取过去 2-4 周的素材,整理成周记模板结构,供用户手写周记时参考。
这个 skill 不代写周记 — 周记的灵魂在于你自己的文字和反思。它只负责把散落各处的碎片聚合起来, 让你写的时候不遗漏重要的事。
| Tool | Type | Required | Install |
|---|---|---|---|
| macOS | system | Yes | This skill requires macOS |
| reminders-cli | cli | Yes | brew install keith/formulae/reminders-cli |
| icalBuddy | cli | Yes | brew install ical-buddy |
| curl | cli | Yes | Built-in on macOS |
| git | cli | Yes | Built-in or brew install git |
PINBOARD_AUTH_TOKEN | env var | Yes | See pinboard-manager skill for setup |
Do NOT proactively verify these tools on skill load. If a command fails due to a missing tool, skip that data source and continue with what's available.
| Path | Purpose |
|---|---|
~/Library/Mobile Documents/iCloud~md~obsidian/Documents/Note/Archives/日记(Daily)/ | Daily diary entries |
~/Library/Mobile Documents/iCloud~md~obsidian/Documents/Note/Areas/生活(Life)/周记(Weekly)/ | Output location for 周记 (legacy) |
~/Library/Mobile Documents/iCloud~md~obsidian/Documents/Note/Areas/生活(Life)/月记(Monthly)/ | Output location for 月记 (current) |
~/Library/Mobile Documents/iCloud~md~obsidian/Documents/Note/templates/monthly.md | 周记 template |
~/code/ai-dev/repos/rss-agent/output/daily/ | AI-curated RSS daily digests |
~/code/nini-dev/repos/plrom/README.md | plrom source file (人 X 社区 X 物), has its own git repo |
┌──────────────────────────────────────────────────────────────┐
│ biweekly-collector 完整流程(~15-20min) │
└──────────────────────────────────────────────────────────────┘
┌──────────────────┐
│ 用户触发素材收集 │
└──────┬───────────┘
│
▼
┌────────────────────────────────────┐
│ 1. 确认时间范围 + 创建文件 (~2min) │
└──────┬─────────────────────────────┘
│
▼
┌─────────────────────────────────────────────┐
│ 2. 并行数据收集(subagent) (~5-8min) │
│ ┌─ 日记条目提取 │
│ ├─ Pinboard 书签 │
│ ├─ 豆瓣动态 (RSS) │
│ ├─ Telegram 频道 (RSS) │
│ ├─ Apple Calendar 事件 │
│ ├─ Apple Reminders 完成项 │
│ ├─ RSS 精选摘要 │
│ └─ plrom git diff │
└──────┬──────────────────────────────────────┘
│
▼
┌────────────────────────────────────┐
│ 3. 整理素材到模板结构 (~3min) │
└──────┬─────────────────────────────┘
│
▼
┌────────────────────────────────────┐
│ 4. 展示 + 用户确认写入 (~3min) │
└──────┬─────────────────────────────┘
│
▼
┌──────┐
│ 完成 │
└──────┘
The biweekly diary covers a flexible period (2-4 weeks). Ask the user:
Claude: 「这次周记要覆盖什么时间段?」
建议:3/10 - 3/23(两周)
或者你可以指定其他范围(最短两周,最长一个月)
Suggest a default based on the last entry's date. Scan both Areas/生活(Life)/周记(Weekly)/ and
Areas/生活(Life)/月记(Monthly)/ for the most recent entry to calculate the gap.
The 周记 naming convention is YYYYMM-N-title.md:
YYYYMM: year-month of the period's end dateN: the nth entry of that month (1, 2, 3...)title: a short descriptive title chosen by the userAsk the user for a title, or offer to decide later after seeing the materials.
Create the file using the template from templates/monthly.md. The output directory can be
either 周记(Weekly)/ or 月记(Monthly)/ — ask the user or accept if they specify a path directly:
---