Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Build or repair game inventory, loot, equipment, tooltips, drag-and-drop, persistence, and progression systems. Use for item schemas, pickup flows, stack rules, equipment slots, atomic swaps, save migration, and no-loss regression testing.
.claude/skills/mengto-build-game-inventory/SKILL.md| Model | Eval pass | Runs |
|---|---|---|
| gemini-3.6-flash | 100% | 24 |
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-08 | ✗→✓ | ▲ Improved | 8% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 5% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 17% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 0% | 0% |
| case-04 | ✓→✓ | = Same ✓ | -9% | 0% |
Use one typed, serializable item source of truth and make every transfer atomic.
Model stable IDs, item definitions, ownership, stack limits, equipment compatibility, effects, rarity, presentation data, and migration version separately. Runtime UI must reference definitions by ID rather than duplicate stats or descriptions.
For pickup, equip, unequip, swap, drag/drop, consume, and sell:
Never remove an item before confirming a legal destination. Preserve item identity across a swap and prevent duplicate effect registration.
Expose slot compatibility, equipped state, quantity, tooltip facts, and failure feedback. Support keyboard and touch alternatives to drag-only interactions. Keep focus behavior, dialogs, and tooltips accessible.
Cover invalid destinations, full inventory, duplicate pickup, equip swap, mid-action swap, save/load, schema migration, reset/new game, tooltip updates, and repeated dispatch. Validate that total owned item identity is conserved except for explicit consumption or reward rules.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 22,130 | 27,119 | +23% | 1 | 1 | 0% | 4,646 | 6,402 | +38% | 0 | 0 | — |
case-02 | fail→fail | 24,624 | 29,288 | +19% | 1 | 1 | 0% | 5,249 | 6,458 | +23% | 0 | 0 | — |
case-03 | fail→fail | 29,851 | 29,617 | -1% | 1 | 1 | 0% | 5,861 | 6,462 | +10% | 0 | 0 | — |
case-04 | pass→pass | 25,228 | 21,855 | -13% | 1 | 1 | 0% | 4,877 | 4,456 | -9% | 0 | 0 | — |
case-05 | pass→pass | 20,477 | 23,055 | +13% | 1 | 1 | 0% | 4,728 | 5,433 | +15% | 0 | 0 | — |
case-06 | pass→pass | 20,176 | 21,521 | +7% | 1 | 1 | 0% | 4,025 | 4,621 | +15% | 0 | 0 | — |
case-07 | fail→fail | 11,854 | 13,020 | +10% | 1 | 1 | 0% | 2,382 | 2,828 | +19% | 0 | 0 | — |
case-08 | fail→pass | 12,584 | 11,045 | -12% | 1 | 1 | 0% | 2,310 | 2,499 | +8% | 0 | 0 | — |
case-09 | fail→pass | 17,282 | 17,522 | +1% | 1 | 1 | 0% | 2,944 | 3,099 | +5% | 0 | 0 | — |
case-10 | fail→fail | 21,294 | 20,620 | -3% | 1 | 1 | 0% | 3,454 | 3,711 | +7% | 0 | 0 | — |
case-11 | pass→pass | 14,601 | 14,399 | -1% | 1 | 1 | 0% | 2,531 | 2,714 | +7% | 0 | 0 | — |
case-12 | fail→pass | 14,895 | 16,274 | +9% | 1 | 1 | 0% | 2,640 | 3,087 | +17% | 0 | 0 | — |
case-13 | pass→pass | 15,596 | 12,386 | -21% | 1 | 1 | 0% | 2,678 | 2,411 | -10% | 0 | 0 | — |
case-14 | pass→pass | 12,743 | 14,661 | +15% | 1 | 1 | 0% | 2,267 | 2,911 | +28% | 0 | 0 | — |
case-15 | fail→pass | 12,151 | 10,566 | -13% | 1 | 1 | 0% | 2,182 | 2,188 | +0% | 0 | 0 | — |
case-16 | pass→pass | 15,678 | 19,581 | +25% | 1 | 1 | 0% | 2,774 | 3,951 | +42% | 0 | 0 | — |
case-17 | pass→pass | 12,780 | 14,609 | +14% | 1 | 1 | 0% | 2,367 | 2,838 | +20% | 0 | 0 | — |
case-18 | pass→pass | 13,123 | 11,784 | -10% | 1 | 1 | 0% | 2,349 | 2,276 | -3% | 0 | 0 | — |
case-19 | pass→pass | 14,987 | 14,779 | -1% | 1 | 1 | 0% | 2,409 | 2,786 | +16% | 0 | 0 | — |
case-20 | pass→pass | 13,756 | 16,846 | +22% | 1 | 1 | 0% | 2,537 | 3,412 | +34% | 0 | 0 | — |
case-21 | pass→pass | 14,737 | 13,087 | -11% | 1 | 1 | 0% | 2,376 | 2,408 | +1% | 0 | 0 | — |
case-22 | pass→pass | 15,693 | 19,585 | +25% | 1 | 1 | 0% | 2,603 | 3,347 | +29% | 0 | 0 | — |
case-23 | pass→pass | 10,249 | 9,382 | -8% | 1 | 1 | 0% | 1,821 | 1,906 | +5% | 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. 23 cases were attempted. The headline lift of +17 percentage points is the difference between those two pass rates over the 23 comparable cases.
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.