Turn your Super Productivity task list into a structured day of deep-focus Focusmate sessions — plan, prioritize, and book automatically.
- Plugin (
sp-focusmate-planner/) — Super Productivity plugin that plans your day as 25/50/75-minute sessions and exports a booking plan. - Server (
focusmate-booking-server/) — Node/Playwright automation that consumes the plan and books sessions on Focusmate.
Parts of this plugin is forked from super-productivity/auto-plan. Many core features like priority engine, time maps, task splitting, booking export are inspired by auto-plan.
Do No Harm License © raisely/NoHarm
Super Productivity host plugin (manifest v1, min SP 14.0.0).
![]() Empty Plan |
![]() Session Suggestions |
![]() Tasks |
![]() Timemaps |
![]() Sessions |
|
- Open Super Productivity → Settings → Plugins → Load unpacked plugin
- point it at the zipped package:
The max plugin size for index.html is 100 kb. This script minifies the index.html and zip the plugin.
cd sp-focusmate-planner
bash build-zip.sh
# install sp-focusmate-planner.zip- Task pool — add, load from Super Productivity, drag to reorder
- Session planning — stack 25/50/75-minute sessions with automatic breaks
- Priority engine — configurable urgency scoring (duration, oldness, deadline, tags, projects) with auto-adjust when oversubscribed
- Time maps — define focus windows per day/project/tag; multiple named maps
- Booking flow — Book button opens modal, editable title, optional AI auto-summarize via OpenAI-compatible endpoint (OpenAI, Ollama, llama.cpp, LM Studio)
- Plan persistence — save/load plans by date, download/copy JSON for the booker
- Drag reorder — manual pool order feeds into auto-assign priority; time-based tasks keep their scheduled times
window.FocusmatePlannerAPI includes:
getTasks, getConfig, saveConfig, autoAssign, computeUrgency, savePlan, loadPlan, exportPlan, getOpenAiSettings, saveOpenAiSettings, getTimeMapConfig, saveTimeMapConfig, etc.
Playwright automation for Focusmate booking.
cd focusmate-booking-server
cp .env.example .env
npm install
npm run preparenpm run inspect # opens Focusmate booking page for selector inspection
npm run book # runs a sample booking using a plan
npm run server # start local booking API on port 8787STATE_FILEpersists browser cookies between runs- Update selectors in
src/booking/focusmate.booker.tsif the Focusmate UI changes - Set
HEADLESS=falsefor debugging
- Plan your day in the Super Productivity plugin
- Click auto-prioritize session or manually put tasks in session. Each session has a book button.
- Run the server before booking
- also, you can export/download the plan JSON (or save it via the plugin)
- The booking server (
book.ts//bookendpoint) consumes the plan and creates Focusmate sessions
- Super Productivity >= 14.0.0
- Node.js >= 18
- Playwright browsers (
npm run prepare)




