mirror of
https://github.com/fsolla/teqo.git
synced 2026-11-12 22:13:05 +00:00
- Drop model-selection skill (dead, pool is dormant) - Drop PNG rendering from UI planning (HTML-only, no pnpm ui-draft:render) - Trim code-simplification: 331→~150 lines, Python/React examples moved to reference/ - Compress engineering-brief.md: remove redundant 'Pinhos do repo' (alwaysApply rules) - Deduplicate capture-review-debts: reference decision-quality.md instead of re-explaining - Create concise-output skill (35 lines) to enforce terse agent output - Trim all 99 skill descriptions to ≤1 sentence - Split AGENTS.md into layers: core (73 lines, always) + campaign/public/infra (on-demand) - Decompose plan-issue: exploration sub-agent + parallel plan-writers + register sub-agent - Decompose work-issue: exploration sub-agent + plan-writer + 2 parallel reviewers + debt sub-agent - Update agent-work-issue to match sub-agent pattern
4.2 KiB
4.2 KiB
Template de plano de intenção (docs/plans/<slug>.md)
Plano de produto/intenção — o que o humano quer, para quem, e como saber que deu certo. Não é plano de engenharia: quem executa (work-issue / agent-work-issue) cria o docs/plans/<slug>-impl.md depois, com liberdade de reavaliar a abordagem técnica.
Shaping: shaping.md. Dados (só decisão de produto): data-presentation.md.
# <Título do item em pt-BR>
Status: rascunho
Atualizado em: <YYYY-MM-DD>
Issue: #<N> (após `pnpm agent:register`; senão "—")
Priority: <P0 | P1 | P2 | P3>
Impeccable: <A | B | C | D> — <N/A sem UI | encaixe em tela X | fluxo novo em Y>
Rascunho UI: <N/A — sem UI | docs/plans/<slug>-ui-draft.html>
Appetite: <ex.: ~0,5–1 dia eng; um outcome verificável>
Responsável: —
## Intenção
<Por que isso existe agora. Problema ou oportunidade em prosa curta — voz do humano, não da stack.>
## Persona e fluxo
- **Persona / contexto:** <quem usa, onde (campo/mesa), estado de espírito>
- **Job principal:** <uma frase — o que precisa conseguir>
- **Fluxo desejado:** <passos em linguagem de usuário; o que vê / faz / decide>
- **Anti-goals de produto:** <o que esta entrega NÃO deve virar (ex.: spreadsheet mode, segundo cadastro de pessoa)>
### Esboço de fluxo (B/C/D)
<!-- Opcional se houver Rascunho UI. ASCII de jornada (backup textual), não layout de implementação.
Omitir se A / sem UI. O artefato obrigatório do gate para UI é o HTML+Tailwind commitado — ver ui-draft-html.md. -->
\```text
[início] → … → [outcome]
\```
### Rascunho UI (B/C/D)
<!-- Obrigatório se houver UI: link para docs/plans/<slug>-ui-draft.html
(commitado no repo) — o humano abre no browser para validar no gate.
Omitir se A / sem UI. O HTML é a fonte iterável e o registro do aceite. -->
- Rascunho UI (gate): `docs/plans/<slug>-ui-draft.html`
## Objetivo e aceite
- <Outcome verificável em linguagem de produto, um por bullet>
- <Guardrails de produto que valem para o item: ex. "liderança não vê estimativas", "fail-closed se faltar consentimento" — sem nomear migration/collection>
## Dados (intenção)
<!-- Sempre presente. Sem métrica: "Dados: N/A — <por quê>". -->
- **Vou apresentar dados?** <Não | Sim, só aggregate para outro consumidor | Sim, superfície neste item>
- **Decisões desbloqueadas:** <ator + escolha; uma por bullet. Sem decisão nomeável → corte vaidade.>
- **Forma:** *adiada ao plano de implementação* — aqui só restrições de produto (ex.: "sem % estadual absoluto", "leitura relativa/local").
## Direção no codebase (hipótese)
<!-- Soft. Revisável. Sem signatures, sem "criar collection X", sem mermaid de solução. -->
- **Áreas prováveis:** <rotas `/campanha/…`, pastas `src/components/campaign/<domínio>/`, `src/utilities/<domínio>/`, `src/lib/…`>
- **Precedente a olhar:** <plano/Issue/arquivo análogo, se houver>
- **Risco de acoplamento:** <uma linha — o que o executor deve respeitar (ex.: leader lockdown, lista B18)>
## Dependências
- <IDs duros/suaves ou "Nenhuma">
## Fora de escopo
- <Exclusões de produto, com destino (outro ID/plano) quando houver>
## Rabbit holes de produto
- **<Risco>.** Se alguém “só completar”: <explosão de escopo>. **Corte neste item:** <…>.
## Questões em aberto (produto)
<!-- Opções + Recomendação de produto. Nunca pergunta sem posição. -->
- **<Pergunta>?** **Opções:** A | B | C. **Recomendação:** <…>. _(assumido — validar com produto)_ quando couber.
## Referências
- GitHub Issue #<N>
- Rascunho UI (gate): <link do `.html` + PNGs embutidos acima | N/A>
- <arquivos/rotas úteis para o executor abrir primeiro — como pista, não contrato>
- `AGENTS.md` / `docs/ARCHITECTURE.md` — só se o item toca convenção já travada no repo
Notas:
- Alvo: ~60–100 linhas. Mais que isso costuma significar engenharia vazando para a intenção.
- Classe A:
Impeccable: A — N/A;Rascunho UI: N/A; omita esboço de fluxo. - Classe B/C/D: rascunho HTML+Tailwind obrigatório no gate (ui-draft-html.md); commite o
.htmlno repo. - Não rode
/impeccableaqui. - Self-score shaping ≥4/5 antes de gravar.