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

<div class="page-meta" markdown>
<span class="meta-badge">:material-console: Slash Command</span>
<span class="meta-badge">:material-github: <a href="https://github.com/alirezarezvani/2-claude-skills/tree/main/productivity/deep-work/commands/cs-time-block.md">Source</a></span>
</div>


**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
