The 80% Rule — Task Sizing and Capacity Planning
A simple framework for sizing tasks, setting daily capacity, and applying the 80% buffer rule so you stop overcommitting and start finishing what you planned.
A simple framework for sizing tasks, setting daily capacity, and applying the 80% buffer rule so you stop overcommitting and start finishing what you planned.
You plan your day. Eight tasks. Feels reasonable. By 5pm you've done four, maybe five. The rest roll to tomorrow. Tomorrow you plan eight again — the five from today's leftovers plus three new ones. By Friday you're carrying a growing backlog and feeling like you can't keep up.
The problem isn't execution. It's planning. You're consistently planning more work than a human can do in a day, and then blaming yourself for not being superhuman.
This framework fixes that by making realistic planning the default.
Every task gets a size. Not a time estimate — a t-shirt size. Three options:
| Size | Time | Examples |
|---|---|---|
| S | Under 30 min | Replies, approvals, follow-ups, quick admin, scheduling |
| M | 30 min – 2 hours | Drafts, research, calls, meeting prep, reviews |
| L | 2+ hours | Deep work, strategy docs, presentations, architecture, creative work |
Why t-shirt sizes instead of hour estimates? Because people are terrible at estimating hours but decent at "is this a quick thing, a medium thing, or a big thing?" You don't need precision. You need the right bucket.
A realistic productive day for most people:
1 × L (3h)
2 × M (3h)
2 × S (1h)
─────────────
Total: ~5-6 hours of actual work
That's it. That's a full day. If you think you can do more, you're probably counting hours you won't actually use for focused work — the meeting that runs long, the Slack thread that pulls you in, the 20 minutes you spend figuring out what to work on next.
This default assumes ~8 hours available with ~2-3 hours lost to meetings, transitions, and overhead. Adjust based on your actual meeting load.
Even within your available hours, only plan for 80%.
Available hours = Total hours − meetings − lunch − fixed commitments
Planned work = Sum of task sizes (S=0.5h, M=1.5h, L=3h)
Maximum plan = Available hours × 0.8
If you have 6 free hours after meetings, plan 4.8 hours of tasks. Not 6. Not 5.5. 4.8.
The other 20% is for:
This isn't lazy. It's honest. And it's the difference between ending the day having finished your plan vs. ending it with a growing guilt pile.
Not all tasks compete for the same attention. Split them into two buckets:
Top 3 (M and L tasks only): These are the tasks that actually move the needle. They require focused time, they connect to your goals, and they're the ones you'll be glad you did at the end of the week. Pick three. One should be the single most important thing for the day.
Quick Wins (S tasks): Follow-ups, replies, approvals, small admin. These don't compete for Top 3 slots. They go in your low-energy time — between meetings, after lunch, end of day. Batch them. No limit on count as long as they fit in your admin windows.
The split matters because mixing S tasks with M/L tasks creates an illusion of productivity. You check off eight small things, feel accomplished, and realize you didn't touch the presentation that's due tomorrow.
When you have more M/L tasks than slots, score them:
Impact:
Urgency:
High impact + high urgency = your #1 task. High impact + low urgency = schedule it before it becomes urgent. Low impact + high urgency = delegate it or question whether it's actually urgent. Low impact + low urgency = backlog it or delete it.
You are a capacity planning assistant. Given the following inputs,
check whether today's plan is realistic and suggest adjustments.
Tasks for today: {list of tasks with sizes if known}
Calendar: {today's meetings and fixed commitments}
Energy windows: {peak focus, creative, and low-energy time blocks}
Steps:
1. Size any unsized tasks: S (<30min), M (30min-2h), L (2h+)
2. Calculate available hours after meetings and fixed commitments
3. Calculate planned load: S=0.5h, M=1.5h, L=3h — sum all tasks
4. Apply 80% buffer: max planned = available hours × 0.8
5. If over capacity:
- Identify which tasks to move. Be specific: "[Task] is Medium
and not urgent — move it to Thursday"
- Keep the highest Impact × Urgency tasks
- Never cut all S tasks — keep a few for admin time
6. Split into Top 3 (M/L only, scored by Impact × Urgency) and
Quick Wins (S tasks for low-energy slots)
7. Flag if any task has been rolling over for 3+ days
Output:
- Top 3 with reasoning
- Quick Wins list
- Capacity check: planned hours vs. available (with 80% buffer)
- Adjustments made (what was moved and where)
- Warnings (overdue tasks, rolling tasks, overloaded days)
If the plan fits within 80% of available hours, say so.
Don't inflate the plan just because there's room — finishing
early is better than finishing behind.
The 80% rule breaks the overcommit spiral. Overcommit → don't finish → guilt → overcommit harder to "catch up" → repeat. Planning less feels wrong at first. Then you start finishing what you planned, and the momentum compounds. Two completed tasks feel better than five half-done ones.
Sizing prevents hour-estimation paralysis. "How long will this take?" is a question you'll agonize over and get wrong. "Is this small, medium, or big?" takes two seconds and is accurate enough. Perfect estimates don't matter. Being in the right bucket does.
Separating Top 3 from Quick Wins stops fake productivity. When everything is on one list, you gravitate toward the small, easy tasks because checking things off feels good. Two separate buckets make it visible: did you do important work today, or did you just stay busy?
The daily capacity default gives you a number. Without a target, "how much can I do?" is an open question you'll always answer too ambitiously. 1L + 2M + 2S is a concrete anchor. You can adjust it as you learn your actual throughput (the weekly retro helps with this), but starting with a default beats guessing every morning.
/ea-morning-brief commandHow connecting your tools via MCP transforms an AI agent from a smart guesser into an informed operator — and why it's simpler than you think.
What I learned building my first AI agent from scratch — what surprised me, what I got wrong, and what I'd tell someone starting today.
How to turn Claude Code into a persistent agent using the three-layer pattern — skills for capabilities, a profile for identity, and context files for memory across sessions.