A Claude skill for the moment you sit down to work. You type "start working"; it works out what the session is for, splits the work between you and Claude, starts Claude's half immediately, and closes the loop afterwards so your task manager, calendar, and notes stay accurate without manual admin.
This repo is a template. The connectors — task manager, calendar, notes system — are
{{SLOTS}} you fill in once. The seven-step protocol underneath is the part worth
copying; the tools it talks to are meant to be swapped.
start working
→ silent parallel pull of tasks + calendar + last session's log
→ "Needs a call": rotting tasks, grouped and numbered, answered in one line
→ 3 micro-questions, max: how long / what mode / what does winning look like
→ ranked pick, split into your lane and Claude's, with time estimates
→ a session card, one button
go
→ Claude's lane starts; a calendar block appears; you get your first action
done
→ tasks ticked, calendar block renamed to what actually happened, session logged
- Copy this folder to your skills directory —
~/.claude/skills/start-working/for Claude Code, or wherever your agent reads skills from. - Try it with zero wiring: set every slot in
SKILL.mdtononeand the skill just asks you the questions in chat. Or fill the slots properly — see Customising each slot, or pasteSETUP.mdinto Claude and let it do it. - Type
start working.
A worked, fully-filled variant lives in examples/ if you'd rather read one
than build one.
This is the idea the whole thing is built around, and it's the part to keep if you change everything else.
You keep decisions, relationships, judgement, and anything that runs under your own accounts. These are the things that are actually yours — where being the person matters, where you'd disagree with a delegate, or where handing it over would quietly erode a skill you want to keep.
Claude takes drafting, research, structuring, and processing. Work that is real work but doesn't need you specifically to be the one doing it.
Two consequences follow. First, the top pick gets split into lanes rather than assigned wholesale, so Claude's half runs in parallel while you work rather than before or after. Second, your lane is what gets time-boxed — which means the box shrinks over time as more of the session turns out to be delegable. That shrinkage is the signal that the setup is working.
Each step exists because of a specific failure it's avoiding.
- One parallel gather, hard-capped. Every read fires in a single batch. Serial pulls are the main avoidable latency, and a ritual that takes ninety seconds to start is one you stop using.
- A clean-up sweep before ranking. Ranking a rotten task list produces confident
nonsense. Overdue and drifting items get surfaced grouped and numbered, and you clear
them with one typed line —
1 kill, 2 defer Friday, 3 do. - Three questions, one round, never four. Length, mode, goal. Anything you already said in your message is skipped.
- A number on every task. Estimates come from the task's set duration, or from defaults by type, and close-out records planned against actual. Without the feedback loop the estimates stay wrong in the same direction forever.
- Heavy work leaves the chat so it can run in parallel. Multi-minute tasks go to their own tab and run alongside you instead of queuing behind each other — the real time-saver, drawn on the timeline below.
- The card is a briefing; chat is the controls. One button (Go). Everything else is
typed —
swap the pick,make it 60. Buttons only offer actions someone thought of in advance. - Close-out is half the value. Ticking tasks, renaming the calendar block to what actually happened, and logging the session is the admin you would otherwise skip, and skipping it is what makes the next session's ranking worse.
One chat does one thing at a time; a second tab runs alongside it. So instead of drafting an email and then waiting on research, you hand the research to its own tab, draft the email yourself, and the research is ready by the time you're done — the wait hides behind work you were doing anyway.
Serial — one chat, one job at a time
[ email · you · 15m ][ research · Claude · 20m · you wait ]
├─────────────────┼──────────────────────────────────────┤
0 15 35 min
both ready → 35 min
Parallel — email in the chat, research in its own tab
[ email · you · 15m ]
[ research · Claude · own tab · 20m ]
├─────────────────┼─────┤
0 15 20 min
both ready → 20 min — and you were never idle
Total time drops from email + research to whichever took longer. That is exactly what the session pack in step 4 is for: a plain task list keeps you serial, but self-contained per-tab prompts let several things progress at once while you rotate between them.
Illustrative — one made-up session on a fictional stack (Apple Reminders + Apple
Calendar + a work-log.md), so you can see the shape. Nothing here is a real person or
a real transcript.
You: start working, got about an hour
Claude pulls Reminders and Calendar silently, then opens with the rot it found:
Needs a call — reply by number: do / defer / kill
1. Website copy — 3 tasks, overdue 6+ days
2. "Email accountant" — undated, 12 days
…and the session card:
┌ Work session · Thu · 55 min · deep · 2:10–3:05 PM ───────────┐
│ Goal: ship the pricing page │
│ │
│ TOP PICK Pricing page copy + layout due Fri ● │
│ You ~35m │ Claude · in parallel │
│ · lock the price tiers │ · draft 3 headline options │
│ · sign off the layout │ · pull 2 competitor pricing pages │
│ │
│ Didn't make the cut: email accountant ~10m · defer │
└──────────────────────────────────────────────────────────────┘
[ Go ] or type: swap the pick / make it 30 / 1 defer, 2 do
You: 1 defer friday, 2 do — then go
Claude: Deferred the website copy to Fri, kept the accountant email in. Calendar block Focus: Pricing page set for 2:10–3:05. Competitor scan and three headline drafts are below. Start with: lock the three price tiers.
…55 minutes later…
You: done — shipped the page, went with option 2, accountant email still not sent
Claude: Logged. Ticked "pricing page" in Reminders, renamed the calendar block to Pricing page — shipped, and appended to
~/work-log.md:
### 2:10–3:05 PM · Pricing page
- Goal: ship the pricing page — achieved
- Planned: pricing page, accountant email · Done: pricing page · Carried: email → Fri
- Time: planned 55m, actual 55m
- Claude lane: 3 headline drafts (option 2 used), competitor pricing scan| File | Purpose |
|---|---|
SKILL.md |
The protocol, with {{SLOTS}} for the connectors |
assets/session-card.html |
The HTML session card template |
SETUP.md |
A prompt you paste into Claude to fill the slots for you |
examples/ |
A fully-filled variant to read and diff against the template |
Five replacements in SKILL.md. (The skill talks to you as "you" out of the box — no
name slot to fill. Want Claude to use your name? Add it by hand where you like.) The
card's own slots are runtime values Claude fills each session — leave those alone.
| Slot | What it controls | Notes on choosing |
|---|---|---|
{{TASK_MANAGER}} |
Where step 1 pulls tasks from, and what close-out ticks off | Use what you already use — Apple Reminders, Todoist, Things, whatever. This is the one slot worth wiring properly, since the ranking is only as good as the list. If two places hold tasks, pick one to be canonical; the skill offers to push stragglers into it. |
{{CALENDAR}} |
The gap calculation, and the session block | Apple Calendar, Google, Outlook. Drives the default session length. Without it the skill asks how long you have, which works but loses the automatic fit-to-gap. |
{{SECOND_BRAIN}} |
Notes read for context at session start | Optional. Its job is pre-selecting your interview defaults from last session. |
{{SESSION_LOG}} |
Where close-out appends the record | Can be a single markdown file. Keep it separate from {{SECOND_BRAIN}} if your notes live somewhere Claude cannot write to. |
{{TIMEZONES}} |
How the clock and calendar are interpreted | If you have one timezone, say so plainly and the ambiguity handling never fires. If you move between two, describe the rule and how to infer which applies. |
Every slot accepts none. The protocol then asks you the question in chat instead of
reading a tool, and still runs end to end. Setting all five to none is a reasonable way
to try the ritual before wiring anything up.
Two ways to fill them: paste the prompt in SETUP.md into a Claude session
that can see this folder and answer its questions, or find-and-replace by hand. Either
way, delete the "Customise this" section from SKILL.md afterwards — it is setup
scaffolding, and once filled it costs tokens on every trigger.
Wire it to whatever you already use. The skill describes what it needs as capabilities rather than named API calls, so anything providing them will work.
| Capability | Used for | Notes |
|---|---|---|
| List tasks by due date, including overdue | Step 1 gather | Any task manager with a Today view |
| List by priority, and list undated | Step 1, and the clean-up sweep | The undated query is the one people forget to wire, and it is what makes drift visible |
| Complete a task | Close-out | Any |
| Reschedule a task | Deferrals, carries | Read the warning below before wiring this |
| Comment or note on a task | Recording why something carried | Skip if unavailable; the session log still records it |
| List today's events | Gap calculation | Any calendar |
| Create and update an event | The session block, and renaming it at close-out | Same |
| Read and append a file | Session log, local task file | Filesystem access, or a connected notes app |
Nothing here is required. Each missing capability degrades to a question in chat.
Task managers people are most likely to reach for:
- Apple Reminders — already on every Mac and iPhone, no account, no subscription. Driven by AppleScript, which exposes due date, priority, completion, and a notes body.
- Todoist — richest filtering of the lot, which suits the three-query gather in step 1.
- Things, TickTick, Linear, Asana, a Notion database — all fine. Map them to the capability table above.
- No app at all — a
TODO.mdfile works. You lose automatic ticking at close-out and nothing else.
The reschedule warning. This is the one place a wrong wiring quietly damages your data, so it is worth a minute.
Most task APIs have a generic "update task" call that overwrites the entire due string,
which destroys recurrence on repeating tasks. Use the dedicated reschedule or move
operation instead — in Todoist that is reschedule-tasks, never update-tasks.
Apple Reminders has the opposite problem: its AppleScript dictionary contains no recurrence property whatsoever, so a script cannot see whether a reminder repeats, let alone preserve the rule. The safe pattern is to treat repeating reminders as read-only — surface them in the clean-up sweep, but defer them by hand in the app.
For anything else, test before you trust it: make a recurring task, move it by script,
and check the repeat rule survived. If it did not, restrict the sweep's defer action to
non-recurring tasks. The Connector notes table at the bottom of SKILL.md records this
per vendor; add yours.
Adding your task manager? The Connector notes table ships with Todoist and Apple Reminders. If you wire up Things, Notion, TickTick, or anything else, a pull request that adds a column — same capability rows, plus the recurrence check — is welcome and makes the template better for the next person.
Claude Cowork — Settings, then Capabilities, then add this as a skill.
Claude Code — copy the folder to ~/.claude/skills/start-working/ for all projects,
or .claude/skills/start-working/ inside a single project. The folder name must match
the name: field in the frontmatter.
Other agents supporting the skills standard — wherever that agent reads skills from. The file is plain markdown with YAML frontmatter and assumes nothing beyond that.
Test it by typing start working. If it does not fire, check the folder name first.
Treat the seven steps as the thing you are copying and everything else as suggestion.
The two parts most likely to need retuning for you are the time estimate defaults in step 4, which assume a lot of short admin work and will be wrong if your days are mostly long build sessions, and the rot thresholds in step 2, currently overdue by three days and undated for seven. Both are single lines to change.
Things people reasonably change: the number of interview questions, though going past three costs more than it returns; the ranking order in step 4; the cap of three parallel session tabs; the card's aesthetic, which is a default rather than a rule — restyle it, but pick once and keep it stable, since the card earns its value by being readable at a glance.
Things worth keeping: the parallel gather, because serial pulls are where the latency goes; the split into lanes, because that is the whole point; and close-out, because a session ritual without one degrades into a nicer way of writing lists.
If you want a companion skill for people lookups, voice filtering on outbound drafts, or
whole-day planning, the Boundaries section at the end of SKILL.md is where to name it
so the two hand off cleanly rather than overlapping.
Whole-day planning, morning briefings, and notification delivery. This skill covers one work session and its close-out. Keeping that boundary is most of why it stays fast.