> tool

LIVE

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.

Build2026
SPECDETAIL
RoleDesigner · Engineer · Solo Maintainer
DurationOngoing — first release April 2026
Team1 person
StackCLI plugin, bidirectional sync, markdown archive
Plugin commands9
Sync directionBoth
Data lock-in0

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. And the end-of-day reflection — the part that actually changes how tomorrow goes — happens nowhere.

The deeper problem is ownership. Every one of those tools holds my data hostage: five years of Notion notes gone the day I stop paying, a Todoist history locked behind an export button. I wanted my day to live in plain markdown files I can grep, and my schedule to round-trip through the services I already use — not be replaced by a fourth app that wants to be the centre of my life.

So I didn't build an app. I built a Claude Code plugin: it doesn't add an icon to my dock, it teaches the agent I already work in to run my day.

What it does

Nine slash commands cover the day in three modes — pull the day in, edit it by hand, push it back. The state of the day is always one file (today.md); the history is one folder of dated files; every integration is reversible.

CommandModeWhat it does
/plan-todaypullReads tomorrow's calendar, today's Todoist, and yesterday's carry-forwards into a time-blocked today.md (09:00–09:30 — Standup, - [ ] checkboxes).
(edit by hand)editMove events, reorder tasks, add notes, strike things through — in plain markdown, in any editor.
/sync-todaypushPushes the hand-edits back to Calendar and Todoist. Idempotent — synced lines pick up (todoist:8123) / (gcal:eventId) suffixes, so re-running never duplicates.
/quick-addpushParses natural language (Call dentist tomorrow 4pm P2 #Personal remind me 30m before) into a Todoist task with project, label, due-time, priority, and reminder.
/review-daytwo-wayMarks done tasks complete, asks a reflection question, archives today.md to days/2026-05-08.md, and clears the working file for tomorrow.

A day, in the terminal:

$ /plan-today
→ pulling calendar · Todoist · yesterday's carry-forwards
✔ wrote today.md — 6 blocks, 4 tasks
# ...edit today.md by hand through the day...
$ /review-day
? how did today go (1–5)? › 4
✔ 3 tasks closed in Todoist · archived days/2026-05-08.md

The choice underneath all of it: the markdown file is the working surface, but the services I already trust (Calendar, Todoist) stay the system of record — so the plugin is a fast, scriptable lens onto my day, not a new place my data gets trapped. It's deliberately not a second brain: no global search, no backlinks, no graph. The point is to keep the day shallow, reversible, and owned in plain text.

How it's built

It follows the Claude Code plugin convention — a top-level commands/ folder, one markdown file per slash command, each defining the prompt, the tool calls it's allowed to make, and the post-conditions that make it safe to re-run.

The Todoist API was the only real engineering. The published @doist/todoist-mcp package targets v2, which Todoist has deprecated; reminders aren't in the REST v1 surface at all — you reach them through POST /api/v1/sync with a reminder_add command. So the plugin curls the v1 endpoints directly, and I wrote the whole dead-end into the plugin's CLAUDE.md so future-me doesn't lose a second weekend to it.

Google Calendar rides on Claude's built-in connector — no separate token to manage. If the connector isn't active, calendar steps silently no-op with a warning; reminders no-op on free Todoist. Both are documented, neither is a surprise. The plugin is open-source — if it's useful to you, fork it.

// end of project

More projects, or
get in touch.

JANAM.WORKTOOLS & EXPERIMENTS© 2026