Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Generate PR descriptions for addon packages (non-SDK inference addons, decoder, OCR). Use when creating a PR description or user asks to "prepare PR description" for an addon package.
.claude/skills/tetherto-qv-addon-pr-create/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-10 | ✗→✓ | ▲ Improved | 13% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 38% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -7% | 0% |
| case-09 | ✗→✓ | ▲ Improved | -40% | 0% |
| case-11 | ✗→✓ | ▲ Improved | -11% | 0% |
Generate PR descriptions for addon packages (non-SDK packages like inference addons, decoder, OCR). Collects changes from the remote tracked branch, validates the version bump, and fills in the PR template.
Identify the PR base/head, collect the full change set from the remote tracked branch, and validate the version bump in package.json against main:
main (or the branch configured as default). The head is the current branch.main...origin/<current-branch> (or the PR base commit...origin/<current-branch>) to list commits and diffs.package.json between main and origin/<current-branch>.version in package.json is unchanged compared to main, display this exact warning to the user:----------------------------------- WARNING: VERSION BUMP MAY BE REQUIRED The version in package.json is unchanged compared to main. If this PR includes any changes that must be released in the package, you must bump the package version, commit/push it and re-run this command. -----------------------------------
release-notes/ that matches the new version in package.json, read it for additional context. If it's missing, warn the user.The goal is a single combined change set: all commits on the remote tracked branch vs main, while ensuring no unwanted changes end up in the PR description.
Use .github/PULL_REQUEST_TEMPLATE/addon.md as the template. If there are additional instructions in the template file, follow them too.
Fill in the template based on the combined change set. Return the completed PR description to the user as a message.
Do NOT create or modify any additional files when producing the PR description.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-10 | fail→pass | 7,890 | 5,291 | -33% | 1 | 1 | 0% | 1,313 | 1,486 | +13% | 0 | 0 | — |
case-01 | fail→fail | 5,625 | 8,630 | +53% | 1 | 1 | 0% | 782 | 1,106 | +41% | 0 | 0 | — |
case-02 | fail→fail | 9,163 | 3,764 | -59% | 1 | 1 | 0% | 1,474 | 1,027 | -30% | 0 | 0 | — |
case-03 | fail→fail | 8,128 | 3,814 | -53% | 1 | 1 | 0% | 1,233 | 1,085 | -12% | 0 | 0 | — |
case-04 | fail→fail | 5,658 | 5,042 | -11% | 1 | 1 | 0% | 871 | 1,307 | +50% | 0 | 0 | — |
case-05 | pass→pass | 8,204 | 4,919 | -40% | 1 | 1 | 0% | 1,447 | 1,443 | -0% | 0 | 0 | — |
case-06 | fail→pass | 9,179 | 9,380 | +2% | 1 | 1 | 0% | 1,644 | 2,275 | +38% | 0 | 0 | — |
case-07 | fail→pass | 6,117 | 2,527 | -59% | 1 | 1 | 0% | 1,063 | 990 | -7% | 0 | 0 | — |
case-08 | pass→pass | 6,315 | 2,536 | -60% | 1 | 1 | 0% | 1,058 | 1,004 | -5% | 0 | 0 | — |
case-09 | fail→pass | 11,838 | 3,013 | -75% | 1 | 1 | 0% | 1,863 | 1,125 | -40% | 0 | 0 | — |
case-11 | fail→pass | 5,871 | 1,867 | -68% | 1 | 1 | 0% | 974 | 864 | -11% | 0 | 0 | — |
case-12 | pass→fail | 8,818 | 7,383 | -16% | 1 | 1 | 0% | 1,272 | 992 | -22% | 0 | 0 | — |
case-13 | fail→pass | 7,857 | 2,110 | -73% | 1 | 1 | 0% | 1,250 | 906 | -28% | 0 | 0 | — |
case-14 | pass→pass | 10,800 | 3,855 | -64% | 1 | 1 | 0% | 1,731 | 1,136 | -34% | 0 | 0 | — |
case-15 | fail→pass | 9,552 | 2,834 | -70% | 1 | 1 | 0% | 1,527 | 987 | -35% | 0 | 0 | — |
case-16 | fail→fail | 4,447 | 2,768 | -38% | 1 | 1 | 0% | 596 | 1,029 | +73% | 0 | 0 | — |
case-17 | fail→fail | 5,044 | 4,897 | -3% | 1 | 1 | 0% | 761 | 1,366 | +80% | 0 | 0 | — |
case-18 | pass→pass | 9,134 | 1,498 | -84% | 1 | 1 | 0% | 1,532 | 774 | -49% | 0 | 0 | — |
case-19 | fail→pass | 9,524 | 1,659 | -83% | 1 | 1 | 0% | 1,517 | 813 | -46% | 0 | 0 | — |
case-20 | fail→pass | 10,538 | 1,725 | -84% | 1 | 1 | 0% | 1,619 | 814 | -50% | 0 | 0 | — |
case-21 | pass→pass | 10,732 | 2,503 | -77% | 1 | 1 | 0% | 1,682 | 1,000 | -41% | 0 | 0 | — |
case-22 | pass→pass | 9,800 | 3,336 | -66% | 1 | 1 | 0% | 1,285 | 1,098 | -15% | 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 21 counted toward the lift figure. The other 1 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 +36 percentage points is the difference between those two pass rates over the 21 comparable cases. 2 cases got worse with the skill loaded, and they are 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.