.
This commit is contained in:
parent
e7adba8fd8
commit
1f79b0c403
10 changed files with 221 additions and 89 deletions
|
|
@ -2,7 +2,7 @@
|
|||
name: plano-executar
|
||||
description: Alias para /plano.executar - Executa planos técnicos em ./PLANOS/pendente/ com postura obstinada /goal e orquestração de multiagentes (@back, @front, @ux, @refatorar, @testes, @documentacao)
|
||||
scope: global
|
||||
updatedAt: "2026-09-28"
|
||||
updatedAt: "2026-09-30"
|
||||
---
|
||||
|
||||
# Skill: /plano-executar (Alias para /plano.executar com /goal e Multiagentes)
|
||||
|
|
@ -14,6 +14,7 @@ Atalho para a skill canônica [`/plano.executar`](../plano.executar/SKILL.md), e
|
|||
- **Modos de Invocação:**
|
||||
- `/plano.executar` ou `/plano.executar ultimo` $\rightarrow$ Executa o último plano criado na conversa (ou o mais recente na pasta).
|
||||
- `/plano.executar <identificador>` $\rightarrow$ Executa o plano correspondente por slug, ID ou nome de arquivo.
|
||||
- `/plano.executar todos` $\rightarrow$ Executa todos os planos pendentes na pasta em modo serial sequencialmente.
|
||||
- `/plano.executar todos` $\rightarrow$ Executa todos os planos pendentes na pasta em modo serial sequencialmente por ordem de chegada (FIFO).
|
||||
- **Notificação Nativa no SO:** Ao concluir cada plano ou finalizar toda a fila, emite alerta sonoro e visual no Sistema Operacional (Linux & macOS) via `.agent/notificar.sh`, ideal para acompanhamento em sessões CLI em segundo plano.
|
||||
|
||||
Para a especificação completa, matriz de papéis e detalhes operacionais, consulte [`skills/plano.executar/SKILL.md`](../plano.executar/SKILL.md).
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
name: plano.executar
|
||||
description: Executa planos técnicos de implementação em ./PLANOS/pendente/ com postura /goal e orquestração de multiagentes especialistas (@back, @front, @ux, @refatorar, @testes, @documentacao)
|
||||
scope: global
|
||||
updatedAt: "2026-09-28"
|
||||
updatedAt: "2026-09-30"
|
||||
---
|
||||
|
||||
# Skill: /plano.executar (Execução de Planos Técnicos com /goal e Multiagentes)
|
||||
|
|
@ -23,10 +23,10 @@ O agente atua como **Orquestrador Líder**, operando sob a postura obstinada do
|
|||
# Modo 2: Executar plano específico por identificador (slug, ID ou nome de arquivo)
|
||||
/plano.executar <identificador>
|
||||
# Exemplos:
|
||||
/plano.executar 2026-09-28-reabrir-licenca-nao-assinada
|
||||
/plano.executar 2026-09-30-10-35-reabrir-licenca-nao-assinada
|
||||
/plano.executar reabrir-licenca-nao-assinada
|
||||
|
||||
# Modo 3: Executar todos os planos da pasta de forma serial (um a um)
|
||||
# Modo 3: Executar todos os planos da pasta em ordem de chegada (FIFO - Primeiro que chega é o primeiro executado)
|
||||
/plano.executar todos
|
||||
/plano.executar --todos
|
||||
```
|
||||
|
|
@ -39,9 +39,9 @@ Ao acionar `/plano.executar`, o agente adota estritamente o compromisso do **/go
|
|||
|
||||
1. **Autonomia sem Paradas Prematuras:** O agente não interrompe a execução para pedir confirmações triviais ou fazer perguntas óbvias. Ele pesquisa o codebase, diagnostica causas raiz e aplica as correções de ponta a ponta.
|
||||
2. **Loop Iterativo de Auto-Correção:** Caso um comando de build, linter (`biome`) ou verificação estática (`typecheck`) aponte erros:
|
||||
- O agente **NÃO desiste nem pede ajuda** imediatamente.
|
||||
- Ele analisa o stack trace / log de erro, diagnostica a causa raiz, refatora o trecho e roda a validação novamente.
|
||||
- Esse loop continua até que todos os critérios de aceite (Definition of Done) estejam 100% verdes.
|
||||
- O agente **NÃO desiste nem pede ajuda** imediatamente.
|
||||
- Ele analisa o stack trace / log de erro, diagnostica a causa raiz, refatora o trecho e roda a validação novamente.
|
||||
- Esse loop continua até que todos os critérios de aceite (Definition of Done) estejam 100% verdes.
|
||||
3. **Comprovação Baseada em Evidências:** Apenas testes reais e verificações executadas contam como conclusão. Não há "deve estar funcionando" sem validação com comandos concretos.
|
||||
|
||||
---
|
||||
|
|
@ -91,21 +91,30 @@ Em implementações integradas, o Orquestrador segue a ordem canônica de handof
|
|||
|
||||
### Modo 1: Sem parâmetros (`/plano.executar` ou `/plano.executar ultimo`)
|
||||
1. **Contexto da Conversa:**
|
||||
- O agente busca no histórico imediato da sessão se algum plano foi criado recentemente em `./PLANOS/pendente/YYYY-MM-DD-<slug>.md`.
|
||||
- O agente busca no histórico imediato da sessão se algum plano foi criado recentemente em `./PLANOS/pendente/` (padrão `AAAA-MM-DD-HH-mm-<slug>.md` ou legado `YYYY-MM-DD-<slug>.md`).
|
||||
2. **Fallback para o Mais Recente na Pasta:**
|
||||
- Se nenhum foi criado na sessão, inspeciona `./PLANOS/pendente/` e seleciona o arquivo mais recente (ordem decrescente de data/modificação).
|
||||
- Se nenhum foi criado na sessão, inspeciona `./PLANOS/pendente/` e seleciona o arquivo mais recente (ordem decrescente de timestamp / data de modificação).
|
||||
3. **Confirmação:**
|
||||
- Exibe: `🎯 [Orquestrador /goal] Plano selecionado: PLANOS/pendente/YYYY-MM-DD-<slug>.md — "<Título>"`
|
||||
- Exibe: `🎯 [Orquestrador /goal] Plano selecionado: PLANOS/pendente/<nome-do-arquivo>.md — "<Título>"`
|
||||
|
||||
### Modo 2: Por Identificador (`/plano.executar <identificador>`)
|
||||
1. Procura em `./PLANOS/pendente/` por ID exato, nome do arquivo ou correspondência parcial de slug.
|
||||
1. Procura em `./PLANOS/pendente/` por correspondência de ID exato, nome do arquivo ou correspondência parcial de slug (aceita tanto nomes com timestamp `AAAA-MM-DD-HH-mm-<slug>` quanto nomes legados `YYYY-MM-DD-<slug>`).
|
||||
2. Em caso de ambiguidade, lista as opções para confirmação; se não encontrado, orienta verificar com `/plano listar`.
|
||||
|
||||
### Modo 3: Execução Serial de Toda a Fila (`/plano.executar todos` ou `--todos`)
|
||||
1. Lista todos os planos `.md` em `./PLANOS/pendente/` (desconsiderando `.gitkeep`).
|
||||
2. Ordena por criticidade/data.
|
||||
3. Executa sequencialmente um por um, aplicando o ciclo completo `/goal` para cada plano antes de passar ao seguinte.
|
||||
4. **Circuit Breaker:** Se um plano encontrar um bloqueio técnico insuperável mesmo após auto-correções, o lote é interrompido para não corromper o repositório.
|
||||
1. **Listar Fila:** Lista todos os planos `.md` em `./PLANOS/pendente/` (desconsiderando `.gitkeep`).
|
||||
2. **Ordenar em Estrita Ordem de Chegada (FIFO — First In, First Out):**
|
||||
- Ordena os arquivos em ordem cronológica de chegada (o plano mais antigo criado é executado primeiro).
|
||||
- Com a nomenclatura `AAAA-MM-DD-HH-mm-<slug>.md`, a ordenação alfabética/lexicográfica ascendente padrão (`sort` ou `Array.prototype.sort()`) corresponde naturalmente à ordem temporal de criação.
|
||||
- **Compatibilidade com Planos Legados:** Caso existam arquivos legados sem hora no nome (`YYYY-MM-DD-<slug>.md`), o agente utiliza o horário de modificação/criação do arquivo (`mtime`) ou o campo `data-criacao` do frontmatter para intercalá-los na ordem temporal exata.
|
||||
3. **Execução Sequencial:**
|
||||
- Executa um por um na ordem da fila, aplicando o ciclo completo `/goal` para cada plano antes de passar ao seguinte.
|
||||
- Exibe o progresso: `🎯 [Orquestrador /goal] [Fila X/N] Executando PLANOS/pendente/<nome-do-arquivo>.md — "<Título>"`
|
||||
4. **Conclusão da Fila ou Circuit Breaker:**
|
||||
- Ao finalizar com sucesso toda a fila de pendentes:
|
||||
`sh .agent/notificar.sh "Fila de Planos Concluída" "Todos os planos foram executados com sucesso!" sucesso`
|
||||
- Se um plano encontrar um bloqueio técnico insuperável mesmo após auto-correções, o lote é interrompido com relatório claro para não corromper o repositório nem propagar falhas, e o operador é alertado:
|
||||
`sh .agent/notificar.sh "Execução Interrompida" "O plano <nome> encontrou um bloqueio técnico." erro`
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -138,13 +147,17 @@ Em implementações integradas, o Orquestrador segue a ordem canônica de handof
|
|||
Ao atingir 100% de conformidade com todos os critérios do plano:
|
||||
|
||||
1. **Atualizar Metadados e Histórico do Plano:**
|
||||
- Frontmatter: `status: "executado"`, `data-execucao: "YYYY-MM-DD HH:mm"`, `executor: "Orquestrador /goal + Multiagentes (@back, @front, @ux, @refatorar, @testes, @documentacao)"`.
|
||||
- Frontmatter: `status: "executado"`, `data-execucao: "AAAA-MM-DD HH:mm"`, `executor: "Orquestrador /goal + Multiagentes (@back, @front, @ux, @refatorar, @testes, @documentacao)"`.
|
||||
- Seção 6 (*Histórico de Execução*): arquivos modificados, resumo da solução e evidências de validação.
|
||||
2. **Mover o Plano:**
|
||||
- Salvar em `./PLANOS/executado/YYYY-MM-DD-<slug>.md` e remover de `./PLANOS/pendente/`.
|
||||
- Salvar em `./PLANOS/executado/<nome-original>.md` e remover de `./PLANOS/pendente/<nome-original>.md` (preservando o nome original do arquivo).
|
||||
3. **Memória do Projeto (Pilar 6 - @documentacao):**
|
||||
- Criar `memorias-ia/sessao-YYYY-MM-DD-<slug>.md`.
|
||||
- Criar `memorias-ia/sessao-AAAA-MM-DD-<slug>.md`.
|
||||
- Indexar no `memorias-ia/historico-acoes.md`.
|
||||
4. **Staging de Segurança:**
|
||||
- Executar `git add <arquivos>` e `git status`.
|
||||
- Relembrar a regra `rules/proibido-commit-ia.md`: nunca executar `git commit` na aplicação. Sugerir o comando semântico para o operador.
|
||||
5. **Notificação no Sistema Operacional (Linux & macOS):**
|
||||
- Disparar notificação sonora e visual no SO via script `.agent/notificar.sh`:
|
||||
`sh .agent/notificar.sh "Plano Concluído" "<Nome ou Título do Plano>" sucesso`
|
||||
- O utilitário detecta automaticamente se o host é Linux (KDE `kdialog`, `notify-send`, `gdbus`, PipeWire/PulseAudio) ou macOS (`osascript` banner nativo + `afplay` áudio Glass + terminal bell `\a`), emitindo o alerta em background no ambiente do operador mesmo quando rodando via CLI.
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
name: plano
|
||||
description: Criar e gerenciar planos técnicos de implementação em ./PLANOS/pendente/ gerados por testers e executados por devs
|
||||
scope: global
|
||||
updatedAt: "2026-09-28"
|
||||
updatedAt: "2026-09-30"
|
||||
---
|
||||
|
||||
# Skill: /plano (Criação e Gestão de Planos Técnicos)
|
||||
|
|
@ -23,7 +23,7 @@ Esta skill capacita o agente a atuar como ponte técnica entre o **Tester / QA**
|
|||
# 3. Execução pelo Desenvolvedor (Comando Canônico Dedicado)
|
||||
/plano.executar # Executa o último plano da conversa ou mais recente
|
||||
/plano.executar <slug> # Executa plano específico por slug/ID
|
||||
/plano.executar todos # Executa todos os pendentes em lote serial
|
||||
/plano.executar todos # Executa todos os pendentes em lote serial (ordem de chegada - FIFO)
|
||||
|
||||
# 4. Arquivamento manual de um plano já concluído
|
||||
/plano arquivar <slug-ou-nome-do-arquivo>
|
||||
|
|
@ -37,10 +37,11 @@ Esta skill capacita o agente a atuar como ponte técnica entre o **Tester / QA**
|
|||
|
||||
Quando invocado com uma instrução (ex.: `/plano corrigir validação do número do processo no formulário de denúncia`):
|
||||
|
||||
### 1. Obter Data e Gerar Slug
|
||||
- Obtenha a data local atual no formato `YYYY-MM-DD`.
|
||||
### 1. Obter Data, Hora e Gerar Slug
|
||||
- Obtenha a data e hora locais atuais da máquina no formato `AAAA-MM-DD-HH-mm` (ano com 4 dígitos, mês, dia, hora 24h e minuto com 2 dígitos, ex.: `2026-09-30-10-35`).
|
||||
- Converta o tema principal da instrução em um slug sucinto em kebab-case (letras minúsculas e hífens, sem acentos ou caracteres especiais).
|
||||
- Caminho alvo: `./PLANOS/pendente/YYYY-MM-DD-<slug>.md`.
|
||||
- Caminho alvo: `./PLANOS/pendente/AAAA-MM-DD-HH-mm-<slug>.md`.
|
||||
- **Propósito da Nomenclatura:** A inclusão de hora (`HH`) e minuto (`mm`) no prefixo temporal viabiliza a ordenação lexicográfica determinística da fila (FIFO — First In, First Out), permitindo que `/plano.executar todos` processe os planos estritamente na ordem em que foram criados.
|
||||
|
||||
### 2. Diagnóstico Técnico Pré-Implementação (Sem alterar código)
|
||||
- **NÃO altere arquivos de código de produção nesta etapa.**
|
||||
|
|
@ -55,10 +56,10 @@ Quando invocado com uma instrução (ex.: `/plano corrigir validação do númer
|
|||
- **Frontmatter YAML:**
|
||||
```yaml
|
||||
---
|
||||
id: YYYY-MM-DD-<slug>
|
||||
id: AAAA-MM-DD-HH-mm-<slug>
|
||||
titulo: "<Título claro e direto>"
|
||||
origem: "Revisão Tester / QA"
|
||||
data-criacao: "YYYY-MM-DD"
|
||||
data-criacao: "AAAA-MM-DD HH:mm"
|
||||
data-execucao: null
|
||||
status: "pendente"
|
||||
prioridade: "media" # ou critica/alta/baixa
|
||||
|
|
@ -75,7 +76,7 @@ Quando invocado com uma instrução (ex.: `/plano corrigir validação do númer
|
|||
- **4. Especificação Técnica & Passos de Implementação:** Roteiro prático para o desenvolvedor (schemas, backend, frontend, código sugerido).
|
||||
- **5. Plano de Verificação & Testes:** Testes automatizados (`typecheck`, `biome`) e roteiro manual/E2E com `agent-browser`.
|
||||
- **6. Histórico de Execução:** Cabeçalho reservado para preenchimento na conclusão pelo executor.
|
||||
- Salve o arquivo em `./PLANOS/pendente/YYYY-MM-DD-<slug>.md` usando `write_to_file`.
|
||||
- Salve o arquivo em `./PLANOS/pendente/AAAA-MM-DD-HH-mm-<slug>.md` usando `write_to_file`.
|
||||
|
||||
### 4. Resposta ao Usuário
|
||||
- Informe o link do arquivo criado em `./PLANOS/pendente/`.
|
||||
|
|
@ -89,7 +90,7 @@ Quando invocado com uma instrução (ex.: `/plano corrigir validação do númer
|
|||
1. Liste os arquivos existentes em `./PLANOS/pendente/` e `./PLANOS/executado/`.
|
||||
2. Para cada arquivo, extraia título, data e prioridade do frontmatter.
|
||||
3. Exiba uma tabela Markdown organizada:
|
||||
- **Planos Pendentes (Aguardando Dev):** ID, Título, Prioridade, Data de Criação.
|
||||
- **Planos Pendentes (Aguardando Dev — Fila FIFO):** ID, Título, Prioridade, Data de Criação. Listados em ordem cronológica de chegada (mais antigo primeiro).
|
||||
- **Planos Executados (Concluídos):** ID, Título, Data de Execução, Executor.
|
||||
4. Lembre o operador dos atalhos de execução: `/plano.executar` ou `/plano.executar todos`.
|
||||
|
||||
|
|
@ -102,14 +103,14 @@ Para implementar qualquer plano da fila, a operação canônica é delegada para
|
|||
👉 **[`skills/plano.executar/SKILL.md`](../plano.executar/SKILL.md)**:
|
||||
- `/plano.executar` (sem argumentos: último plano criado na conversa ou pendente mais recente)
|
||||
- `/plano.executar <slug>` (plano específico)
|
||||
- `/plano.executar todos` (processamento serial com circuit breaker)
|
||||
- `/plano.executar todos` (processamento serial em ordem de chegada FIFO com circuit breaker)
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ Procedimento Operacional: Arquivamento Manual (`/plano arquivar <slug>`)
|
||||
## 🛠️ Procedimento Operacional: Arquivamento Manual (`/plano arquivar <slug-ou-id>`)
|
||||
|
||||
Quando um plano foi implementado externamente ou não requer alteração de código:
|
||||
1. Localize o arquivo em `./PLANOS/pendente/`.
|
||||
2. Atualize o frontmatter para `status: "executado"`, registrando `data-execucao` e executor.
|
||||
3. Mova o arquivo para `./PLANOS/executado/`.
|
||||
1. Localize o arquivo em `./PLANOS/pendente/` (aceita slug puro, ID completo ou nome de arquivo).
|
||||
2. Atualize o frontmatter para `status: "executado"`, registrando `data-execucao: "AAAA-MM-DD HH:mm"` e executor.
|
||||
3. Mova o arquivo para `./PLANOS/executado/` preservando o nome original do arquivo.
|
||||
4. Notifique o usuário da conclusão do arquivamento.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue