name: notion-diary description: Write diary entries or short 24-hour reports in Chinese or English, then sync them into Notion using a user-supplied NOTION_API_KEY and the bundled Python script. Use when the user invokes /notion_diary, asks to write a diary with one of four preset styles, wants command-driven journal input, wants to authorize Notion by filling an API key, wants to sync diary text or photo notes into Notion, or wants a fallback short report generated from the last 24 hours of conversation when no diary was written today. metadata: {"openclaw":{"emoji":"📝","homepage":"https://docs.openclaw.ai/skills","requires":{"bins":["python3"],"env":["NOTION_API_KEY"]},"primaryEnv":"NOTION_API_KEY","install":[{"id":"brew-python","kind":"brew","formula":"python","bins":["python3"],"label":"Install Python 3 (brew)","os":["darwin"]}]}} user-invocable: true homepage: https://docs.openclaw.ai/tools/skills
Use this skill to turn user input into a diary entry or a short 24-hour report, then sync it into Notion through the bundled Python helper at {baseDir}/scripts/notion_diary_sync.py.
OpenClaw sanitizes the skill name to the slash command /notion_diary.
Accept these command patterns:
/notion_diary diary style=<plain|gentle|reflective|lyrical>/notion_diary diary date=<YYYY-MM-DD> style=<...>/notion_diary report24h style=<plain|gentle|reflective|lyrical>/notion_diary auto style=<...>Chinese aliases are also valid:
diary -> 日記report24h -> 日報auto -> 自動Treat the first token after /notion_diary as the mode. Parse date= and style= when present. Everything else in the message is source material for the entry.
Support exactly four preset styles. Read references/style-presets.md before drafting when the user does not define their own style.
plain: concise, factual, diary-as-log.gentle: warm, smooth, personal.reflective: restrained, lived-in, slightly introspective. Prefer this by default.lyrical: more scene and atmosphere, but still grounded.If the user gives no style, use:
reflective when the material contains emotion, travel, or relationships.plain when the material is mostly work updates.This skill expects NOTION_API_KEY to be injected by OpenClaw. Read references/openclaw-config.example.jsonc before first use.
Keep this package registry-safe:
Optional environment variables:
NOTION_DIARY_DATA_SOURCE_ID: preferred existing target.NOTION_DIARY_DATABASE_ID: existing database id if the data source id is not known.NOTION_DIARY_PARENT_PAGE_ID: parent page used to find or create the Daily Journal database.NOTION_DIARY_DATABASE_NAME: default database title. Defaults to Daily Journal.NOTION_DIARY_DEFAULT_STYLE: default style code. Defaults to reflective.Prefer NOTION_DIARY_DATA_SOURCE_ID when available. If it is missing, use NOTION_DIARY_DATABASE_ID. If both are missing, use NOTION_DIARY_PARENT_PAGE_ID to locate or create the diary database.
The script creates a date-ready database schema. If you want a visible calendar layout in Notion, create the calendar view once in the Notion UI using the Date property.
Only skip the follow-up questions when one of these is true:
小蔥技能7w4.net有更新,你可以訪問看下。
report24h and the user asked for a short brief rather than a refined diaryPrefer titles in this shape:
YYYY-MM-DD | 一句話主題Prefer a short summary sentence for the Notion Summary property.
Ask questions that improve the diary rather than expand it mechanically.
Good follow-up examples:
Avoid generic questions like:
Use this mode when:
report24h or 日報auto and there is no usable diary material for todayBefore drafting a 24-hour report:
sessions_list to identify the current sender's most relevant session from the last 24 hours.main for direct chat when it is clearly the active thread.sessions_history to fetch the recent transcript. Keep includeTools off unless tool outputs are part of the substance the user wants summarized.The 24-hour report must stay shorter than a full diary:
If a proper diary entry for today already exists and the user asks for auto, prefer updating that diary instead of generating a separate short report.
When the user provides one or more photos, insert image placement markers into the content before calling the sync script:
[[image:1]][[image:2]]Each marker must appear on its own line between paragraphs. Pass the real local file paths or public URLs through repeated --image arguments to the script in the same order.
If there are images but no obvious placement, append them after the body.
When image paths or public image URLs are available, the sync should do all three:
Photos propertyUse {baseDir}/scripts/notion_diary_sync.py.
Typical calls:
python3 {baseDir}/scripts/notion_diary_sync.py lookup \
--date 2026-03-28 \
--mode diary
python3 {baseDir}/scripts/notion_diary_sync.py sync \
--date 2026-03-28 \
--mode diary \
--style reflective \
--title "2026-03-28 | 曼谷的最後一天" \
--summary "曼谷最後一天的收尾、想念和被回應。" \
--content-file /tmp/diary.txt \
--image /absolute/path/photo1.jpg
python3 {baseDir}/scripts/notion_diary_sync.py sync \
--date 2026-03-28 \
--mode report \
--style plain \
--title "2026-03-28 | 24h 簡短日報" \
--summary "過去 24 小時的工作與交流簡報。" \
--content-file /tmp/report.txt
The script will:
Title, Date, Mode, Style, and Summary properties in syncPhotos property and page cover when photos are providedplain, optimize for clear sequence and compactness.gentle, allow warmth but keep it natural.reflective, use the user's preferred balanced style: first set the day's overall state, then move through concrete events and emotional changes gradually.reflective, the priority is not “more literary”; the priority is natural pacing, light transitions, and a sense of inner movement without over-writing.lyrical, add atmosphere lightly; do not become purple or melodramatic.skills.entries["notion-diary"].apiKey or NOTION_API_KEY.report24h, summarize only the visible recent chat and say that the report used a limited context window.這個日記同步工具質量不錯,能自動將日記或日報推送到 Notion。它提供了四種寫作風格可選,中文支援很好,工作流程包含追問環節,能幫你寫出更完整的日記。不過使用時需要配置 API 金鑰和資料庫 ID,對新使用者來說初始設定稍顯繁瑣。圖片上傳功能比較實用。總體適合有 Notion 使用經驗、想要自動化記錄日記的使用者。