Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Pre-merge comprehension gate that quizzes the USER on the riskiest parts of the branch diff. Use before merging or opening a PR, or when the user says "merge quiz", "am I ready to merge", or "quiz me on this diff".
.claude/skills/hiendinhngoc-merge-quiz/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-08 | ✗→✓ | ▲ Improved | 22% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 47% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 5% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 83% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 47% | 0% |
Before shipping, verify the HUMAN understands what's being merged. The quiz tests the user, not Claude.
named by the user; the current branch's configured upstream; the remote default branch from refs/remotes/origin/HEAD; then an existing local main or master. Verify the candidate with git rev-parse --verify before using it. If no candidate exists, ask for a base ref and stop.
git diff <base>...HEAD. If it is empty, also checkgit diff <base>..HEAD, tracked worktree changes, and relevant untracked files reported by git status --short. State exactly which material was selected. If all are empty, stop because there is nothing to quiz.
*.pbxproj, build outputs, vendoredcode) from quiz material — churn there is noise, not comprehension risk.
identity is unavailable, include only deviation files changed in the diff; do not sweep unrelated logs by date.
questions, ask fewer and say why. First name what "dangerous" means in THIS codebase's domain — auth/money/deletion/migrations in a backend; lifecycle, state loss, and accessibility regressions in a UI app; loss/duplication/ ordering in a pipeline. Then prioritize: behavior changes on those paths, deviations from the plan, error handling changes, anything irreversible.
multiple choice if this agent has no such tool). If no interactive user is available, output the quiz and stop without answering for them. Each question:
"why did we bypass Y?", "what breaks if this runs twice?"
misunderstandings)
evidence exists in the diff, do not ask that question
quoting the exact diff hunk verbatim so the user can dispute it — the quiz grades the user against the agent's reading of the diff, and that reading can be wrong. If the user disputes with evidence, concede the question, correct the score, and flag the spot as review-carefully either way.
markdown## Merge readiness - Quiz: N/M correct - Review carefully: <file:line — why, for each missed question; or "nothing flagged"> - Deviations from plan: <one line each, from the deviation log; or "none">
best surprises. But never pad with fake-risk questions.
gotchas about untouched code.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 4,782 | 3,558 | -26% | 1 | 1 | 0% | 908 | 1,076 | +19% | 0 | 0 | — |
case-02 | fail→fail | 5,955 | 4,331 | -27% | 1 | 1 | 0% | 1,108 | 982 | -11% | 0 | 0 | — |
case-03 | fail→fail | 6,236 | 4,376 | -30% | 1 | 1 | 0% | 1,052 | 1,054 | +0% | 0 | 0 | — |
case-04 | fail→fail | 12,294 | 3,465 | -72% | 1 | 1 | 0% | 2,526 | 970 | -62% | 0 | 0 | — |
case-05 | fail→fail | 3,977 | 4,232 | +6% | 1 | 1 | 0% | 794 | 1,024 | +29% | 0 | 0 | — |
case-06 | fail→fail | 5,382 | 5,036 | -6% | 1 | 1 | 0% | 929 | 1,085 | +17% | 0 | 0 | — |
case-07 | fail→fail | 4,724 | 5,088 | +8% | 1 | 1 | 0% | 824 | 997 | +21% | 0 | 0 | — |
case-08 | fail→pass | 12,846 | 10,468 | -19% | 1 | 1 | 0% | 2,345 | 2,872 | +22% | 0 | 0 | — |
case-09 | fail→fail | 5,297 | 3,710 | -30% | 1 | 1 | 0% | 936 | 995 | +6% | 0 | 0 | — |
case-10 | fail→pass | 8,193 | 8,570 | +5% | 1 | 1 | 0% | 1,350 | 1,991 | +47% | 0 | 0 | — |
case-11 | pass→fail | 5,321 | 4,045 | -24% | 1 | 1 | 0% | 1,065 | 990 | -7% | 0 | 0 | — |
case-12 | fail→fail | 9,069 | 4,331 | -52% | 1 | 1 | 0% | 1,781 | 1,079 | -39% | 0 | 0 | — |
case-13 | fail→pass | 10,175 | 9,785 | -4% | 1 | 1 | 0% | 1,953 | 2,059 | +5% | 0 | 0 | — |
case-14 | fail→pass | 4,848 | 3,300 | -32% | 1 | 1 | 0% | 789 | 1,440 | +83% | 0 | 0 | — |
case-15 | fail→pass | 4,161 | 2,625 | -37% | 1 | 1 | 0% | 838 | 1,232 | +47% | 0 | 0 | — |
case-16 | pass→pass | 7,766 | 9,413 | +21% | 1 | 1 | 0% | 1,275 | 2,359 | +85% | 0 | 0 | — |
case-17 | fail→pass | 4,045 | 2,855 | -29% | 1 | 1 | 0% | 735 | 1,286 | +75% | 0 | 0 | — |
case-18 | fail→pass | 4,114 | 7,755 | +89% | 1 | 1 | 0% | 735 | 2,204 | +200% | 0 | 0 | — |
case-19 | pass→pass | 11,245 | 5,756 | -49% | 1 | 1 | 0% | 2,084 | 1,580 | -24% | 0 | 0 | — |
case-20 | fail→fail | 3,012 | 5,443 | +81% | 1 | 1 | 0% | 568 | 1,747 | +208% | 0 | 0 | — |
case-21 | fail→fail | 5,046 | 4,537 | -10% | 1 | 1 | 0% | 881 | 1,588 | +80% | 0 | 0 | — |
case-22 | pass→pass | 4,159 | 9,513 | +129% | 1 | 1 | 0% | 956 | 2,666 | +179% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 12 counted toward the lift figure. The other 10 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +27 percentage points is the difference between those two pass rates over the 12 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.