{"slug":"scenario-multi-reference","title":"scenario-multi-reference","summary":"Use 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 o","platform":"Claude","tags":[],"authorName":"LLM Mart","authorSlug":"llm-mart","score":0,"source":"github","price":null,"verified":false,"createdAt":"2026-10-17T09:10:46.795019Z","repo":{"url":"https://github.com/scenario-labs/skills","stars":1035,"forks":129,"license":"MIT","updatedAt":"2026-10-17T05:01:44Z"},"bodyHtml":"<h1>scenario-multi-reference: maintainer notes</h1>\n<p>How this skill was built and why it makes its choices. Not linked from SKILL.md and not read at runtime.</p>\n<h2>Origin</h2>\n<p>Distilled from the <em>Give each picture a job</em> exploration on scenario.com/explorations: one agent session working through the Scenario MCP server generated reference cards, then composed one picture and one six-second film per set. Eight sets were kept, from a 3D animated film still to a risograph poster. The kept picture prompts are in <code>references/prompt-patterns.md</code>, with the first set inlined in SKILL.md as the worked example.</p>\n<p>The exploration used GPT Image 2.5 Sunburst for the cards and pictures and Seedance 2.5 for the films. SKILL.md names neither: discovery goes through <code>recommend</code>, and a live call on 2026-10-06 (<code>capability=\"img2img\"</code>, <code>features=[\"referenceImages\"]</code>, a four-role brief) ranked that same editor first among 51 matching members, so the route reaches it without naming it.</p>\n<h2>Why this route</h2>\n<ul>\n<li><strong>A separate skill, not a section of <code>scenario-image</code> or <code>scenario-consistency</code>.</strong> <code>scenario-image</code> covers the reference field's contract (name, cap, array) and says to name each reference's role in one sentence; <code>scenario-consistency</code> holds one look across many images. Neither teaches composing one image from several roles, nor the leak failure that is the technique's whole point.</li>\n<li><strong>One output type.</strong> The exploration also filmed each picture. The film step is a short handoff to <code>scenario-video</code> with the one rule the record supports (the film prompt carries no jobs), not a second workflow.</li>\n<li><strong><code>features=[\"referenceImages\"]</code> on <code>recommend</code>.</strong> It filters on an exact input name. Some families call the slot something else (<code>imageRef</code>), which is why the body says to drop the filter to see them.</li>\n<li><strong>WHO and WHERE kept as run.</strong> The exploration page calls those jobs Main subject and Stage, but the kept prompts were written with WHO and WHERE, and relabeling them would ship prompts nobody ran.</li>\n</ul>\n<h2>What changed from the exploration's downloadable skill</h2>\n<ul>\n<li>Discovery moved from a capability-worded <code>search</code> to <code>recommend</code>, per the authoring contract.</li>\n<li>The two helper scripts (a JSON-to-prompt formatter and a Pillow contact sheet) were dropped: an agent writes a six-line prompt directly, and contact sheets are generic. Their example configs went with them; <code>references/prompt-patterns.md</code> holds the same prompts.</li>\n<li>The job vocabulary and leak checks were folded into the body, since every run needs them.</li>\n<li>Spelling moved to American English, prompts included.</li>\n<li>Added the <code>asset_get</code> consumed-reference check, so a silently dropped reference is not misread as an ignored job.</li>\n</ul>\n<h2>What the record does not cover</h2>\n<ul>\n<li>The user's own photos: every card in the exploration was generated, so noisy photos, faces, and text-bearing references are untested.</li>\n<li>More than five references in one call, and any editor other than the one used.</li>\n<li>Films longer than six seconds.</li>\n</ul>\n","files":[{"path":"README.md","sizeBytes":2962,"isText":true},{"path":"references/prompt-patterns.md","sizeBytes":11453,"isText":true},{"path":"SKILL.md","sizeBytes":10500,"isText":true}],"reviewScore":null,"reviewSummary":null,"trust":{"provenance":"trusted-source-unreviewed","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow.","bodySource":null},"bodyLocked":false,"purchaseUrl":null,"sourceUrl":null,"report":{"provenance":"trusted-source-unreviewed","screen":{"ran":true,"outcome":"clean","suspicious":0,"notes":0,"hiddenCharacters":false},"virusScan":{"engine":"clamav","status":"clean","scannedAt":"2026-10-17T09:11:00.064224Z","sha256":"3B09806C0498E88CB04B1AF95895B79FE9C9D74BAD476A82AEF626AA62DEEA97","sizeBytes":10967},"review":null,"source":{"repositoryUrl":"https://github.com/scenario-labs/skills","path":"skills/scenario-multi-reference","license":"MIT","commit":"dc592af7139ffacfe8fdae7dc7efa80f4dd09be3","subtreeSha":"28ABC018C0ACFBD882997D3C7857ACC642790F7A952EA425521FF060E4254B3B","lastSyncedAt":"2026-10-17T09:10:46.286688Z"},"reviewedAt":"2026-10-17T09:11:03.500078Z","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow."},"install":[{"target":"skills-cli","command":"npx skills add https://github.com/scenario-labs/skills/tree/main/skills/scenario-multi-reference"},{"target":"claude-code","command":"claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install scenario-labs-skills@llmmart"},{"target":"git","command":"git clone https://github.com/scenario-labs/skills.git"}]}