--- title: "/cs-time-block — Slash Command for AI Coding Agents" description: "/cs:time-block — Build today's time-block plan from a task list, fast: deep blocks of at least 90 minutes in the earliest hours under a hard 4-hour. Slash command for Claude Code, Codex CLI, Gemini CLI." --- # /cs-time-block
:material-console: Slash Command :material-github: Source
**Command:** `/cs:time-block [task list + start/end]` The quick variant of `/cs:deep-work`: skip the shallow audit and the ledger, take a ready task list, and emit the time-blocked day. Same arithmetic, same refusals — deep work first and earliest, capped at 4 hours; shallow work batched; the hard stop does not move. ## When to Run - "Time-block my day" with a task list already in hand - Mid-day re-plan after a block broke — feed the surviving tasks and the current time as `--start` - You already know what's deep and what's shallow and just need the schedule ## When NOT to Run - The task list hasn't been triaged — shallow work will eat the plan → run `/cs:deep-work` (it audits first) - You need to pick WHAT matters today → `/cs:andreessen` (3x5 card) - Team capacity or sprint planning → `project-management` skills ## What You Get A markdown schedule table from hard start to hard stop with **no unassigned minutes**: deep blocks (≥90 min, earliest hours), at most two shallow batches (late morning + end of day), 10-minute buffers, optional fixed 30-minute lunch, and named flex blocks that absorb what the plan didn't foresee. Or a refusal (exit 2) that names exactly what to cut or defer — which is the plan working, not failing. ## Trigger Phrases (auto-invoke without /cs:) - "time-block my day" / "build my time blocks" - "block out my calendar for today" - "re-plan the rest of my day" ## Discipline - **Every task needs minutes and a mode** — `"name:minutes:deep|shallow"`. If the user doesn't know a task's mode, that's the tell to run `/cs:deep-work` instead. - **Deep demand past 4 hours is deferred by name** — never shrunk below 90 minutes or squeezed. - **Overflow past `--end` is deferred by name** — the day never silently extends. - **Revision is normal** — a broken day is re-planned from the current time, same rules. ## Workflow ```bash # Build the day (markdown table; add --json for machine-readable output) python ../skills/deep-work/scripts/time_block_planner.py --start 08:30 --end 17:00 --lunch 12:30 \ --task "Write product spec:120:deep" \ --task "Design onboarding flow:90:deep" \ --task "Email sweep:30:shallow" \ --task "Expense report:15:shallow" # Mid-day re-plan: surviving tasks, current time as --start, same hard stop python ../skills/deep-work/scripts/time_block_planner.py --start 13:00 --end 17:00 \ --task "Finish product spec:90:deep" --task "Email sweep:30:shallow" ``` ## Stop Conditions - Schedule emitted and accepted → done. - Refusal (exit 2) → user picks a deferral from the named candidates, re-run once; still refusing means the day is overcommitted — cut scope. - User says "stop" → drop it. ## Related - Full workflow: [`/cs:deep-work`](cs-deep-work.md) — audit + plan + ledger + shutdown - Agent: [`cs-deep-work`](https://github.com/alirezarezvani/claude-skills/tree/main/productivity/deep-work/agents/cs-deep-work.md) - Skill: [`deep-work`](https://github.com/alirezarezvani/claude-skills/tree/main/productivity/deep-work/skills/deep-work/SKILL.md) --- **Version:** 1.0.0