Gentleman-Programming/gentle-ai-work-unit-commits

Planeje commits como unidades de trabalho revisáveis. Gatilho: implementação, divisão de commits, PRs encadeados ou manter testes e documentação junto com o código.

O que é gentle-ai-work-unit-commits?

Esta skill orienta agentes de IA e desenvolvedores a estruturarem commits e Pull Requests (PRs) como unidades de trabalho coesas e revisáveis, em vez de agrupar alterações por tipo de arquivo. Ela é acionada durante tarefas de implementação, divisão de commits ou preparação de PRs encadeados, garantindo que cada commit conte uma história clara, inclua testes e documentação relevantes, e mantenha a carga cognitiva do revisor gerenciável. A skill impõe regras críticas, como não commitar por tipo de arquivo (ex.: modelos, depois serviços, depois testes) e manter o limite de linhas alteradas por PR em 400 (ajustável via `review_budget_lines`). Além disso, integra-se com a metodologia SDD (Skill-Driven Development): avalia o riscos de carga de trabalho, sugere estratégias de entrega (PR único, cadeia automática, exceção de tamanho) e define quando parar de fatiar o trabalho. Funciona em qualquer plataforma que suporte skills de agente de IA, como Claude Code, Cursor, Codex ou similares, e fornece uma lista de verificação pré-commit e comandos Git para revisão.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Gentleman-Programming/gentle-shell/tree/main/skills/work-unit-commits

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Quando Usar

Carregue esta skill ao decidir o que deve pertencer a cada commit ou PR.

Use-a para:

  • Dividir uma funcionalidade em trabalho revisável.
  • Preparar commits antes de abrir um PR.
  • Transformar uma grande alteração em PRs encadeados ou empilhados.
  • Manter a carga cognitiva do revisor saudável.
  • Aplicar tarefas SDD sem produzir acidentalmente um PR com mais de 400 linhas alteradas.

Regras Críticas

RegraRequisito
Commitar por unidade de trabalhoUm commit representa uma unidade de comportamento, correção, migração ou documentação entregável.
Não commitar por tipo de arquivoEvite modelos, depois serviços, depois testes se nenhum funcionar sozinho.
Manter testes com o códigoTestes pertencem ao mesmo commit que o comportamento que verificam.
Manter documentação com a alteração visível ao usuárioA documentação pertence à funcionalidade ou fluxo que explica.
Contar uma históriaUm revisor deve entender por que cada commit existe a partir de seu diff e mensagem.
Pronto para PR futuroCada commit deve ser um candidato a PR encadeado quando a alteração crescer.
Proteção de carga SDDSe as tarefas SDD preveem uma alteração >400 linhas, agrupe commits em fatias de PR encadeado antes da implementação.
Orçamento não é código-golfeNunca reduza um diff excluindo comentários, linhas em branco, documentação ou testes, ou comprimindo código, para caber no orçamento de revisão (400 por padrão, ou review_budget_lines da sessão). Fatias por unidade de trabalho ou reporte o excesso.

Lista de Verificação da Unidade de Trabalho

Antes de commitar, confirme:

  • O commit tem um propósito claro.
  • O repositório ainda faz sentido após aplicar apenas este commit.
  • Testes ou documentação para esta unidade estão incluídos quando relevantes.
  • O rollback é razoável sem reverter trabalho não relacionado.
  • A mensagem do commit explica o resultado, não a lista de arquivos.

Exemplos de Divisão

Divisão fracaMelhor divisão em unidade de trabalho
adicionar modelosfeat(auth): adicionar modelo de domínio de validação de token e testes
adicionar serviçosfeat(auth): integrar validação de token no fluxo de login
adicionar testesTestes incluídos em cada commit de comportamento
atualizar docsDocumentos incluídos com a alteração voltada ao usuário que explicam

Relação com PRs

Use commits de unidade de trabalho como base para PRs encadeados:

  1. Construa a menor unidade de trabalho independente.
  2. Inclua verificação para essa unidade.
  3. Commite com uma mensagem de commit convencional.
  4. Se o PR se aproximar de 400 linhas alteradas, promova commits ou grupos de commits em PRs encadeados.

Relação com SDD

Quando as sdd-tasks produzem uma Previsão de Carga de Revisão:

  • Baixo risco: mantenha commits de unidade de trabalho dentro de um PR.
  • Médio risco: commite por unidade de trabalho e monitore as linhas alteradas antes da criação do PR.
  • Alto risco: siga a delivery_strategy do SDD — pergunte em ask-on-risk, fatie automaticamente em auto-chain, exija size:exception em single-pr acima do orçamento, ou registre size:exception aceito em exception-ok.
  • A divisão é limitada: após uma passagem honesta de fatiamento, se nenhuma divisão de unidade de trabalho coesa caber no orçamento, pare e reporte a menor contagem honesta com uma recomendação de size:exception. Não itere encolhendo o código para atingir o número.

Cada unidade de trabalho SDD deve mapear-se claramente para um commit ou PR com:

  • estado inicial claro,
  • estado final claro,
  • verificação na mesma unidade,
  • rollback que não remova trabalho não relacionado.

Comandos

# Revisar a história antes de commitar
git diff --stat
git diff --cached --stat

# Verificar o estilo do commit recente
git log --oneline -5

Individual skills in this repo

This repo contains 7 individual skills — each has its own dedicated page.

Habilidades Relacionadas