diff --git a/.agents/skills/capture-review-debts/SKILL.md b/.agents/skills/capture-review-debts/SKILL.md index 639b207c..d2680c00 100644 --- a/.agents/skills/capture-review-debts/SKILL.md +++ b/.agents/skills/capture-review-debts/SKILL.md @@ -124,7 +124,10 @@ Mostre ao usuário **antes** de editar docs: Inclua baldes **já_resolvido**, **descartar** e **defer** com uma linha de racional/gatilho cada (transparência > silêncio). -**Pare e confirme** — exceto em **modo autônomo** (`agent-work-issue` / pool): aí aplique a seção Modo autônomo abaixo e pule o AskQuestion. Só avance ao Passo 6 com aprovação explícita (humano) ou com as regras do modo autônomo. Sem isso = não cria Issue nem toca `docs/plans/`. +**Pare e confirme** — exceto em **modo autônomo** (`work-issue` pós-plano / +`agent-work-issue` / pool): aí aplique a seção Modo autônomo abaixo e pule o +AskQuestion. Só avance ao Passo 6 com aprovação explícita (humano) ou com as +regras do modo autônomo. Sem isso = não cria Issue nem toca `docs/plans/`. ## Passo 6 — Registrar via `agent:register` / `agent:file-miss` @@ -143,14 +146,21 @@ Não implemente as fases aqui. Execução é via `work-issue` / `agent-work-issu **Próximo no fluxo de entrega:** após a triage (confirmada ou modo autônomo), o fechamento segue o Passo 6 de `agent-work-issue` / `work-issue` (`pnpm push` → PR `--base main` com `Closes #N` → auto-merge → CI). -## Modo autônomo (`agent-work-issue` / pool) +## Modo autônomo (`work-issue` pós-plano / `agent-work-issue` / pool) Quando não há humano no gate (Passo 5): 1. Faça colheita, dedup, score e tipo como de costume. -2. **Registre** só itens `expensive_lock` com score ≥4 (Issue nova + `depends` no pai se preciso; plano curto se score ≥3 eng). -3. Todo o resto → **defer** (gatilho no `*-impl.md` / Explicitamente fora) ou **descartar** — não abra AskQuestion. -4. Resuma no comentário/fechamento o que registrou vs deferiu. +2. **`work-issue`** (humano presente só no plano): decida o destino pela + triage completa (Passos 3–4) — registre o que a triage manda (score ≥3 + registrar, expensive_lock com piso 4–5), absorva em plano existente, + defira com gatilho ou descarte o resto — **sem abrir AskQuestion**. +3. **Pool (`agent-work-issue`):** registre só itens `expensive_lock` com + score ≥4 (Issue nova + `depends` no pai se preciso; plano curto se + score ≥3 eng). +4. Todo o resto → **defer** (gatilho no `*-impl.md` / Explicitamente fora) + ou **descartar** — não abra AskQuestion. +5. Resuma no comentário/fechamento o que registrou vs deferiu vs descartou. ## Anti-padrões (baseline) @@ -162,7 +172,7 @@ Quando não há humano no gate (Passo 5): | "Junto DRY e UX num FD+" | Quebra o precedente FD+/FD2; tipos separados | | "DRY com 1 call site vira escala-dry" | defer_trigger + gatilho; não registrar epic YAGNI | | "Não li o plano existente" | Grep primeiro; absorver > duplicar | -| "Registro sem perguntar" | Passo 5 é gate; docs de produto não são scratchpad | +| "Registro sem perguntar" | Passo 5 é gate (humano-gated); em modo autônomo o agente decide e registra | | "Corto access/LGPD do lote por tempo" | expensive_lock nunca é cortável por appetite | ## Resumo ao usuário diff --git a/.agents/skills/work-issue/SKILL.md b/.agents/skills/work-issue/SKILL.md index fcf4d038..6658cd3a 100644 --- a/.agents/skills/work-issue/SKILL.md +++ b/.agents/skills/work-issue/SKILL.md @@ -1,13 +1,13 @@ --- name: work-issue description: >- - Executa uma Issue já claimada de ponta a ponta com supervisão humana: - o contexto da sessão identifica a Issue (sem claim), Plan mode com plano - de implementação, pausa para confirmação humana, depois execução → - /simplify → capture-review-debts com gate → PR Ready em main com - auto-merge. Use quando o usuário pedir /work-issue, quiser supervisionar - a abordagem de engenharia, ou trabalhar uma Issue com gate humano antes - do código. + Executa uma Issue já claimada de ponta a ponta com supervisão humana no + plano: o contexto da sessão identifica a Issue (sem claim), Plan mode com + plano de implementação, pausa para confirmação humana, depois execução → + /simplify → capture-review-debts autônomo (o agente decide o que registrar + e o que descartar) → PR Ready em main com auto-merge. Use quando o usuário + pedir /work-issue, quiser supervisionar a abordagem de engenharia, ou + trabalhar uma Issue com gate humano antes do código. disable-model-invocation: true --- @@ -36,7 +36,7 @@ pular a pausa do impl plan; Draft / sem auto-merge. - [ ] 1. Contexto: Issue do prompt/`$ARGUMENTS` da sessão (ausente → UMA pergunta com validação; nunca claim) - [ ] 2. Abrir o plano de intenção do body da Issue (`Plano: docs/plans/...`; sem link → body é spec) - [ ] 3. Plan mode → escrever `docs/plans/-impl.md` → **PARAR e confirmar com o humano** -- [ ] 4. Após “ok”: Passo 4 (execução → /simplify → débitos com gate → PR, via `execution-pipeline.md`) +- [ ] 4. Após “ok”: Passo 4 (execução → /simplify → débitos autônomos → PR, via `execution-pipeline.md`) ``` ## Passo 1 — Contexto da sessão @@ -96,9 +96,11 @@ fechar em main), com os deltas do ator humano: - **Branch:** `-` do worktree — nunca crie branch nova na sessão. - **UI:** shape → craft → critique → polish. -- **`capture-review-debts`:** **com gate humano** — colha e pontue como a - skill manda, apresente ao humano antes de registrar (Issues novas com - `depends` no pai se necessário). +- **`capture-review-debts`:** **autônomo** — colha, dedupe, pontue e **decida + você mesmo o destino** (registrar/absorver/deferir/descartar) pela triage + da própria skill, **sem pausa para o humano**; registre via + `agent:register` / `agent:file-miss` (Issues novas com `depends` no pai se + necessário) e resuma o que registrou vs descartou no fechamento. ## Resumo final diff --git a/.agents/skills/work-issue/execution-pipeline.md b/.agents/skills/work-issue/execution-pipeline.md index cfbbce6e..fb745fbd 100644 --- a/.agents/skills/work-issue/execution-pipeline.md +++ b/.agents/skills/work-issue/execution-pipeline.md @@ -40,5 +40,5 @@ entrega. | Ator | Branch | UI | `capture-review-debts` | Cloud | | ---- | ------ | --- | ---------------------- | ----- | -| **Humano** (`work-issue`) | `-` (worktree; nunca crie branch nova na sessão) | shape → craft → critique → polish | **com gate humano** — colha, pontue e apresente antes de registrar | n/a (máquina do humano) | +| **Humano** (`work-issue`) | `-` (worktree; nunca crie branch nova na sessão) | shape → craft → critique → polish | **autônomo** — decide o destino dos achados (registrar/absorver/deferir/descartar) pela triage da skill; sem pausa para o humano | n/a (máquina do humano) | | **Pool** (`agent-work-issue`) | `agent/-` (worktrees Cursor podem já ter criado) | shape → craft → critique → polish (harden/optimize só sob gatilho) | **autônomo** — só `expensive_lock` com score ≥4 (Issues novas com `depends`); score ≤3 / cheap_polish / defer_trigger → defer no `*-impl.md` ou descarte | `ManagePullRequest` com `draft: false`; Prep Cloud no Passo 0 |