summer-engine 2.0.0 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{marketplace.json → .claude-plugin/marketplace.json} +3 -3
- package/.claude-plugin/plugin.json +37 -4
- package/.codex-plugin/plugin.json +38 -5
- package/.cursor-plugin/plugin.json +37 -4
- package/.factory-plugin/plugin.json +20 -0
- package/.opencode/INSTALL.md +9 -3
- package/.opencode/plugins/summer.js +0 -2
- package/AGENTS.md +51 -0
- package/CLAUDE.md +5 -0
- package/GEMINI.md +56 -0
- package/README.md +211 -61
- package/_persona/summer/SKILL.md +113 -0
- package/dist/commands/install.js +2 -2
- package/dist/commands/setup.js +4 -0
- package/dist/commands/skills.js +115 -2
- package/dist/lib/agent-config.d.ts +2 -2
- package/dist/lib/agent-config.js +171 -5
- package/dist/lib/skills-registry.d.ts +290 -26
- package/dist/lib/skills-registry.js +503 -1
- package/dist/mcp/tools/generate-tools.js +101 -0
- package/gemini-extension.json +2 -2
- package/package.json +9 -3
- package/skills/2d-assets/character-portrait/SKILL.md +196 -0
- package/skills/2d-assets/concept-art/SKILL.md +152 -0
- package/skills/2d-assets/pixel-art/SKILL.md +180 -0
- package/skills/2d-assets/skybox-panorama/SKILL.md +207 -0
- package/skills/2d-assets/sprite-sheet/SKILL.md +239 -0
- package/skills/2d-assets/tileable-texture/SKILL.md +205 -0
- package/skills/2d-assets/ui-graphics/SKILL.md +210 -0
- package/skills/3d-assets/character-model/SKILL.md +225 -0
- package/skills/3d-assets/environment-kit/SKILL.md +164 -0
- package/skills/3d-assets/organic-model/SKILL.md +192 -0
- package/skills/3d-assets/prop-model/SKILL.md +133 -0
- package/skills/3d-assets/vehicle-model/SKILL.md +202 -0
- package/skills/ai-and-npcs/design-npc/SKILL.md +3 -1
- package/skills/animation/animation-tree/SKILL.md +260 -0
- package/skills/animation/facial-and-lipsync/SKILL.md +282 -0
- package/skills/animation/generate-motion/SKILL.md +129 -0
- package/skills/animation/procedural-animation/SKILL.md +234 -0
- package/skills/animation/retarget/SKILL.md +172 -0
- package/skills/asset-pipeline/asset-strategy/SKILL.md +102 -212
- package/skills/audio/adaptive-music/SKILL.md +326 -0
- package/skills/audio/ambient-bed/SKILL.md +278 -0
- package/skills/audio/music-track/SKILL.md +268 -0
- package/skills/audio/sound-effect/SKILL.md +237 -0
- package/skills/audio/voice-line/SKILL.md +253 -0
- package/skills/catalog.yaml +249 -3
- package/skills/video/animated-loop/SKILL.md +200 -0
- package/skills/video/cinematic-cutscene/SKILL.md +204 -0
- package/skills/video/trailer-shot/SKILL.md +203 -0
- package/skills/visual-effects/_building-blocks/additive-billboard-particles.md +28 -0
- package/skills/visual-effects/_building-blocks/noise-3d-fbm.gdshaderinc +45 -0
- package/skills/visual-effects/_building-blocks/trauma-shake-snippet.md +51 -0
- package/skills/visual-effects/{vfx → game-feel}/SKILL.md +1 -1
- package/skills/visual-effects/recipes/dissolve/SKILL.md +349 -0
- package/skills/visual-effects/recipes/fire/SKILL.md +387 -0
- package/skills/visual-effects/recipes/hit-spark/SKILL.md +330 -0
- package/skills/visual-effects/recipes/lightning/SKILL.md +372 -0
- package/skills/visual-effects/recipes/magic-glow/SKILL.md +377 -0
- package/skills/visual-effects/recipes/muzzle-flash/SKILL.md +326 -0
- package/skills/visual-effects/recipes/smoke/SKILL.md +381 -0
- package/skills/visual-effects/recipes/water-ripple/SKILL.md +340 -0
|
@@ -1,243 +1,133 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: asset-strategy
|
|
3
|
-
description: Use when planning asset creation, picking an asset pipeline, or
|
|
3
|
+
description: Use when planning asset creation, picking an asset pipeline, or routing an "I need a [thing]" request to the right specialist skill. Disambiguates between 2D / 3D / audio / video / VFX / animation pipelines and dispatches via the Skill tool. Trigger on "assets", "asset pipeline", "make a model", "I need a sound", "create concept art", "generate something", broad creative requests.
|
|
4
4
|
license: MIT
|
|
5
5
|
compatibility: [Cursor, Claude Code, Windsurf, Codex]
|
|
6
6
|
category: asset-pipeline
|
|
7
7
|
user-invocable: false
|
|
8
|
-
allowed-tools: Read Grep summer_search_assets
|
|
8
|
+
allowed-tools: Read Grep Skill summer_search_assets
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
-
# Asset Strategy for
|
|
11
|
+
# Asset Strategy — Meta-Router for Asset Creation
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
Classify the user's request, ask at most one clarifying question, then dispatch to the right specialist via the `Skill` tool. Don't generate anything yourself — every media-type/asset-class combination has a dedicated specialist that owns the prompt patterns, polycount targets, gates, and fallbacks. Your job is the routing decision, not the work.
|
|
14
|
+
|
|
15
|
+
## Step 1 — Classify by media type
|
|
14
16
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
|
20
|
-
|
|
21
|
-
|
|
|
22
|
-
|
|
|
23
|
-
| Organic (trees, rocks, mushrooms) | Image-to-3D | Handles complex shapes well |
|
|
24
|
-
| Vehicles (car, spaceship, boat) | Image-to-3D | Good for hard-surface objects |
|
|
25
|
-
| Walls / floors / ceilings | Texture + BoxMesh/CSGBox | Tiled textures on simple geometry |
|
|
26
|
-
| Terrain / ground | Texture + PlaneMesh | Tileable ground textures |
|
|
27
|
-
| Buildings / structures | Texture + CSG or modular kit | Combine primitive shapes with textures |
|
|
28
|
-
| UI elements / icons / HUD | 2D image only | No 3D conversion needed |
|
|
29
|
-
| Sprites (2D games) | 2D image only | Direct use as Sprite2D texture |
|
|
30
|
-
| Skyboxes / backgrounds | Panoramic image gen | Environment, not mesh |
|
|
31
|
-
| Particles / VFX | Built in engine | GPUParticles3D, no generation |
|
|
32
|
-
| Audio / music / SFX | summer_generate_audio | Separate pipeline |
|
|
33
|
-
|
|
34
|
-
---
|
|
35
|
-
|
|
36
|
-
## Pipeline 1: Image-to-3D (Props, Characters, Organic)
|
|
37
|
-
|
|
38
|
-
### How it works
|
|
39
|
-
|
|
40
|
-
1. A reference template image (mannequin on white bg) is stored server-side
|
|
41
|
-
2. nano-banana-2 img2img replaces the mannequin with the desired asset
|
|
42
|
-
3. The result is a clean, 3D-ready reference image
|
|
43
|
-
4. That image feeds into Hunyuan 3D (default) or Trellis 2 for 3D conversion
|
|
44
|
-
5. You get a 3D model back
|
|
45
|
-
|
|
46
|
-
Available 3D models:
|
|
47
|
-
- **hunyuan** (default) — Hunyuan 3D v3.1 Pro, highest quality
|
|
48
|
-
- **trellis** — Trellis 2, fast and detailed
|
|
49
|
-
- **meshy** — Legacy option
|
|
50
|
-
|
|
51
|
-
From the CLI, the reference image step is invisible. Just call:
|
|
52
|
-
|
|
53
|
-
```
|
|
54
|
-
summer_generate_3d(prompt="a treasure chest with gold coins")
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
The server generates the reference image and feeds it to 3D automatically.
|
|
58
|
-
|
|
59
|
-
To pick a specific model:
|
|
60
|
-
|
|
61
|
-
```
|
|
62
|
-
summer_generate_3d(prompt="a treasure chest", model="trellis")
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
For manual control (you want to see/approve the reference image first):
|
|
66
|
-
|
|
67
|
-
```
|
|
68
|
-
summer_generate_image(prompt="a treasure chest with gold coins, game asset, white background, stylized, not ultra realistic")
|
|
69
|
-
# Review the image with Read tool
|
|
70
|
-
summer_generate_3d(kind="image-to-3d", imageUrl="<fileUrl from above>")
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
### Prompt template for 3D reference images
|
|
74
|
-
|
|
75
|
-
When generating images intended for 3D conversion, use this suffix:
|
|
76
|
-
|
|
77
|
-
```
|
|
78
|
-
[your asset description]. Game asset, centered in frame, 3D model render style,
|
|
79
|
-
stylized game art, not ultra realistic, clean white background, soft studio
|
|
80
|
-
lighting. Isolated object ready for 3D mesh generation.
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
Examples:
|
|
84
|
-
|
|
85
|
-
**Weapon:**
|
|
86
|
-
```
|
|
87
|
-
A medieval broadsword with ornate crossguard and leather-wrapped grip. Game asset,
|
|
88
|
-
centered in frame, 3D model render style, stylized game art, not ultra realistic,
|
|
89
|
-
clean white background, soft studio lighting. Isolated object ready for 3D mesh
|
|
90
|
-
generation.
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
**Character:**
|
|
94
|
-
```
|
|
95
|
-
A fantasy knight in full plate armor, red cape, detailed pauldrons. T-pose,
|
|
96
|
-
front-facing. Game character asset, 3D model render style, stylized game art,
|
|
97
|
-
not ultra realistic, clean white background, soft studio lighting. Ready for
|
|
98
|
-
3D mesh generation.
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
**Organic prop:**
|
|
102
|
-
```
|
|
103
|
-
Cluster of bioluminescent mushrooms growing from a small mossy rock base. Pale
|
|
104
|
-
green glow, translucent caps, alien organic shapes. Game asset, centered in frame,
|
|
105
|
-
3D model render style, stylized game art, not ultra realistic, clean white
|
|
106
|
-
background, soft studio lighting. Isolated object ready for 3D mesh generation.
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
**Vehicle:**
|
|
110
|
-
```
|
|
111
|
-
A rusted sci-fi hover bike with exposed engine parts and worn paint. Game asset,
|
|
112
|
-
centered in frame, 3D model render style, stylized game art, not ultra realistic,
|
|
113
|
-
clean white background, soft studio lighting. Isolated vehicle ready for 3D mesh
|
|
114
|
-
generation.
|
|
115
|
-
```
|
|
17
|
+
| Signal in user request | Continue at |
|
|
18
|
+
|---|---|
|
|
19
|
+
| image, art, concept, portrait, icon, sprite, texture, skybox, HUD | 2D table |
|
|
20
|
+
| model, mesh, 3D, prop, character, rigged, vehicle, tree, level kit | 3D table |
|
|
21
|
+
| sound, SFX, music, ambient, voice, VO | Audio table |
|
|
22
|
+
| cutscene, trailer, loop video, animated background | Video table |
|
|
23
|
+
| animation, idle, walk, attack, retarget, blend tree, IK, lipsync | Animation table |
|
|
24
|
+
| fire, muzzle flash, smoke, lightning, shake, hit-stop, particles | VFX table |
|
|
116
25
|
|
|
117
|
-
|
|
26
|
+
If the request spans rows ("a witch with idle and a fire spell"), classify the **first** asset and dispatch — the specialist hands off when it's done.
|
|
118
27
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
- Ultra-realistic rendering -- too much detail for game-ready meshes
|
|
123
|
-
- Flat 2D angles (pure front/side view) -- 3D gen needs depth cues
|
|
124
|
-
- Multiple objects ("a sword and a shield") -- generates as one fused mesh
|
|
125
|
-
- Busy backgrounds -- bleeds into the model
|
|
28
|
+
## Step 2 — Disambiguate (one question max)
|
|
29
|
+
|
|
30
|
+
Ask the **exact phrase** before dispatching. Skipping the question is the most common routing mistake.
|
|
126
31
|
|
|
127
|
-
|
|
32
|
+
| Ambiguity | Disambiguation question (verbatim) | Routes |
|
|
33
|
+
|---|---|---|
|
|
34
|
+
| Concept art vs character portrait | "Quick check — exploring the look (3-4 variants for art direction) or generating a final character portrait for dialogue UI?" | `summer:2d-assets/concept-art` (exploring) / `summer:2d-assets/character-portrait` (final) |
|
|
35
|
+
| Prop vs character model | "Static object (sword, chair, lantern) or rigged character that needs animation?" | `summer:3d-assets/prop-model` / `summer:3d-assets/character-model` |
|
|
36
|
+
| Tile vs sprite sheet | "One seamless tile that repeats, or a frame grid for an animated sprite?" | `summer:2d-assets/tileable-texture` / `summer:2d-assets/sprite-sheet` |
|
|
37
|
+
| SFX vs music | "One-shot effect or a longer track (loop, theme, ambient bed)?" | `summer:audio/sound-effect` / `summer:audio/music-track` (or `audio/ambient-bed`) |
|
|
38
|
+
| Generate vs retarget motion | "Generate a new clip on this character, or apply an existing library to a new character?" | `summer:animation/generate-motion` / `summer:animation/retarget` |
|
|
39
|
+
| VFX recipe vs game-feel | "Particle/shader effect in the world or screen-feel (camera shake, hit-stop)?" | `summer:visual-effects/recipes/<name>` / `summer:visual-effects/game-feel` |
|
|
128
40
|
|
|
129
|
-
|
|
41
|
+
## Step 3 — Dispatch
|
|
130
42
|
|
|
131
|
-
|
|
132
|
-
summer_generate_3d(prompt="...", options={ target_polycount: 5000 })
|
|
133
|
-
```
|
|
43
|
+
Invoke the specialist via the `Skill` tool. Don't paraphrase — let it run. Pass the user's original phrasing through.
|
|
134
44
|
|
|
135
|
-
|
|
136
|
-
- Mobile games: 1k-3k tris
|
|
137
|
-
- Indie/stylized PC: 3k-10k tris
|
|
138
|
-
- Detailed hero assets: 10k-30k tris
|
|
139
|
-
- Cinematics/showcase: 30k-100k tris
|
|
140
|
-
|
|
141
|
-
Default if not specified: provider decides (usually 10k-30k range).
|
|
45
|
+
## Routing tables
|
|
142
46
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
## Pipeline 2: Textures + Geometry (Walls, Floors, Structures)
|
|
146
|
-
|
|
147
|
-
For flat surfaces and repeating structures, don't generate 3D models. Generate textures and apply them to simple geometry.
|
|
148
|
-
|
|
149
|
-
### Walls
|
|
150
|
-
|
|
151
|
-
```
|
|
152
|
-
summer_generate_image(prompt="seamless brick wall texture, tileable, game texture, diffuse map")
|
|
153
|
-
summer_import_from_url(url="<fileUrl>", path="res://assets/textures/brick_wall.png")
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
Then in the scene:
|
|
157
|
-
```
|
|
158
|
-
summer_add_node(parent="./Level", type="CSGBox3D", name="Wall")
|
|
159
|
-
summer_set_prop(path="./Level/Wall", key="size", value="Vector3(10, 3, 0.3)")
|
|
160
|
-
summer_set_prop(path="./Level/Wall", key="position", value="Vector3(0, 1.5, -5)")
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
Attach material with texture via script or manual setup.
|
|
164
|
-
|
|
165
|
-
### Floors / ground
|
|
166
|
-
|
|
167
|
-
```
|
|
168
|
-
summer_generate_image(prompt="seamless grass ground texture, top-down, tileable, game texture")
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
Apply to PlaneMesh or CSGBox3D scaled flat.
|
|
172
|
-
|
|
173
|
-
### Modular building kit
|
|
47
|
+
### 2D assets
|
|
174
48
|
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
49
|
+
| Request | Skill |
|
|
50
|
+
|---|---|
|
|
51
|
+
| Concept / mood board / variants | `summer:2d-assets/concept-art` |
|
|
52
|
+
| Polished portrait / NPC bust | `summer:2d-assets/character-portrait` |
|
|
53
|
+
| Pixel sprite / retro icon | `summer:2d-assets/pixel-art` |
|
|
54
|
+
| HUD / button / inventory frame | `summer:2d-assets/ui-graphics` |
|
|
55
|
+
| Wall / floor / seamless ground | `summer:2d-assets/tileable-texture` |
|
|
56
|
+
| Run cycle / spritesheet grid | `summer:2d-assets/sprite-sheet` |
|
|
57
|
+
| 360 sky / panoramic background | `summer:2d-assets/skybox-panorama` |
|
|
180
58
|
|
|
181
|
-
|
|
182
|
-
- Wall texture (brick, stone, wood)
|
|
183
|
-
- Floor texture (tile, wood planks, concrete)
|
|
184
|
-
- Roof texture (shingles, metal)
|
|
59
|
+
### 3D assets
|
|
185
60
|
|
|
186
|
-
|
|
61
|
+
| Request | Skill |
|
|
62
|
+
|---|---|
|
|
63
|
+
| Sword / chair / barrel / static object | `summer:3d-assets/prop-model` |
|
|
64
|
+
| Player / NPC / enemy / boss / rigged humanoid | `summer:3d-assets/character-model` (canonical Meshy auto-rig) |
|
|
65
|
+
| Modular dungeon / building blocks | `summer:3d-assets/environment-kit` |
|
|
66
|
+
| Car / spaceship / hard-surface vehicle | `summer:3d-assets/vehicle-model` |
|
|
67
|
+
| Tree / rock / mushroom / foliage | `summer:3d-assets/organic-model` |
|
|
187
68
|
|
|
188
|
-
|
|
189
|
-
```
|
|
190
|
-
[material description], seamless, tileable, game texture, diffuse map,
|
|
191
|
-
top-down view, uniform lighting, no perspective
|
|
192
|
-
```
|
|
69
|
+
Polycount targets (hero 8k–15k, grunt 3k–6k, mobile 1k–3k, cinematic 20k–40k) live in each specialist.
|
|
193
70
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
## Pipeline 3: 2D Only (UI, Sprites, Icons)
|
|
197
|
-
|
|
198
|
-
For 2D game assets and UI elements:
|
|
71
|
+
### Audio
|
|
199
72
|
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
73
|
+
| Request | Skill |
|
|
74
|
+
|---|---|
|
|
75
|
+
| Sword clash / footstep / UI click | `summer:audio/sound-effect` |
|
|
76
|
+
| Theme / level music / boss track | `summer:audio/music-track` |
|
|
77
|
+
| Forest ambience / cave drone | `summer:audio/ambient-bed` |
|
|
78
|
+
| NPC line / VO / spoken dialogue | `summer:audio/voice-line` |
|
|
79
|
+
| Music that reacts to combat | `summer:audio/adaptive-music` |
|
|
80
|
+
| What should this game sound like | `summer:audio/audio-direction` |
|
|
204
81
|
|
|
205
|
-
|
|
82
|
+
### Animation
|
|
206
83
|
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
---
|
|
215
|
-
|
|
216
|
-
## Pipeline 4: Audio
|
|
217
|
-
|
|
218
|
-
Separate from visual assets. See summer_generate_audio tool:
|
|
219
|
-
|
|
220
|
-
```
|
|
221
|
-
summer_generate_audio(capability="sound_effects", text="metal sword clash impact")
|
|
222
|
-
summer_generate_audio(capability="music", prompt="ambient fantasy forest theme", durationSeconds=60)
|
|
223
|
-
summer_generate_audio(capability="text_to_speech", text="You shall not pass!", voiceId="<id>")
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
---
|
|
84
|
+
| Request | Skill |
|
|
85
|
+
|---|---|
|
|
86
|
+
| Idle / walk / run / attack — new clip | `summer:animation/generate-motion` |
|
|
87
|
+
| Apply library to a different character | `summer:animation/retarget` |
|
|
88
|
+
| Blend tree / state machine | `summer:animation/animation-tree` |
|
|
89
|
+
| Look-at / IK / foot placement | `summer:animation/procedural-animation` |
|
|
90
|
+
| Lipsync / facial blendshapes | `summer:animation/facial-and-lipsync` |
|
|
227
91
|
|
|
228
|
-
|
|
92
|
+
### Video
|
|
229
93
|
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
- **LOD (Level of Detail)**: Generate one version. If perf needs LOD, use Godot's LOD system or generate a second low-poly version.
|
|
94
|
+
| Request | Skill |
|
|
95
|
+
|---|---|
|
|
96
|
+
| Intro cutscene / story sequence | `summer:video/cinematic-cutscene` |
|
|
97
|
+
| Steam trailer / marketing clip | `summer:video/trailer-shot` |
|
|
98
|
+
| Animated menu background / loop | `summer:video/animated-loop` |
|
|
236
99
|
|
|
237
|
-
|
|
100
|
+
### Visual effects
|
|
238
101
|
|
|
239
|
-
|
|
102
|
+
VFX is **code, not generative** — recipes are shader + GDScript + node setup, not image generation.
|
|
240
103
|
|
|
241
|
-
|
|
104
|
+
| Request | Skill |
|
|
105
|
+
|---|---|
|
|
106
|
+
| Fire / torch / campfire | `summer:visual-effects/recipes/fire` |
|
|
107
|
+
| Muzzle flash / gunshot | `summer:visual-effects/recipes/muzzle-flash` |
|
|
108
|
+
| Water ripple / splash | `summer:visual-effects/recipes/water-ripple` |
|
|
109
|
+
| Lightning / electric arc | `summer:visual-effects/recipes/lightning` |
|
|
110
|
+
| Dissolve / disintegrate | `summer:visual-effects/recipes/dissolve` |
|
|
111
|
+
| Smoke / dust puff | `summer:visual-effects/recipes/smoke` |
|
|
112
|
+
| Hit spark / impact flash | `summer:visual-effects/recipes/hit-spark` |
|
|
113
|
+
| Magic glow / aura | `summer:visual-effects/recipes/magic-glow` |
|
|
114
|
+
| Camera shake / hit-stop | `summer:visual-effects/game-feel` |
|
|
115
|
+
|
|
116
|
+
## When NOT to use this skill
|
|
117
|
+
|
|
118
|
+
- The user already named the specific skill — go straight there.
|
|
119
|
+
- The user is debugging or running the game — route to `summer:debug` or `summer:play`.
|
|
120
|
+
- The asset is being imported, not generated (existing `.glb` / `.wav` from Sketchfab, Quaternius, AmbientCG) — call `summer_import_from_url` directly.
|
|
121
|
+
- The user wants to plan the whole game's asset list — `summer:brainstorm-game` first, then this router on each item.
|
|
122
|
+
|
|
123
|
+
## Anti-patterns
|
|
242
124
|
|
|
243
|
-
|
|
125
|
+
- **Generating yourself instead of dispatching.** This file holds zero prompt patterns by design. If you're writing a `summer_generate_image` call from here, stop and invoke the specialist.
|
|
126
|
+
- **Skipping the disambiguation question.** Sends users to the wrong specialist and burns a paid generation. The verbatim phrasing in Step 2 is required.
|
|
127
|
+
- **Routing concept-art to character-portrait** (or the reverse). Different goals: concept-art produces 4 divergent variants for art direction; character-portrait produces 1 polished bust for dialogue UI.
|
|
128
|
+
- **Inventing skill names.** Only dispatch to skills listed above. If nothing fits, ask the user to clarify.
|
|
129
|
+
- **Routing rigged-humanoid requests to `prop-model`.** Anything that needs animation always goes to `summer:3d-assets/character-model`.
|
|
130
|
+
|
|
131
|
+
## Fallback (no MCP)
|
|
132
|
+
|
|
133
|
+
The router still works without MCP — classification is text-only. It hands off to the specialist, which surfaces its own no-MCP fallback (typically: run the equivalent generation via the Summer dashboard / Meshy / nano-banana web, then `summer_import_from_url` once MCP is back).
|