harness

Kit pessoal para agentes com skills reutilizáveis, fluxos de trabalho e uma fábrica de software mínima.

Criei o Harness para manter meu fluxo de desenvolvimento consistente entre projetos. Ele reúne as skills e os fluxos de revisão que uso todos os dias, além do Factory: um caminho persistente de um item de trabalho até um pull request revisado.

O Factory cuida da triagem, do planejamento, da implementação e da revisão, uma etapa por vez. Registra cada resultado, pausa quando preciso tomar uma decisão e publica apenas o commit exato que passou pela revisão. Ele nunca faz o merge do pull request.

Veja o código no GitHub

Como as peças se encaixam

  • Factory. O caminho completo de um item de trabalho até um pull request revisado. Começa com uma issue do Linear ou um item local, encaminha o trabalho para planejamento ou diretamente para implementação, executa revisões e pode publicar o commit exato que passou. Cada execução processa no máximo uma etapa pendente e termina.
  • Revisões. change-review e plan-review também funcionam de forma independente. Usam papéis de revisão separados e deixam achados estruturados e artefatos no repositório de destino.
  • Skills. Componentes reutilizáveis no formato Agent Skills para planejamento, diagnóstico, passagens de contexto, revisões e outras tarefas repetíveis. Algumas incluem seus próprios scripts, como a CLI sessions para buscar trabalhos anteriores.
  • Provedores e executor. Cursor e Codex usam os mesmos fluxos. A CLI gerencia as configurações do repositório e executa o trabalho. Revisões independentes gravam em .harness/runs/; o Factory mantém seu estado e suas evidências em um armazenamento persistente separado.

Como eu uso

Para uma mudança pequena, executo change-review antes de abrir ou integrar um pull request. Ele executa revisores de implementação e de qualidade de código sobre o mesmo diff. Corrijo o que importa e executo de novo.

Para trabalhos maiores, começo com uma issue do Linear. O Factory leva o mesmo item por triagem, planejamento, implementação e revisão. Se uma revisão exigir mudanças, ele para e pede que eu revise o trabalho ou avalie o mesmo candidato novamente. Quando o candidato passa, peço ao Factory que publique o pull request. Continuo fazendo o merge pessoalmente.