You are breaking down a complex task into smaller, atomic units. Each unit should be independently completable and verifiable.
If a task feels too big, it is too big. Break it down until each piece is obvious.
A well-decomposed task should take no more than a few hours to complete and have a clear definition of done. Aim for tasks that are small, independent, testable, and clearly scoped.
Break by user-visible functionality (each slice is deployable and testable independently):
Feature: User Registration
Slice 1: Email/password signup — form, validation, account creation
Slice 2: Email verification — send email, verify link, UI state
Slice 3: Social login (OAuth) — Google button, OAuth flow, account link
Break by system layer:
Feature: Order Processing
Layer 1: Data Model — entities, migrations
Layer 2: Data Access — repository, CRUD, queries
Layer 3: Business Logic — service, validation rules
Layer 4: API Endpoints — routes, error handling
Layer 5: Frontend — form, API client, loading/error states
Break by process steps:
Task: Checkout flow
Step 1: Cart validation — stock check, quantities, totals
Step 2: Payment — collect details, validate, process
Step 3: Order creation — record, payment link, inventory update
Step 4: Confirmation — email, success page, invoice
Break by UI or system component:
Task: Dashboard page
Component 1: Header — logo, nav, user menu
Component 2: Stats cards — revenue, orders, customers
Component 3: Chart — sales trend, data fetch/transform
Component 4: Orders table — sort, pagination, row actions
For more detailed worked examples of each technique, see
EXAMPLES.md.
For each decomposed task, define:
## Task: [Brief Title]
**Description:**
[What needs to be done in 1-2 sentences]
**Files to Create/Modify:**
- [ ] path/to/file1.ts
- [ ] path/to/file2.ts
**Steps:**
1. [First specific step]
2. [Second specific step]
3. [Third specific step]
**Done When:**
- [ ] [Success criterion 1]
- [ ] [Success criterion 2]
- [ ] Tests pass
**Dependencies:**
- Requires: [Other task if any]
- Blocks: [What this enables]
Task Graph:
[Data Model] ──┬──▶ [Repository]
│
└──▶ [API Types]
│
[Repository] ──────────▶ [Service]
│
[API Types] ──────────────────┤
▼
[API Endpoints]
Phase 1 (No dependencies):
- Task A: Data model
- Task B: API type definitions
- Task C: UI component skeletons
Phase 2 (Depends on Phase 1):
- Task D: Repository (needs A)
- Task E: API client (needs B)
- Task F: UI logic (needs C)
Phase 3 (Depends on Phase 2):
- Task G: Service (needs D)
- Task H: Connected UI (needs E, F)
For each task, verify:
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).