Communitygithub.com

eval-harness

Framework formal de avaliação para sessões do Claude Code, implementando princípios de desenvolvimento orientado por avaliações (EDD). Use quando um fluxo de trabalho do Claude Code precisar de uma avaliação formal antes de ser confiável ou alterado.

O que é eval-harness?

O Eval Harness Skill é um framework de avaliação formal projetado para sessões do Claude Code, incorporando princípios de desenvolvimento orientado por avaliações (EDD). Ele permite que desenvolvedores definam critérios de aprovação/reprovação para tarefas de agentes de IA, meçam a confiabilidade com métricas pass@k e criem suítes de teste de regressão para mudanças em prompts ou agentes. O skill suporta vários tipos de avaliação — testes de capacidade, regressão e avaliações de produto — e três tipos de avaliadores (baseados em código, modelo e humano) para validar rigorosamente as saídas da IA. Ele se integra perfeitamente aos fluxos de trabalho do Claude Code através de comandos slash, armazena artefatos de avaliação em um layout padronizado dentro do projeto, e inclui utilitários mecânicos para encapsulamento, inspeção, reprodução e verificação de recibos offline. A filosofia central é tratar avaliações como 'testes unitários do desenvolvimento de IA', garantindo que o comportamento esperado seja definido antes da implementação, as avaliações sejam executadas continuamente, e as regressões sejam rastreadas a cada mudança. A partir da versão 1.8, também oferece orientação sobre métricas pass@k, anti-padrões e layouts mínimos de artefatos de avaliação.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/affaan-m/everything-claude-code/tree/main/skills/eval-harness

Perguntar na sua IA favorita

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

Documentação

Habilidade de Eval Harness

Um framework formal de avaliação para sessões do Claude Code, implementando princípios de desenvolvimento orientado por avaliações (EDD).

Quando Ativar

  • Configurando desenvolvimento orientado por avaliações (EDD) para fluxos de trabalho assistidos por IA
  • Definindo critérios de aprovação/reprovação para conclusão de tarefas do Claude Code
  • Medindo a confiabilidade do agente com métricas pass@k
  • Criando suítes de teste de regressão para alterações em prompts ou agentes
  • Avaliando o desempenho do agente entre versões de modelo

Filosofia

O Desenvolvimento Orientado por Avaliações trata as avaliações como os "testes unitários do desenvolvimento de IA":

  • Defina o comportamento esperado ANTES da implementação
  • Execute avaliações continuamente durante o desenvolvimento
  • Acompanhe regressões a cada mudança
  • Use métricas pass@k para medição de confiabilidade

Tipos de Avaliação

Avaliações de Capacidade

Testam se o Claude pode fazer algo que não podia antes:

[AVALIAÇÃO DE CAPACIDADE: nome-da-funcionalidade]
Tarefa: Descrição do que o Claude deve realizar
Critérios de Sucesso:
  - [ ] Critério 1
  - [ ] Critério 2
  - [ ] Critério 3
Saída Esperada: Descrição do resultado esperado

Avaliações de Regressão

Garantem que mudanças não quebrem funcionalidades existentes:

[AVALIAÇÃO DE REGRESSÃO: nome-da-funcionalidade]
Linha de Base: SHA ou nome do checkpoint
Testes:
  - teste-existente-1: PASS/FAIL
  - teste-existente-2: PASS/FAIL
  - teste-existente-3: PASS/FAIL
Resultado: X/Y aprovados (anteriormente Y/Y)

Tipos de Avaliadores

1. Avaliador Baseado em Código

Verificações determinísticas usando código:

# Verifica se o arquivo contém o padrão esperado
grep -q "export function handleAuth" src/auth.ts && echo "PASS" || echo "FAIL"

# Verifica se os testes passam
npm test -- --testPathPattern="auth" && echo "PASS" || echo "FAIL"

# Verifica se a build é bem-sucedida
npm run build && echo "PASS" || echo "FAIL"

2. Avaliador Baseado em Modelo

Use o Claude para avaliar saídas abertas:

[PROMPT DO AVALIADOR DE MODELO]
Avalie a seguinte mudança de código:
1. Ela resolve o problema declarado?
2. Está bem estruturada?
3. Os casos de borda são tratados?
4. O tratamento de erros é adequado?

Pontuação: 1-5 (1=ruim, 5=excelente)
Justificativa: [explicação]

3. Avaliador Humano

Sinalizar para revisão manual:

[REVISÃO HUMANA NECESSÁRIA]
Alteração: Descrição do que mudou
Motivo: Por que a revisão humana é necessária
Nível de Risco: BAIXO/MÉDIO/ALTO

Métricas

pass@k

"Pelo menos um sucesso em k tentativas"

  • pass@1: Taxa de sucesso na primeira tentativa
  • pass@3: Sucesso dentro de 3 tentativas
  • Alvo típico: pass@3 > 90%

pass^k

"Todas as k tentativas são bem-sucedidas"

  • Critério mais alto para confiabilidade
  • pass^3: 3 sucessos consecutivos
  • Use para caminhos críticos

Fluxo de Trabalho de Avaliação

1. Definir (Antes de Codificar)

## DEFINIÇÃO DE AVALIAÇÃO: funcionalidade-xyz

### Avaliações de Capacidade
1. Pode criar nova conta de usuário
2. Pode validar formato de e-mail
3. Pode hash de senha de forma segura

### Avaliações de Regressão
1. Login existente ainda funciona
2. Gerenciamento de sessão inalterado
3. Fluxo de logout intacto

### Métricas de Sucesso
- pass@3 > 90% para avaliações de capacidade
- pass^3 = 100% para avaliações de regressão

2. Implementar

Escreva código para passar nas avaliações definidas.

3. Avaliar

# Executar avaliações de capacidade
[Executar cada avaliação de capacidade, registrar PASS/FAIL]

# Executar avaliações de regressão
npm test -- --testPathPattern="existente"

# Gerar relatório

4. Relatar

RELATÓRIO DE AVALIAÇÃO: funcionalidade-xyz
========================

Avaliações de Capacidade:
  criar-usuário:     PASS (pass@1)
  validar-email:  PASS (pass@2)
  hash-senha:   PASS (pass@1)
  Geral:         3/3 aprovados

Avaliações de Regressão:
  fluxo-login:      PASS
  gerenciamento-sessão:    PASS
  fluxo-logout:     PASS
  Geral:         3/3 aprovados

Métricas:
  pass@1: 67% (2/3)
  pass@3: 100% (3/3)

Status: PRONTO PARA REVISÃO

Padrões de Integração

Pré-Implementação

/eval define nome-da-funcionalidade

Cria arquivo de definição de avaliação em .claude/evals/nome-da-funcionalidade.md

Durante a Implementação

/eval check nome-da-funcionalidade

Executa as avaliações atuais e relata o status

Pós-Implementação

/eval report nome-da-funcionalidade

Gera relatório completo da avaliação

Armazenamento de Avaliações

Armazene avaliações no projeto:

.claude/
  evals/
    funcionalidade-xyz.md      # Definição da avaliação
    funcionalidade-xyz.log     # Histórico de execução da avaliação
    baseline.json       # Linhas de base de regressão

Melhores Práticas

  1. Defina avaliações ANTES de codificar - Força pensamento claro sobre critérios de sucesso
  2. Execute avaliações com frequência - Detecte regressões cedo
  3. Acompanhe pass@k ao longo do tempo - Monitore tendências de confiabilidade
  4. Use avaliadores de código quando possível - Determinístico > Probabilístico
  5. Revisão humana para segurança - Nunca automatize completamente verificações de segurança
  6. Mantenha as avaliações rápidas - Avaliações lentas não são executadas
  7. Versionar avaliações com código - Avaliações são artefatos de primeira classe

Exemplo: Adicionando Autenticação

## AVALIAÇÃO: adicionar-autenticação

### Fase 1: Definir (10 min)
Avaliações de Capacidade:
- [ ] Usuário pode se registrar com e-mail/senha
- [ ] Usuário pode fazer login com credenciais válidas
- [ ] Credenciais inválidas são rejeitadas com erro apropriado
- [ ] Sessões persistem após recarregar a página
- [ ] Logout limpa a sessão

Avaliações de Regressão:
- [ ] Rotas públicas ainda estão acessíveis
- [ ] Respostas da API inalteradas
- [ ] Esquema do banco de dados compatível

### Fase 2: Implementar (variável)
[Escrever código]

### Fase 3: Avaliar
Executar: /eval check adicionar-autenticação

### Fase 4: Relatar
RELATÓRIO DE AVALIAÇÃO: adicionar-autenticação
==============================
Capacidade: 5/5 aprovados (pass@3: 100%)
Regressão: 3/3 aprovados (pass^3: 100%)
Status: PODE PUBLICAR

Utilitários Locais do Framework

Os utilitários mecânicos são fornecidos em scripts/lib/eval-harness/:

node scripts/eval-harness.js example
  • Cápsula: diário vinculado por hash com cinco linhagens e verificações de integridade local.
  • Inspeção: resumos de origem, caminhos de variantes validados e avisos sintáticos.
  • Reprodução: ferramentas declaradas e fixtures endereçadas por conteúdo. Fixtures ausentes falham fechadas; SE3 e superiores são recusados na reprodução. O modo de gravação invoca a implementação registrada, portanto, registre apenas funções confiáveis.
  • Recibo: verificação offline de cápsula e bytes de artefato, com verificações nomeadas.
  • Preparação retrospectiva: node scripts/eval-harness.js capsule group <dir> [<dir> ...] agrupa de 1 a 100 snapshots de cápsula local explicitamente selecionados e verificados de uma família de tarefas pela versão declarada do harness. Snapshots repetidos contam uma vez; identidades conflitantes ou cápsulas inválidas rejeitam todo o relatório. Isto é contagem de registros somente leitura, sem novos lançamentos, pontuações ou promoções. Use cápsulas pequenas e quiescentes. Cargas úteis, argumentos de diretório e IDs brutos de execução/cápsula são omitidos, mas rótulos de família de tarefas/versão são textuais e referências de resumo são vinculáveis; revise-os antes de compartilhar. A validação operacional permanece pendente.

A execução de candidatos está desabilitada em todos os SOs porque nenhum backend de contenção de SO verificado está implementado. gate run, runGate, runVariant, lançamento filho direto, e o efeito obsoleto preload recusam com gate.isolation_required. Nenhuma flag de confiança ou executor fornecido pelo chamador pode contornar a recusa. O exemplo registra essa recusa e inspeciona a origem sem executá-la ou pontuá-la.

Não apresente avisos estáticos, um recibo de cápsula ou testes de utilitário bem-sucedidos como evidência de contenção ou promoção de candidato. Um gate futuro requer um limite de SO revisado de forma independente, verificador protegido e canais de auditoria, e rejeição fatal de linha de base. Consulte docs/architecture/eval-harness-frameworks.md.

Avaliações de Produto (v1.8)

Use avaliações de produto quando a qualidade do comportamento não puder ser capturada apenas por testes unitários.

Tipos de Avaliadores

  1. Avaliador de código (asserções determinísticas)
  2. Avaliador de regras (restrições de regex/esquema)
  3. Avaliador de modelo (rubrica LLM-como-juiz)
  4. Avaliador humano (arbitragem manual para saídas ambíguas)

Orientação pass@k

  • pass@1: confiabilidade direta
  • pass@3: confiabilidade prática sob tentativas controladas
  • pass^3: teste de estabilidade (todas as 3 execuções devem passar)

Limiares recomendados:

  • Avaliações de capacidade: pass@3 >= 0.90
  • Avaliações de regressão: pass^3 = 1.00 para caminhos críticos de lançamento

Anti-Padrões de Avaliação

  • Ajustar excessivamente prompts para exemplos de avaliação conhecidos
  • Medir apenas saídas de caminho feliz
  • Ignorar deriva de custo e latência enquanto persegue taxas de aprovação
  • Permitir avaliadores instáveis em gates de lançamento

Layout Mínimo de Artefatos de Avaliação

  • .claude/evals/<funcionalidade>.md definição
  • .claude/evals/<funcionalidade>.log histórico de execução
  • docs/releases/<versão>/eval-summary.md snapshot de lançamento

Individual skills in this repo

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

accessibility

Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA. Use when building or auditing UI that must meet WCAG 2.2 Level AA, or when reviewing a change for keyboard, contrast, or screen-reader support.

affaan-m/claude-api

Anthropic Claude API patterns for Python and TypeScript. Covers Messages API, streaming, tool use, vision, extended thinking, batches, prompt caching, and Claude Agent SDK. Use when building applications with the Claude API or Anthropic SDKs.

affaan-m/everything-claude-code

End-to-end marketing campaign planning and execution. Covers audience research, positioning, campaign angle definition, landing page copy, email sequences, social posts, ad copy, short-form video scripts, and content calendars. Use as the orchestration layer for multi-channel product launches. Use when planning or executing a multi-channel product launch, or producing landing page, email, social, or ad copy.

affaan-m/everything-claude-code

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/everything-claude-code-conventions

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/frontend-design

Create distinctive, production-grade frontend interfaces with high design quality. Use when the user asks to build web components, pages, or applications and the visual direction matters as much as the code quality.

affaan-m/gget

gget CLI and Python workflow for quick genomic database queries, sequence lookup, BLAST-style searches, enrichment checks, and reproducible bioinformatics evidence logs.

affaan-m/literature-review

Systematic literature-review workflow for academic, biomedical, technical, and scientific topics, including search planning, source screening, synthesis, citation checks, and evidence logging.

affaan-m/motion-ui

Production-ready UI motion system for React/Next.js. Use when implementing animations, transitions, or motion patterns.

affaan-m/project-guidelines-example

Example project-specific skill template based on a real production application.

affaan-m/pubmed-database

Direct PubMed and NCBI E-utilities search workflows for biomedical literature, MeSH queries, PMID lookup, citation retrieval, and API-backed literature monitoring.

affaan-m/scholar-evaluation

Structured scholarly-work evaluation for papers, proposals, literature reviews, methods sections, evidence quality, citation support, and research-writing feedback.

affaan-m/uspto-database

USPTO patent and trademark data workflow for official record lookup, PatentSearch queries, TSDR checks, assignment data, and reproducible IP research logs.

agent-architecture-audit

Full-stack diagnostic for agent and LLM applications. Audits the 12-layer agent stack for wrapper regression, memory pollution, tool discipline failures, hidden repair loops, and rendering corruption. Produces severity-ranked findings with code-first fixes. Essential for developers building agent applications, autonomous loops, or any LLM-powered feature. Use when an agent or LLM feature misbehaves and the failing layer is unknown, or before shipping an agent stack.

agent-eval

Head-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics. Use when choosing between coding agents, or when a change to an agent setup needs measured pass rate, cost, and time rather than an impression.

agent-harness-construction

Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates. Use when defining or revising an agent

agentic-engineering

Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when planning or executing engineering work that agents will carry out end to end.

agentic-os

Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling.

agent-introspection-debugging

Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.

agent-payment-x402

Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments / OKX Agent Payments Protocol. Use when an agent must pay for something itself and needs per-task budgets, spending controls, and a non-custodial wallet.

Habilidades Relacionadas