brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
scenario-multi-referenceUse when one image must be composed from several reference pictures through the Scenario MCP server, each lending one thing: the character from one, the place, pose, style, light, palette, material, outfit, or layout from others. Also when a reference leaks into the result (its object, colors, or face showing where it should not) or a reference's role is ig…
Independent GitHub snapshot · Automated classification · Original documentation governs
A reference image lends everything it shows unless the prompt says otherwise: hand a model a raccoon chef as a style reference and the raccoon walks into the scene. The fix is to give each picture exactly one job, then say, for every picture, what not to take from it. Four or five pictures, one idea each (a drawing, a photo, a mannequin, a film still, a color swatch), compose into one image that keeps each contribution and nothing else. Connection and the generation loop: see the scenario skill. Per-family reference caps and syntax: scenario-image lists the image model-family skills. One subject held across many images: scenario-consistency. Animating the result: scenario-video. Refusals: scenario-moderation. If a sibling skill named here is missing from your available skills, ask the user to install it (npx skills add scenario-labs/skills --skill <name>); unattended, proceed from tool schemas and flag the gap.
| Job | The picture lends | Typical "not" line |
|---|---|---|
| Main subject (WHO) | the character, product | "Use only the idea of a gecko. Do not copy the photo's colors." |
| Stage (WHERE) | the place | "redrawn as woodblock architecture" when the medium differs |
| Pose | the body pose | "Do not show the mannequin or any wood." |
| Angle | the camera | "Do not include the lighthouse." |
| Style | medium, render, texture | "Do not include the raccoon, the kitchen, the apron or the pot." |
| Light | the light only | "Do not include the flowers or vase." |
| Palette | the only allowed colors | "No green anywhere." |
| Material | a surface | "Do not show any fish, fins or water." |
| Expression | the mood of a face | "No human skin, no nose, no ears, no hair." |
| Wear | clothing or armor | "The cat's own face stays visible; no human face mask." |
| Inspiration | a design idea, not the thing | "a gown designed from this jellyfish. Do not show a jellyfish." |
| Layout | grid and composition | "Do not copy the word MONDAY." |
The prompt, one line per picture (the kept prompts wrote Main subject and Stage as WHO and WHERE):
<One sentence naming the medium.> Each reference picture has exactly one job:
Image N (<what it shows>) = <JOB> only. <What it lends, concretely.> Do not <what to leave out>.
...
<Framing: shot size, placement, mood, text rules.>
scenario-consistency.scenario-text-overlay.Cards: a child's crayon monster (Main subject), a backyard photo (Stage), a wooden mannequin leaping (Pose), a 3D animated film still of a raccoon chef (Style).
upload_asset each card, then upload_asset_complete (see scenario). Keep the asset ids in the order you will number them.recommend with capability="img2img", features=["referenceImages"] (keeps only members exposing that exact field; drop it to see members that name the slot differently), and the user's own words as prompt. Handle next_step as scenario directs.model_schema_get on the pick. Read: the reference field's cap (four or five cards fit the leading members at authoring time, up to ten on some), array: true, how the description says the prompt addresses references (by order as "Image 1", or by tags such as @Image1 on some families), the sizing family, and the quality tier. When the schema offers a dedicated slot for a job (a style-reference field, a pose control), put that card there instead of in the reference array (scenario-consistency), and read the field description for how the prompt refers to it, since prompt numbering follows the array.model_run with dry_run=true (top-level, beside model_id, never inside parameters) and the schema's own names, for example parameters={"prompt": "<below>", "referenceImages": ["asset_monster", "asset_yard", "asset_mannequin", "asset_raccoon"], "quality": "high"} plus its sizing fields. Quote the user the total, any cards still to generate and the film included when one is wanted (a dry run rejects a payload missing its required image, so price against any uploaded picture, a small stand-in when no card exists yet), and run nothing paid until they agree (unattended, launch only inside a budget the task states; otherwise stop and report the quote). Then the same call with wait=false, jobs_wait, and asset_display.A still frame from a 3D animated family feature film. Each reference picture has exactly one job:
Image 1 (child's crayon drawing) = WHO. Turn this crayon monster into a soft, plush 3D animated character: round purple body, three uneven eyes, spiky green hair, tiny orange legs, big toothy smile. Keep its lopsided, hand-drawn charm.
Image 2 (backyard photo) = WHERE. Use this exact backyard: lawn, wooden fence, red hose, blue kiddie pool, swing set, lemon tree.
Image 3 (wooden mannequin) = POSE only. The monster leaps mid-air with both arms thrown up and one knee raised, exactly like the mannequin. Do not show the mannequin or any wood.
Image 4 (raccoon chef frame) = STYLE only. Copy its 3D render look, soft materials, warm bounce light and rich color. Do not include the raccoon, the kitchen, the apron or the pot.
Wide shot, the monster in the center above the lawn, afternoon sun, joyful.
scenario-video as the first frame. The film prompt carries no jobs, only motion, camera, and sound: the frame already holds every job.Seven more kept prompts across claymation, product ad, woodblock print, fashion editorial, pixel art, tilt-shift miniature, and risograph poster, each with its film prompt: references/prompt-patterns.md.
For each picture, ask two questions: is its job visible, and is anything else from it visible?
Before rewriting a line for an ignored job, asset_get the output: metadata.referenceImages lists what the run consumed, and a reference sent as a bare string where the schema says array: true was dropped silently, so no wording brings its job back.
recommend, read caps off model_schema_get, price with dry_run=true.