Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add orq-ai/assistant-plugins --skill orq-evaluator-alignmentgit clone --depth 1 https://github.com/orq-ai/assistant-pluginsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/orq-ai/assistant-plugins/orq-evaluator-alignment)<a href="https://agentmods.dev/skills/orq-ai/assistant-plugins/orq-evaluator-alignment"><img src="https://agentmods.dev/badge/skills/orq-ai/assistant-plugins/orq-evaluator-alignment.svg" alt="Measured on agentmods" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Excessive Agency · line 315 Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.Fix: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state.
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00206 | $0.12710 |
| Opus 5 | $0.00103 | $0.06355 |
| Sonnet 5 | $0.00041 | $0.02542 |
| Haiku 4.5 | $0.00021 | $0.01271 |
Grade A, and why
orq-evaluator-alignment scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 776 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Evaluator Alignment
You are running a guided session that makes an LLM judge agree with the person you're talking to. You do the mechanics; they make every decision that costs money or changes something in their workspace — rewriting the prompt, creating the new judge, re-running the test. Never skip a gate.
How to talk to the user. They know their domain; they may know nothing about judges, entropy, or flip rates, and they don't need to. Describe what is happening in terms of what the judge did — "it gave a different answer 6 times out of 8 on this one" — not in terms of the metric that measured it. Keep the internal vocabulary ("confuser", "grey zone", "instability band", "open-code", "conductor") out of what you say to them; it's fine in the artifacts. At each step, one or two sentences on what you're about to do and why, then do it. Offer options as short lists they can answer in a few words.
Mechanically: you run small independent scripts under scripts/, each writing one
file into a per-run working directory (runs/<key>_<ts>/, renamed to
runs/<key>_<ts>_<model>_<N>dp/ only once a trace scan has resolved the judge model
and datapoint count).
Each script under scripts/ is self-contained: it declares its own dependencies
via PEP 723 inline metadata, so uv run scripts/<name>.py ... builds an isolated,
cached environment on first run — no uv sync, no project venv, no repo needed.
Always invoke as uv run scripts/<name>.py (not uv run python scripts/..., which
bypasses the inline metadata).
TLS-intercepting antivirus / corporate proxy: the first run of each script reaches PyPI to build its env. Behind SSL-inspecting AV (e.g. Norton) or a corporate proxy that re-signs HTTPS,
uvfails withinvalid peer certificate: UnknownIssuer. Add--system-certssouvtrusts the OS certificate store:uv run --system-certs scripts/<name>.py .... Only the first (uncached) build per script needs it.
Constraints
- Multi-type. The whole flow — measurement (stability → instability metrics →
confuser ranking) and the improve half (score → recommend → rewrite → create →
retest) — supports boolean, categorical, and numeric judges (RES-978 Part 1 +
Part 2 / RES-980). Instability is one 0..1 scale (boolean flip-rate, categorical
label entropy, numeric score spread); the rewrite preserves the evaluator's verdict
space (label set / numeric scale). Numeric rewriting is deliberately shallow — it
nudges the scale's anchor descriptions, not a calibration model. Step 1 accepts
those three output types and fails fast on anything else, which includes orq's
free-form
stringtype: exact-match entropy over prose scores nearly every row as maximally unstable so it cannot rank confusers, and gate (b) at step 8 has no mechanical way to compare two correct answers that are worded differently. Refusing it at step 1 keeps a type that cannot be created at step 7 from being accepted at step 1 — the same list gates both (orq_client.SUPPORTED_OUTPUT_TYPES). - Consistency is a ceiling, not proof. A steady judge is reproducible, not right — it can be wrong the same way every time. You find the examples it's unsure about; only the user can say what the answer should be.
- The blind spot, which you must say out loud — unless you measured it. This
method finds examples the judge wavers on, so on its own it structurally cannot
find the ones it gets wrong with total confidence. Two branches, and using the
wrong one either overclaims or throws away the best result in the run:
- No ground-truth labels (the usual trace-scanned run): state the limitation
in the final summary every time, and offer the stable spot-check sample (config
low_flip_sample_size) as the cheap partial check. - Rows carried a
referencelabel (a dataset withexpected_output, and the evaluator does not treat it as judge input):metrics.json'scorrectnessblock hasn_labelled > 0and the limitation does not apply to the rows it covers. Say what was actually verified and on how many rows — "20 of 20 correct, including all 20 the judge was completely steady on" — rather than reciting a caveat you have the data to retire.by_band.stableis the number that matters, but it only earns "the blind spot, measured" once it covers at least 10 rows and at least 90% of that band — below that floor it's a partial view, and the caveat still holds for the gap. Still name the labels asdataset_reference(§ step 8) — they are someone's prior judgement, not the user's verdict — and keep the caveat for whatever rows were unlabelled.
- No ground-truth labels (the usual trace-scanned run): state the limitation
in the final summary every time, and offer the stable spot-check sample (config
What ships with it
60 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- .gitignore 167 B
- annotation/annotate.html 18 KB
- config.toml 9.6 KB
- lib/__init__.py 341 B runs code
- lib/agreement.py 8.4 KB runs code
- lib/content.py 13 KB runs code
- lib/cost.py 3.8 KB runs code
- lib/cross_model.py 2.5 KB runs code
- lib/grey_zone.py 26 KB runs code
- lib/instability.py 6.6 KB runs code
- lib/judge.py 28 KB runs code
- lib/model_backend.py 26 KB runs code
- lib/orq_client.py 35 KB runs code
- lib/runner.py 6.5 KB runs code
- lib/seed.py 14 KB runs code
- prompts/meta_prompt.md 2.8 KB
- prompts/po2.md 7.4 KB
- prompts/recommend_prompt.md 14 KB
- README.md 15 KB
- scripts/_bootstrap.py 1.1 KB runs code
- scripts/aggregate.py 11 KB runs code
- scripts/build_queue.py 19 KB runs code
- scripts/create_eval.py 13 KB runs code
- scripts/cross_model.py 5.1 KB runs code
- scripts/dataset_inputs.py 5.4 KB runs code
- scripts/estimate_cost.py 1.7 KB runs code
- scripts/fetch_evaluator.py 15 KB runs code
- scripts/fetch_traces.py 51 KB runs code
- scripts/grey_zone.py 9.4 KB runs code
- scripts/metrics.py 25 KB runs code
- scripts/recommend.py 20 KB runs code
- scripts/retest.py 61 KB runs code
- scripts/rewrite_eval.py 23 KB runs code
- scripts/seed_inputs.py 4.6 KB runs code
- scripts/serve_annotation.py 13 KB runs code
- scripts/stability.py 13 KB runs code
- tests/config_fake.toml 427 B
- tests/fixtures/evaluator_categorical.json 664 B
- tests/fixtures/evaluator_numeric.json 653 B
- tests/fixtures/evaluator.json 700 B
- tests/fixtures/responses_api_trace.json 31 KB
- tests/fixtures/traces.jsonl 657 B
- tests/requirements.txt 1.1 KB
- tests/test_agreement.py 9.2 KB runs code
- tests/test_aligned_naming.py 7.5 KB runs code
- tests/test_backend_selection.py 8.1 KB runs code
- tests/test_build_queue_projection.py 3.6 KB runs code
- tests/test_build_queue_seed.py 2.5 KB runs code
- tests/test_build_queue.py 7.6 KB runs code
- tests/test_correctness.py 16 KB runs code
- tests/test_create_eval.py 11 KB runs code
- tests/test_cross_model.py 1.8 KB runs code
- tests/test_dataset_client.py 1.8 KB runs code
- tests/test_fetch_traces.py 9.0 KB runs code
- tests/test_fetch_types.py 6.2 KB runs code
- tests/test_grey_zone_cli.py 4.3 KB runs code
- tests/test_grey_zone.py 27 KB runs code
- tests/test_instability.py 5.8 KB runs code
- tests/test_judge_typed.py 3.6 KB runs code
- tests/test_parse_verdict.py 8.9 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago Changed · +4 lines · -1 tokens per session f512eeb3a95f
- 7d ago First seen · 772 lines · 207 tokens per session scan A 55ee12c9479c
orq-evaluator-alignment is a skill published in the GitHub repository orq-ai/assistant-plugins (6 stars, last pushed 6d ago), licensed MIT. It adds 206 tokens to every session and 12,710 once invoked, about $0.0010 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
local-ai-agents
Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
next-partial-prefetching-adoption
Turn on Partial Prefetching in a Next.js app and work through the insights it surfaces. Use when the user wants to enable or adopt Partial Prefetching, flip the partialPrefetching flag, opt routes in with export const prefetch = 'partial', audit Link prefetch={true} behavior, preserve existing prefetched UI with…
chronicle
Analyze Copilot session history for standup reports, usage tips, session search, and session reindexing. Use when the user asks for a standup, daily summary, usage tips, workflow recommendations, wants to search or find past sessions by keyword/file/PR, wants to reindex their session store, or asks about deleting…
babysit-pr
Babysit a GitHub pull request after creation by continuously polling review comments, CI checks/workflow runs, and mergeability state until the PR is merged/closed or user help is required. Diagnose failures, retry likely flaky failures up to 3 times, auto-fix/push branch-related issues when appropriate, and keep…