# Plan

> Decompõe o design aprovado do brainstorm em tasks concretas para teammates ADVPL. Gera plano tipado com artefatos R[MOD][TYPE][SEQ].prw/.tlpp, gates de lint e testes E2E Playwright (test-web). Use após /protheus:brainstorm.

- Skill: `tbc-servicos/plan-2` (Agent Skill)
- Install (CLI): `npx skillmds@latest add tbc-servicos/plan-2`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tbc-servicos/plan-2/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tbc-servicos (https://skillmd.com/u/tbc-servicos)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tbc-servicos/plan-2

---


## Instruções para Claude

Leia o design doc mais recente em `docs/plans/` antes de começar.
Se não houver design doc, recomende `/protheus:brainstorm` primeiro.

---

## Passo 1 — Ler o design aprovado

```bash
ls -t docs/plans/*.md | head -3
```

Leia o design doc identificado. Extraia:
- Lista de artefatos a implementar (nome do arquivo, tipo, responsabilidade)
- Módulo Protheus (FAT, FIN, EST, COM, RH…)
- Tabelas envolvidas
- Regras de negócio críticas

---

## Passo 2 — Decompor em tasks de implementação

Para cada artefato identificado no design, crie uma task com:

```
Task N: Implementar [NOME_ARQUIVO]
Teammate: protheus-implementer (sonnet)
Artefato: R[MOD][TYPE][SEQ].prw (ou .tlpp)
Tipo: [User Function | MVC | Ponto de Entrada | Relatório]
Responsabilidade: [descrição funcional]
Contexto para o teammate:
  - Design doc: docs/plans/[arquivo].md
  - Tabelas: [lista]
  - Regras: [lista]
  - Padrões: consultar MCP para convenções atualizadas
```

Tasks de implementação **podem rodar em paralelo** quando os artefatos
forem independentes (PE em arquivo próprio, funções sem dependência mútua).

### Fechar a lista de fontes (orçamento de arquivos)

A lista de fontes do plano é **fechada**: o implementer não cria fonte que não esteja na
tabela de tasks. Fonte novo = volta ao plano (e, se for decisão de design, ao
`/protheus:brainstorm`).

| Tamanho do desenvolvimento | Orçamento de fontes (fora os de teste) |
|---|---|
| Ajuste pontual / PE | 1 |
| Rotina nova média | até 3 |
| Desenvolvimento grande | 1 fonte por camada por contexto — acima disso, justifique no plano |

- **Camada ≠ arquivo.** TLPP aceita mais de uma classe no mesmo fonte; classes coesas do mesmo
  papel e contexto ficam juntas, e só se separam quando mudam por motivos diferentes.
- **Teto:** fonte acima de ~800 linhas (ou classe de ~500) é sinal de divisão real.
- Sobre-engenharia é dívida igual a monólito: **os dois** custam manutenção e patch.

---

## Passo 3 — Adicionar tasks fixas de qualidade (sempre nesta ordem)

Após todas as tasks de implementação, adicione obrigatoriamente:

### Task Review Spec Compliance
```
Task N+1: Review spec compliance
Teammate: protheus-spec-reviewer (sonnet)
Escopo: todos os artefatos implementados
Critério de aprovação: ✅ SPEC OK em todos os artefatos
Bloqueio: tasks de implementação devem estar concluídas
```

### Task Review Qualidade
```
Task N+2: Review qualidade de código
Teammate: protheus-reviewer (sonnet)
Escopo: todos os artefatos aprovados no spec compliance
Critério de aprovação: Aprovado para compilação: SIM
Bloqueio: spec compliance aprovado
```

### Task Lint Gate
```
Task N+3: Lint local (advpls appre)
Ação: rodar advpls appre em todos os artefatos
GATE: se lint retornar erros tipo "0" → fluxo para aqui
Critério de aprovação: zero erros tipo "0"
Bloqueio: ambos os reviews aprovados
```

### Task Deploy (compilação + patch)
```
Task N+4: Compilar e gerar patch
Skill: /protheus:deploy
Ação: compilar no AppServer via advpls cli, gerar patch .ptm
Bloqueio: lint aprovado
```

### Task Testes E2E Playwright

> **Engine oficial de E2E: Playwright** (`/protheus:test-web`) — visão computacional real
> (screenshots + snapshot da tela). **O TIR não é a forma oficial de testar** (não tem visão
> computacional): use-o apenas, opcionalmente, como suíte de regressão CI gerada a partir da
> sessão Playwright já validada (ver nota em `/protheus:qa`).
```
Task N+5: Executar testes E2E Playwright (via /protheus:qa → /protheus:test-web)
Skill: /protheus:qa
Escopo: fluxos críticos de negócio identificados no design
Bloqueio: compilação bem-sucedida (RPO atualizado)
```

---

## Passo 4 — Salvar o plano

Salve o plano completo em:

```
docs/plans/YYYY-MM-DD-[modulo]-[descricao]-plan.md
```

Formato do plano:

```markdown
# Plano: [Descrição]

**Design:** docs/plans/[design-doc].md
**Módulo:** [MOD]
**Data:** YYYY-MM-DD

## Tasks de Implementação

| # | Artefato | Tipo | Teammate | Paralelo? |
|---|---------|------|----------|-----------|
| 1 | RFATA001.prw | User Function | protheus-implementer (sonnet) | sim |
| 2 | PE_MATA010.prw | Ponto de Entrada MVC | protheus-implementer (sonnet) | sim |

## Tasks de Qualidade e Deploy

| # | Task | Teammate/Skill | Bloqueada por |
|---|------|----------------|--------------|
| 3 | Spec compliance | protheus-spec-reviewer (sonnet) | 1, 2 |
| 4 | Qualidade código | protheus-reviewer (sonnet) | 3 |
| 5 | Lint gate (appre) | — | 4 |
| 6 | Compilação + patch | /protheus:deploy | 5 |
| 7 | Testes E2E Playwright | /protheus:qa | 6 |
```

---

## Passo 5 — Encadear implementação

Após salvar o plano:

```
Plano salvo em docs/plans/[arquivo]-plan.md

Próximo passo:
  /protheus:implement
```

---

## Consulta de Conhecimento

Se precisar de informação não disponível no MCP, consulte o RAG:
```
searchKnowledge({ keyword: "<termo relevante>" })
```

