Skip to content
Back to skills

Code

ASecurity

Fase 3 - Implementation Protocol. Le Spec.md, solicita arquivos originais, aplica mudancas CIRURGICAS linha por linha, valida multi-tenant, testa e documenta. Preserva logica, zero improviso.

  • 666 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added February 8, 2026
developmentjavascriptgojavabashnodegitfrontendbackendperformance

Works with

  • cli

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add majiayu000/claude-skill-registry --skill code --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Code?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Code
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-code/badge)](https://www.skillsdirectory.com/skills/majiayu000-code)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: Code
description: Fase 3 - Implementation Protocol. Le Spec.md, solicita arquivos originais, aplica mudancas CIRURGICAS linha por linha, valida multi-tenant, testa e documenta. Preserva logica, zero improviso.
---

# FASE 3: IMPLEMENTATION (SURGICAL EXECUTION)

## Objetivo
Executar especificacao tecnica com precisao cirurgica, sem improviso, preservando logica existente.

---

## INPUT OBRIGATORIO

### Carregar Spec
```bash
# Localizar Spec gerado na Fase 2
ls -la .claude/docs/SPEC-*.md

# Ler Spec completo
cat .claude/docs/SPEC-[nome-tarefa].md
```

---

## PROTOCOLO DE IMPLEMENTACAO

### FASE 1: VALIDACAO PRE-EXECUCAO

#### 1.1 Checklist de Seguranca
- [ ] Spec completo e claro
- [ ] Arquivos listados existem
- [ ] Mudancas linha por linha definidas
- [ ] Rollback plan documentado

#### 1.2 Preparar Ambiente
```bash
# Verificar branch atual
git branch --show-current

# Criar branch para feature (se nao existir)
git checkout -b feat/[nome-tarefa]

# Backup de arquivos criticos (se destrutivo)
cp [arquivo-critico].js [arquivo-critico].js.backup
```

### FASE 2: SOLICITAR ARQUIVOS ORIGINAIS

#### 2.1 NUNCA Modificar Sem Ver
```bash
# Para CADA arquivo listado no Spec:
cat [caminho/completo/arquivo.js]

# Ler COMPLETAMENTE, nao apenas a linha alvo
# Entender contexto antes/depois da mudanca
```

#### 2.2 Principio da Preservacao
- Ler arquivo completo
- Identificar logica de negocio
- Preservar fluxo existente
- Mudanca cirurgica APENAS onde especificado

### FASE 3: EXECUTAR MUDANCAS (Ordem do Spec)

#### 3.1 Seguir Ordem Exata
```
1. Models (estrutura de dados)
   |
2. Controllers (logica backend)
   |
3. Routes (endpoints)
   |
4. Services (se houver)
   |
5. Frontend JS (logica cliente)
   |
6. Frontend HTML (UI)
   |
7. Frontend CSS (estilos)
```

#### 3.2 Executar Mudanca Cirurgica
```javascript
// Spec diz: "Linha 45: ADICIONAR"

// PROCEDIMENTO:
// 1. cat arquivo.js (ver arquivo completo)
// 2. Localizar linha 45
// 3. Entender contexto (linhas 40-50)
// 4. Aplicar mudanca EXATA do Spec
// 5. Preservar restante do arquivo
```

#### 3.3 Validar Apos Cada Arquivo
```bash
# Syntax check
node --check [arquivo-modificado].js

# Se frontend:
grep -n "console.log\|debugger" [arquivo].js  # Remover debug

# Verificar imports
grep -n "require\|import" [arquivo].js
```

### FASE 4: VALIDACOES CRITICAS

#### 4.1 Multi-Tenant (OBRIGATORIO)
```bash
# Verificar TODAS as queries
grep -n "\.find\|\.findOne\|\.updateMany" [arquivo].js

# Cada query DEVE ter liga_id:
Model.find({
  liga_id: ligaId,  // OBRIGATORIO
  temporada: temporada
})
```

#### 4.2 Seguranca
```bash
# Rotas protegidas?
grep -n "router\.\(post\|put\|delete\)" routes/[arquivo].js

# Devem ter middleware:
router.post('/endpoint',
  verificarAdmin,      // Protecao
  validarLigaId,       // Multi-tenant
  controller.acao
)
```

#### 4.3 Performance
```bash
# Queries com .lean()?
grep -n "\.find\|\.findOne" [arquivo].js | grep -v "lean"

# Adicionar .lean() em reads:
Model.find({ ... }).lean()  // Economia de memoria
```

### FASE 5: TESTES

#### 5.1 Testes Unitarios (se existirem)
```bash
# Rodar testes do modulo
npm test -- [modulo]

# Se falhar, corrigir antes de continuar
```

#### 5.2 Teste Manual (obrigatorio)
- Seguir casos de teste do Spec
- Validar cenarios positivos
- Validar cenarios negativos
- Testar edge cases

#### 5.3 Validacao Multi-Liga
```bash
# Testar com liga SuperCartola (32 times)
# Testar com liga Sobral (4-6 times)
# Garantir isolamento de dados
```

---

## PADRAO DE COMMITS

### Mensagem Estruturada
```bash
git commit -m "tipo(escopo): descricao curta

- Mudanca 1 especifica
- Mudanca 2 especifica
- Mudanca 3 especifica

Ref: SPEC-[nome].md
"
```

### Tipos de Commit
- `feat`: Nova funcionalidade
- `fix`: Correcao de bug
- `refactor`: Refatoracao sem mudar comportamento
- `perf`: Melhoria de performance
- `style`: Mudancas de formatacao
- `docs`: Apenas documentacao
- `test`: Adicionar/corrigir testes

---

## PROTOCOLO DE TESTES

### Teste 1: Funcionalidade Basica
```javascript
async function testar() {
  const ligaId = '684cb1c8af923da7c7df51de';
  const participanteId = 'test-id';

  const resultado = await controller.novaFuncao(participanteId, ligaId);

  console.assert(resultado.saldoTotal !== undefined, 'Saldo deve existir');
  console.log('Teste 1 passou');
}
```

### Teste 2: Multi-Tenant Isolation
```javascript
async function testarMultiTenant() {
  const liga1 = '684cb1c8af923da7c7df51de';
  const liga2 = '684d821cf1a7ae16d1f89572';

  await Model.create({ liga_id: liga1, dados: 'teste1' });
  const resultado = await Model.find({ liga_id: liga2 });

  console.assert(resultado.length === 0, 'Isolamento multi-tenant OK');
  console.log('Teste Multi-Tenant passou');
}
```

---

## CHECKLIST FINAL

### Codigo
- [ ] Todas mudancas do Spec aplicadas
- [ ] Arquivos originais preservados (logica intacta)
- [ ] Syntax check passou
- [ ] Sem console.log de debug
- [ ] Sem codigo comentado desnecessario

### Seguranca
- [ ] Queries com liga_id
- [ ] Rotas protegidas com middleware
- [ ] Inputs validados
- [ ] Errors tratados

### Performance
- [ ] Queries com .lean() (reads)
- [ ] Indices verificados
- [ ] Sem N+1 queries

### Testes
- [ ] Funcionalidade basica testada
- [ ] Multi-tenant validado
- [ ] Cenarios negativos testados
- [ ] Edge cases cobertos

### Documentacao
- [ ] Commits descritivos
- [ ] README atualizado (se necessario)
- [ ] CHANGELOG atualizado
- [ ] pending-tasks.md marcado como concluido

---

## ANTI-PATTERNS (NAO FAZER)

### Improvisar Mudancas
```javascript
// Spec: "Adicionar linha 45"
// ERRADO: Adicionar na linha 50 porque "parece melhor"

// CORRETO: Adicionar EXATAMENTE na linha 45
// Se achar que Spec esta errado, PARAR e revisar Spec
```

### Modificar Sem Ver Original
```javascript
// ERRADO:
str_replace(old_str: "linha que eu acho que existe")

// CORRETO:
cat arquivo.js  // Ver PRIMEIRO
str_replace(old_str: "linha exata copiada do arquivo")
```

### Quebrar Logica Existente
```javascript
// ERRADO: Remover codigo "que parece nao usar"
// Sem ver quem chama

// CORRETO:
grep -r "funcaoAntiga" .  // Ver quem usa
// So remover se NINGUEM usa
```

### Ignorar Multi-Tenant
```javascript
// ERRADO:
Model.find({})  // Query global

// CORRETO:
Model.find({ liga_id: ligaId })  // SEMPRE filtrar
```

---

## FINALIZACAO

### Marcar Tarefa como Concluida
```markdown
# pending-tasks.md

## Concluidas
- [x] Implementar [nome da funcionalidade]
  - **Concluido:** [data]
  - **Arquivos:** [lista]
  - **Commits:** [hashes]
  - **Branch:** feat/[nome]
  - **Testes:** Passaram
  - **Deploy:** Pendente
```

### Preparar para Review/Merge
```bash
# Atualizar branch com main
git fetch origin
git rebase origin/main

# Push para review
git push origin feat/[nome]

# Ou merge direto (se nao houver PR)
git checkout main
git merge feat/[nome]
git push origin main
```

---

**STATUS:** CODE PROTOCOL - SURGICAL & TESTED
**Versao:** 1.0 (High Senior Edition)

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.