MODULO 2.7

📋 Task e Subagentes Nativos

Gerencie projetos complexos com listas de tarefas estruturadas. Crie, atualize e acompanhe progresso com TaskCreate, TaskUpdate, TaskList e TaskGet.

6
Topicos
35
Minutos
Pratico
Nivel
Org
Tipo
1

📝 TaskCreate: Criando Tarefas

TaskCreate cria tarefas estruturadas para acompanhar progresso em sessoes de trabalho. Ideal para projetos com multiplos passos.

📋 Campos da Tarefa

Campo Tipo Descricao
subject string Titulo breve e imperativo
description string Descricao detalhada
activeForm string Forma continua para spinner

Exemplo

TaskCreate( subject="Implementar autenticacao OAuth", description="Adicionar login com Google e GitHub usando OAuth 2.0. Inclui frontend e backend.", activeForm="Implementando autenticacao OAuth" )

subject e imperativo ("Implementar"), activeForm e continuo ("Implementando")

2

🔄 TaskUpdate: Atualizando Status

TaskUpdate modifica tarefas existentes - status, descricao, dependencias. O status segue um fluxo especifico.

Fluxo de Status

pending
in_progress
completed

Iniciar trabalho

TaskUpdate( taskId="1", status="in_progress" )

Marcar como completo

TaskUpdate( taskId="1", status="completed" )

⚠️ Importante

So marque como completed quando a tarefa estiver realmente completa. Se encontrar erros ou bloqueios, mantenha como in_progress e crie nova tarefa para o bloqueio.

3

📊 TaskList e TaskGet

TaskList mostra todas as tarefas e seu estado atual. TaskGet traz detalhes completos de uma tarefa especifica.

TaskList

Retorna resumo de todas as tarefas:

  • • ID da tarefa
  • • Subject (titulo)
  • • Status atual
  • • Owner (se atribuida)
  • • Dependencias (blockedBy)

TaskGet

Retorna detalhes completos:

TaskGet(taskId="1")

Inclui descricao completa, metadata e todas as dependencias.

💡 Workflow

Use TaskList para ver o panorama geral e encontrar a proxima tarefa disponivel. Use TaskGet antes de comecar uma tarefa para entender os requisitos completos.

4

🔗 Dependencias entre Tarefas

Tarefas podem ter dependencias - uma tarefa pode bloquear outra ou ser bloqueada por outra.

🔗 Campos de Dependencia

addBlocks

Tarefas que esta tarefa bloqueia

A blocks B = B so pode comecar quando A terminar

addBlockedBy

Tarefas que bloqueiam esta

A blockedBy B = A so pode comecar quando B terminar

Exemplo: Setup de dependencias

# Tarefa 2 depende de Tarefa 1

TaskUpdate( taskId="2", addBlockedBy=["1"] )

Tarefa 2 so pode ser iniciada quando Tarefa 1 estiver completa.

5

🎯 Quando Usar Task Tools

Task tools sao uteis para projetos complexos, mas nao devem ser usadas para tarefas triviais.

✓ Use quando...

  • Tarefa tem 3+ passos distintos
  • Projeto requer planejamento
  • Usuario pede lista de tarefas
  • Multiplas tarefas interdependentes

✗ Nao use quando...

  • Tarefa unica e simples
  • Menos de 3 passos triviais
  • Resposta conversacional
  • Tracking nao agrega valor

💡 Regra Pratica

Se voce pode completar a tarefa em menos de 3 acoes triviais, so faca. Nao crie overhead de gerenciamento para tarefas simples.

6

🤖 Subagentes e Delegacao

Claude Code pode delegar trabalho para contextos isolados, permitindo tarefas especializadas com escopo focado. Isso e feito internamente pelo sistema de agentes, nao por uma ferramenta especifica.

🔄 Como Funciona a Delegacao

  • Tarefas complexas sao divididas usando Task tools
  • Cada tarefa pode ter escopo e contexto focado
  • Dependencias garantem ordem de execucao correta
  • TaskList permite acompanhar progresso geral

Casos de Uso

  • • Pesquisa de documentacao
  • • Analise de codigo isolada
  • • Geracao de testes
  • • Refatoracao de modulos

Beneficios

  • • Contexto isolado
  • • Execucao paralela
  • • Especializacao
  • • Melhor gerenciamento

📋 Resumo do Modulo

TaskCreate para novas tarefas - subject, description, activeForm
Status: pending → in_progress → completed - fluxo linear
Dependencias com blocks/blockedBy - ordenacao de execucao
Use apenas para projetos complexos - 3+ passos distintos
Delegacao via Task tools - organize trabalho complexo

Proximo Modulo:

2.8 - AskUserQuestion e Interacao com Usuario - quando e como pedir informacoes