The compare skill
The record template behind the two-pairing loop

The compare skill does one job. It takes the junior’s prediction and the coding agent’s decision, lays them side by side, and writes down where they agree, where they diverge, and how much a wrong call would cost. It surfaces. It doesn’t judge. The junior judges the gap; the senior reviews that judgment. The compare skill is a scribe, not a referee.
It’s a skill, not an agent: it recommends, the junior decides. The day a junior ships its recommendation without re-deriving it, it’s quietly become an agent, so keep it a check, not a crutch.
This is a companion to the apprenticeship essay. It describes what the compare skill produces and the record it hands to the people.
The skill itself is a single markdown file. Download SKILL.md and drop it into your agent’s skills directory.
Where it sits in the loop
The junior predicts before prompting. A coding agent executes and makes a decision. The compare skill takes both and drafts the record. The junior makes their own read of the gap first, and the record checks it. The record and the junior’s read go to the senior and junior to review together. The junior decides.
What it takes in
- The task: what was asked, in a sentence or two.
- The prediction: the junior’s committed answer and the risks they flagged, captured before the agent ran.
- The decision: what the coding agent produced, the answer, the code, the call.
What it does
- Restates the task in neutral terms.
- Lists where the prediction and the decision agree.
- Lists where they diverge, and for each one records both views and flags it resolved, meaning one is plainly right, or needs a human, a judgment call.
- Scores the cost of being wrong: reversibility, blast radius, precedent, and its own confidence, resolved to a tier of own or escalate.
- Leaves the junior’s read and the review blank. People fill those.
What it must not do
- Decide who is right on a needs a human divergence.
- Fill in the junior’s read of the gap, or the decision itself.
- Soften or hide a divergence to look agreeable. A missed gap is the one failure that matters.
The guardrail that makes it work
The record is only worth what the prediction is worth, and the prediction is only worth something if it was sealed before the agent ran. Have the harness capture and lock it, not the junior’s word for it, because a skill can’t verify a timestamp it was handed, and a junior who peeks and then predicts has learned nothing. If the commit wasn’t locked, the record is low-signal and says so, rather than laundering a peeked guess into a lesson.
The prompt, in one breath
You are a compare skill in an apprenticeship loop. You are given a task, a junior’s prediction committed before any agent ran, and an agent’s decision. Surface every divergence, including small ones. For each, state both views neutrally and mark it resolved or needs a human, and never settle a needs-a-human call yourself. Score the cost of being wrong and recommend own or escalate. Leave the junior’s read and the review empty. Do not flatter, do not hide gaps, do not fill in the human’s judgment.
The record it produces
The compare skill fills everything down to the line. Everything below the line is filled by people.
| Section | What the compare skill writes |
|---|---|
| Header | Task, date, junior, reviewer; whether the prediction was captured before the run; the cost tier, own or escalate. |
| Task | One or two sentences, neutral. |
| Prediction | The junior’s answer or approach, the risks they flagged, their confidence, as committed before the run. |
| Decision | The answer, code, or call the coding agent produced. |
| Agree | The points where prediction and decision line up. |
| Diverge | Each disagreement: the junior’s view, the agent’s view, and a flag, resolved or needs a human. |
| Cost of being wrong | Reversibility, blast radius, whether it sets precedent, the agent’s confidence, and the resulting tier. |
Below the line, the two sections the compare skill never touches:
| Section | Who fills it | What goes in it |
|---|---|---|
| The junior’s read | The junior | Where they were wrong and why, where they were right and the agent missed it, what they would change, and their call: own or escalate. This is the rep. |
| Review together | Senior and junior | What the gap shows about the junior’s judgment, the calibration (what to escalate next time versus own), the lesson in one line, and whether scope widens, holds, or narrows. |
A worked example
The compare skill’s half of a record, from the credit-eligibility case in the essay. The task: write the rule that flags accounts for a fifty-dollar loyalty credit, for accounts active for twelve or more months with five hundred dollars or more in spend over the last ninety days.
The junior predicted a simple filter, tenure of at least twelve months and ninety-day spend of at least five hundred, and flagged no risks, with high confidence. The coding agent produced the same two filters, but defined spend as gross order total with refunds not netted out, added a last-login test for “active,” and noted that the credits are issued downstream and are hard to claw back.
The divergences the compare skill surfaced:
| Point | Junior’s view | Agent’s view | Flag |
|---|---|---|---|
| What counts as spend | unspecified | gross total, refunds not netted | needs a human |
| What “active” means | implied by tenure | added a ninety-day last-login test | needs a human |
| Issuing the credit | not considered | flags it as downstream and hard to reverse | needs a human |
Cost of being wrong: irreversible, since it means clawing credits back from customers; high blast radius; sets a precedent; medium confidence. The tier is escalate.
The junior fills the read: they missed how refunds inflate spend, “active” was never defined, and because issuing is irreversible this escalates. That read, not the query, is what the senior reviews. The record is the audit trail, the lesson, and the calibration, on one page.