Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Plan, create, integrate, or audit a hybrid asset pipeline for a Three.js or web game. Use when choosing among imported meshes, procedural 3D geometry, AI-generated reference art, 2D UI media, sprites, VFX, and performance-ready runtime asset delivery.
.claude/skills/mengto-build-hybrid-game-assets/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-08 | ✗→✓ | ▲ Improved | -7% | 0% |
| case-01 | ✗→✓ | ▲ Improved | -11% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 7% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -6% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 101% | 0% |
Choose the asset representation that best serves gameplay, readability, iteration speed, and runtime budget. Do not force every reference image through image-to-3D reconstruction.
| Need | Preferred representation | | --- | --- | | Hero character or complex authored animation | Imported rigged mesh, with verified license and scale | | Weapon, relic, pickup, creature variant, architecture, or interaction prop | Procedural Three.js geometry when controllable silhouette, sockets, collision, or code-driven variants matter | | Concept, class portrait, inventory icon, cursor, backdrop, or menu treatment | Generated or authored 2D image/video used directly as UI media | | Level mood, composition, or spacing reference | Concept image used as visual guidance; author the actual playable level separately | | Reference image whose visible form itself must become a code model | Use img2threejs with its quality gates and state the result is a reconstruction, not extracted geometry |
Generate a compact reference set: hero view, silhouette/side view when geometry matters, palette/material close-up, and usage context. Define camera distance, scale, pivot, collision, attachment sockets, animation needs, and budget before implementation. A single image cannot establish hidden geometry; request more views or select deliberate stylization.
Check the real camera distance, lighting, readability, collision/contact, animation, mobile viewport, and performance. Measure representative draw calls, triangles, texture count, and frame time. Keep visuals original: use references for visual grammar, then create new identity, geometry, and media.
Track whether each runtime asset is imported, procedural, generated 2D, or reference-only, together with source/license and generation input where applicable. Do not claim an image-to-model pipeline unless source and runtime code actually demonstrate one.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-08 | fail→pass | 14,546 | 11,231 | -23% | 1 | 1 | 0% | 2,659 | 2,460 | -7% | 0 | 0 | — |
case-10 | pass→pass | 15,870 | 15,044 | -5% | 1 | 1 | 0% | 2,688 | 3,118 | +16% | 0 | 0 | — |
case-09 | pass→fail | 11,513 | 8,308 | -28% | 1 | 1 | 0% | 2,014 | 2,094 | +4% | 0 | 0 | — |
case-01 | fail→pass | 27,772 | 21,909 | -21% | 1 | 1 | 0% | 5,483 | 4,891 | -11% | 0 | 0 | — |
case-02 | pass→fail | 26,660 | 26,734 | +0% | 1 | 1 | 0% | 6,209 | 6,743 | +9% | 0 | 0 | — |
case-03 | fail→pass | 32,010 | 24,748 | -23% | 1 | 1 | 0% | 5,000 | 5,367 | +7% | 0 | 0 | — |
case-04 | fail→pass | 13,278 | 9,188 | -31% | 1 | 1 | 0% | 2,205 | 2,063 | -6% | 0 | 0 | — |
case-05 | fail→pass | 17,760 | 28,133 | +58% | 1 | 1 | 0% | 3,353 | 6,729 | +101% | 0 | 0 | — |
case-06 | fail→fail | 12,019 | 9,218 | -23% | 1 | 1 | 0% | 2,091 | 2,056 | -2% | 0 | 0 | — |
case-07 | pass→pass | 12,224 | 11,793 | -4% | 1 | 1 | 0% | 1,889 | 2,731 | +45% | 0 | 0 | — |
case-11 | fail→pass | 17,798 | 12,737 | -28% | 1 | 1 | 0% | 3,017 | 2,796 | -7% | 0 | 0 | — |
case-12 | pass→pass | 13,756 | 11,836 | -14% | 1 | 1 | 0% | 2,382 | 2,454 | +3% | 0 | 0 | — |
case-13 | pass→pass | 14,394 | 10,744 | -25% | 1 | 1 | 0% | 2,672 | 2,611 | -2% | 0 | 0 | — |
case-14 | fail→fail | 15,370 | 13,059 | -15% | 1 | 1 | 0% | 2,401 | 2,630 | +10% | 0 | 0 | — |
case-15 | pass→pass | 15,401 | 15,063 | -2% | 1 | 1 | 0% | 2,805 | 3,135 | +12% | 0 | 0 | — |
case-16 | fail→pass | 11,043 | 10,813 | -2% | 1 | 1 | 0% | 1,856 | 2,519 | +36% | 0 | 0 | — |
case-17 | fail→pass | 17,322 | 11,034 | -36% | 1 | 1 | 0% | 3,098 | 2,764 | -11% | 0 | 0 | — |
case-18 | fail→pass | 9,439 | 7,984 | -15% | 1 | 1 | 0% | 1,718 | 1,953 | +14% | 0 | 0 | — |
case-19 | fail→pass | 18,217 | 16,781 | -8% | 1 | 1 | 0% | 3,239 | 3,705 | +14% | 0 | 0 | — |
case-20 | pass→pass | 18,694 | 17,542 | -6% | 1 | 1 | 0% | 3,380 | 3,820 | +13% | 0 | 0 | — |
case-21 | fail→fail | 13,732 | 15,644 | +14% | 1 | 1 | 0% | 2,222 | 3,378 | +52% | 0 | 0 | — |
case-22 | pass→pass | 16,671 | 19,603 | +18% | 1 | 1 | 0% | 3,083 | 4,489 | +46% | 0 | 0 | — |
case-23 | pass→pass | 20,346 | 20,796 | +2% | 1 | 1 | 0% | 4,490 | 5,135 | +14% | 0 | 0 | — |
case-24 | pass→pass | 24,479 | 27,422 | +12% | 1 | 1 | 0% | 5,273 | 6,722 | +27% | 0 | 0 | — |
case-25 | pass→fail | 11,743 | 10,850 | -8% | 1 | 1 | 0% | 2,358 | 2,664 | +13% | 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. 25 cases were attempted. The headline lift of +28 percentage points is the difference between those two pass rates over the 25 comparable cases. 3 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.