evaluate
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…
Skill by Q00
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/q00-evaluate
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: testing, llm-evaluation
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/evaluate
What's inside
- Skill name
evaluate- 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.
- License
- MIT
- Instructions
- 67 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# /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
1. **Session**: use the given `session_id`, else the most recent execution session id in the conversation.
2. **Artifact**: a file the user names (read it with the active runtime's `inspect_code` capability), else recent execution output; ask with `ask_user` if unclear.
2.5. **Acting verification** (behavior-bearing work): Stage 1 already runs build/test, so go further when the runtime can act. Run the result and observe the real effect (command output with `run_shell`, the endpoint's response, the rendered UI) instead of reasoning over the diff, ideally in one verification child via `orchestrate_subagents`, or inline when spawning is restricted. Probe the ACs against observed behavior and the adversarial classes (`misleading_output`, `hung_command`, `stale_state`, `dirty_worktree`, ...). Put the captured evidence (commands, outputs, artifact paths) into `artifact`. If the runtime cannot act, say behavior was not observed.
3. **Start** the background evaluation so a rejected verdict can continue through the configured Ralph chain:
```
Tool: ouroboros_start_evaluate
Arguments:
session_id: <session ID>
artifact: <the code/output to evaluate, plus observed-behaviour evidence from 2.5>
seed_content: <original seed YAML, if available>
acceptance_criterion: <specific AC to check, optional>
artifact_type: "code" (or "docs", "config")
working_dir: <absolute project root, recommended>
trigger_consensus: false (true if user requests Stage 3)
auto_evolve: <optional override; omit to use execution.auto_evolve>
```
`working_dir` sets both Stage 1 command execution and Stage 2 source visibility; pass the absolute project root whenever known.
4. **Observe the job**: the start result carries the observer contract in `response.meta.job_observer` and in a final `<!-- ouroboros-job-observer-v1 base64 ... -->` content sentinel. If the structured meta is missing, recover the contract from the sentinel and fail closed unless there is exactly one sentinel at the end of the text, its bounded payload decodes to an object whose only key is `job_observer`, that contract passes canonical v1 validation (it equals, field for field, the v1 contract the server builds from its own `job_id`, `cursor`, `session_id`, `execution_id`, and `follow_result_job_keys`), its job identity matches the visible start receipt, and it does not differ from any structured contract; never rebuild it from visible IDs. With a valid contract, hand it unchanged to exactly one read-only observer child; its instructions already follow `chained_ralph_job_id` through `follow_result_job_keys`, and the main session must not poll the same job. Without a child session, catch up with `ouroboros_job_status` / `ouroboros_job_result` on the next turn or an explicit status request, and wait live with `ouroboros_job_wait` only when the user asked to watch. Present the convergence outcome only after any chained Ralph job is terminal. `chained_ralph_skipped: seed_unavailable` means no Seed was available: keep the rejected verdict and say continuation was safely skipped. In OpenCode plugin mode with automatic evolution disabled, the plugin child is the terminal surface and `job_id` is `None`.
5. **Present** each stage's result, the final approval decision, and on rejection the reason and suggested fixes. Pick the next action from the outcome:
- approved: accept, or `ooo evolve` to refine further
- Stage 1 rejected with `code_changes_detected: true`: fix the build/test failures, then `ooo evaluate`, or `ooo ralph` for an automated fix loop
- Stage 1 rejected with `code_changes_detected: false`: `ooo run` first to produce code
- Stage 2 rejected: `ooo run` with fixes, or `ooo evolve`
- Stage 3 rejected: `ooo interview` to re-examine requirements, or `ooo unstuck`
- `acceptance_state: unverified`: add executable checks to `.ouroboros/mechanical.toml` (or run `ouroboros detect`), then `ooo evaluate`; the semantic review is feedback, not a verdict
### Fallback (no Ouroboros MCP server)
Adopt the `evaluator` role yourself with the prompt the MCP server uses: `$OUROBOROS_AGENTS_DIR/evaluator.md` when that override is set; else the installed package's copy, printed with `run_shell`:
```bash
uvx --isolated --python '>=3.12' --from ouroboros-ai python -c "import importlib.resources as r, sys; print(r.files('ouroboros.agents').joinpath(sys.argv[1]).read_text(encoding='utf-8'))" evaluator.md
```
else `src/ouroboros/agents/evaluator.md` in a source checkout.
Give a qualitative, advisory evaluation against the Seed (no numerical scoring and no approval authority without the Python core).
## RFC #1392 State Breadcrumb Footer
End the final response with exactly one line `◆ <current state> → next: <recommended action>`. Derive the state from live session state via `ouroboros_session_status` when available, otherwise from this skill's actual outcome. Never use a linear `Step N of M` footer; when the next step is a real choice, list 2-3 options.From Q00/ouroboros, MIT.
More from Q00/ouroboros
- 0.848score
auto
Q00
Use when the work spans several files or replaces a framework, language, auth, storage, or API layer (rewrites and migrations included), and the user wants it…
SkillAFreshness: A★ 6.3KClaude Code +9 - 0.848score
ooo
Q00
Start Ouroboros onboarding.
SkillAFreshness: A★ 6.3KClaude Code +9 - 0.848score
unstuck
Q00
Use when the user is stuck or going in circles: the same fix failed twice or more, 'nothing works', 'I've tried everything', or a consequential choice with no…
SkillAFreshness: A★ 6.3KClaude Code +9 - 0.848score
seed
Q00
Use when goal, constraints, and success criteria are already settled and the user wants them frozen into a formal spec an agent can execute and verify: 'turn…
SkillAFreshness: A★ 6.3KClaude Code +9 - 0.848score
pm
Q00
Use when the user wants product requirements rather than code: 'write a PRD', 'product requirements', 'spec this feature for the team', 'ooo pm'.
SkillAFreshness: A★ 6.3KClaude Code +9 - 0.843score
ouroboros-run
Q00
Use when an Ouroboros Seed (a spec file with a goal and acceptance criteria, such as *.seed.yaml) already exists and the user wants it executed: 'run the…
SkillAFreshness: A★ 6.3KClaude Code +9 - 0.841score
update
Q00
Check for updates and upgrade Ouroboros to the latest version
SkillAFreshness: A★ 6.3KClaude Code +9 - 0.841score
resume-session
Q00
List in-flight Ouroboros sessions and show the commands needed to re-attach after MCP disconnect
SkillAFreshness: A★ 6.3KClaude Code +9 - 0.841score
publish
Q00
Publish Seed specification as GitHub Issues for team-based project management
SkillAFreshness: A★ 6.3KClaude Code +9 - 0.841score
brownfield
Q00
Scan and manage brownfield repository/worktree defaults for interviews
SkillAFreshness: A★ 6.3KClaude Code +9 - 0.838score
Ouroboros
Q00
Pins an acceptance spec; the verify command and expected output never enter the success contract.
ConnectorAFreshness: ALocal★ 6.3K↓ 30.4K/wkClaude Code +5 - 0.837score
tutorial
Q00
Interactive tutorial teaching Ouroboros hands-on
SkillAFreshness: A★ 6.3KClaude Code +9
Signals
- Stars
- 6,269
- Forks
- 634
- Open issues
- 74
- Contributors
- 96
- Last commit (this folder)
- Oct 16, 2026 (11 days ago)
- Last release
- Oct 23, 2026 (4 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/Q00/ouroboros
- Website
- ouroboros.page/
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Q00
- 0.848score
pm
Q00
Use when the user wants product requirements rather than code: 'write a PRD', 'product requirements', 'spec this feature for the team', 'ooo pm'.
SkillAFreshness: A★ 6.3KClaude Code +9 - 0.848score
auto
Q00
Use when the work spans several files or replaces a framework, language, auth, storage, or API layer (rewrites and migrations included), and the user wants it…
SkillAFreshness: A★ 6.3KClaude Code +9 - 0.848score
ooo
Q00
Start Ouroboros onboarding.
SkillAFreshness: A★ 6.3KClaude Code +9 - 0.848score
unstuck
Q00
Use when the user is stuck or going in circles: the same fix failed twice or more, 'nothing works', 'I've tried everything', or a consequential choice with no…
SkillAFreshness: A★ 6.3KClaude Code +9 - 0.848score
seed
Q00
Use when goal, constraints, and success criteria are already settled and the user wants them frozen into a formal spec an agent can execute and verify: 'turn…
SkillAFreshness: A★ 6.3KClaude Code +9 - 0.843score
ouroboros-run
Q00
Use when an Ouroboros Seed (a spec file with a goal and acceptance criteria, such as *.seed.yaml) already exists and the user wants it executed: 'run the…
SkillAFreshness: A★ 6.3KClaude Code +9
Cite this page
evaluate skill. Agent Mart. https://agentmart.dev/skills/q00-evaluate (last updated 2026-10-24)