# Evaluate

Use when the user wants proof that finished work meets its acceptance criteria, not...

- Repository: https://github.com/Q00/ouroboros (6302 stars)
- Category: Testing
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add Q00/ouroboros --skill evaluate -g -a claude-code -y`
Codex: `npx skills add Q00/ouroboros --skill evaluate -g -a codex -y`
Cursor: `npx skills add Q00/ouroboros --skill evaluate -g -a cursor -y`
Gemini CLI: `npx skills add Q00/ouroboros --skill evaluate -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add Q00/ouroboros`

## Description

Use when the user wants proof that finished work meets its acceptance criteria, not just that tests pass: 'verify it is actually done', 'check it against the spec', 'evaluate the run'. Runs mechanical checks, a semantic review per criterion, and multi-model consensus when uncertain. With execution.auto_evolve on (the default), a rejected result with a Seed continues into a Ralph fix loop; pass auto_evolve: false to verify only.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# /ouroboros:evaluate

Evaluate an execution session with the three-stage verification pipeline.

```
/ouroboros:evaluate <session_id> [artifact]
```

## Stage authority

1. **Mechanical** (lint, build, test, static analysis, coverage; no model cost): the only stage that can grant approval. At least one configured check must run and all must pass.
2. **Semantic** (AC compliance, goal alignment, drift): advisory. Can withhold approval and give feedback; cannot grant it.
3. **Consensus** (multi-model, only on uncertainty or request): advisory. A rejection withholds approval; an approval cannot grant it or lift a Stage 2 block.

Without an executed Stage 1 check the outcome is `acceptance_state: unverified` (not approved), with the model review attached as feedback.

## Instructions

### Loading MCP tools (deferred-schema guard)

Ouroboros tools may be deferred, and a schema loaded on one turn can unload by the next. Immediately before each `ouroboros_*` call, load it with the active runtime's tool-discovery capability: `"+ouroboros evaluate"` for `ouroboros_start_evaluate`; `"+ouroboros job"` for `ouroboros_job_wait`, `ouroboros_job_status`, and `ouroboros_job_result`. A call whose schema is not loaded fails with "Invalid tool parameters". If the tool is already callable, discovery is a no-op and an empty result is expected. Use the fallback only when the tool is genuinely absent.

### Steps

The rest: https://github.com/Q00/ouroboros/blob/HEAD/skills/evaluate/SKILL.md
