productivity/deep-work/skills/deep-work/SKILL.md
Use when someone wants to plan a deep work day, time-block their calendar or task list, budget or cut shallow work, protect focus hours, track deep-work sessions and streaks, run an end-of-day shutdown ritual, or says "/deep-work" or "/time-block". Classifies tasks deep vs shallow, builds an energy-first time-blocked schedule that refuses deep demand past the 4-hour ceiling, batches shallow work into at most two windows, and logs focus sessions against a weekly target.
npx skillsauth add alirezarezvani/claude-skills deep-workInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Portability: Reasoning-led skill with 3 stdlib Python scripts. No external APIs, no LLM calls in scripts. Works in Claude Code CLI and Claude.ai web. The scripts fix the arithmetic; you keep the judgment.
A calendar full of reactions is not a plan. This skill turns a raw task list into a day where attention is the protected resource: deep tasks get the earliest hours in blocks of at least 90 minutes, shallow work is batched into at most two windows, buffers absorb attention residue, and the schedule flatly refuses more than 4 hours of deep demand — the trained daily ceiling. A local ledger of focus sessions keeps the weekly deep-hours target measured, not felt.
Ask for today's task list with rough minutes per task (or take it from $ARGUMENTS). The auditor
classifies each task deep vs shallow (keyword heuristics; an explicit :deep/:shallow suffix always
wins), computes the shallow share against the budget, and prints the forcing question for every
shallow item — how long would it take to train a smart recent graduate to do this?
python scripts/shallow_work_auditor.py \
--task "Write investor update:60" --task "Email triage:45" \
--task "Analyze churn cohort:90:deep" --budget 50
OVER-BUDGET (exit 2) means cut, batch, or delegate before any schedule is built.
Feed the surviving tasks to the planner with the day's hard start and hard end (fixed-schedule productivity: the end time does not move). Deep first and earliest, 10-minute buffers, shallow in two batches (late morning + end of day), an optional fixed lunch:
python scripts/time_block_planner.py --start 08:30 --end 17:00 --lunch 12:30 \
--task "Write product spec:120:deep" --task "Email sweep:30:shallow"
Two refusals, both exit 2: deep demand past the 4-hour cap (the planner names what to defer), and shallow overflow past --end (the planner names what to drop — the day never silently extends).
After each real focus block, log it. status shows this week's deep hours against the target (default 15); streak counts consecutive days with at least one session:
python scripts/focus_session_logger.py log --minutes 90 --label "Write product spec"
python scripts/focus_session_logger.py status --target 15
End the day with the shutdown checklist (assets/shutdown_checklist.md): capture every open loop, glance at tomorrow, say the closing phrase. An incompletely closed day steals tomorrow's first block.
| Script | Role |
|---|---|
| scripts/shallow_work_auditor.py | Deep/shallow classification + shallow share vs budget → WITHIN-BUDGET / OVER-BUDGET (exit 2) + the recent-graduate forcing question per shallow item. |
| scripts/time_block_planner.py | Energy-first schedule: deep blocks ≥90 min earliest, 4-hour deep cap (refuses, exit 2), ≤2 shallow batches, 10-min buffers, fixed lunch, overflow refusal. |
| scripts/focus_session_logger.py | JSON ledger of focus sessions: log / status (weekly hours vs target) / streak; atomic writes. |
references/deep_work_canon.md — deep vs shallow, the deep work hypothesis, the 4-hour ceiling, attention residue (6 sources)references/time_blocking_method.md — plan every minute, block sizes, buffers, guilt-free revision, fixed-schedule productivity (6 sources)references/shallow_work_budget.md — the 30-50% band, saying no, batching, the recent-graduate heuristic, why the shutdown ritual works (6 sources)assets/example_time_block_plan.md — a full worked day (audit → plan → mid-day revision → shutdown)assets/shutdown_checklist.md — end-of-day shutdown ritual templateproductivity/andreessen — the 3x5 card picks WHAT matters today. Deep-work plans WHEN and HOW, with attention protected. Run the card first, then block the day here.project-management capacity planning — team-level capacity and sprint math. This is one person's attention across one day and one week.Version: 1.0.0 Build pattern: Path-B method skill — Newport discipline preserved + deterministic scheduling scripts added.
development
Use when someone wants to run a weekly review, close open loops, audit stalled projects and commitments, get their system back to trusted, restart a lapsed review habit, or says "/cs:weekly-review". Walks David Allen's three-phase loop — GET CLEAR, GET CURRENT, GET CREATIVE — with deterministic scripts that inventory open loops, gate the checklist with named gaps, and score commitment health 0-100.
development
Use when someone wants to decide whether a meeting is worth calling, price a meeting in dollars, build a timeboxed agenda with desired outcomes, or turn messy meeting notes into owned action items — or says "should this be a meeting", "/cs:meeting-prep", or "/cs:meeting-actions". Runs a cost gate (ASYNC / NOT-READY / MEET), builds a decision-first agenda, and extracts an owner + due-date checklist that flags every orphan.
development
Convert a rambling description of a desired outcome into one polished, autonomous /goal prompt ready to paste into a fresh session. Use when the user says "/fable-goal", "turn this into a goal prompt", "write me a fable prompt", "write the prompt that builds X", or rambles about something they want made and asks for the prompt that makes it happen. The output is a single copy-paste prompt, never the build itself. Do NOT use when the user wants the thing built right now in this session — only when they want the PROMPT that will make it happen in a fresh session.
testing
Use when the user wants their Claude agent to self-improve from past usage, asks about a nightly/offline 'sleep' or 'dream' cycle, memory/skill consolidation, or says things like 'make my agent better the more I use it', 'review my past sessions', 'learn my preferences', 'consolidate what you learned', 'run the sleep cycle', or wants to schedule offline self-optimization. Drives the skillopt_sleep engine: harvest past sessions -> mine recurring tasks -> replay offline -> consolidate validated CLAUDE.md and SKILL.md behind a held-out gate.