ABOUTME: Bullet Journal orchestration for daily/weekly/monthly logs and task migration
ABOUTME: Creates notes from templates, aggregates completed/migrated tasks, handles reviews
Bullet Journal
Vault path: Journal/ in Obsidian vault
Templates: Journal/Templates/ (Daily Note, Weekly Review, Monthly Log)
Obsidian skill: See ../obsidian/SKILL.md for vault CLI commands
Commands
bujo daily
Create today's daily note from template (if it doesn't exist). Show summary of today's tasks.
# Check if today's note exists
obsidian read file="Journal/Daily/$(date +%Y-%m-%d)"
# If not found, create from template
obsidian template:create template="Journal/Templates/Daily Note" name="Journal/Daily/$(date +%Y-%m-%d)"
# Show summary
obsidian read file="Journal/Daily/$(date +%Y-%m-%d)"
If the daily note already exists, just read and summarize it. Highlight:
- Open tasks count per section (Wishew, HikmaAI, Personal)
- Events for today
- Any notes
bujo weekly
Create weekly review for current week. Scan all daily notes from the week.
- Determine current ISO week:
date +%Y-W%V - Read all daily notes for the week (Mon-Sun)
- Aggregate:
[x]completed tasks per project[>]migrated tasks[-]cancelled tasks- Open
[ ]tasks (carried forward)
- Create
Journal/Weekly/YYYY-Www.mdfrom template - Pre-populate "Accomplished" with completed tasks
- Pre-populate "Carried Forward" with open tasks
- Calculate metrics (completed, migrated, cancelled counts)
# Read daily notes for the week
for day in $(python3 -c "
from datetime import date, timedelta
import sys
today = date.today()
start = today - timedelta(days=today.weekday())
for i in range(7):
d = start + timedelta(days=i)
if d <= today:
print(d.isoformat())
"); do
obsidian read file="Journal/Daily/$day" 2>/dev/null
done
bujo monthly
Create monthly log for current month. Summarize week by week.
- Determine current month:
date +%Y-%m - Read all weekly reviews for the month
- Create
Journal/Monthly/YYYY-MM.mdfrom template (if not exists) - Populate weekly summaries
- Migrate incomplete tasks from previous month
bujo migrate
Scan yesterday's daily note for open tasks. For each one, ask what to do.
- Read yesterday's daily note
- Find all
- [ ]items - For each task:
- Task with sync ID (
[CU-xxx]or[LIN-xxx]): mark as[>]in yesterday's note. It will reappear viabujo sync. - Personal task: ask Max what to do:
- Migrate: copy to today's daily note, mark
[>]in yesterday's - Cancel: mark
[-]in yesterday's - Future Log: move to
Journal/Future Log.md, mark[>]in yesterday's - Complete: mark
[x](did it but forgot to check off)
- Migrate: copy to today's daily note, mark
- Task with sync ID (
- Update yesterday's note with
[>]or[-]markers
Migration format:
# Yesterday's note:
- [>] Task that was migrated [CU-abc]
- [-] Task that was cancelled
- [x] Task completed
# Today's note (Personal section):
- [ ] Migrated personal task
bujo review
Show today's daily note with highlights on overdue/blocked items.
- Read today's daily note
- Highlight:
- Tasks marked
**BLOCKS**: these are blocking others - Tasks that appeared in previous days but are still open
- Total counts per project
- Tasks marked
- Present a quick summary
Bullet Key
| Symbol | Meaning |
|--------|---------|
| - [ ] | Open task |
| - [x] | Completed task |
| - [>] | Migrated (moved forward) |
| - [-] | Cancelled |
| - [!] | Event |
| - [i] | Note/info |
File Paths
| Type | Pattern | Example |
|------|---------|---------|
| Daily | Journal/Daily/YYYY-MM-DD.md | Journal/Daily/2026-02-22.md |
| Weekly | Journal/Weekly/YYYY-Www.md | Journal/Weekly/2026-W08.md |
| Monthly | Journal/Monthly/YYYY-MM.md | Journal/Monthly/2026-02.md |
| Future Log | Journal/Future Log.md | |
| Collections | Journal/Collections/*.md | |
Sync Integration
Task sync is handled by the bujo-sync skill. This skill only manages note creation, migration, and review.
Sync markers in daily notes (HTML comments) delimit zones where bujo-sync writes. This skill NEVER modifies content between sync markers.
<!-- bujo-sync:clickup:start -->
(bujo-sync writes here)
<!-- bujo-sync:clickup:end -->
Scan to join WeChat group