Obsidian Daily Log
Update freznel's Obsidian daily note in the superyas vault by appending timestamped entries to a ## Timeline section. Prefer compact chronological logging that stays readable in Obsidian on mobile and desktop.
Vault conventions
- Vault path:
C:\Users\frezn\iCloudDrive\iCloud~md~obsidian\superyas - Daily notes folder:
01 Daily - Daily note filename:
YYYY-MM-DD.md - Daily note template:
Templates\Daily Note.md - Default insertion section:
## Timelineplaced before## Notes
Group-chat safety
Allow this skill in Telegram groups and other shared chats only when freznel clearly intends to log something to the vault.
Strong triggers:
- messages starting with
/dailylog,/travellog, or/timeline - direct prompts like
add this to my daily note,save this to Obsidian, orlog this for today - clear first-person day recaps addressed to the assistant
Do not write to the vault from ordinary group banter, third-party messages, or ambiguous conversation fragments. If intent is unclear in a group, ask one short confirmation question before saving.
Workflow
- Determine the target date.
- If freznel says "today", use the current date.
- If freznel gives a date, use that exact date.
- If the date is ambiguous, ask one short clarifying question.
- Prefer natural-language inference first.
- Accept messy recaps, travel updates, partial timelines, and conversational summaries.
- Infer sequence, approximate times, locations, and activity boundaries from context.
- Convert the recap into clean chronological entries.
- Extract each activity into structured fields:
timeinHH:MM24-hour formactivityas a short action phrase- optional
location - optional
tags
- Choose output mode.
- Prefer
bulletsfor normal daily logging and travel updates. - Use
tableonly when freznel explicitly asks for a table or when the day is highly structured and comparable across many entries.
- Prefer
- Run
scripts/update_daily_log.py. - Confirm what was saved and which note was updated.
Obsidian Markdown conventions
Use native Obsidian Markdown where it improves readability, but keep daily logging lightweight.
- Prefer standard Markdown headings and bullet lists for timeline capture.
- Use callouts only for summaries, key travel notes, or notable incidents — not for every timeline line.
- Keep callouts compact, for example:
> [!tip] Travel day
> Landed on time. Hotel check-in was smooth.
- Avoid large tables unless the entries are consistently structured.
- Preserve compatibility with normal Markdown rendering; do not depend on exotic plugin-only syntax for core timeline content.
- Use emoji sparingly inside timeline bullets when they add scanning value, such as
📍for location.
Format policy
Default: bullets
Use bullets for most cases because they are easier to dictate, faster to scan on mobile, and more tolerant of messy real-life travel notes.
Example:
## Timeline
- 06:45 — Left home for airport — 📍 Manila
- 08:10 — Checked in and cleared security — 📍 NAIA T3
- 11:35 — Landed — 📍 Singapore
- 13:00 — Reached hotel and checked in — 📍 Bugis
Optional: table
Use a table when the user asks for one, when entries naturally fit consistent fields, or when location and tags matter enough to justify columns.
Example:
## Timeline
| Time | Activity | Location | Tags |
|---|---|---|---|
| 06:45 | Left home for airport | Manila | #travel #airport |
| 08:10 | Checked in and cleared security | NAIA T3 | #travel |
| 11:35 | Landed | Singapore | #flight |
Recommendation logic
- Recommend bullets by default.
- Recommend table for trip reports with many repeated attributes, such as
time / place / transport / status. - If freznel asks whether a table should be auto-generated, answer: not by default. Auto-generate only when the day has 6+ structured entries or freznel explicitly wants spreadsheet-like review.
- If a recap or takeaway would help, add a short Obsidian callout after the timeline instead of overloading each entry.
Running the updater
Use this script:
scripts/update_daily_log.py
Typical bullet example:
python scripts/update_daily_log.py --date 2026-03-30 --mode bullets --time 06:45 --text "Left home for airport" --location "Manila" --tags "#travel" --time 08:10 --text "Checked in and cleared security" --location "NAIA T3" --tags "#airport #travel"
Typical table example:
python scripts/update_daily_log.py --date 2026-03-30 --mode table --time 06:45 --text "Left home for airport" --location "Manila" --tags "#travel" --time 08:10 --text "Checked in and cleared security" --location "NAIA T3" --tags "#airport #travel"
Notes for interpretation
- Normalize times like
7,7am,7:15 pm,19:15intoHH:MM. - Keep activity text concise; do not write long narrative paragraphs inside the timeline.
- If freznel sends a narrative recap, convert it into separate timestamped entries when possible.
- Prefer inference over rigid parsing. freznel should not need to write machine-friendly input.
- Treat
/dailylog,/travellog, and/timelineas strong save-to-note triggers, but accept plain-language prompts likeadd this to today's notetoo. - Preserve chronology by sorting entries by time.
- Avoid duplicating identical lines if the same update is logged twice.
- If no exact time is available, ask whether to log an approximate time only when timing materially matters. Otherwise, use the best reasonable approximation and say so briefly.