Found This Design
Find a visual direction from the local bank. Recommend 3 (default) or 5.
Generate a high-fidelity first-viewport photo of this product in each
world, then stop. /impeccable builds after the user picks. Stop before
component atoms; atoms are impeccable + Design V2.
/found_this_design is the same command.
Load
- Matching: references/matching.md
- Bank paths and fields: references/banks.md
- Before any
image_gen/image_edit: OpenCode native image tools if the session exposes them; otherwise write prompt files and mark DEGRADED. Do not restate it. - Do not load
impeccable,emil-design-eng,visual-studio, oradhd.
Hard rules
- Stop before component atoms; atoms are impeccable + Design V2.
- Search with the scripts. Never read either
catalog.jsoninto context. - Do not implement UI, copy a Motion prompt into code, or overwrite the
project's
DESIGN.mdunless the user asked to pin files. - Do not crawl Refero or Motionsites. Do not open
npm run bankunless the user asked to browse. - Generate comps only for the shortlist. One viewport per candidate. No full-page scroll, no contact sheet.
- Comp text may be approximate. Product facts on the cards must be true.
- Match the user's language. Lane names stay English.
Run
<skill-dir> is this skill's directory.
Fingerprint. From the user text, decide
count(5 only if they asked for 5 / "lebih banyak") andquery. Then:node <skill-dir>/scripts/fingerprint.mjs --cwd <project> --query "<text>" --count 3 > brief.jsonIf
PRODUCT.mdis missing and the query does not name a surface or product, ask one round: which surface, and what mood is forbidden. Do not ask for hex or canned aesthetic lanes.Search.
node <skill-dir>/scripts/search.mjs --brief brief.json --lane <identity|section|both> --count <n>Use
laneHintfrom the brief unless the user named a lane. Override bank root withOPENCODE_DESIGN_BANKor--bank. Exit 2 = catalogs missing; report the paths and stop.Read the shortlist packs only. For each item:
preview,files.meta, and the start offiles.design(Refero) orfiles.prompt(Motion). Collect real product name, offer, and visitor job fromPRODUCT.md/ the query. Do not invent claims.Comps. After the shortlist, not before. Save:
.impeccable/found-this-design/<slug>-comp.png .impeccable/found-this-design/<slug>-comp.prompt.txtOne first-viewport photo of this product wearing that bank world. High fidelity, not a wireframe, not the source thumb. Layout may leave the current site. Keep product name, offer, facts, and the visitor's job. Aspect
16:9desktop;9:16when the surface ismobile-appor the user asked mobile.Condition Tool References Current-site screenshot exists image_editscreenshot (product facts) + bank preview (world) Greenfield / no UI image_editbank preview only; prompt carries product facts Tool blocked or failed do not retry to evade show the bank thumb; say the comp is missing If there is no screenshot but a local page or dev server exists, capture one first viewport through
opencode-chromium-cdp+browser-actonly as an edit reference. Skip if capture fails.Fire 3 or 5 calls in parallel, one prompt per candidate (2–5 sentences): surface regions in order → this product's content in those regions → bank northStar / hexes / type / material → "high-fidelity designed website viewport, not a poster, not a photograph of a place". If a render reads as a poster or a photo of the subject, regenerate that slot once with a more literal layout skeleton. Write the prompt beside the png.
Re-roll generates only new ids (
--excludethe ones already shown). Expanding 3 → 5 generates the two extras only.Cards. Equal weight. Hero = generated comp (workspace-relative path). Bank thumb is a small "source" label.
Each card: product-in-that-world photo, source thumb, name, bank, kind/jenis, theme, one sentence from
reasons(why it fits this brief — not "best"), pack paths. Mark the score leader as "closest to the brief".Then offer: pick one · show 5 (if 3) · re-roll with a steer.
Pin + handoff. After a pick, write
.impeccable/found-this-design.json(slug,bank, pack paths,lane, one-line reason,comppath). Read that pack's DESIGN.md + tokens or prompt. The comp is a north-star preview, not a pixel spec; the bank pack owns tokens and type. Say the next step is/impeccablewith this world and this comp. Stop. Do not write components.Redesign: old look is anti-reference. New: pin is the starting world. Section: keep the project's identity; Motion fills only that section.
Prompt checklist (every comp)
- Product name and real offer, no invented customers/prices/metrics
- Named surface regions and their scale
- Bank hexes + type character + northStar or Motion material
- "Designed website viewport" — not poster, not interior photo