planning-and-task-breakdown
addyosmani/agent-skills
Divida o trabalho em tarefas pequenas e verificáveis, com critérios de aceitação explícitos, ordenadas por dependências e divididas verticalmente para garantir uma implementação confiável.
...Expandir tudoPlanejamento e detalhamento de tarefas
Visão geral
Divida o trabalho em tarefas pequenas e verificáveis, com critérios de aceitação explícitos. Uma boa divisão de tarefas é o que diferencia um agente que conclui o trabalho de forma confiável daquele que produz uma confusão sem sentido. Cada tarefa deve ser pequena o suficiente para ser implementada, testada e verificada em uma única sessão focada.
Quando usar
- Você tem uma especificação e precisa dividi-la em unidades implementáveis
- Uma tarefa parece grande ou vaga demais para começar
- O trabalho precisa ser distribuído em paralelo entre vários agentes ou sessões
- Você precisa comunicar o escopo a uma pessoa
- A ordem de implementação não é óbvia
Quando NÃO usar: alterações em um único arquivo com escopo óbvio, ou quando a especificação já contém tarefas bem definidas.
O processo de planejamento
Etapa 1: Entrar no modo de planejamento
Antes de escrever qualquer código, opere no modo somente leitura:
- Leia a especificação e as seções relevantes da base de código
- Identifique padrões e convenções existentes
- Mapeie as dependências entre os componentes
- Anote os riscos e as incógnitas
NÃO escreva código durante o planejamento. O resultado final é um documento de plano, não uma implementação.
Etapa 2: Identifique o gráfico de dependências
Mapeie o que depende de quê:
Esquema do banco de dados
│
├── Modelos/tipos da API
│ │
│ ├── Pontos de extremidade da API
│ │ │
│ │ └── Cliente da API front-end
│ │ │
│ │ └── Componentes da interface do usuário
│ │
│ └── Lógica de validação
│
└── Dados iniciais / migrações
A ordem de implementação segue o gráfico de dependências de baixo para cima: construa primeiro as bases.
Etapa 3: Divisão vertical
Em vez de construir todo o banco de dados, depois toda a API e, por fim, toda a interface do usuário — construa um fluxo de funcionalidades completo de cada vez:
Errado (divisão horizontal):
Tarefa 1: Construir todo o esquema do banco de dados
Tarefa 2: Construir todos os endpoints da API
Tarefa 3: Construir todos os componentes da interface do usuário
Tarefa 4: Conectar tudo
Correto (divisão vertical):
Tarefa 1: O usuário pode criar uma conta (esquema + API + interface do usuário para cadastro)
Tarefa 2: O usuário pode fazer login (esquema de autenticação + API + interface do usuário para login)
Tarefa 3: O usuário pode criar uma tarefa (esquema de tarefa + API + interface do usuário para criação)
Tarefa 4: O usuário pode visualizar a lista de tarefas (consulta + API + interface do usuário para visualização da lista)
Cada fatia vertical oferece uma funcionalidade operacional e testável.
Etapa 4: Escrever tarefas
Cada tarefa segue esta estrutura:
## Tarefa [N]: [Título descritivo curto]
**Descrição:** Um parágrafo explicando o que essa tarefa realiza.
**Critérios de aceitação:**
- [ ] [Condição específica e testável]
- [ ] [Condição específica e testável]
**Verificação:**
- [ ] Testes aprovados: `npm test -- --grep "nome-do-recurso"`
- [ ] Compilação bem-sucedida: `npm run build`
- [ ] Verificação manual: [descrição do que deve ser verificado]
**Dependências:** [Números das tarefas das quais esta depende ou “Nenhuma”]
**Arquivos provavelmente afetados:**
- `src/caminho/para/arquivo.ts`
- `tests/caminho/para/teste.ts`
**Escopo estimado:** [Pequeno: 1-2 arquivos | Médio: 3-5 arquivos | Grande: 5 ou mais arquivos]
Etapa 5: Ordem e ponto de verificação
Organize as tarefas de forma que:
- As dependências sejam atendidas (construa a base primeiro)
- Cada tarefa deixe o sistema em um estado funcional
- Os pontos de verificação ocorram a cada 2 a 3 tarefas
- As tarefas de alto risco sejam realizadas no início (falha rápida)
Adicione pontos de verificação explícitos:
## Ponto de verificação: Após as tarefas 1 a 3
- [ ] Todos os testes foram aprovados
- [ ] A aplicação é compilada sem erros
- [ ] O fluxo principal do usuário funciona de ponta a ponta
- [ ] Revisão por uma pessoa antes de prosseguir
Diretrizes para dimensionamento de tarefas
| Tamanho | Arquivos | Escopo | Exemplo |
|---|---|---|---|
| XS | 1 | Alteração em uma única função ou configuração | Adicionar uma regra de validação |
| S | 1-2 | Um componente ou endpoint | Adicionar um novo endpoint de API |
| M | 3-5 | Uma fatia de recurso | Fluxo de cadastro de usuário |
| L | 5-8 | Recurso com múltiplos componentes | Pesquisa com filtragem e paginação |
| XL | 8+ | Muito grande — divida em partes menores | — |
Se uma tarefa for L ou maior, ela deve ser dividida em tarefas menores. Um agente tem melhor desempenho em tarefas S e M.
Quando dividir uma tarefa em partes menores:
- Seria necessário mais de uma sessão dedicada (aproximadamente 2 horas ou mais de trabalho do agente)
- Não for possível descrever os critérios de aceitação em 3 ou menos itens
- Ela envolve dois ou mais subsistemas independentes (por exemplo, autenticação e faturamento)
- Você percebe que está escrevendo “e” no título da tarefa (um sinal de que se trata de duas tarefas)
Modelo de Documento de Plano
# Plano de Implementação: [Nome do Recurso/Projeto]
## Visão Geral
[Resumo de um parágrafo sobre o que estamos desenvolvendo]
## Decisões de Arquitetura
- [Decisão-chave 1 e justificativa]
- [Decisão-chave 2 e justificativa]
## Lista de Tarefas
### Fase 1: Base
- [ ] Tarefa 1: ...
- [ ] Tarefa 2: ...
### Ponto de verificação: Base
- [ ] Testes aprovados, compilação sem erros
### Fase 2: Recursos principais
- [ ] Tarefa 3: ...
- [ ] Tarefa 4: ...
### Ponto de verificação: Recursos principais
- [ ] O fluxo de ponta a ponta funciona
### Fase 3: Aperfeiçoamento
- [ ] Tarefa 5: ...
- [ ] Tarefa 6: ...
### Ponto de verificação: Concluído
- [ ] Todos os critérios de aceitação atendidos
- [ ] Pronto para revisão
## Riscos e medidas de mitigação
| Risco | Impacto | Mitigação |
|------|--------|------------|
| [Risco] | [Alto/Médio/Baixo] | [Estratégia] |
## Questões em aberto
- [Questão que requer intervenção humana]
Oportunidades de paralelização
Quando houver vários agentes ou sessões disponíveis:
- É seguro paralelizar: partes independentes de funcionalidades, testes para funcionalidades já implementadas, documentação
- Deve ser sequencial: migrações de banco de dados, alterações de estado compartilhado, cadeias de dependências
- Requer coordenação: Funcionalidades que compartilham um contrato de API (defina o contrato primeiro, depois paralelize)
Racionalizações comuns
| Racionalização | Realidade |
|---|---|
| “Vou descobrindo à medida que for avançando” | É assim que você acaba com uma bagunça emaranhada e trabalho repetido. 10 minutos de planejamento economizam horas. |
| “As tarefas são óbvias” | Anote-as mesmo assim. Tarefas explícitas revelam dependências ocultas e casos extremos esquecidos. |
| “Planejamento é um gasto extra” | O planejamento é a tarefa. Implementar sem um plano é só digitar. |
| “Consigo guardar tudo na cabeça” | As janelas de contexto são finitas. Planos escritos sobrevivem aos limites das sessões e à compactação. |
Sinais de alerta
- Começar a implementação sem uma lista de tarefas por escrito
- Tarefas que dizem “implementar o recurso” sem critérios de aceitação
- Ausência de etapas de verificação no plano
- Todas as tarefas são de tamanho XL
- Ausência de pontos de verificação entre as tarefas
- A ordem de dependências não é considerada
Verificação
Antes de iniciar a implementação, confirme:
- Que cada tarefa tenha critérios de aceitação
- Cada tarefa possui uma etapa de verificação
- As dependências das tarefas estão identificadas e ordenadas corretamente
- Nenhuma tarefa envolve mais do que ~5 arquivos
- Existem pontos de verificação entre as principais fases
- O responsável revisou e aprovou o plano
Veja também
Os critérios de aceitação são específicos para cada tarefa e respondem à pergunta “construímos a coisa certa?”. Eles se baseiam na Definição de Concluído do projeto como um todo, o padrão que toda tarefa precisa atingir antes de ser considerada concluída. Consulte references/definition-of-done.md.
---
name: planning-and-task-breakdown
description: Decompose work into small, verifiable tasks with explicit acceptance criteria, ordered by dependencies and sliced vertically for reliable implementation.
---
# 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, 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:
```markdown
## Task [N]: [Short descriptive title]
**Description:** One paragraph explaining what this task accomplishes.
**Acceptance criteria:**
- [ ] [Specific, testable condition]
- [ ] [Specific, testable condition]
**Verification:**
- [ ] Tests pass: `npm test -- --grep "feature-name"`
- [ ] Build succeeds: `npm run build`
- [ ] 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:
```markdown
## 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
| 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:**
- 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)
## Plan Document Template
```markdown
# 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]
```
## 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
| 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. |
## Red Flags
- Starting implementation without a written task list
- 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
- [ ] 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`.
Todos os arquivos
0 arquivosInstalar planning-and-task-breakdown
Baixe e descompacte os arquivos de habilidades no diretório .claude/skills/.
Baixar ZIPClone o repositório e copie os arquivos da habilidade para o seu projeto.
git clone https://github.com/addyosmani/agent-skills/tree/main/skills/planning-and-task-breakdown # Copy SKILL.md to your .claude/skills/ directory
Copiar





Lar
