Skip to content
cccskills
FreePublished on GitHubEnglish overview

planning-and-task-breakdown

Turn clear requirements into small implementation tasks with acceptance criteria, verification steps, dependencies, and estimated scope. Produce a written plan and ordered task list, with checkpoints and opportunities for parallel work identified before coding begins.

OriginalShow the original description

Breaks work into ordered tasks. Use when you have a spec or clear requirements and need to break work into implementable tasks. Use when a task feels too large to start, when you need to estimate scope, or when parallel work is possible.

AI rating100/ 100See how to install

Good for

  • Breaking a large feature into implementable tasks
  • Ordering work by dependencies
  • Defining completion criteria and verification steps
  • Identifying work that can run in parallel
  • Sharing implementation scope and risks

Overview

What it does

Turn a specification or clear requirements into small tasks that can be implemented, tested, and checked. Each task includes its purpose, acceptance criteria, verification method, dependencies, likely files to change, and an estimate of scope. Work is divided into units that let you verify one working feature at a time, with an implementation order and intermediate checkpoints. The plan is recorded in tasks/plan.md; the task list defaults to tasks/todo.md.

When it helps

Use it when you do not know where to start on a large feature, or need to share implementation scope and risks. Before work spans multiple agents or sessions, it can distinguish tasks that can run in parallel from those that must follow a particular order.

Example requests

  • “Break this specification into tasks with acceptance criteria and verification steps.”
  • “Map the dependencies and set the work order and checkpoints.”
  • “Identify tasks that can proceed in parallel.”

Notes

The output is a plan; no code is written during planning. If an existing unfinished plan belongs to different work, the skill asks before overwriting it. Tasks go into a designated issue tracker when one is specified. A person reviews and approves the plan before implementation.

This overview was written by AI (OpenAI Codex) from the public SKILL.md. Check the original below for the exact behavior.

Objective evaluation

AI rated this skill on four points using only the contents of its SKILL.md. Stars and popularity are not taken into account.

Clear instructionsIs it clear when to use it and what it does?
AGoodIt explicitly breaks clear requirements into implementation tasks and prohibits writing code during planning.
Concrete stepsAre steps, inputs, outputs, and examples spelled out?
AGoodIt provides a five-step process, a task template, sizing criteria, and output locations.
SafetyAre sending data, deleting files, and running commands disclosed?
AGoodIt prohibits overwriting another unfinished plan or bulk-deleting its open tracker items.
Easy setupDoes it need few tools or API keys, and are they documented?
AGoodMarkdown files are the default; external issue trackers are used only when designated.

The total counts each point as A = 25, B = 15, C = 5. Rated by AI (OpenAI Codex) as of Oct 20, 2026. Treat it as a guide and read the original before installing.

Disagree? Request a re-evaluation

Tell us which point is wrong and why. No login needed. We will check it against the SKILL.md, redo the evaluation, and show the result here.

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

Files included (1)

  • SKILL.md10.3 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Planning and Task Breakdown

Overview

Decompose work into small, verifiable tasks with explicit acceptance criteria. Good task breakdown is the difference between an agent that completes work reliably and one that produces a tangled mess. Every task should be small enough to implement, test, and verify in a single focused session.

When to Use

  • You have a spec and need to break it into implementable units
  • A task feels too large or vague to start
  • Work needs to be parallelized across multiple agents or sessions
  • You need to communicate scope to a human
  • The implementation order isn't obvious

When NOT to use: Single-file changes with obvious scope, or when the spec already contains well-defined tasks.

The Planning Process

Step 1: Enter Plan Mode

Before writing any code, operate in read-only mode:

  • Read the spec and relevant codebase sections
  • Identify existing patterns and conventions
  • Map dependencies between components
  • Note risks and unknowns

Do NOT write code during planning. The output is a plan document saved to tasks/plan.md and a task list recorded in the task list target (see Output Files; default tasks/todo.md), not implementation.

Step 2: Identify the Dependency Graph

Map what depends on what:

Database schema
    │
    ├── API models/types
    │       │
    │       ├── API endpoints
    │       │       │
    │       │       └── Frontend API client
    │       │               │
    │       │               └── UI components
    │       │
    │       └── Validation logic
    │
    └── Seed data / migrations

Implementation order follows the dependency graph bottom-up: build foundations first.

Step 3: Slice Vertically

Instead of building all the database, then all the API, then all the UI — build one complete feature path at a time:

Bad (horizontal slicing):

Task 1: Build entire database schema
Task 2: Build all API endpoints
Task 3: Build all UI components
Task 4: Connect everything

Good (vertical slicing):

Task 1: User can create an account (schema + API + UI for registration)
Task 2: User can log in (auth schema + API + UI for login)
Task 3: User can create a task (task schema + API + UI for creation)
Task 4: User can view task list (query + API + UI for list view)

Each vertical slice delivers working, testable functionality.

Step 4: Write Tasks

Each task follows this structure, whether it lands in the markdown task list or as an item in an external tracker (see Output Files):

## Task [N]: [Short descriptive title]

**Description:** One paragraph explaining what this task accomplishes.

**Acceptance criteria:**
- [ ] [Specific, testable condition]
- [ ] [Specific, testable condition]

**Verification:**
- [ ] Tests pass: [the repository's focused-test command]
- [ ] Build succeeds: [the repository's build command]
- [ ] Manual check: [description of what to verify]

**Dependencies:** [Task numbers this depends on, or "None"]

**Files likely touched:**
- `src/path/to/file.ts`
- `tests/path/to/test.ts`

**Estimated scope:** [Small: 1-2 files | Medium: 3-5 files | Large: 5+ files]

Step 5: Order and Checkpoint

Arrange tasks so that:

  1. Dependencies are satisfied (build foundation first)
  2. Each task leaves the system in a working state
  3. Verification checkpoints occur after every 2-3 tasks
  4. High-risk tasks are early (fail fast)

Add explicit checkpoints to the task list target:

## Checkpoint: After Tasks 1-3
- [ ] All tests pass
- [ ] Application builds without errors
- [ ] Core user flow works end-to-end
- [ ] Review with human before proceeding

Task Sizing Guidelines

SizeFilesScopeExample
XS1Single function or config changeAdd a validation rule
S1-2One component or endpointAdd a new API endpoint
M3-5One feature sliceUser registration flow
L5-8Multi-component featureSearch with filtering and pagination
XL8+Too large — break it down further—

If a task is L or larger, it should be broken into smaller tasks. An agent performs best on S and M tasks.

When to break a task down further:

  • It would take more than one focused session (roughly 2+ hours of agent work)
  • You cannot describe the acceptance criteria in 3 or fewer bullet points
  • It touches two or more independent subsystems (e.g., auth and billing)
  • You find yourself writing "and" in the task title (a sign it is two tasks)

Output Files

  • Plan document: Save the implementation plan to tasks/plan.md. This is always a markdown file — design decisions, risks, and open questions don't map cleanly onto individual tracker issues.
  • Task list: Record each task in the task list target (defined below).

Create the tasks/ directory if it does not exist.

Never overwrite an incomplete plan. Before writing tasks/plan.md or tasks/todo.md, check whether they already exist and still contain unchecked tasks:

  • Same work being replanned (the user asked to revise or extend this plan) → update the existing files in place.
  • Different work → stop and ask. The unchecked tasks may be mid-build in another session. Do not delete, overwrite, or rename the existing files on your own; present the conflict and let the user decide (finish the old plan first, explicitly discard it, or tell you where the new plan should go).

The same rule applies to an external task list target: never bulk-close or delete another plan's open tracker items to make room for new ones.

Task List Target

The task list target is where tasks and checkpoints are recorded. It is defined once, here; every other reference in this skill defers to it.

  • Default: a checklist-style markdown file at tasks/todo.md. This is the convention the /build command and other downstream tooling expect. Use it unless the project says otherwise.
  • External tracker: if the project's agent rules (CLAUDE.md, AGENTS.md, etc.) or the user designate an issue tracker (e.g. GitHub Issues, Jira, Linear, bd/beads), create one tracker item per task instead of writing tasks/todo.md. Map the Step 4 structure onto the tracker's fields: acceptance criteria and verification steps in the item body, dependencies via the tracker's linking mechanism (bd dep add, "blocked by", etc.). Record Step 5 checkpoints as tracker items too, or as a checklist in the plan document if the tracker has no natural equivalent.

When using an external tracker, note it in tasks/plan.md (e.g. "Tasks tracked in Linear project FOO") so downstream steps and future sessions know where to look, and keep the plan document's Task List section as an ordered index of tracker item IDs or links rather than a duplicate checklist.

Plan Document Template

# Implementation Plan: [Feature/Project Name]

## Overview
[One paragraph summary of what we're building]

## Architecture Decisions
- [Key decision 1 and rationale]
- [Key decision 2 and rationale]

## Task List

### Phase 1: Foundation
- [ ] Task 1: ...
- [ ] Task 2: ...

### Checkpoint: Foundation
- [ ] Tests pass, builds clean

### Phase 2: Core Features
- [ ] Task 3: ...
- [ ] Task 4: ...

### Checkpoint: Core Features
- [ ] End-to-end flow works

### Phase 3: Polish
- [ ] Task 5: ...
- [ ] Task 6: ...

### Checkpoint: Complete
- [ ] All acceptance criteria met
- [ ] Ready for review

## Risks and Mitigations
| Risk | Impact | Mitigation |
|------|--------|------------|
| [Risk] | [High/Med/Low] | [Strategy] |

## Open Questions
- [Question needing human input]

When tasks live in an external tracker, keep the Task List section above as an ordered index of tracker item IDs or links instead of a duplicate checklist.

Parallelization Opportunities

When multiple agents or sessions are available:

  • Safe to parallelize: Independent feature slices, tests for already-implemented features, documentation
  • Must be sequential: Database migrations, shared state changes, dependency chains
  • Needs coordination: Features that share an API contract (define the contract first, then parallelize)

Common Rationalizations

RationalizationReality
"I'll figure it out as I go"That's how you end up with a tangled mess and rework. 10 minutes of planning saves hours.
"The tasks are obvious"Write them down anyway. Explicit tasks surface hidden dependencies and forgotten edge cases.
"Planning is overhead"Planning is the task. Implementation without a plan is just typing.
"I can hold it all in my head"Context windows are finite. Written plans survive session boundaries and compaction.
"The old tasks/plan.md is stale, I'll just replace it"Unchecked tasks may be mid-build in another session. Overwriting them destroys work state that exists nowhere else. Stop and ask.

Red Flags

  • Starting implementation without a written task list
  • Overwriting a tasks/plan.md or tasks/todo.md that still has unchecked tasks for different work, without asking
  • Writing tasks/todo.md when the project has designated an external tracker (or scattering tasks across both)
  • Tasks that say "implement the feature" without acceptance criteria
  • No verification steps in the plan
  • All tasks are XL-sized
  • No checkpoints between tasks
  • Dependency order isn't considered

Verification

Before starting implementation, confirm:

  • Every task has acceptance criteria
  • Every task has a verification step
  • Task dependencies are identified and ordered correctly
  • Tasks are recorded in the task list target (default tasks/todo.md)
  • No pre-existing incomplete plan was overwritten without explicit user confirmation
  • No task touches more than ~5 files
  • Checkpoints exist between major phases
  • The human has reviewed and approved the plan

See Also

Acceptance criteria are per-task and answer "did we build the right thing?". They sit on top of the project-wide Definition of Done, the standing bar every task clears before it counts as done. See ../../references/definition-of-done.md.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

api-and-interface-design

FreeSummaryAI rating 100

Design APIs and interfaces between modules with clear inputs, outputs, naming, and errors. The skill guides compatible extensions, input validation, and retry handling so callers can use interfaces consistently without accidentally repeating state-changing operations.

  • Designing new REST endpoints
  • Defining frontend and backend data contracts
  • Extending an API while preserving compatibility
addyosmani/agent-skills109.4KUpdated Oct 14, 2026

browser-testing-with-devtools

FreeSummaryAI rating 100

Test browser interfaces through Chrome DevTools MCP, a connection that lets an agent inspect a live browser. Check screenshots, errors, network traffic, accessibility, and performance to diagnose problems and verify fixes.

  • Diagnosing layout and styling problems
  • Investigating browser errors and failed API requests
  • Comparing screenshots before and after a fix
addyosmani/agent-skills109.4KUpdated Oct 14, 2026

ci-cd-and-automation

FreeSummaryAI rating 80

Set up automated checks and deployment workflows with GitHub Actions. Covers tests, type checks, builds, security audits, preview deployments, staged releases, and rollback plans, with guidance for diagnosing failures and reducing pipeline runtime.

  • Set up CI for a new project
  • Add automated tests and quality checks
  • Plan staged deployments and rollbacks
addyosmani/agent-skills109.4KUpdated Oct 14, 2026

code-review-and-quality

FreeSummaryAI rating 90

Review code changes before merging across correctness, readability, architecture, security, and performance. Get findings that distinguish required fixes from optional suggestions, with concrete ways to simplify code and checks on test coverage.

  • Reviewing a pull request before merging
  • Checking code written by an AI agent
  • Assessing whether a refactor reduces complexity
addyosmani/agent-skills109.4KUpdated Oct 14, 2026

code-simplification

FreeSummaryAI rating 100

Make working code easier to read and maintain while preserving its behavior. The skill identifies tangled conditions, unclear names, duplication, and unnecessary abstractions, then guides small refactoring steps checked against existing tests and project conventions.

  • Improving readability after a feature is working
  • Addressing complexity raised in code review
  • Untangling nested conditions and long functions
addyosmani/agent-skills109.4KUpdated Oct 14, 2026

constraint-driven-development

FreeSummaryAI rating 80

Define project quality standards in CONSTRAINTS.md, connect measurable targets to checks, and inspect changes for weakened safeguards. It helps teams choose thresholds and catch skipped tests, suppressed warnings, unfinished code, or lowered standards during agent development.

  • Set quality standards before starting agent development
  • Choose coverage and performance thresholds
  • Detect skipped tests and suppressed warnings
addyosmani/agent-skills109.4KUpdated Oct 14, 2026

See all skills by addyosmani

Report a problem with this skill