ork-assess
Assess a code change, design, architecture, workflow, or competing options against explicit criteria and evidence. Use when a request asks to assess, rate,…
Refuse a verdict a probe did not earn. Runs a check where the fault IS present and where it is NOT, and blocks the answer when both arms print the same thing, because a check that cannot disagree with you has measured nothing. Also catches the zero-sample sweep that reads as
$ npx -y skills add yonatangross/orchestkit --skill paired-probe --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/paired-probeContext preview
The summary Claude sees to decide when to auto-load this skill.
Refuse a verdict a probe did not earn. Runs a check where the fault IS present and where it is NOT, and blocks the answer when both arms print the same thing, because a check that cannot disagree with you has measured nothing. Also catches the zero-sample sweep that reads as
name: paired-probe description: Refuse a verdict a probe did not earn. Runs a check where the fault IS present and where it is NOT, and blocks the answer when both arms print the same thing, because a check that cannot disagree with you has measured nothing. Also catches the zero-sample sweep that reads as "clean" and the swallowed error that reads as success. Use before reporting any status, audit, sweep, or "nothing found" result, and whenever a check surprises you by passing. version: 1.0.0 author: yonatangross user-invocable: false disable-model-invocation: false complexity: low tags: [verification, debugging, quality-gates] compatibility: "Claude Code 2.1.251+."
**A check that prints the same thing whether or not the fault is present has measured nothing.** It still returns an answer, that answer looks like evidence, and it gets acted on. This skill makes the blindness fail loudly instead.
Before reporting any of these, because all of them are verdicts:
And immediately whenever a result *surprises* you by passing. Surprise is the cheapest available signal that the instrument, not the world, is what changed.
| Gate | Question | Failure it catches | |---|---|---| | **Differential** | What does this print when the fault is ABSENT? | A probe that answers identically either way | | **Non-empty** | How many items did it actually examine? | A sweep that measured zero and reported clean | | **Exit-aware** | Did the probe itself run? | A swallowed error printing success |
Could-not-observe is a **third outcome**, never folded into either verdict.
# Differential: stage the fault, then remove it. Both arms must differ.
scripts/paired-probe.sh --name "retired model pin fails the gate" \
--present "printf 'model: claude-opus-4\n' > wf.yml && bash tests/ci/lint.sh" \
--absent "rm -f wf.yml && bash tests/ci/lint.sh"
# Single-shot, when the fault cannot be staged (a live sweep):
scripts/paired-probe.sh --name "worktrees examined" \
--measure "git worktree list --porcelain | awk '/^worktree /{print \$2}'" \
--min-count 1Exit codes: `0` discriminates or met the count, `1` **BLIND**, `2` usage, `3` could-not-observe.
Four probes from a single session, 2026-08-21, each confidently wrong and none failing loudly. Three were caught by other people rather than by the check:
| The probe | What it asked | Why it lied | |---|---|---| | "is this branch pushed?" | the local ref cache | unfetched and never-pushed print identically | | "is the branch on origin?" | the remote branch list | a squash-merge DELETES the head branch, so landed work reads as lost | | "does this worktree hold unique work?" | `diff main HEAD` | symmetric, so a stale tree flags `main` against itself | | "any worktree at risk?" | a loop over a blocked temp file | the write failed, `\|\| true` swallowed it, the loop read zero items and printed "safe to prune" |
Every one dies at gate 1 or 2 in seconds.
Ask what the instrument **structurally cannot observe** before trusting its silence. A tool reports on the channel it queried, not on reality: the local cache instead of the remote, the whole file instead of the frontmatter, the proxy instead of the origin. When the answer is a zero or an empty set, that is exactly when to check the channel, because zero is what a broken instrument returns too.
The Complete AI Development Toolkit for Claude Code. 106 skills, 36 agents, 171 hooks. Install `ork` for stable (v9.x), or `ork-alpha` for the v10 line, which ships daily.
Repo: yonatangross/orchestkit
Assess a code change, design, architecture, workflow, or competing options against explicit criteria and evidence. Use when a request asks to assess, rate,…
Compare plausible implementation, architecture, product, or operational approaches before committing to one. Use when a request asks to brainstorm, think…
Map an unfamiliar codebase, feature, architecture, data flow, or operational path with file-backed evidence. Use when a request asks how a system works, where…
Make an approved, scoped change and prove the affected behavior. Use when a request asks to implement, build, add, or land a feature that already has an agreed…
Review a pull request or branch for correctness, regressions, security, operational risk, and missing evidence. Use when a request asks to review a PR, review…
Verify that existing work is ready to merge, release, or hand off using an explicit evidence contract. Use when a request asks to verify, validate, prove,…