/todo — a ação que nasce pronta
O dono sabe o que precisa fazer ANTES de qualquer reunião documentar isso.
O /todo é a porta: texto livre → ação estruturada no ledger, sem arquivo
intermediário na inbox (o registro é o próprio ledger, append-only; origem
honesta: declarado pelo dono).
Entrevista rápida (SÓ o que faltar — e em UMA rodada)
Depois do parse, cheque os 3 campos de encaixe no planejamento: deadline,
projeto, pessoas. Para cada um AUSENTE, pergunte — tudo em UMA
mensagem, formato de lote com sugestões (o dono responde "1a 2pula 3Ana"):
A-0153 · ler material de retenção — antes de eu registrar:
1. Para quando? (a) qua 18/09 (b) sex 20/09 (c) sem prazo (d) outra
2. Projeto? (a) P1 Padronização de métricas (b) P3 Onboarding (c) nenhuma (d) outra
3. Alguém além de você? (a) nenhum (b) outra
- Máximo 3 perguntas, uma rodada só. Respondidas (ou "pula"/silêncio):
cria com o que tiver — nunca re-pergunte, nunca bloqueie.
- Sugestões espertas, não genéricas: prazos = amanhã/fim da semana (ou o
que o texto insinuar); projetos = os ativos do PLANNING (até 3, com nome
curto); pessoas = aliases recentes do people-index.
- Por que perguntar: deadline coloca no cronograma (
/brief 72h, gantt
do /timeline); projeto liga a árvore (month.md, radar de goals) e
alimenta o recap; pessoa liga threads e prep de reunião.
- Texto já traz os 3 → zero perguntas, cria direto (TODO rápido segue
rápido — a entrevista é exceção, não ritual).
Sequência
- Parse do texto livre — extraia:
- o quê (infinitivo limpo: "ler material de retenção")
- deadline: relativa vira data REAL calculada na hora ("até quarta" →
a próxima quarta em ISO). Nada de "quarta" solto no ledger.
- pessoas ("conversar com a Ana sobre X") → resolve aliases; se a pessoa
existe no people-index, linka; senão, cria ficha mínima com o nome dito.
- projeto/goal ("do projeto Y") →
proj: P# se Y casa no projects-index;
não casa → entra na entrevista (opções reais), nunca chute.
- dependências ("depois que o Bruno responder") →
blocked-by:/waiting.
- Entrevista do que faltar (protocolo acima), se faltar algo.
- Idempotência: ação ABERTA muito parecida já existe? Avise ("já existe
A-0141 parecida — criar mesmo assim?") — sem bloquear.
- Escreva no ledger (
_logs/actions.md, append):
A-#### · aberta · <data real> · <o quê> · dono: VOCÊ · deadline <ISO> · proj: P# · origem: /todo (declarado pelo dono)
- Alimente os índices (a garantia que o dump daria de graça — escrita
direta também indexa): 1 linha em
people-index.md por pessoa linkada e
em projects-index.md por projeto linkado (<data> · A-#### · <o quê, 1 linha>) — o estado atual da ação vem do ledger (o índice aponta o ID).
- Ficha se houver detalhe: texto longo/contexto (ou "detalhe:") → cria
_actions/A-####.md com o que veio. /todo A-0146 + <texto> APENDA
detalhe à ficha existente (cria se não existir) — nunca reescreve.
- Confirme em 1-2 linhas: "A-0152 · ler material de retenção · até qua
18/09 · P1 · com a Ana". O dono confere o encaixe em 2 segundos.
A nova ação aparece sozinha no /brief (ATRASADAS/72h), open-actions.md,
/week e no cronograma (/timeline gantt) — as views leem o ledger.
Fechar é com o /done (o par deste comando), incluindo a cascata de
desbloqueio.
Regras
- Deadline ausente = ação sem data (aparece como "sem prazo", não invente).
- Proveniência destas ações é o próprio dono — a origem no ledger já registra;
não precisa de tag de extração.
- Nunca crie goal/projeto por aqui (gate!): TODO liga a projeto EXISTENTE.
- Se o pedido for vago ("cuida do onboarding"), devolva 1 pergunta de escopo
antes de criar — ação mal definida vira ruído no radar.
1---2name: todo3description: Cria uma ação A-#### a partir do que o dono digitou: '/todo preciso ler X até quarta' → ação no ledger com deadline resolvido, pessoas e projeto linkados. Use quando o dono disser 'preciso', 'tenho que', 'lembra de', ou pedir criação direta de tarefa.4---56# /todo — a ação que nasce pronta78O dono sabe o que precisa fazer ANTES de qualquer reunião documentar isso.9O `/todo` é a porta: texto livre → ação estruturada no ledger, sem arquivo10intermediário na inbox (o registro é o próprio ledger, append-only; origem11honesta: declarado pelo dono).1213## Entrevista rápida (SÓ o que faltar — e em UMA rodada)1415Depois do parse, cheque os 3 campos de encaixe no planejamento: **deadline**,16**projeto**, **pessoas**. Para cada um AUSENTE, pergunte — tudo em UMA17mensagem, formato de lote com sugestões (o dono responde "1a 2pula 3Ana"):1819```20A-0153 · ler material de retenção — antes de eu registrar:211. Para quando? (a) qua 18/09 (b) sex 20/09 (c) sem prazo (d) outra222. Projeto? (a) P1 Padronização de métricas (b) P3 Onboarding (c) nenhuma (d) outra233. Alguém além de você? (a) nenhum (b) outra24```2526- **Máximo 3 perguntas, uma rodada só.** Respondidas (ou "pula"/silêncio):27 cria com o que tiver — nunca re-pergunte, nunca bloqueie.28- **Sugestões espertas, não genéricas**: prazos = amanhã/fim da semana (ou o29 que o texto insinuar); projetos = os ativos do PLANNING (até 3, com nome30 curto); pessoas = aliases recentes do people-index.31- **Por que perguntar**: deadline coloca no cronograma (`/brief` 72h, gantt32 do `/timeline`); projeto liga a árvore (`month.md`, radar de goals) e33 alimenta o recap; pessoa liga threads e prep de reunião.34- Texto já traz os 3 → **zero perguntas, cria direto** (TODO rápido segue35 rápido — a entrevista é exceção, não ritual).3637## Sequência38391. **Parse do texto livre** — extraia:40 - **o quê** (infinitivo limpo: "ler material de retenção")41 - **deadline**: relativa vira data REAL calculada na hora ("até quarta" →42 a próxima quarta em ISO). Nada de "quarta" solto no ledger.43 - **pessoas** ("conversar com a Ana sobre X") → resolve aliases; se a pessoa44 existe no people-index, linka; senão, cria ficha mínima com o nome dito.45 - **projeto/goal** ("do projeto Y") → `proj: P#` se Y casa no projects-index;46 não casa → entra na entrevista (opções reais), nunca chute.47 - **dependências** ("depois que o Bruno responder") → `blocked-by:`/`waiting`.482. **Entrevista do que faltar** (protocolo acima), se faltar algo.493. **Idempotência**: ação ABERTA muito parecida já existe? Avise ("já existe50 A-0141 parecida — criar mesmo assim?") — sem bloquear.514. **Escreva no ledger** (`_logs/actions.md`, append):52 `A-#### · aberta · <data real> · <o quê> · dono: VOCÊ · deadline <ISO> ·53 proj: P# · origem: /todo (declarado pelo dono)`545. **Alimente os índices** (a garantia que o dump daria de graça — escrita55 direta também indexa): 1 linha em `people-index.md` por pessoa linkada e56 em `projects-index.md` por projeto linkado (`<data> · A-#### · <o quê, 157 linha>`) — o estado atual da ação vem do ledger (o índice aponta o ID).586. **Ficha se houver detalhe**: texto longo/contexto (ou "detalhe:") → cria59 `_actions/A-####.md` com o que veio. `/todo A-0146 + <texto>` APENDA60 detalhe à ficha existente (cria se não existir) — nunca reescreve.617. **Confirme em 1-2 linhas**: "A-0152 · ler material de retenção · até qua62 18/09 · P1 · com a Ana". O dono confere o encaixe em 2 segundos.6364A nova ação aparece sozinha no `/brief` (ATRASADAS/72h), `open-actions.md`,65`/week` e no cronograma (`/timeline` gantt) — as views leem o ledger.66Fechar é com o **`/done`** (o par deste comando), incluindo a cascata de67desbloqueio.6869## Regras7071- Deadline ausente = ação sem data (aparece como "sem prazo", não invente).72- Proveniência destas ações é o próprio dono — a origem no ledger já registra;73 não precisa de tag de extração.74- Nunca crie goal/projeto por aqui (gate!): TODO liga a projeto EXISTENTE.75- Se o pedido for vago ("cuida do onboarding"), devolva 1 pergunta de escopo76 antes de criar — ação mal definida vira ruído no radar.