Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Generate a conventional commit message from the staged diff
.claude/skills/hashgraph-online-commit-narrator/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-19 | ✗→✓ | ▲ Improved | 37% | 0% |
| case-04 | ✓→✗ | ▼ Worse | -66% | 0% |
| case-05 | ✓→✗ | ▼ Worse | -67% | 0% |
| case-06 | ✓→✗ | ▼ Worse | -70% | 0% |
| case-09 | ✓→✗ | ▼ Worse | -61% | 0% |
Role: act as the commit-message author responsible only for producing one conventional commit message for the current repository.
Run the local helper with Bash:
bashgit diff --staged --binary | python3 scripts/narrate.py --diff -
The helper accepts an empty diff and returns no text. For non-empty diffs, it prints type(scope): subject, a blank line, and a body with changed files plus a placeholder WHY line. Valid types are feat, fix, refactor, docs, test, chore, and perf.
Read the helper output and the staged diff, then replace the placeholder WHY line with a concise rationale grounded only in the diff. Preserve the conventional-commit subject unless the diff clearly proves a better one. Print only the final commit message.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 1,744 | 14,632 | +739% | 1 | 1 | 0% | 206 | 302 | +47% | 0 | 0 | — |
case-02 | fail→fail | 7,417 | 4,656 | -37% | 1 | 1 | 0% | 313 | 352 | +12% | 0 | 0 | — |
case-03 | fail→fail | 8,136 | 14,413 | +77% | 1 | 1 | 0% | 482 | 294 | -39% | 0 | 0 | — |
case-04 | pass→fail | 11,249 | 15,686 | +39% | 1 | 1 | 0% | 1,066 | 359 | -66% | 0 | 0 | — |
case-05 | pass→fail | 13,228 | 6,277 | -53% | 1 | 1 | 0% | 1,538 | 506 | -67% | 0 | 0 | — |
case-06 | pass→fail | 13,054 | 11,040 | -15% | 1 | 1 | 0% | 1,338 | 404 | -70% | 0 | 0 | — |
case-07 | fail→fail | 6,317 | 14,692 | +133% | 1 | 1 | 0% | 923 | 429 | -54% | 0 | 0 | — |
case-08 | fail→fail | 16,326 | 14,154 | -13% | 1 | 1 | 0% | 231 | 309 | +34% | 0 | 0 | — |
case-09 | pass→fail | 6,751 | 3,460 | -49% | 1 | 1 | 0% | 798 | 309 | -61% | 0 | 0 | — |
case-10 | pass→fail | 9,450 | 47,076 | +398% | 1 | 1 | 0% | 605 | 351 | -42% | 0 | 0 | — |
case-11 | pass→fail | 8,229 | 13,680 | +66% | 1 | 1 | 0% | 454 | 279 | -39% | 0 | 0 | — |
case-12 | pass→pass | 12,284 | 21,254 | +73% | 1 | 1 | 0% | 1,019 | 2,855 | +180% | 0 | 0 | — |
case-13 | pass→pass | 9,914 | 20,625 | +108% | 1 | 1 | 0% | 719 | 1,212 | +69% | 0 | 0 | — |
case-14 | pass→fail | 8,669 | 16,323 | +88% | 1 | 1 | 0% | 634 | 348 | -45% | 0 | 0 | — |
case-15 | pass→fail | 8,851 | 14,532 | +64% | 1 | 1 | 0% | 570 | 346 | -39% | 0 | 0 | — |
case-16 | pass→fail | 8,897 | 4,912 | -45% | 1 | 1 | 0% | 688 | 303 | -56% | 0 | 0 | — |
case-17 | pass→fail | 10,889 | 5,013 | -54% | 1 | 1 | 0% | 938 | 390 | -58% | 0 | 0 | — |
case-18 | pass→fail | 13,583 | 10,218 | -25% | 1 | 1 | 0% | 413 | 368 | -11% | 0 | 0 | — |
case-19 | fail→pass | 8,918 | 26,265 | +195% | 1 | 1 | 0% | 1,346 | 1,845 | +37% | 0 | 0 | — |
case-20 | pass→fail | 9,537 | 10,066 | +6% | 1 | 1 | 0% | 1,597 | 410 | -74% | 0 | 0 | — |
case-21 | pass→fail | 7,868 | 6,888 | -12% | 1 | 1 | 0% | 1,181 | 546 | -54% | 0 | 0 | — |
case-22 | pass→fail | 7,278 | 14,451 | +99% | 1 | 1 | 0% | 318 | 353 | +11% | 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 2 counted toward the lift figure. The other 20 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. A headline lift is not published for this run.
Other measured skills in the registry, with their headline benchmark lift.