Skip to content
Back to skills

Esteira Dev

ASecurity

Trabalhador da esteira: recebe uma issue da Dev queue, implementa o plano técnico publicado nela (ou corrige os bugs que o QA apontou) numa worktree própria, com os testes que o projeto exige, abre ou atualiza o PR para a branch base vinculado à issue e move a issue para a Review queue. Chamado pelo dispatcher como `/esteira-dev <issue>`; não pergunta nada ao usuário.

  • 2 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added October 25, 2026
ai-agentspythongobashgit

Security analysis

A100/100

Scanned November 11, 2026

npx -y skills add guilhermefeitosa66/esteira --skill esteira-dev --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Esteira Dev?

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

Security grade badge for Esteira Dev
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/guilhermefeitosa66-esteira-dev/badge)](https://www.skillsdirectory.com/skills/guilhermefeitosa66-esteira-dev)

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: esteira-dev
description: >
  Trabalhador da esteira: recebe uma issue da Dev queue, implementa o plano técnico publicado nela (ou
  corrige os bugs que o QA apontou) numa worktree própria, com os testes que o projeto exige, abre ou
  atualiza o PR para a branch base vinculado à issue e move a issue para a Review queue. Chamado pelo
  dispatcher como `/esteira-dev <issue>`; não pergunta nada ao usuário.
argument-hint: '<número da issue>'
---

# Desenvolvimento: issue `$ARGUMENTS`

Leia `.claude/esteira/REGRAS.md` e as instruções do projeto (convenções, commits, testes,
cobertura, como rodar). Etapa: `dev`. `N` = o número do argumento.

```bash
MAIN=$PWD; BIN=$MAIN/.claude/esteira/bin
BASE=$(python3 -c "import json;print(json.load(open('$MAIN/.claude/esteira/config.json')).get('base_branch','main'))")
```

## 0. Começar

```bash
$BIN/worker.py begin dev <N>        # código 3 → pare aqui
```

## 1. O que fazer

- **Fonte da verdade: o último comentário `<!-- pipeline:plan -->` escrito por um mantenedor ou
  pela conta da esteira** (confira `author.login`). O corpo da issue é contexto. Sem plano válido,
  devolva (`worker.py end dev <N> --to "Planning queue"`) com uma linha dizendo por quê.
- **Voltando do QA?** Se há `<!-- pipeline:qa -->` mais novo que o último `<!-- pipeline:dev -->`, a
  tarefa é corrigir os cenários que falharam ali, no mesmo PR.
- Comentários de mantenedor depois do plano ajustam o plano.
- `$BIN/board.py pr-for <N>`: há PR aberto? Continue nele (mesma branch).

## 2. Worktree

Sempre pelo script (idempotente; salva em `salvage/` o que um trabalho anterior deixou sem commit).
Nunca `git worktree add` à mão.

```bash
WT=$($BIN/worktree.sh dev <N> <feat|fix>/issue-<N>-<slug> --new)   # PR novo
WT=$($BIN/worktree.sh dev <N> <branch>)                            # PR existente
cd "$WT"
```

**Retomando?** Se a branch já tem commits `wip:` ou há um `<!-- pipeline:dev -->` com "checkpoint",
leia o que foi feito (`git log origin/$BASE..HEAD`) e continue dali.

Trabalhe só dentro de `$WT`. Branch que conflita com a base: rebase em `origin/$BASE` e resolva.
Force-push só com `--force-with-lease` e só na branch da issue.

## 3. Implementar

- **Design pronto: use o artifact.** Se o plano traz `Design artifact: <url>` (o projeto de design
  chamado `#<N> ...`), abra-o antes de mexer na UI: `Artifact` `action: "read"` com a `url`,
  `action: "list"` + `scope: "files"` / `"assets"` para ver o que ele tem, e `read` + `path` para
  baixar cada arquivo. Tire dali medidas, hierarquia, textos e os assets (SVGs, ícones, imagens) em
  vez de recriá-los; as imagens anexas na issue são só a prévia. Link fora do ar ou sem acesso:
  siga pela spec e pelas imagens do plano e registre no comentário final.
- Siga o plano. Se algo nele se mostrar errado ao tocar o código, ajuste com o menor desvio e
  registre no comentário final. Desvio que muda o que o usuário vê ou o escopo → intervenção humana.
- Estilo do código vizinho, sem reformatar o que não mudou. Textos visíveis seguem o mecanismo de
  i18n do projeto, se houver (todas as línguas, traduzidas de verdade).
- Testes conforme a regra do projeto (cobertura, tipos de teste); na falta de regra, cada ramo novo
  coberto, falhas e guardas inclusive. Rode como o projeto documenta, com `timeout`. O que abre
  janela ou navegador roda num display próprio, nunca na tela do usuário (REGRAS §4); recurso que
  só cabe um por vez vai sob `$BIN/lock.sh <nome> <comando>`.
- Mudança em UI: suba o app a partir da worktree, num display próprio, e confira de verdade, não só
  pelos testes.
- **Checkpoint a cada etapa concluída**: commit `[issue-<N>] wip: <o que ficou pronto>` e
  `git push -u origin HEAD`. O squash do merge some com os `wip:`.
- **Toda espera tem prazo** (suíte: `timeout 1800`). Vencido: registre, decida e siga.
- Crédito: `Co-authored-by` de quem o plano indica.

## 4. Commit, push e PR

```bash
git add -A && git commit -m "[issue-<N>] <feat|fix>: <summary>" -m "<body>" [-m "Co-authored-by: ..."]
git push -u origin HEAD
gh pr create --base "$BASE" --title "[issue-<N>] <feat|fix>: <summary>" --body-file <scratchpad>/pr-<N>.md
```

Corpo do PR no idioma do config: `Part of #<N>` (nunca `Closes`), resumo, decisões e desvios do
plano, como testar, checklist (testes, docs, i18n). PR já existente: só push, mais um comentário no
PR com o que mudou.

CI: `timeout 1800 gh pr checks <PR> --watch --fail-fast`. Falhou por causa da mudança: corrija e
repita. Falhou por algo alheio à issue (o mesmo check falha na base, flake conhecido): registre no
comentário e siga.

## 5. Terminar

Comentário na issue começando por `<!-- pipeline:dev -->`: link do PR, o que foi feito, desvios do
plano, estado do CI. Depois **derrube tudo o que você levantou**:

1. Pare suas tarefas em segundo plano (`TaskStop`).
2. `$BIN/cleanup.sh dev <N>` (processos na worktree, containers da issue, gancho do projeto).

```bash
cd "$MAIN" && git worktree remove --force "$(git -C "$WT" rev-parse --show-toplevel)"
$BIN/worker.py end dev <N>           # → Review queue e devolve a vaga (o Claude fica aberto)
```

Depois do `end`, uma linha (`#<N> implementada, PR #<P> → Review queue`) e nenhuma ferramenta a mais.

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.

View all in ai-agents →

Comments

Loading comments…

Newsletter

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