Playground · Build · 2026

A Claude Code plugin that owns your day instead of your time

An open-source Claude Code plugin that turns Claude into a daily journal and scheduler. Bidirectional sync with Google Calendar and Todoist — pull the day in, edit in plain markdown, push back. Asks for an end-of-day reflection. Archives every day in markdown so the user owns the data forever.

Role

Designer · Engineer · Solo Maintainer

Timeline

Ongoing — first release April 2026

Team

1 person

Scope

CLI plugin, bidirectional sync, markdown archive

9
Plugin commands
Both
Sync direction
0
Data lock-in

Why this exists

Every productivity app I've used solves the same shaped problem in subtly worse ways. Notion is a database that thinks it's a journal. Todoist is a list that doesn't know what's on my calendar. Google Calendar knows the events but not what I plan to do between them. The end-of-day reflection — the actual point — happens nowhere.

The deeper problem: every one of these tools holds my data hostage. Five years of Notion notes, gone if I cancel. Todoist closure rate, locked behind an export button.

I wanted my day to live in plain markdown files I could grep, and my schedule to round-trip through services I already use, not be replaced by a fourth tool that wants to be the centre.

What it does

Nine commands. They cover the day in three modes — pull, push, two-way.

  • /plan-today reads tomorrow's calendar, today's Todoist tasks, and yesterday's carry-forwards. Writes a time-blocked markdown file with 09:00–09:30 — Team standup lines and - [ ] checkboxes.
  • I edit today.md by hand. Move events. Reorder tasks. Add notes. Strike things through.
  • /sync-today pushes hand-edits back. Idempotent — synced lines pick up (todoist:8123) or (gcal:eventId) suffixes so re-running is safe.
  • /quick-add Call dentist tomorrow 4pm P2 #Personal @health remind me 30m before parses natural language into a Todoist task with project, label, due-time, priority, and a relative reminder.
  • /review-day at night marks done tasks complete in Todoist, asks me a reflection question, archives today.md to days/2026-05-08.md, and clears the working file.

The state of the day is always one file. The history is one folder of files. The integrations are reversible.

How it's built

Claude Code plugin convention — a top-level commands/ folder with one markdown file per slash command. Each command file defines the prompt, the tool calls, and the post-conditions.

The Todoist API turned out to be the only real engineering challenge. The published @doist/todoist-mcp npm package targets v2 — which Todoist deprecated. Reminders aren't in REST v1 at all; you reach them via POST /api/v1/sync with a reminder_add command. I curl the v1 endpoints directly from inside the plugin commands. Documented this in the plugin's CLAUDE.md so future-me doesn't waste a second weekend on it.

Google Calendar uses Claude's built-in connector — no separate API token. If the connector isn't active, calendar steps silently no-op with a warning. Reminders silently no-op on free Todoist. Both are documented, neither is a surprise.

What it isn't

This is not a competitor to Notion or Reclaim or Motion. It does not have a UI. It runs in a terminal as part of Claude Code. The audience is people who already live in Claude Code and want one less app on their dock.

It also is not a "second brain" — there's no global note search, no backlinks, no graph view. The point is to keep the day shallow and reversible, not to build another knowledge system.

What's next

Three open features I plan to add before calling v1 done:

  1. Energy/mood tracking — five-point scale at end of day, plotted weekly.
  2. Weekly reviews that actually look at the data — not just aggregate stats but a /review-week that surfaces patterns ("you missed every standup this week because you scheduled focus time at 9am").
  3. Carry-forward intelligence — when an item carries forward three times, the plugin should ask why instead of silently moving it again.

The plugin is open-source. If something here is useful to you, fork it.