Skip to content

Commit a2fb9a7

Browse files
Jeremias SantosJeremias Santos
authored andcommitted
feat(pav-56): criar skill abrir-pr-jobs-scraper para PRs padronizados
1 parent ad8b76c commit a2fb9a7

1 file changed

Lines changed: 149 additions & 0 deletions

File tree

  • .claude/skills/abrir-pr-jobs-scraper
Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
---
2+
name: abrir-pr-jobs-scraper
3+
description: Use quando o usuario pedir para abrir PR, criar PR, enviar PR, submeter PR, fazer pull request, ou similar no projeto Jobs Scraper Global
4+
---
5+
6+
# Abrir PR Padronizado — Jobs Scraper Global
7+
8+
Skill para criar Pull Requests padronizados no GitHub, integrando com o Linear para buscar dados da task.
9+
10+
## Pre-requisitos
11+
12+
Antes de iniciar, verifique se todas as ferramentas estao disponiveis:
13+
14+
| Ferramenta | Como verificar | Se ausente |
15+
|---|---|---|
16+
| MCP Linear | Checar se ferramentas `mcp__linear-server__*` estao disponiveis | Informar: "O MCP do Linear nao esta configurado. Adicione o server `linear-server` nas configuracoes do Claude Code." e parar |
17+
| GitHub CLI | Rodar `gh --version` | Informar: "O GitHub CLI (gh) nao esta instalado. Instale com `brew install gh`." e parar |
18+
| Git | Rodar `git --version` | Informar: "Git nao esta instalado." e parar |
19+
| npm | Rodar `npm --version` | Informar: "npm nao esta instalado." e parar |
20+
21+
Se qualquer ferramenta estiver ausente, informe ao usuario qual esta faltando e **pare a execucao**.
22+
23+
## Fluxo
24+
25+
Siga os passos abaixo na ordem, sem pular etapas.
26+
27+
### Passo 0: Verificar pre-requisitos
28+
29+
Rode os comandos de verificacao da tabela acima. Se algum falhar, informe e pare.
30+
31+
### Passo 1: Identificar task Linear
32+
33+
1. Obter o nome da branch atual: `git branch --show-current`
34+
2. Tentar extrair o padrao `PAV-\d+` (case insensitive) do nome da branch
35+
3. **Se encontrou** um codigo PAV-XX:
36+
- Perguntar ao usuario: "A task desenvolvida foi a **PAV-XX**?"
37+
- Se confirmar, usar esse codigo
38+
- Se negar, perguntar qual e a task
39+
4. **Se nao encontrou** padrao na branch:
40+
- Perguntar ao usuario: "Qual e o codigo da task no Linear? (ex: PAV-42)"
41+
42+
### Passo 2: Buscar dados da task no Linear
43+
44+
1. Usar `mcp__linear-server__get_issue` com o codigo da task
45+
2. Extrair: **titulo** e **URL** da task
46+
3. **Se a task nao for encontrada:**
47+
- Informar ao usuario
48+
- Sugerir: "Deseja criar uma nova task usando `/criar-task-linear`?"
49+
- Alternativamente, permitir continuar com titulo e descricao manuais
50+
51+
### Passo 3: Verificar commits
52+
53+
1. Buscar os commits da branch que estao a frente de develop:
54+
```bash
55+
git fetch origin develop
56+
git log origin/develop..HEAD --oneline
57+
```
58+
2. **Se nao houver commits a frente de develop:**
59+
- Informar: "Esta branch nao tem commits a frente de develop. Nao ha mudancas para abrir PR."
60+
- Parar a execucao
61+
3. **Se ja existir um PR aberto para essa branch:**
62+
- Verificar com: `gh pr list --head $(git branch --show-current) --repo Benevanio/Jobs_Scraper_Global --state open`
63+
- Se existir, informar ao usuario e perguntar se quer atualizar o PR existente ou parar
64+
65+
### Passo 4: Rodar testes
66+
67+
1. Rodar testes do backend:
68+
```bash
69+
cd backend && npm test 2>&1
70+
```
71+
2. Rodar testes do frontend:
72+
```bash
73+
cd frontend && npm test 2>&1
74+
```
75+
3. Consolidar os resultados em uma string, ex:
76+
- Se todos passaram: "Testes unitarios passando — Backend: 305/305 | Frontend: 42/42"
77+
- Se houve falhas: "Backend: 300/305 (5 falhando) | Frontend: 42/42"
78+
4. **Se testes falharem:** nao bloquear. Mostrar o resultado no preview — o usuario decide se prossegue.
79+
80+
### Passo 5: Gerar descricao do PR
81+
82+
1. Obter o diff completo contra develop:
83+
```bash
84+
git diff origin/develop..HEAD
85+
```
86+
2. Obter a lista de commits:
87+
```bash
88+
git log origin/develop..HEAD --oneline
89+
```
90+
3. Gerar um **resumo curto em linguagem natural** das mudancas:
91+
- Foco no que foi desenvolvido
92+
- Como as mudancas se relacionam com a task e o projeto
93+
- Texto conciso (3-5 frases no maximo)
94+
95+
### Passo 6: Montar e mostrar preview
96+
97+
Montar o PR completo e mostrar ao usuario:
98+
99+
**Titulo:**
100+
```
101+
PAV-XX: <titulo da task no Linear>
102+
```
103+
104+
**Target:**
105+
```
106+
Benevanio/Jobs_Scraper_Global (branch develop)
107+
```
108+
109+
**Body:**
110+
```markdown
111+
## Descricao
112+
<resumo gerado no passo 5>
113+
114+
## Linear link
115+
<URL da task no Linear>
116+
117+
## Como foi testado
118+
<resultado dos testes do passo 4>
119+
```
120+
121+
Mostrar tudo formatado e perguntar: **"O PR esta correto? Confirma a criacao? (s/n)"**
122+
123+
### Passo 7: Confirmar ou editar
124+
125+
- **Se o usuario confirmar:** seguir para o passo 8
126+
- **Se o usuario nao confirmar:**
127+
- Perguntar o que deseja alterar
128+
- Ajustar os campos conforme solicitado
129+
- Mostrar o preview novamente (voltar ao passo 6)
130+
131+
### Passo 8: Criar o PR
132+
133+
1. Criar o PR via GitHub CLI:
134+
```bash
135+
gh pr create \
136+
--repo Benevanio/Jobs_Scraper_Global \
137+
--base develop \
138+
--title "PAV-XX: <titulo>" \
139+
--body "<body completo>"
140+
```
141+
2. Confirmar ao usuario com o link do PR criado
142+
143+
## Erros comuns
144+
145+
- **Nao verificar pre-requisitos** — sempre verificar antes de iniciar
146+
- **Nao confirmar a task com o usuario** — sempre perguntar, mesmo que a branch seja sugestiva
147+
- **Criar PR sem preview** — sempre mostrar preview e aguardar confirmacao
148+
- **Bloquear por causa de testes falhando** — mostrar as falhas, mas deixar o usuario decidir
149+
- **Esquecer de buscar origin/develop atualizado** — sempre rodar `git fetch origin develop` antes de comparar

0 commit comments

Comments
 (0)