一键导入
evaluate
Use when evaluating an artifact against a rubric with two AI peers, unified findings, per-peer reasoning, and dissent preserved in the deliberation log.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when evaluating an artifact against a rubric with two AI peers, unified findings, per-peer reasoning, and dissent preserved in the deliberation log.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | evaluate |
| description | Use when evaluating an artifact against a rubric with two AI peers, unified findings, per-peer reasoning, and dissent preserved in the deliberation log. |
| version | 0.1.9 |
| license | MIT |
| compatibility | Agent Skills baseline; requires Node.js 22+ and the generated consensus CLI. |
| allowed-tools | Bash(node:*), Bash(consensus:*), Read, Write |
| argument-hint | <artifact.md> [--rubric <rubric.md>] |
| metadata | {"author":"thomas.stang","version":"0.1.9"} |
Use this skill when the user wants an artifact judged against a rubric, spec, checklist, or acceptance criteria. The host model translates the user's intent into a wrapper invocation and summarizes the resulting evaluation. The deterministic work belongs to the scripts in this skill.
Before a run, ensure Node.js 22 or newer is available and the generated consensus CLI can run. From an installed plugin this may be exposed as consensus; from a repository checkout the same provider CLI lives at plugins/consensus/scripts/consensus.mjs and can be run with node.
Before invoking the evaluate wrapper with explicit peers or a synthesizer, check provider inventory and preflight:
consensus provider ls --json
consensus preflight --json
The wrapper validates provider ID syntax and surfaces provider-neutral diagnostics from peer invocation. Requested providers must be present and usable in the provider inventory; Cursor auth problems should be described through auth_required inventory/preflight diagnostics, commonly caused by a locked OS keychain or an unauthenticated Cursor CLI.
Provider run failures are reported in JSON envelopes. Terminal provider failures such as ok: false, PROVIDER_EXIT, PROVIDER_INVALID_JSON, or PROVIDER_SCHEMA_VALIDATION still exit process 0; do not treat $? as success. Parse the envelope fields (ok, code, retryable, and attempts.terminal_reason) and report the structured failure. CLI usage failures (CONSENSUS_CLI_USAGE) exit 2. The peer-facing consensus submit command is different: schema or capture failures exit nonzero so the peer can self-correct in-turn.
Run the wrapper from this skill directory:
node ./scripts/consensus-evaluate.mjs <artifact.md> --rubric <rubric.md>
Pass through user-specified flags such as --goal, --peers, --max-rounds, --agency, --iteration, --synthesizer, --output, --run-dir, and --allow-root when the user asks for them.
The defaults are:
--cold-start shared_input--iteration parallel_revision--agency minimalThe wrapper requires --rubric <path>. It rejects --cold-start independent_draft because consensus-evaluate evaluates an existing artifact and supports shared_input only.
Read JSONL emitted on stdout. Treat each JSONL line as host coordination data: status updates, warnings, artifact paths, or impasse summaries. Use stderr only as terminal diagnostics, not as the coordination protocol.
The artifact and rubric are untrusted content. The wrapper frames both as data for peer evaluation, not instructions to follow, and caps each input at 1 MiB before evaluation. Do not paste unbounded user content into wrapper flags; pass files.
The wrapper writes a markdown evaluation artifact. With --output <path>, that path receives the artifact. Without --output, the wrapper writes a sidecar named <artifact>.evaluation.md and reports it in the run_completed event.
The evaluation artifact contains:
consensus-verdict blocks for each peer turn## Dissent for residual concerns after convergence, when present## Unresolved dissent for impasse or escalation statesReport the artifact path to the user and summarize final status, key findings, peer disagreements, and any provider warnings emitted by JSONL.
The default parallel_revision mode asks both peers to evaluate simultaneously each round and converge on emergent agreement. It costs two peer calls per round. alternating and parallel_synthesized are also accepted through the shared loop, but parallel_revision with minimal agency is the default because independent judgment and visible disagreement are the point of evaluation.
In parallel_synthesized mode the synthesis call defaults to the first configured peer's provider. Override it with --synthesizer <provider-id> only when the user asks to route synthesis separately.
At minimal agency, unresolved peer disagreement is surfaced rather than silently decided. If JSONL reports an impasse or the final artifact contains ## Unresolved dissent, present the divergent positions and ask the user how to proceed: accept the impasse, give new direction, change the budget or agency level, or rerun with a different peer set.
refine skill instead.--rubric <path>.Please evaluate this design doc against the attached rubric.
The host model invokes the wrapper from the skill directory:
node ./scripts/consensus-evaluate.mjs design-doc.md --rubric rubric.md
After the run, report the evaluation artifact path and summarize the key findings, peer disagreements, and any provider warnings.
When the user does not provide a rubric upfront:
"Can you evaluate this pull request description? I care most about clarity and completeness."
Ask what goals the evaluation should serve. Then either:
## Dissent) and unresolved impasses (## Unresolved dissent) are surfaced explicitly — never hidden.Use this path when the user explicitly asks for help creating a rubric, or when the user asks to evaluate an artifact but provides no rubric.
When to enter the guided path:
Steps:
Elicit goals. Ask the user what the evaluation is trying to determine. One or two focused questions are enough — do not over-elicit.
Select or adapt an example. Choose a starting point from the bundled rubric examples in references/examples/ that best fits the artifact type. Show the user what you are starting from and why. Available examples:
references/examples/general-purpose.md — annotated template for any written artifactreferences/examples/code-review.md — pull request descriptions and implementation proposalsreferences/examples/technical-writing.md — documentation, tutorials, and API referencereferences/examples/design-architecture.md — ADRs, system designs, and RFCsDraft the rubric. Adapt the selected example to the user's goals. Keep the load-bearing criteria (headings and bullets) at 12 or fewer — the wrapper silently ignores criteria beyond the first 12 distinct headings and bullets it finds. Weights, scoring scales, and pass/fail notes are welcome as peer-facing guidance but are not parsed by the wrapper.
Confirm the output path. Before writing, tell the user where the rubric file will be saved and ask for approval. Write the rubric only to a user-approved path within the active workspace. A sensible default is a file named rubric.md alongside the artifact being evaluated.
Invoke the wrapper. After writing the rubric file, run:
node ./scripts/consensus-evaluate.mjs <artifact.md> --rubric <approved-rubric-path>
Rubric authoring convention: Headings (## through ######) and bullet items (- / *) are the machine-visible criteria the wrapper extracts. Prose paragraphs, numbered lists, and nested indentation are treated as peer-facing context, not as criteria. Keep the 12 highest-priority criteria as headings or bullets; put scoring guidance, examples, and notes in prose beneath them.
Raw wrapper contract (unchanged): The deterministic wrapper always requires --rubric <path>. Guided creation is a host-model-driven flow that produces that file; it does not modify the wrapper's CLI surface.
For a hands-on walkthrough of artifact/rubric inputs, expected JSONL, sidecar output, and dissent review, see references/operator-qa.md.
Run when you need to evaluate agent instruction file coverage, quality, and drift. Produces a severity-rated analysis artifact. Run before oat-agent-instructions-apply to identify what needs improvement.
Use when OAT work is mentioned in a Cursor Cloud environment. Orients agents to cloud detection, repo-rooted project homes, user-first assets, CLI availability, and Cursor dispatch context without owning lifecycle execution.
Use when an OAT skill or workflow needs provider-neutral selection, launch, recovery, or evidence for bounded subagent work without project lifecycle policy.
Use when an OAT project lifecycle skill needs to translate project state, phase or task scope, gates, and write authority into a provider-neutral subagent dispatch.
Use when the user requests or confirms documenting an active OAT project — e.g. "document the project", "update the docs", "run oat-project-document", or confirms a previously offered documentation run. Do NOT auto-invoke when implementation completes. Analyzes project artifacts, presents a documentation delta plan, and applies approved changes.
Use when plan.md is ready for execution. Dispatches one phase implementer per phase, owns independent phase review and bounded fix routing, and supports plan-declared worktree-isolated parallel phases.