④段整套同步(六节 + P/S/F/J + 模板)+ open-design 移到技能根

一、④段整套同步(用户选候选 A)
- 新增 `references/stage-proto-doc/assets/产品文档模板.html`(16 KB/247 行,从备份拷、转 LF)。
- ④段 SKILL.md 换成备份 15:28 那版,并按模板口径改齐:
  · 「产品文档框架」从「四块+一附录」改成**六节** —— 页面结构/功能清单/使用场景/操作流程/
    跨页与界面状态/待确认与偏离;与模板同构,⛔ 不从空白页重写结构。
  · 编号从 R/S/F 改成 **P 页面/S 场景/F 功能/J 二级功能**,各自唯一、按展示顺序通排。
  · 保留旧版有价值的要求:每项功能补齐 做什么/入口在哪/输入边界/异常与恢复;重点功能三处标红;
    横向流程图每步写清页面/功能/操作/完成判据。
  · 完成标准「七节」→「六节」,自查清单同步换掉「需求」那批条目,补模板与配图两条。
  · 路径 `designs/<项目>/` → `docs/pm/<项目>/ui/`(2 处)。
  · 补回本机那条「每份产出文档开头都要有一张图」的引用(指向主 skill,段内不复述)。
- 主 skill 同步:四段结构表④行、④段沿革、画图小节(④段画页面结构图 + 用户路径)。

二、open-design 移到技能根(用户选候选 A)
- `git mv product-planning/references/stage-delivery/assets/open-design → open-design/`(4178 文件)。
- `.gitignore` 白名单加 `!/open-design/` —— 否则移出去就不再纳入版本控制。
- 引用改 11 处:路径形态 `assets/open-design/...` → `<技能根>/open-design/...`;
  「随段携带的自带件」改称「同根技能」;「路径怎么找」那条改成自带件(段内相对路径)与
  同根技能(`<技能根>/<技能名>/`)两类分开写。
- open-design 自己的 ATTRIBUTION.md 两处同步(它现在与 oil-ui-pro 同层)。
- 副作用(有益):命名闸门读数由 2063 降到 225 —— 此前它把 open-design 里 919 个第三方 md
  当成规则一起扫了;现在只扫本包 23 个 md。已确认④段的 H1 与 4a/4b/4c 子步仍在检查范围内。

三、验收
- check_naming.py --ws E:/ProgramData/AIProject/contentm_agent = 通过 225 / 失败 0 / 提示 27。
- 活文件里 `assets/open-design` 残留 0;工作区 CRLF 文件 0。
This commit is contained in:
admin committed 2026-10-15 21:17:28 +08:00
1 parent fa0a9026c8
commit 5afeb6b78a
4184 files changed
+326 -70

No files matched your search

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

@@ -0,0 +1 @@
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Anthropic"><path fill="currentColor" d="M17.3041 3.541h-3.6718l6.696 16.918H24Zm-10.6082 0L0 20.459h3.7442l1.3693-3.5527h7.0052l1.3693 3.5528h3.7442L10.5363 3.5409Zm-.3712 10.2232 2.2914-5.9456 2.2914 5.9456Z"/></svg>

After

Width:  |  Height:  |  Size: 301 B

@@ -0,0 +1 @@
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="DeepSeek"><path fill="currentColor" d="M23.748 4.651c-.254-.124-.364.113-.512.233-.051.04-.094.09-.137.137-.372.397-.806.657-1.373.626-.829-.046-1.537.214-2.163.848-.133-.782-.575-1.248-1.247-1.548-.352-.155-.708-.311-.955-.65-.172-.24-.219-.509-.305-.774-.055-.16-.11-.323-.293-.35-.2-.031-.278.136-.356.276-.313.572-.434 1.202-.422 1.84.027 1.436.633 2.58 1.838 3.393.137.094.172.187.129.323-.082.28-.18.553-.266.833-.055.179-.137.218-.328.14a5.5 5.5 0 0 1-1.737-1.179c-.857-.828-1.631-1.743-2.597-2.46a12 12 0 0 0-.689-.47c-.985-.957.13-1.743.387-1.836.27-.098.094-.433-.778-.428-.872.003-1.67.295-2.687.685a3 3 0 0 1-.465.136 9.6 9.6 0 0 0-2.883-.101c-1.885.21-3.39 1.1-4.497 2.622C.082 8.776-.231 10.854.152 13.02c.403 2.284 1.568 4.175 3.36 5.653 1.857 1.533 3.997 2.284 6.438 2.14 1.482-.085 3.132-.284 4.994-1.86.47.234.962.328 1.78.398.629.058 1.235-.031 1.705-.129.735-.155.684-.836.418-.961-2.155-1.004-1.682-.595-2.112-.926 1.095-1.295 2.768-3.598 3.284-6.733.05-.346.115-.834.108-1.114-.004-.171.035-.238.23-.257a4.2 4.2 0 0 0 1.545-.475c1.397-.763 1.96-2.016 2.093-3.517.02-.23-.004-.467-.247-.588M11.58 18.168c-2.088-1.642-3.101-2.183-3.52-2.16-.39.024-.32.472-.234.763.09.288.207.487.371.74.114.167.192.416-.113.603-.673.416-1.842-.14-1.897-.168-1.361-.801-2.5-1.86-3.301-3.306-.775-1.393-1.225-2.888-1.299-4.482-.02-.385.094-.522.477-.592a4.7 4.7 0 0 1 1.53-.038c2.131.311 3.946 1.264 5.467 2.774.868.86 1.525 1.887 2.202 2.89.72 1.066 1.494 2.082 2.48 2.915.348.291.626.513.892.677-.802.09-2.14.109-3.055-.615zm1.001-6.44a.306.306 0 0 1 .415-.287.3.3 0 0 1 .113.074.3.3 0 0 1 .086.214c0 .17-.136.307-.308.307a.303.303 0 0 1-.306-.307m3.11 1.596c-.2.081-.4.151-.591.16a1.25 1.25 0 0 1-.798-.254c-.274-.23-.47-.358-.551-.758a1.7 1.7 0 0 1 .015-.588c.07-.327-.007-.537-.238-.727-.188-.156-.426-.199-.689-.199a.6.6 0 0 1-.254-.078.253.253 0 0 1-.114-.358 1 1 0 0 1 .192-.21c.356-.202.767-.136 1.146.016.352.144.618.408 1.001.782.392.451.462.576.685.915.176.264.336.536.446.848.066.194-.02.353-.25.45"/></svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

@@ -0,0 +1 @@
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Google Gemini"><path fill="currentColor" d="M11.04 19.32Q12 21.51 12 24q0-2.49.93-4.68.96-2.19 2.58-3.81t3.81-2.55Q21.51 12 24 12q-2.49 0-4.68-.93a12.3 12.3 0 0 1-3.81-2.58 12.3 12.3 0 0 1-2.58-3.81Q12 2.49 12 0q0 2.49-.96 4.68-.93 2.19-2.55 3.81a12.3 12.3 0 0 1-3.81 2.58Q2.49 12 0 12q2.49 0 4.68.96 2.19.93 3.81 2.55t2.55 3.81"/></svg>

After

Width:  |  Height:  |  Size: 421 B

@@ -0,0 +1 @@
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="MiniMax"><g fill="currentColor"><rect x="2" y="10" width="1.7" height="4" rx="0.85"/><rect x="6" y="6.5" width="1.7" height="11" rx="0.85"/><rect x="10" y="3" width="1.7" height="18" rx="0.85"/><rect x="14" y="6.5" width="1.7" height="11" rx="0.85"/><rect x="18" y="9" width="1.7" height="6" rx="0.85"/></g></svg>

After

Width:  |  Height:  |  Size: 397 B

@@ -0,0 +1 @@
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Moonshot Kimi"><path fill="currentColor" d="M12 1.6A10.4 10.4 0 1 0 22.4 12 10.41 10.41 0 0 0 12 1.6Zm-3.2 5.1h2.05v4.07L14.6 6.7h2.45l-3.83 4.78 3.98 5.82H14.7l-2.9-4.42-1 1.24v3.18H8.8Z"/></svg>

After

Width:  |  Height:  |  Size: 280 B

@@ -0,0 +1 @@
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="OpenAI"><path fill="currentColor" d="M22.2819 9.8211a5.9847 5.9847 0 0 0-.5157-4.9108 6.0462 6.0462 0 0 0-6.5098-2.9A6.0651 6.0651 0 0 0 4.9807 4.1818a5.9847 5.9847 0 0 0-3.9977 2.9 6.0462 6.0462 0 0 0 .7427 7.0966 5.98 5.98 0 0 0 .511 4.9107 6.051 6.051 0 0 0 6.5146 2.9001A5.9847 5.9847 0 0 0 13.2599 24a6.0557 6.0557 0 0 0 5.7718-4.2058 5.9894 5.9894 0 0 0 3.9977-2.9001 6.0557 6.0557 0 0 0-.7475-7.0729zm-9.022 12.6081a4.4755 4.4755 0 0 1-2.8764-1.0408l.1419-.0804 4.7783-2.7582a.7948.7948 0 0 0 .3927-.6813v-6.7369l2.02 1.1686a.071.071 0 0 1 .038.052v5.5826a4.504 4.504 0 0 1-4.4945 4.4944zm-9.6607-4.1254a4.4708 4.4708 0 0 1-.5346-3.0137l.1419.0852 4.783 2.7582a.7712.7712 0 0 0 .7806 0l5.8428-3.3685v2.3324a.0804.0804 0 0 1-.0332.0615L9.74 19.9502a4.4992 4.4992 0 0 1-6.1408-1.6464zM2.3408 7.8956a4.485 4.485 0 0 1 2.3655-1.9728V11.6a.7664.7664 0 0 0 .3879.6765l5.8144 3.3543-2.0201 1.1685a.0757.0757 0 0 1-.071 0l-4.8303-2.7865A4.504 4.504 0 0 1 2.3408 7.872zm16.5963 3.8558L13.1038 8.364 15.1192 7.2a.0757.0757 0 0 1 .071 0l4.8303 2.7913a4.4944 4.4944 0 0 1-.6765 8.1042v-5.6772a.79.79 0 0 0-.407-.667zm2.0107-3.0231l-.142-.0852-4.7735-2.7818a.7759.7759 0 0 0-.7854 0L9.409 9.2297V6.8974a.0662.0662 0 0 1 .0284-.0615l4.8303-2.7866a4.4992 4.4992 0 0 1 6.6802 4.66zM8.3065 12.863l-2.02-1.1638a.0804.0804 0 0 1-.038-.0567V6.0742a4.4992 4.4992 0 0 1 7.3757-3.4537l-.142.0805L8.704 5.459a.7948.7948 0 0 0-.3927.6813zm1.0976-2.3654l2.602-1.4998 2.6069 1.4998v2.9994l-2.5974 1.4997-2.6067-1.4997Z"/></svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

@@ -0,0 +1 @@
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Qwen"><path fill="currentColor" d="M23.919 14.545 20.817 9.17l1.47-2.544a.56.56 0 0 0 0-.566l-1.633-2.83a.57.57 0 0 0-.49-.283h-6.207L12.487.402a.57.57 0 0 0-.49-.284H8.732a.56.56 0 0 0-.49.284L5.139 5.775h-2.94a.56.56 0 0 0-.49.284L.077 8.887a.56.56 0 0 0 0 .567L3.18 14.83l-1.47 2.545a.56.56 0 0 0 0 .566l1.634 2.83a.57.57 0 0 0 .49.283h6.205l1.47 2.545a.57.57 0 0 0 .49.284h3.266a.57.57 0 0 0 .49-.284l3.104-5.375h2.94a.57.57 0 0 0 .49-.283l1.634-2.828a.55.55 0 0 0-.004-.568M8.733.686l1.634 2.828-1.634 2.828H21.8L20.164 9.17H7.425L5.63 6.06Zm1.306 19.801-6.205-.002 1.634-2.83h3.265L2.201 6.344h3.267q3.182 5.517 6.367 11.032zm10.124-5.66L18.53 12l-6.532 11.315-1.634-2.83c2.129-3.673 4.25-7.351 6.373-11.028h3.592l3.102 5.374z"/></svg>

After

Width:  |  Height:  |  Size: 825 B

@@ -0,0 +1 @@
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="xAI"><path fill="currentColor" d="M6.469 8.776 16.512 23h-4.464L2.005 8.776H6.47Zm-.004 7.9 2.233 3.164L6.467 23H2l4.465-6.324ZM22 2l-9.726 13.776-2.232-3.164L17.535 2H22ZM17.536 8.582 14.343 4.06h4.464v4.522h-1.271Z"/></svg>

After

Width:  |  Height:  |  Size: 309 B

@@ -0,0 +1 @@
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Xiaomi MiMo"><path fill="currentColor" d="M3 6.4h6.7c1.55 0 2.5.42 3.1 1.05.6.62.95 1.55.95 2.95v7.2h-2.5v-7c0-.75-.15-1.2-.45-1.5-.3-.3-.78-.45-1.55-.45H5.5v8.95H3Zm15.5 0H21v11.2h-2.5Z"/></svg>

After

Width:  |  Height:  |  Size: 279 B

@@ -0,0 +1 @@
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Zhipu GLM"><path fill="currentColor" d="M4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Zm3.4 4.1v1.95h5.04L7.05 15.1v1.8h9.55v-1.95h-5.3l5.4-6.05V7.1H7.4Z"/></svg>

After

Width:  |  Height:  |  Size: 270 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

@@ -0,0 +1,168 @@
{
"$schema": "https://open-design.dev/schemas/image-manifest.v1.json",
"skill": "open-design-landing",
"design_system": "atelier-zero",
"default_quality": "high",
"slots": [
{
"id": "hero",
"file": "hero.png",
"width": 1024,
"height": 1024,
"ratio": "1:1",
"prompt_section": "hero.png — 1:1",
"required": true,
"rekey_on_brand_change": true
},
{
"id": "about",
"file": "about.png",
"width": 1024,
"height": 1024,
"ratio": "1:1",
"prompt_section": "about.png — 1:1",
"required": true,
"rekey_on_brand_change": true
},
{
"id": "capabilities",
"file": "capabilities.png",
"width": 1024,
"height": 1024,
"ratio": "1:1",
"prompt_section": "capabilities.png — 1:1",
"required": true,
"rekey_on_brand_change": true
},
{
"id": "method-1",
"file": "method-1.png",
"width": 816,
"height": 816,
"ratio": "1:1",
"prompt_section": "method-1 (Detect)",
"required": true,
"rekey_on_brand_change": false
},
{
"id": "method-2",
"file": "method-2.png",
"width": 816,
"height": 816,
"ratio": "1:1",
"prompt_section": "method-2 (Discover)",
"required": true,
"rekey_on_brand_change": false
},
{
"id": "method-3",
"file": "method-3.png",
"width": 816,
"height": 816,
"ratio": "1:1",
"prompt_section": "method-3 (Direct)",
"required": true,
"rekey_on_brand_change": false
},
{
"id": "method-4",
"file": "method-4.png",
"width": 816,
"height": 816,
"ratio": "1:1",
"prompt_section": "method-4 (Deliver)",
"required": true,
"rekey_on_brand_change": false
},
{
"id": "lab-1",
"file": "lab-1.png",
"width": 768,
"height": 1024,
"ratio": "3:4",
"prompt_section": "lab-1 (Magazine Decks)",
"required": true,
"rekey_on_brand_change": false
},
{
"id": "lab-2",
"file": "lab-2.png",
"width": 768,
"height": 1024,
"ratio": "3:4",
"prompt_section": "lab-2 (Synthetic Matter)",
"required": true,
"rekey_on_brand_change": false
},
{
"id": "lab-3",
"file": "lab-3.png",
"width": 768,
"height": 1024,
"ratio": "3:4",
"prompt_section": "lab-3 (Prompt Choreography)",
"required": true,
"rekey_on_brand_change": false
},
{
"id": "lab-4",
"file": "lab-4.png",
"width": 768,
"height": 1024,
"ratio": "3:4",
"prompt_section": "lab-4 (Visual Reasoning)",
"required": true,
"rekey_on_brand_change": false
},
{
"id": "lab-5",
"file": "lab-5.png",
"width": 768,
"height": 1024,
"ratio": "3:4",
"prompt_section": "lab-5 (Soft Systems)",
"required": true,
"rekey_on_brand_change": false
},
{
"id": "work-1",
"file": "work-1.png",
"width": 768,
"height": 1024,
"ratio": "3:4",
"prompt_section": "work-1 (Featured)",
"required": true,
"rekey_on_brand_change": true
},
{
"id": "work-2",
"file": "work-2.png",
"width": 768,
"height": 1024,
"ratio": "3:4",
"prompt_section": "work-2 (Companion)",
"required": true,
"rekey_on_brand_change": true
},
{
"id": "testimonial",
"file": "testimonial.png",
"width": 1024,
"height": 1024,
"ratio": "1:1",
"prompt_section": "testimonial.png — 1:1",
"required": true,
"rekey_on_brand_change": true
},
{
"id": "cta",
"file": "cta.png",
"width": 1024,
"height": 1024,
"ratio": "1:1",
"prompt_section": "cta.png — 1:1",
"required": true,
"rekey_on_brand_change": true
}
]
}
@@ -0,0 +1,246 @@
# Atelier Zero — Image Generation Prompt Pack
This pack is consumed by the `open-design-landing` skill. Every page-level
image is rendered with `gpt-image-fal` (preferred) or `gpt-image-azure`.
The pack has three layers:
1. **Style anchor** — the long block that tells the model what
universe we are in. Always prepend to every prompt.
2. **Variable slots** — the per-render content (subject, motifs,
accent, page type).
3. **Per-slot variants** — explicit composition templates for hero,
about, capabilities, method tiles, lab cards, work cards,
testimonial, and CTA.
Render at 1024×1024 minimum for square slots (hero / about / capabilities
/ testimonial / cta), 816×816 for the four method tiles, and 768×1024 for
portrait slots (lab cards, featured work). Authoritative per-slot
dimensions and aspect ratios live in `image-manifest.json` — treat that
file as the source of truth. Save as PNG to `assets/<slot>.png`.
---
## 1. Style anchor (always prepend)
```text
Use case: ads-marketing
Asset type: editorial website hero / creative studio landing page visual
Primary request: Generate a refined editorial web page composition in the
same visual language as a high-end creative AI research studio.
Style/medium: sophisticated digital collage, modern Swiss editorial layout,
Bauhaus geometric composition, classical plaster sculpture fragments,
brutalist/minimal architecture, art-direction website mockup, premium
agency aesthetic.
Scene/backdrop: warm off-white handmade paper background with subtle
grain, faint vertical folds, scanned paper fibers, lightly aged print
texture, thin drafting lines and registration marks.
Subject: a surreal collage combining a cropped classical plaster head or
face fragment, abstract architectural blocks, archways or stairs, sky
cutouts, one small human figure, a delicate tree or botanical element,
and geometric color planes.
Composition/framing: wide 16:9 web page layout, strong asymmetrical
grid, generous negative space, large typography area on the left or
top-left, collage focal object on the right or center-right, precise
alignment, thin divider lines, small UI navigation details.
Lighting/mood: soft diffused daylight, museum-like calm, intelligent,
restrained, tactile, poetic, premium, research-driven.
Color palette: warm ivory, stone beige, soft concrete gray, deep black
text, muted charcoal, washed coral-red accent, occasional mustard-yellow
accent, pale sky blue only inside small sky/image cutouts.
Materials/textures: matte plaster, limestone, travertine, concrete, rough
torn paper edges, halftone print grain, translucent vellum-like overlays,
fine grid paper, dotted matrix patterns.
Typography: large clean grotesk sans-serif for main headline, elegant
high-contrast italic serif for emphasized words, tiny uppercase coral
labels, compact UI microcopy. Text must be crisp, readable, and spelled
exactly as provided.
Graphic details: thin hairline circles, partial arcs, crosshair marks,
small black dots, dotted grids, fine coordinate lines, numbered
annotations, small arrow buttons, simple pill buttons, minimal logo mark.
Constraints: preserve a high-end editorial web design feel; keep spacing
elegant and uncluttered; no cartoon style; no neon colors; no glossy 3D;
no busy gradients; no generic stock-photo look.
Avoid: distorted typography, misspelled text, extra random words, heavy
shadows, childish illustration, cyberpunk, saturated purple/blue palette,
plastic materials, overly decorative UI cards, cluttered composition,
low-resolution textures, watermarks.
```
## 2. Variable slots (substitute per render)
```text
Brand/logo text: "<BRAND_NAME>"
Navigation text: "<NAV_1>", "<NAV_2>", "<NAV_3>", "<NAV_4>", "<NAV_5>"
Eyebrow label: "<EYEBROW>"
Main headline: "<MAIN_HEADLINE>"
Italic emphasis words: "<ITALIC_WORDS>"
Body copy: "<BODY_COPY>"
Primary button: "<PRIMARY_CTA>"
Secondary button: "<SECONDARY_CTA>"
Footer/micro labels: "<FOOTER_LABELS>"
Main collage subject: <plaster head | eye | hand | arch | stair | tree | landscape | object>
Inserted texture motifs:<sky, mountain, ocean, eye close-up, dancer, stone, fabric, map, grid, handwritten note>
Accent color: <washed coral red | mustard yellow | pale blue | muted sage>
Page type: <hero | about | capabilities | method tile | lab card | work card | testimonial | cta>
```
## 3. Per-slot composition templates
### `hero.png` — 1:1 (1024×1024)
```text
Composition/framing: left half is intentionally empty/quiet to allow real
HTML headline overlay; right half holds a tall surreal collage of a
cropped classical plaster head with the top sliced open, sky/architecture
cutouts visible inside the head, a delicate young tree growing through
the composition, a coral sun disk behind, a mustard accent ring at the
base, hairline coordinate marks and dotted matrices around it, a small
human figure standing for scale in the lower-left of the image. Page
type: hero landing.
```
### `about.png` — 1:1 (1024×1024)
```text
Composition: a surreal museum-vitrine arrangement of a partial plaster
profile head facing right, with an open archway carved through the
torso, sky cutout inside the arch, a tree seedling growing out of the
shoulder, and a coral half-circle behind the head. Tiny dotted hairlines
trace contours. Strong negative space top-left for a side-note overlay.
Page type: about / manifesto plate.
```
### `capabilities.png` — 1:1 (1024×1024)
```text
Composition: a Bauhaus-grid stack of architectural fragments — a coral
arch on the left, a beige concrete column center, a mustard small disc
upper-right, a delicate tree mid-frame, a small classical hand fragment
holding a pencil bottom-center. Crosshair and circular hairlines
overlay. Page type: capabilities matrix.
```
### `method-1.png` … `method-4.png` — 1:1 (816×816)
```text
Composition: a single visual metaphor per step.
method-1 — a magnifying glass over a small architectural map (Detect)
method-2 — a clipboard with a tiny questionnaire and a coral pen (Discover)
method-3 — a compass + ruler + color swatch fan (Direct)
method-4 — a printer's tray with stacked paper sheets exiting (Deliver)
Each on the warm paper ground with hairline grid, a single coral or
mustard accent piece, and one numbered annotation tag. Page type:
method tile.
```
### `lab-1.png` … `lab-5.png` — 3:4 (768×1024)
```text
Composition: portrait-oriented experiment cards. Each is a square-ish
plaster-and-architecture vignette, vertical, with a single dominant
subject:
lab-1 — a stack of folded magazine spreads
lab-2 — a film strip + a synthetic eye + a soundwave hairline
lab-3 — a typewriter with prompt cards in the carriage
lab-4 — five small dotted gauges arranged in a circle (5-dim critique)
lab-5 — a glass dome / cloche over a tiny sandbox cityscape (Sandbox)
Use the same paper ground; allow soft drop shadow but stay restrained.
Page type: lab card.
```
### `work-1.png` & `work-2.png` — 3:4 (768×1024)
```text
Composition: featured work plates.
work-1 — guizang-ppt: an oversized open magazine spread on a desk,
coral spine, mustard tab. Slight perspective.
work-2 — dating-web: a concrete dashboard slab, a coral graph bar
rising, a small classical bust beside it for scale.
Both on the warm paper ground with crop marks.
Page type: work card.
```
### `testimonial.png` — 1:1 (1024×1024)
```text
Composition: a classical plaster bust facing 3/4 left, slightly cropped,
with a small sky cutout where the eye would be, a thin coral arc around
the back of the head, mustard dot at the chin. Quiet background, lots of
negative space upper right. Page type: testimonial portrait.
```
### `cta.png` — 1:1 (1024×1024)
```text
Composition: a closing-plate collage — a mustard sun behind a single
coral arch on the right, a delicate tree growing through the arch, a
small human figure in the lower-left foreground reading a folded
broadsheet, hairline coordinate ladder up the left edge, and a small
"FIN." dotted seal in the upper-right. Page type: closing CTA plate.
```
## 4. Chinese project input template
Use only when the model copy must be Chinese; otherwise prefer English
for legibility. Keep verbatim text short.
```text
请生成一张 16:9 横版网页视觉稿,风格为高级创意 AI 工作室官网:现代瑞士编辑排版、
包豪斯几何、古典石膏雕塑拼贴、极简建筑、手工纸张肌理、细线工程制图标记。
品牌文字:"<品牌名>"
导航:"<导航1>", "<导航2>", "<导航3>", "<导航4>"
小标签:"<小标签>"
主标题必须逐字渲染:"<主标题>"
强调词(斜体衬线):"<强调词>"
正文必须逐字渲染:"<正文>"
按钮文字:"<按钮1>", "<按钮2>"
画面主体:<主体描述>
贴图与元素:<天空 / 石材 / 植物 / 人物 / 眼睛 / 山脉 / 水面 / UI 截图等>
构图:<左文右图 / 右文左图 / 顶部大标题下方横向卡片 / 中央拼贴 / 时间线分栏>
色彩:暖象牙白纸张、黑色文字、石灰/混凝土灰、炭黑、低饱和珊瑚红点缀、
少量芥末黄或浅天蓝。
限制:文字清晰可读、不添加多余文字、不要水印、不要卡通、不要霓虹、
不要厚重阴影、不要俗套科技蓝紫渐变。
```
## 5. Calling convention
Pseudocode for an agent driver:
```ts
for (const slot of imageManifest.slots) {
const prompt = [
STYLE_ANCHOR,
fillVars(VARIABLE_SLOTS, brand),
PER_SLOT[slot.id],
].join('\n\n');
await gptImageFal({
prompt,
width: slot.width,
height: slot.height,
quality: 'high',
output: `assets/${slot.id}.png`,
});
}
```
If `gpt-image-fal` is unavailable, the same prompts work with
`gpt-image-azure` — but mask-based inpainting is azure-only.
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 983 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 994 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB