Ir para o conteúdo

Skills

chimera-run-the-projects-own-gate-command

Rode o comando de verificação do projeto literalmente — mesmo escopo, mesmas flags. A variante quase idêntica que você improvisa mente nas duas direções.

PadrãoProcedência: cleanEstado: activev0.1.0 · Apache-2.0

Conferida por quem revisou e leu o cartão, não reivindicada pelo próprio arquivo. Um cartão que o agente destila durante uma execução que consumiu conteúdo não confiável nasce contaminado e fica retido para revisão antes de alguma vez ser recuperado.

Quando ele vem à mente

  • prestes a rodar lint ou checagem de tipos
  • verificando antes de um commit ou PR
  • o CI falhou, mas localmente passou
  • adicionando um escopo ou uma flag de rigor
  • dizendo que o portão está verde

Evite e Verifique são onde costuma estar o valor. Faça é a seção que todo mundo escreve.

O corpo do cartão acima é uma tradução. O original em inglês é o que a CLI importa, o que o agente lê em execução e o que o hash abaixo atesta.

Gatilho

Você está prestes a rodar o gate de qualidade do projeto — lint, checagem de tipos, testes — e reportar o resultado como evidência de que uma mudança é segura. A tentação é estreitá-lo ("eu só toquei em chimera/") ou apertá-lo ("--strict certamente é melhor").

Não se aplica a exploração. Rodar pytest tests/test_governed_surfaces.py -x enquanto se itera sobre um arquivo é a coisa certa a fazer; a regra é sobre o que você pode então chamar de gate. Uma execução estreitada é um apoio para depurar, nunca a verificação.

Faça

  1. Encontre onde o comando está escrito, e nomeie UMA fonte como canônica. No Chimera é o alvo check do Makefilemake check — porque um alvo é executável e uma linha em prosa é uma cópia de um. As três checagens que ele roda são ruff check ., mypy chimera e pytest -q.
  2. Rode a forma canônica byte a byte. Sem argumento de caminho a mais, sem flag a mais, sem trocar o runner. Cuidado: uma cópia em prosa pode diferir de maneiras que parecem cosméticas e não são: Makefile:21 o embrulha como uv run --no-sync, CONTRIBUTING.md:105 como uv run --extra dev --extra desktop. Mesma ferramenta, ambientes diferentes — que é exatamente por que uma delas tem de ser a fonte.
  3. Se duas fontes discordarem, trate o workflow de CI como autoridade, rode aquele, e conserte o doc desatualizado no mesmo PR — o CONTRIBUTING.md carregou uma linha errada com mypy --strict por um tempo, e uma instrução desatualizada se propaga para todo mundo que a lê.
  4. Se o comando canônico não roda no seu ambiente, diga que o gate não rodou. No Windows o .venv local está quebrado (o litellm quer Rust/MSVC), então o gate roda no WSL — mudar o shell é permitido, editar o comando não é.
  5. Reporte o comando e a saída dele na íntegra, não um resumo de como foi.

Evite

Dois quase-acertos, ambos reais, ambos na mesma sessão, e note que eles falham em direções opostas:

mypy --strict chimera      # WRONG — lies toward failure
mypy chimera               # right

A flag explícita sobrepõe o próprio warn_unused_ignores = false do projeto no pyproject.toml e reporta uns quinze erros unused-ignore em arquivos que ninguém tocou. Isso quase virou um relatório de bug aberto contra código limpo.

ruff check chimera tests   # WRONG — lies toward success
ruff check .               # right

O escopo estreitado não reporta um B023 (uma closure capturando uma variável de laço) que ruff check . reporta, porque o escopo muda quais arquivos — e portanto quais configurações de regra por diretório — entram em jogo. O CI falhou num PR cujo "gate" local estava verde.

O mecanismo em comum: a flag decide qual configuração vence, e o escopo decide quais regras disparam. Nenhuma das duas é uma diferença cosmética, e as duas variantes se parecem o bastante com o comando real para que a saída seja lida como autoridade.

Verifique

Aponte o arquivo e a linha em que o seu comando está escrito. Makefile:21, CONTRIBUTING.md:105. Se você não consegue, você o improvisou.

A pergunta binária: a string que você digitou poderia ser colada na receita do check com zero edições? Se o seu comando tem um argumento ou uma flag que a receita não tem, a resposta é não, e o que você rodou foi uma checagem diferente que por acaso compartilha o nome.

Risco

O comando canônico costuma ser o mais lento, e uma regra que proíbe a variante rápida empurra na direção de não rodar nada. Esse é um desfecho pior que uma execução estreitada honestamente rotulada.

Meça o custo antes de decidir que a regra é barata, e meça de novo conforme a suíte cresce. O primeiro rascunho deste card dizia que a suíte completa do Chimera levava "uns quinze segundos" — um número que foi verdade uma vez e tinha derivado para uns 100 segundos ao longo de quatro execuções medidas na época em que o card foi escrito. Um card sobre não improvisar comandos é um mau lugar para publicar um número que não sobrevive a rodar o comando.

E a própria receita pode estar errada. Segui-la à risca significa herdar os pontos cegos dela: make check não vai te dizer que um teste lê um bench/local_lift/results/paired.json que está no gitignore e que um clone novo não tem. A correção para um gate ruim é mudar a receita num PR, não rodar em silêncio um gate privado melhor — uma melhoria privada protege exatamente uma pessoa e deixa o CI, e todo mundo mais, no comando antigo.

Como usar

O cartão é dado. Clone o repositório e importe pelo caminho — o que chega pela rede é tratado como contaminado e fica retido para aprovação, que é o comportamento desejável e a razão de não haver um instalador de uma linha aqui.

git clone https://github.com/brcampidelli/chimera-agent.git
chimera skills-import chimera-agent/skills/chimera-run-the-projects-own-gate-command/SKILL.md

Integridade

SHA-256 do arquivo como publicado. Quem importa pode conferir que o que recebeu é o que esta página mostrou.

12e60e2bbe0fa29b4a242ec429a1897741266f43812148c3a55356f77de227b9

Leia o cartão no repositório