Passo-a-passo detalhado do skill, referenciando as fases cognitivas:
1SENSE — Capturar e estruturar o diff
```bash
# Diff de um PR (branch vs. main)
git diff origin/main...feature/my-feature --stat
git diff origin/main...feature/my-feature -- "*.ts" "*.tsx"
# Commits do PR
git log origin/main..feature/my-feature --oneline --no-merges
```
2CONTEXTUALIZE — Interpretar commits
```bash
git log origin/main..HEAD --format="%H|%s|%b" | while IFS='|' read hash subject body; do
echo "TYPE: $(echo $subject | grep -oP '^\w+')"
echo "SCOPE: $(echo $subject | grep -oP '\(\K[^)]+' || echo 'global')"
echo "DESC: $subject"
done
```
3HYPOTHESIZE — Classificar mudanças
```python
import subprocess, re
diff = subprocess.check_output(['git', 'diff', 'origin/main...HEAD']).decode()
files = subprocess.check_output(['git', 'diff', 'origin/main...HEAD', '--name-status']).decode()
changes = {'added': [], 'modified': [], 'removed': []}
for line in files.strip().split('\n'):
status, path = line[0], line[2:]
if status == 'A': changes['added'].append(path)
elif status == 'M': changes['modified'].append(path)
elif status == 'D': changes['removed'].append(path)
```
4RECOMMEND — Gerar PR description
```markdown
Summary
Adiciona autenticação OAuth2 com GitHub e Google, incluindo refresh token rotation.
Motivation
Usuários reportaram dificuldade no processo de registro. OAuth reduz o atrito de onboarding.
Changes
`src/lib/auth.ts`: Configuração NextAuth com providers GitHub e Google
`src/app/api/auth/[...nextauth]/route.ts`: Handler de callback
`src/middleware.ts`: Proteção de rotas autenticadas
Testing
[ ] Login via GitHub funciona em staging
[ ] Refresh token é rotacionado corretamente
[ ] Logout limpa cookies corretamente
```
5RECOMMEND — Gerar release notes (Keep a Changelog)
```markdown
[1.2.0] - 2026-04-11
### Added
Autenticação OAuth2 com GitHub e Google (#123)
Refresh token rotation automática (#124)
### Fixed
Sessões não expiram corretamente no mobile (#98)
```
6REFLECT — Validar completude
Todos os arquivos modificados estão cobertos na descrição?
Breaking changes destacados claramente?
Reportar telemetria via mcp-skillschain