Deep Work — Time-Block the Day, Budget the Shallow

SkillProductivity

This skill helps your AI plan a deep work day from your existing tasks. Once added, it can turn a task list into a time-blocked schedule, keep shallow work in check, and track how much focused work actually gets done.

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Ask your AI to plan a deep work day, or say /deep-work or /time-block to get a schedule from your task list. At the end of the day, ask it to run your shutdown ritual and review your tracked sessions.

Then ask your AI: use the Deep Work skill

What your AI can do with it

  • Turn a task list into a time-blocked deep work schedule
  • Classify tasks as deep or shallow work
  • Budget or cut shallow work to make room for focus
  • Protect focus hours and cap how much you schedule
  • Track deep work sessions and streaks
  • Run an end-of-day shutdown ritual

What this skill tells your AI

The instructions your AI receives, as published by alirezarezvani/claude-skills in .gemini/skills/deep-work/SKILL.md and read by ahel’s review.

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.

What this does

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.

Step 1 — Classify and budget the shallow

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.

Step 2 — Block the day

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).

Step 3 — Log the session, keep the streak

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

Step 4 — Shutdown ritual

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.

Scripts

ScriptRole
scripts/shallow_work_auditor.pyDeep/shallow classification + shallow share vs budget → WITHIN-BUDGET / OVER-BUDGET (exit 2) + the recent-graduate forcing question per shallow item.
scripts/time_block_planner.pyEnergy-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.pyJSON ledger of focus sessions: log / status (weekly hours vs target) / streak; atomic writes.

References

Assets

Rules

  • Depth first, earliest. Deep blocks take the best hours; shallow work gets what is left, never the reverse.
  • Respect the refusals. More than 4 deep hours is fake depth; overflow past the hard stop is a broken budget, not extra output.
  • Batch, never sprinkle. Shallow work lives in at most two windows; a sprinkled inbox costs a full refocus each time.
  • Revise, don't abandon. A broken block means redraw the rest of the day, not "the plan failed."
  • Close the day. No shutdown ritual, no evening — open loops steal tomorrow's first block.

Distinct From (don't reach for the wrong skill)

  • productivity/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.

Signals

GitHub stars
27k
Forks
4k
Last commit
Aug 2026
Advanced
Item type
skill
Key
deep-work
Source
github.com/alirezarezvani/claude-skills