skills/planning-and-task-breakdown/SKILL.md
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.
npx skillsauth add SystangoTechnologies/agent-skills planning-and-task-breakdownInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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 NOT to use: Single-file changes with obvious scope, or when the spec already contains well-defined tasks.
Before writing any code, operate in read-only mode:
.context/project.md and .context/architecture.md for system context.context/conventions.md to identify existing patterns and standards to follow.context/concerns.md to surface risks and unknowns before the plan is writtenDo NOT write code during planning. The output is a plan document, not implementation.
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.
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.
Planning produces two documents, not one:
specs/tasks/plan.md — the high-level plan. Contains the overview, architecture decisions, a compact Task Index (one line per task), checkpoints, risks, and open questions. See the Plan Document Template below.specs/tasks/todo.md — the detailed task list. Contains the full per-task block (template below) for every task in the index, stacked in order. See the todo.md Template below.Think of plan.md as the table of contents and todo.md as the chapters. Every task in plan.md's Task Index must have a matching detailed entry in todo.md.
Each task in todo.md follows this structure:
## Task [N]: [Short descriptive title]
**Description:** One paragraph explaining what this task accomplishes.
**Acceptance criteria:**
- [ ] [Specific, testable condition]
- [ ] [Specific, testable condition]
**Unit Tests (deferred):**
- [ ] Tests written
- Functions/behaviors to cover: [e.g. createTask, validateInput]
- Edge cases: [e.g. empty title, duplicate ID, missing required field]
- Test type: [unit | component | end-to-end]
- Suggested file: `tests/path/to/feature.test.ts`
**Verification:**
- [ ] Build succeeds: `npm run build`
- [ ] Type checking passes: `npx tsc --noEmit`
- [ ] Manual check: [description of what to verify]
**Dependencies:** [Task numbers this depends on, or "None"]
**Files likely touched:**
- `src/path/to/file.ts`
**Estimated scope:** [Small: 1-2 files | Medium: 3-5 files | Large: 5+ files]
**Domain skill:** [`api-and-interface-design` | `frontend-ui-engineering` | `security-and-hardening` | None]
Field-by-field rules:
- [ ]), not plain bullets (- ). Plain bullets are not trackable.- [ ] Tests written line must use checkbox syntax (- [ ]), not a plain bullet. This checkbox is the contract between the planning and testing phases — the /test phase checks it after writing tests. The build phase skips this section entirely and does not create test files.- [ ]), not plain bullets. Build-phase gates verify compilation and runtime only — never npm test, pnpm test, or coverage thresholds.None for pure infrastructure tasks (build config, utility functions, migrations with no auth surface). Tasks involving REST endpoints, HTTP status codes, request/response contracts, or middleware must specify api-and-interface-design. Tasks involving UI components, layouts, or state must specify frontend-ui-engineering. Tasks involving auth, validation, PII, or sessions must specify security-and-hardening. A task may list more than one skill if it spans domains.todo.md is a flat stack of detailed task blocks — no extra prose, no simplified bullets. Every task from plan.md's Task Index appears here in full form, in the same order:
# Task List: [Feature/Project Name]
Detailed tasks for the plan in `plan.md`. Build one task at a time, top to bottom.
---
## Task 1: [Short descriptive title]
**Description:** One paragraph explaining what this task accomplishes.
**Acceptance criteria:**
- [ ] [Specific, testable condition]
- [ ] [Specific, testable condition]
**Unit Tests (deferred):**
- [ ] Tests written
- Functions/behaviors to cover: [e.g. createTask, validateInput]
- Edge cases: [e.g. empty title, duplicate ID, missing required field]
- Test type: [unit | component | end-to-end]
- Suggested file: `tests/path/to/feature.test.ts`
**Verification:**
- [ ] Build succeeds: `npm run build`
- [ ] Type checking passes: `npx tsc --noEmit`
- [ ] Manual check: [description of what to verify]
**Dependencies:** None
**Files likely touched:**
- `src/path/to/file.ts`
**Estimated scope:** Small: 1-2 files
**Domain skill:** None
---
## Task 2: [Short descriptive title]
**Description:** ...
**Acceptance criteria:**
- [ ] ...
**Unit Tests (deferred):**
- [ ] Tests written
- Functions/behaviors to cover: ...
- Edge cases: ...
- Test type: unit
- Suggested file: `tests/path/to/feature.test.ts`
**Verification:**
- [ ] Build succeeds: `npm run build`
- [ ] Type checking passes: `npx tsc --noEmit`
- [ ] Manual check: ...
**Dependencies:** Task 1
**Files likely touched:**
- `src/path/to/file.ts`
**Estimated scope:** Medium: 3-5 files
**Domain skill:** api-and-interface-design
---
## Checkpoint: After Tasks 1-2
- [ ] Build passes
- [ ] Core flow works end-to-end
---
## Task 3: ...
Every task block must include all fields from the per-task template above. Do not abbreviate, do not use simplified bullets, do not omit the Unit Tests (deferred) section. If you find yourself shortening a task block to save space, stop — either the task belongs in the Task Index only (plan.md) or it needs its full detail here.
Before advancing to the build phase, run this checklist against every task in the list. If any item fails, fix the task before proceeding — do not defer fixes to the build phase.
Phase separation:
Unit Tests (deferred) section with - [ ] Tests written using checkbox syntax (- [ ]), not a plain bullet (- )/test phase, not as build tasks. This includes tasks titled "Test Suite", "Write Tests", etc. — if its purpose is producing test files, it should not exist as a tasknpm test, pnpm test, --listTests, or coverage thresholds — build gates verify compilation and runtime onlyTemplate compliance:
- [ ]), not plain bullets (- )- [ ]), not plain bullets (- )**Domain skill:** field identifying which skill to load before implementation. Tasks with REST endpoints, HTTP status codes, request/response contracts, or middleware must specify api-and-interface-design. Pure infrastructure tasks use NoneFile location:
specs/tasks/todo.mdArrange tasks so that:
Add explicit checkpoints:
## Checkpoint: After Tasks 1-3
- [ ] All tests pass
- [ ] Application builds without errors
- [ ] Core user flow works end-to-end
- [ ] Review with human before proceeding
| Size | Files | Scope | Example | |------|-------|-------|---------| | XS | 1 | Single function or config change | Add a validation rule | | S | 1-2 | One component or endpoint | Add a new API endpoint | | M | 3-5 | One feature slice | User registration flow | | L | 5-8 | Multi-component feature | Search with filtering and pagination | | XL | 8+ | 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:
This is the template for plan.md only. The Task Index below is a compact reference — one line per task. The full detailed task blocks go in todo.md (see the todo.md Template in Step 4).
# 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 Index
Compact index of tasks. Full detail for each task lives in `todo.md`.
### 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 multiple agents or sessions are available:
| Rationalization | Reality |
|---|---|
| "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. |
| "I'll make the tests a separate task" | Tests belong in the /test phase. Each task's Unit Tests (deferred) section captures what to test. Creating a test task defeats phase separation and forces tests to be written during build. Don't do this. |
Tests written line using a plain bullet (- Tests written) instead of checkbox syntax (- [ ] Tests written) — the checkbox is the contract between planning and testing phasesUnit Tests (deferred), don't build them as tasksnpm test, pnpm test, --listTests, or coverage thresholds — build gates verify compilation and runtime, not test coverageDomain skill field — the planner knows the domain; don't make the builder guessBefore starting implementation, confirm:
- [ ])- [ ])- [ ] Tests written (checkbox, not plain bullet) and at least one behavior listed**Domain skill:** field (api-and-interface-design, frontend-ui-engineering, security-and-hardening, or None)npm test, pnpm test, or coverage thresholdstools
Creates specs before coding with mandatory Jira MCP validation and story-key grounding. Use when starting a Jira-tracked feature or significant change and requirements are unclear, ambiguous, or incomplete.
devops
Prepares production launches and updates Jira ticket/task comments. Use when preparing to deploy to production and when launch readiness/progress must be communicated in Jira.
tools
Breaks Jira story work into ordered tasks. Use when you have a story spec and need to break work into implementable tasks with story-scoped files under `jira-spec/{story-id}/`. Use when a task feels too large to start, when you need to estimate scope, or when parallel work is possible.
development
Discovers and invokes agent skills. Use when starting a session or when you need to discover which skill applies to the current task. This is the meta-skill that governs how all other skills are discovered and invoked.