app-store-screens

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

App Store Screens

App Store截图制作

Take a brand plus real product screens and produce a 5–6 screen App Store campaign at iPhone 6.9" size (1290×2796). The product screens can come from raw exports, Figma/source files, or a public App Store listing fetched through Pika MCP. Story-driven, splashy, strict to the brand.
This is a sister skill to
build-a-brand
— it consumes that skill's
brand.md
spec, but works equally well with any brand spec the user supplies.
结合品牌风格与真实产品界面,制作一套5-6张的App Store宣传截图,尺寸为iPhone 6.9英寸(1290×2796)。产品截图可来自原始导出文件、Figma/源文件,或通过Pika MCP获取的公开App Store列表。采用故事驱动叙事,风格醒目且严格贴合品牌规范。
本技能是
build-a-brand
的姊妹技能——它可以直接使用该技能输出的
brand.md
规范,同时也兼容用户提供的任何品牌规范。

The deliverable

交付成果

5 or 6 PNGs, numbered, saved to
~/Desktop/[app-name]-app-store-screens/
(or wherever the user prefers):
01_hook.png            ← biggest claim, works as a search-result thumbnail
02_value.png           ← the one thing the app does best
03_feature_a.png       ← specific capability
04_feature_b.png       ← another specific capability
05_proof.png           ← social proof, awards, "loved by", differentiator
06_close.png           ← optional 6th — closer / CTA / brand flourish
Plus a contact sheet (
_preview.png
) showing all 6 at a glance.
5或6张编号的PNG文件,保存至
~/Desktop/[应用名称]-app-store-screens/
(或用户指定的其他路径):
01_hook.png            ← 最核心的卖点,可作为搜索结果缩略图
02_value.png           ← 应用最核心的功能价值
03_feature_a.png       ← 具体功能特性A
04_feature_b.png       ← 具体功能特性B
05_proof.png           ← 社交证明、奖项、“深受喜爱”等差异化内容
06_close.png           ← 可选第6张——收尾/行动号召/品牌亮点展示
同时提供一张预览图(
_preview.png
),可一次性查看所有6张截图。

Workflow

工作流程

Step 0 — Intake and style choice

步骤0 — 需求收集与风格选择

If invoked with empty args and no usable brand/screenshot/demo context, print this menu verbatim and stop. Do not generate imagery or render HTML until the required inputs are present.
What App Store screenshot set should I make? Required:
  • Brand spec
    brand.md
    or equivalent brand notes with name, palette, fonts, voice, and imagery direction; or an App Store URL/app name if you want me to fetch the listing and draft the brand read first
  • Raw product screenshots — exported PNGs, a Figma/source file that can export them, a folder of screenshots, or an App Store URL/app name I can fetch with Pika MCP
  • Or a fictional app demo brief — only for launch demos/concepts where no real product exists; say
    demo_mode: true
    and provide what the fake app does
Optional: reference App Store screenshot, moodboard, preferred screen count (5 or 6), output folder.
In interactive mode, if the user has supplied partial input, ask only for the missing required items and stop. If the non-interactive fast lane applies, use Step 0.5 instead. Required inputs:
  • brand.md
    or an equivalent brand spec with name, palette, fonts, voice, and imagery direction; if the user gives an App Store URL and asks you to "help create it", fetch the listing first and draft an inferred brand spec from the listing/icon/screenshots for approval
  • one product source: raw product screenshots, a Figma/source file that can export them, or an App Store URL/app name that can be fetched through Pika MCP
  • for fictional launch demos only,
    demo_mode: true
    with
    demo_brief
    is an alternative to real product screenshots; use the Fictional app demo mode path below
  • optional reference screenshot or moodboard if they want a specific App Store style
如果调用时参数为空且无可用的品牌/截图/演示上下文,直接打印以下菜单并停止操作。在获取必要输入前,请勿生成图像或渲染HTML。
需要制作什么样的App Store截图套装? 必填项:
  • 品牌规范
    brand.md
    或包含名称、配色、字体、语气、视觉方向的等效品牌说明;若用户提供App Store URL或应用名称,可先获取列表并草拟品牌规范
  • 原始产品截图 — 导出的PNG文件、可导出截图的Figma/源文件、截图文件夹,或可通过Pika MCP获取的App Store URL/应用名称
  • 或虚构应用演示 brief — 仅适用于无真实产品的发布演示/概念设计;需标注
    demo_mode: true
    并说明虚构应用的功能
可选项:参考App Store截图、情绪板、偏好的截图数量(5或6张)、输出文件夹。
在交互模式下,若用户仅提供部分输入,仅询问缺失的必填项并停止。若适用非交互快速通道,则使用步骤0.5替代。必填输入:
  • brand.md
    或包含名称、配色、字体、语气、视觉方向的等效品牌规范;若用户提供App Store URL并要求“协助创建”,需先获取列表,从列表/图标/截图中推断品牌规范并征得用户确认
  • 一种产品来源:原始产品截图、可导出截图的Figma/源文件,或可通过Pika MCP获取的App Store URL/应用名称
  • 仅针对虚构发布演示,
    demo_mode: true
    搭配
    demo_brief
    可替代真实产品截图;需遵循下方“虚构应用演示模式”流程
  • 可选:若用户需要特定App Store风格,可提供参考截图或情绪板

Step 0.5 — Non-interactive fast lane

步骤0.5 — 非交互快速通道

Use this path when the caller passes
--quick
or
--config <path>
, or when the caller states they are running from CI, a subagent, a batch job, or any other non-interactive harness.
This section has precedence over the interactive ask/wait instructions below. When it applies, use this fast lane and do not fall through to the multi-turn intake unless the required brand and either product screenshots or explicit demo mode inputs are truly unavailable.
  • --config <path>
    points to a JSON file with pre-baked choices:
    brand_spec
    ,
    product_screenshots
    ,
    app_store_url
    ,
    website_url
    ,
    reference
    ,
    style
    ,
    screen_count
    ,
    narrative_arc
    ,
    demo_mode
    ,
    demo_brief
    , and
    output_folder
    .
  • --quick
    means choose the default style unless a reference is supplied, infer the brand read from the provided brand spec or App Store listing, draft the 5-6 screen arc yourself, and proceed.
  • For
    --quick
    or
    --config
    , do not stop for confirmation at the style choice, brand-read playback, reference-rule playback, or 5-6 screen strategy pitch. Record assumptions inline and continue to design/render.
  • If neither real product screenshots nor explicit
    demo_mode: true
    with
    demo_brief
    is available, stop once with a single compact missing-fields list instead of starting a multi-turn Q&A loop.
当调用者传入
--quick
--config <路径>
,或说明运行环境为CI、子Agent、批处理任务等非交互场景时,使用此流程。
本流程优先级高于下方的交互式询问/等待指令。适用时,使用快速通道,除非品牌信息以及产品截图或明确的演示模式输入确实缺失,否则无需进入多轮需求收集环节。
  • --config <路径>
    指向一个预配置的JSON文件,包含以下选项:
    brand_spec
    product_screenshots
    app_store_url
    website_url
    reference
    style
    screen_count
    narrative_arc
    demo_mode
    demo_brief
    output_folder
  • --quick
    表示除非提供参考素材,否则选择默认风格;从提供的品牌规范或App Store列表中推断品牌定位,自行草拟5-6张截图的叙事结构并继续执行。
  • 对于
    --quick
    --config
    模式,无需在风格选择、品牌定位确认、参考规则确认、5-6张截图策略提案环节等待用户确认。记录假设信息后,直接进入设计/渲染环节。
  • 若既无真实产品截图,也无明确的
    demo_mode: true
    搭配
    demo_brief
    ,则仅输出简洁的缺失字段列表,而非启动多轮问答循环。

Fictional app demo mode

虚构应用演示模式

Use this only when the caller explicitly says this is a fictional app, fake app, launch demo, concept demo, or passes
demo_mode: true
in config. Do not use demo mode for real products.
Demo mode is allowed to create representative UI mocks in the brand voice when no real product screenshots exist, but the output must be labeled as demo-only concept work, not production assets. Treat the invented screens as a storyboarded QRT/demo artifact, not App Store Connect-ready evidence of a real product.
  • Require a
    demo_brief
    or enough user-provided product concept detail to define the app's core job, audience, 3-5 features, and proof/CTA angle.
  • Generate UI states that are internally consistent with that brief; do not imply real customers, real reviews, real metrics, or real integrations unless the prompt explicitly provides them.
  • Add a demo-only disclosure in the delivery notes and contact sheet label: "Demo UI concept — not production assets and not real product screenshots."
  • In non-interactive mode, proceed only if config sets
    demo_mode: true
    and provides
    demo_brief
    ; otherwise stop with a compact missing-fields list.
In interactive mode, when the required inputs are present, open with a brief agenda and ask one upfront style question. This is the cheapest moment to learn whether the user wants the default or a specific reference. In the non-interactive fast lane, choose the default style unless
reference
or
style
is supplied, record that assumption inline, and continue.
here's how this works:
1. **Read your brand + screenshots** — i absorb the brand voice, palette, type, and figure out what the app actually does
2. **Strategy** — i pitch a 5–6 screen narrative arc (hook → value → features → proof → close) with headlines for each, before any design
3. **Design + generate** — i design each layout, composite at 1290×2796
4. **Preview** — i deliver the PNGs + a contact sheet so you can see the whole campaign at once

quick question before i start — **do you want the default style, or something specific?**

- **Default** — clean, restrained, screens shown untouched. Full-frame device, headline + sub above, solid brand-color backgrounds, brand-voice copy. Codified in `references/default-layout.md`. This is what i deliver well.
- **Something specific** — share a clear reference: a screenshot of an App Store page you love (Notion, Calm, Things, Headspace, anything), a figma file, a moodboard image. I'll study it, extract the compositional rules (device size + position, headline treatment, background, any signature flourishes), pitch back what i read before designing, then build the campaign — **with your brand's palette, fonts, voice, and photography style swapped in**. So if the reference uses an over-the-shoulder photo, i'll generate one in your brand's photo style (`gpt-image-2` accepts the reference as a style input). The reference dictates the composition; your brand dictates the look.

if you don't tell me, i'll go with default.
Why no "jazzed up" auto-mode. Doing rich/varied/dramatic compositions well requires visual-judgment calls (perspective, layering, typography hierarchy, color balance) that don't have a programmatic answer. When users want richness without a reference, my approximations tend to look amateur. Asking for a concrete reference lets me extract specific rules to replicate instead of inventing freely — and the user has a way to verify i'm aiming at the right thing.
Two downstream paths based on the answer:
  • Default → follow
    references/default-layout.md
    end-to-end. Same composition skeleton on every screen; variety from color + content. This produces consistent, brand-disciplined work.
  • Replicate a reference → study the reference, extract the rules, swap in the user's brand. See "Reference-driven path" below for the full process.
If the user can't or won't supply a reference but still wants more than default, push back gently — explain that without a reference you'll deliver default plus their brand color, and that's better than a guessing-game iteration loop. Don't invent a "jazzed" style on the fly.
仅当调用者明确说明这是虚构应用、模拟应用、发布演示、概念演示,或在配置中传入
demo_mode: true
时使用此模式。真实产品禁止使用演示模式。
当无真实产品截图时,演示模式允许创建符合品牌语气的代表性UI原型,但输出必须标注为“仅演示用概念作品”,而非生产可用资产。将生成的截图视为故事板化的快速演示 artifact,而非可直接用于App Store Connect的真实产品证据。
  • 要求提供
    demo_brief
    或足够的用户输入以定义应用的核心功能、目标受众、3-5个特性,以及证明/行动号召方向。
  • 生成的UI状态需与brief保持内部一致;除非提示明确提供,否则不得暗示存在真实客户、真实评价、真实数据或真实集成。
  • 在交付说明和预览图标签中添加“仅演示”声明:“演示UI概念——非生产资产,非真实产品截图。”
  • 在非交互模式下,仅当配置中设置
    demo_mode: true
    并提供
    demo_brief
    时才可继续;否则输出简洁的缺失字段列表并停止。
在交互模式下,当获取所有必填输入后,先简要说明流程,再提出一个前置风格问题。这是了解用户偏好默认风格还是特定参考风格的最佳时机。在非交互快速通道中,除非提供
reference
style
,否则选择默认风格,记录假设后继续执行。
流程说明:
1. **解读品牌+截图** — 我会理解品牌语气、配色、字体,并明确应用的核心功能
2. **策略制定** — 在开始设计前,我会提出一个5-6张截图的叙事结构(钩子→价值→功能→证明→收尾),并为每张截图拟定标题
3. **设计+生成** — 设计每张截图的布局,合成为1290×2796尺寸
4. **预览交付** — 交付PNG文件+预览图,让你一次性查看整套宣传素材

开始前快速确认:**你想要默认风格,还是特定风格?**

- **默认风格** — 简洁克制,截图原样展示。全屏设备框架,标题+副标题位于上方,纯色品牌背景,符合品牌语气的文案。规范详见`references/default-layout.md`,这是我最擅长的交付风格。
- **特定风格** — 提供清晰的参考素材:你喜欢的App Store页面截图(如Notion、Calm、Things、Headspace等)、Figma文件、情绪板图片。我会研究素材,提取构图规则(设备尺寸+位置、标题处理、背景、标志性设计元素),在设计前向你确认我的理解,然后制作宣传素材——**替换为你的品牌配色、字体、语气和摄影风格**。例如,如果参考素材使用了肩拍视角照片,我会按照你的品牌摄影风格生成一张(`gpt-image-2`支持将参考素材作为风格输入)。参考素材决定构图,你的品牌决定视觉呈现。

若未说明,我将采用默认风格。
为何不提供“自动炫彩”模式。要做好丰富多样的戏剧性构图,需要视觉判断(视角、分层、排版层级、色彩平衡),而这些无法通过程序化方式实现。当用户想要丰富风格但未提供参考时,我的近似设计往往显得业余。要求提供具体参考素材,能让我提取可复制的特定规则,而非自由创作——用户也能验证我的方向是否正确。
根据用户回答分为两个后续流程:
  • 默认风格 → 严格遵循
    references/default-layout.md
    的规范。每张截图使用相同的构图框架,通过色彩和内容实现差异化。此风格产出的作品一致性强,符合品牌规范。
  • 参考风格复刻 → 研究参考素材,提取规则,替换为用户品牌风格。详见下方“参考驱动流程”的完整步骤。
若用户无法或不愿提供参考素材但仍想要超出默认风格的设计,需温和拒绝——解释若无参考素材,将交付默认风格搭配品牌配色的方案,这比反复试错的迭代更高效。请勿自行凭空创造“炫彩”风格。

Step 1 — Read the brand and the product

步骤1 — 解读品牌与产品

App Store listing path

App Store列表流程

If the user supplies an
apps.apple.com
URL, numeric App Store app ID, or app-name search term as the product source, try Pika MCP
mcp__pika__fetch_appstore_screens
first because it is faster, more stable, and returns hosted screenshot/icon assets ready for later render steps:
fetch_appstore_screens(
  query: <app_store_url | numeric_app_id | search_term>,
  country: "us",
  max_screens: 10,
  include_icon: true
)
Use the returned
metadata
,
icon
, and
screenshots
as the product source. The returned screenshot
url
values are already Pika-hosted HTTPS assets and can be used directly in later
mcp__pika__html_to_png
stages.
If the user provided a country-specific App Store URL, preserve that storefront country when calling the tool when possible. If the country is unclear, default to
"us"
unless the user asked for another storefront.
If the MCP tool is unavailable, unauthenticated, or returns no screenshots, say what happened and then use the least fragile fallback available: other read/fetch tools, official App Store/iTunes metadata endpoints, or user-provided screenshots. Keep the fallback grounded in real listing assets; do not invent product UI.
Expected result shape:
{
  "app_url": "https://apps.apple.com/...",
  "metadata": { "name": "...", "subtitle": "...", "description": "...", "category": "...", "icon_url": "https://..." },
  "icon": { "url": "https://cdn.pika.art/...", "source_url": "https://is...mzstatic.com/...", "filename": "appstore-icon.png", "mime_type": "image/png", "width": 1024, "height": 1024 },
  "screenshots": [
    { "url": "https://cdn.pika.art/...", "source_url": "https://is...mzstatic.com/.../1290x2796bb.png", "filename": "appstore-screen-01.png", "mime_type": "image/png", "width": 1290, "height": 2796 }
  ],
  "count": 1
}
若用户提供
apps.apple.com
URL、App Store应用ID或应用名称作为产品来源,优先使用Pika MCP的
mcp__pika__fetch_appstore_screens
工具,因为它更快、更稳定,且返回的托管截图/图标资产可直接用于后续渲染步骤:
fetch_appstore_screens(
  query: <app_store_url | 数字应用ID | 搜索关键词>,
  country: "us",
  max_screens: 10,
  include_icon: true
)
使用返回的
metadata
icon
screenshots
作为产品来源。返回的截图
url
为Pika托管的HTTPS资产,可直接用于后续
mcp__pika__html_to_png
环节。
若用户提供特定地区的App Store URL,调用工具时尽量保留该地区的商店front。若地区不明确,默认使用
"us"
,除非用户指定其他地区。
若MCP工具不可用、未授权或未返回截图,需告知用户情况,然后使用最可靠的 fallback方案:其他读取/获取工具、官方App Store/iTunes元数据接口,或用户提供的截图。Fallback需基于真实列表资产,不得虚构产品UI。
预期返回结果格式:
{
  "app_url": "https://apps.apple.com/...",
  "metadata": { "name": "...", "subtitle": "...", "description": "...", "category": "...", "icon_url": "https://..." },
  "icon": { "url": "https://cdn.pika.art/...", "source_url": "https://is...mzstatic.com/...", "filename": "appstore-icon.png", "mime_type": "image/png", "width": 1024, "height": 1024 },
  "screenshots": [
    { "url": "https://cdn.pika.art/...", "source_url": "https://is...mzstatic.com/.../1290x2796bb.png", "filename": "appstore-screen-01.png", "mime_type": "image/png", "width": 1290, "height": 2796 }
  ],
  "count": 1
}

Thin App Store listing guardrail

精简App Store列表处理规则

After
mcp__pika__fetch_appstore_screens
, count usable screenshots that show real product UI. If the listing returns fewer than 3 real product screenshots, treat it as a thin App Store listing.
  • Do not create a 5-6 screen campaign by hallucinating UI. Real product UI is the default requirement for device frames.
  • Interactive mode: stop before strategy and offer two choices:
    1. Website-capture path — use
      mcp__pika__capture_website
      or supplied website/onboarding URLs to capture real product surfaces, then continue with those captures as product screenshots.
    2. Real screenshot path — ask for simulator exports, Figma frames, or other product UI captures before continuing. Do not offer synthesized device UI for real products. If the user explicitly pivots to a fictional launch/concept demo, route to Fictional app demo mode and require
      demo_mode: true
      with
      demo_brief
      .
  • Non-interactive fast lane: prefer the website-capture path when
    website_url
    or an obvious product website is available. If there is no captureable product surface, stop once with a compact missing-fields list unless config explicitly sets
    demo_mode: true
    and provides
    demo_brief
    .
After fetching, infer only a draft brand read from the listing and visuals: app name, category, visible palette, likely type direction, voice from subtitle/description, and notable UI moments. In interactive mode, read it back as a provisional brand spec and ask the user to correct it before pitching the 5-6 screen arc. In the non-interactive fast lane, record it as the provisional brand spec and continue.
调用
mcp__pika__fetch_appstore_screens
后,统计展示真实产品UI的可用截图数量。若列表返回的真实产品截图少于3张,则视为精简App Store列表。
  • 不得通过虚构UI来制作5-6张截图的宣传套装。真实产品UI是设备框架的默认要求。
  • 交互模式:在制定策略前停止操作,提供两个选项:
    1. 网站捕获流程 — 使用
      mcp__pika__capture_website
      或用户提供的网站/引导页URL捕获真实产品界面,然后使用这些捕获内容作为产品截图继续流程。
    2. 真实截图流程 — 请求用户提供模拟器导出文件、Figma框架或其他产品UI捕获内容后再继续。 不得为真实产品合成设备UI。若用户明确转向虚构发布/概念演示,需引导至虚构应用演示模式,并要求
      demo_mode: true
      搭配
      demo_brief
  • 非交互快速通道:若
    website_url
    或明显的产品网站可用,优先选择网站捕获流程。若无可捕获的产品界面,输出简洁的缺失字段列表并停止,除非配置明确设置
    demo_mode: true
    并提供
    demo_brief
获取列表后,仅从列表和视觉素材中推断草拟品牌定位:应用名称、分类、可见配色、可能的字体方向、副标题/描述中的语气,以及值得注意的UI场景。在交互模式下,将草拟的品牌规范反馈给用户,请求用户修正后再提出5-6张截图的叙事结构。在非交互快速通道中,将其记录为临时品牌规范并继续执行。

Reference-driven path: how to apply the user's brand to the reference's style

参考驱动流程:如何将用户品牌应用到参考风格中

The reference describes WHAT THE LAYOUT/STYLE LOOKS LIKE. The brand describes WHAT COLORS/FONTS/VOICE/PHOTOGRAPHY TO USE. The skill's job is to combine them: replicate the reference's visual structure, but render it with the user's brand. Two things to extract from the reference, two from the brand:
From the reference, extract structural rules:
  • Device size (as % of canvas) and tilt angle
  • Headline treatment (size, position, color logic — accent on key word? tinted bg pill?)
  • Background treatment (solid color, photo, gradient, abstract elements)
  • Hero imagery pattern (hand holding phone, over-the-shoulder, real subject breaking out of phone, 3D objects floating, etc.)
  • Callout / pull-out pattern (speech bubbles with arrows, floating cards, polaroid frames, etc.)
  • Repetition rules: same layout every screen, or varied per slot?
From the brand, apply specifics:
  • Palette (substitute brand colors wherever the reference uses solid color blocks)
  • Fonts (substitute brand display + body fonts everywhere the reference uses type)
  • Voice (rewrite all headlines/subs in brand voice — don't copy the reference's words)
  • Photography direction (any generated imagery follows the brand's photo rules — for DeltaStream that's documentary 35mm, golden hour, real apartments, butter accent in every frame, real cast diversity)
  • Mood (warm vs. clinical, playful vs. expert, etc.)
For generated hero imagery: pass the reference as
reference_images
to
gpt-image-2
.
The tool supports up to 16 reference images. Use this when the reference uses a distinctive photo composition (hand-holding-phone, over-the-shoulder, person breaking out of screen, 3D character emerging). Combine with the brand's photography rules in the prompt:
Reference: [user's reference photo — e.g., insect app's hand-holding-phone with butterfly]

Prompt: "In the EXACT composition and lighting style of the reference image — hand
holding a phone at the same angle and scale — but render the subject and scene
per [BRAND] photography rules: documentary 35mm, golden hour window light, real
apartment, butter-yellow ceramic mug visible, mid-30s mixed-race cast, 35mm film
grain. Vertical 9:16 portrait."
This is how you get the reference's STYLE without copying its CONTENT. The hand+phone composition transfers; the lighting/cast/setting comes from the brand.
Pitch the extracted rules back before designing in interactive mode. Write them out as a short bullet list ("device 75% canvas tilted -8°, headline-on-yellow-pill above device, over-the-shoulder hero, ink callouts with curved arrows") and confirm with the user that you read the reference correctly. In the non-interactive fast lane, record the extracted rules inline and continue. Then build all 6 screens applying those rules consistently. Don't deviate mid-campaign.
Then actually read:
  • brand.md
    — extract: brand name, tagline, palette (with hex), display font + body font, voice adjectives, voice examples, forbidden words, photography/illustration direction, mood words. If the file is a different format (PDF, plain notes), parse what's there and ask about gaps in interactive mode. In the non-interactive fast lane, record reasonable assumptions for non-critical gaps — don't invent a brand.
  • Product screenshots — open each one and form an honest mental model: what does this app actually do? Note the core UI patterns (feed, chat, canvas, list, map, etc.), the primary action surface, and any "wow moment" screens (a generative result, a beautiful state, a unique interaction).
  • If you can use
    mcp__pika__analyze_media
    to inspect screenshots without loading them as images, do — it's faster for a quick scan.
Then read back what you found (3-5 lines, conversational):
ok — reading [brand name]: [tagline]. palette: [colors]. voice: [adjectives]. the app looks like
it does [X] — i see [specific UI cue 1] and [specific UI cue 2]. the standout screen is [screen
N] because [reason]. correct me where i'm wrong, otherwise i'll pitch the 6-screen arc.
Interactive mode: wait for confirmation before pitching strategy. Catches misreads cheaply. In the non-interactive fast lane, treat the brand read as provisional, record the assumption inline, and continue to the strategy.
参考素材定义了布局/风格的呈现方式。品牌规范定义了使用的色彩/字体/语气/摄影风格。本技能的任务是将两者结合:复刻参考素材的视觉结构,但使用用户品牌的元素呈现。需从参考素材提取两类规则,从品牌规范提取两类元素:
从参考素材提取结构规则:
  • 设备尺寸(占画布的百分比)和倾斜角度
  • 标题处理(尺寸、位置、色彩逻辑——关键词突出?背景色块 tint?)
  • 背景处理(纯色、照片、渐变、抽象元素)
  • 核心视觉模式(手持手机、肩拍视角、真实主体突破手机边框、3D物体悬浮等)
  • 标注/突出显示模式(带箭头的气泡、悬浮卡片、宝丽来相框等)
  • 重复规则:每张截图布局相同,还是根据位置变化?
从品牌规范提取具体元素:
  • 配色(将参考素材中的纯色块替换为品牌色彩)
  • 字体(将参考素材中的字体替换为品牌标题+正文字体)
  • 语气(所有标题/副标题都按照品牌语气重写——不要复制参考素材的文案)
  • 摄影方向(所有生成的视觉素材遵循品牌摄影规则——例如DeltaStream的规则是纪实35mm、黄金时段、真实公寓、每帧都有黄油色点缀、真实多元化演员)
  • 氛围(温暖vs冷峻、活泼vs专业等)
生成核心视觉素材:将参考素材作为
reference_images
传入
gpt-image-2
该工具支持最多16张参考图片。当参考素材使用独特的照片构图(手持手机、肩拍视角、人物突破屏幕、3D角色出现)时使用此方法。在提示词中结合品牌摄影规则:
参考素材:[用户提供的参考照片——例如昆虫应用的手持手机+蝴蝶]

提示词:“完全遵循参考图片的构图和光线风格——手持手机的角度和比例完全一致——但根据[品牌]摄影规则渲染主体和场景:纪实35mm、黄金时段窗边光线、真实公寓、可见黄油色陶瓷马克杯、30多岁混血演员、35mm胶片颗粒。竖版9:16构图。”
这样就能在不复制参考素材内容的前提下,复刻其风格。手持手机的构图得以保留,光线/演员/场景则来自品牌规范。
在交互模式下,设计前需将提取的规则反馈给用户确认。 将规则整理为简短的项目符号列表(“设备占画布75%,倾斜-8°,标题位于设备上方的黄色色块上,肩拍视角核心视觉,带弯箭头的墨水标注”),确认用户认可你的理解。在非交互快速通道中,记录提取的规则并继续执行。然后按照这些规则一致地制作所有6张截图,中途不得偏离。
接下来正式解读:
  • brand.md
    — 提取:品牌名称、标语、配色(带十六进制代码)、标题字体+正文字体、语气形容词、语气示例、禁用词汇、摄影/插画方向、氛围词汇。若文件为其他格式(PDF、纯文本笔记),解析现有内容,在交互模式下询问缺失信息。在非交互快速通道中,为非关键缺失项记录合理假设——不得虚构品牌信息。
  • 产品截图 — 打开每张截图,形成清晰的认知:这个应用到底能做什么? 记录核心UI模式(信息流、聊天、画布、列表、地图等)、主要操作区域,以及任何“惊艳时刻”的截图(生成式结果、美观界面、独特交互)。
  • 若可使用
    mcp__pika__analyze_media
    工具无需加载图片即可检查截图,优先使用——快速扫描更高效。
然后以对话式语言反馈你发现的信息(3-5行):
好的——我解读了[品牌名称]:[标语]。配色:[颜色]。语气:[形容词]。这个应用看起来是做[X]的——我看到了[具体UI线索1]和[具体UI线索2]。最突出的截图是[第N张],因为[原因]。如果有错误请纠正,否则我将提出6张截图的叙事结构。
交互模式:等待用户确认后再提出策略。这能低成本地纠正误解。在非交互快速通道中,将品牌定位视为临时信息,记录假设后继续制定策略。

Step 2 — Pitch the 6-screen strategy

步骤2 — 提出6张截图的策略

Before designing anything, write out the narrative arc as plain text. Each screen needs:
  • Role (hook / value / feature / proof / close)
  • Headline (5–8 words, in brand voice — see "Copy" below)
  • Optional subhead (one short line)
  • Layout archetype (see below — name it, don't draw it yet)
  • Which raw screenshot it features (filename) — or "none, full-bleed typography"
Present it like:
**Screen 1 — HOOK**
Headline: "Sleep like you mean it."
Sub: (none — let the headline carry)
Layout: full-bleed UI with bold typography overlay
Featured screenshot: home_screen.png

**Screen 2 — VALUE**
Headline: "One tap. Then quiet."
...
Interactive mode: ask the user to sign off on the arc before you generate or composite anything. Iterate on copy here — it's the cheapest moment to fix it. In the non-interactive fast lane, generate from the configured or inferred arc without stopping for signoff.
在开始设计前,以纯文本形式写出叙事结构。每张截图需包含:
  • 角色(钩子/价值/功能/证明/收尾)
  • 标题(5-8个词,符合品牌语气——详见下方“文案规范”)
  • 可选副标题(简短一行)
  • 布局原型(见下方——命名即可,无需绘制)
  • 使用的原始截图(文件名)——或“无,全屏排版”
呈现示例:
**截图1 — 钩子**
标题:“睡个踏实觉。”
副标题:(无——让标题突出)
布局:全屏UI叠加醒目排版
使用截图:home_screen.png

**截图2 — 价值**
标题:“一键操作,回归宁静。”
...
交互模式:在生成或合成任何内容前,请求用户确认叙事结构。在此环节迭代文案成本最低。在非交互快速通道中,根据配置或推断的叙事结构直接生成,无需等待确认。

Step 3 — Generate brand-world imagery

步骤3 — 生成品牌视觉素材

For any screen that calls for splashy background/hero imagery, generate it with
mcp__pika__generate_image
.
Defaults that work for App Store splash:
  • provider: gpt-image-2
  • quality: medium
    for finished screenshots;
    low
    only when the user explicitly wants fast iteration
  • aspect_ratio: 9:16
    for full-bleed backgrounds (matches the iPhone canvas)
  • 1K is the default. If a screen genuinely needs higher res (e.g. a hyper-detailed background that gets blown up), bump
    gpt-image-2
    to its 2K/4K tier (9:16 backgrounds support both) or escalate to
    seedream
    — surface the tradeoff and ask first
Prompt structure for brand-world imagery:
  1. Subject + composition ("a wide cinematic shot of a single ceramic mug on weathered oak…")
  2. Brand palette as named colors ("limited to ink black #0E0E10, oat #F5F0E6, and a single accent of rust #C84B2F")
  3. Light + mood ("soft overcast window light, slight film grain, documentary feel")
  4. Negative cues ("no text, no logos, no people unless specified, no stock-photo gloss")
  5. Aspect for 9:16 backgrounds: "vertical composition with negative space in upper third for headline"
Reserve upper third for the headline. Tell the image model where the type will go so it leaves room.
Keep generated image URLs as HTTPS/CDN URLs for server-side rendering. If the user provides local product screenshots or background images, upload them with
mcp__pika__upload_asset
first and use the returned
public_url
;
mcp__pika__html_to_png
cannot read local
file://
paths.
对于需要醒目的背景/核心视觉的截图,使用
mcp__pika__generate_image
工具生成。
适用于App Store素材的默认设置:
  • provider: gpt-image-2
  • quality: medium
    用于成品截图;仅当用户明确要求快速迭代时使用
    low
  • aspect_ratio: 9:16
    用于全屏背景(匹配iPhone画布尺寸)
  • 默认分辨率为1K。若某张截图确实需要更高分辨率(例如需要放大的超精细背景),将
    gpt-image-2
    提升至2K/4K级别(9:16背景支持这两种分辨率)或切换至
    seedream
    ——需告知用户权衡并征得同意
品牌视觉素材的提示词结构:
  1. 主体+构图(“风化橡木桌上的一个陶瓷马克杯,宽幅电影镜头...”)
  2. 品牌配色(“仅限墨黑#0E0E10、燕麦色#F5F0E6,以及单一锈色#C84B2F点缀”)
  3. 光线+氛围(“柔和阴天窗边光线,轻微胶片颗粒,纪实风格”)
  4. 负面提示(“无文字,无logo,除非指定否则无人物,无库存照片光泽感”)
  5. 9:16背景的构图要求:“竖版构图,上三分之一留空用于放置标题”
为标题预留上三分之一区域。 告知图像模型文字的位置,以便留出空间。
生成的图片URL需为HTTPS/CDN URL,用于服务端渲染。若用户提供本地产品截图或背景图片,需先使用
mcp__pika__upload_asset
上传,使用返回的
public_url
mcp__pika__html_to_png
无法读取本地
file://
路径。

Step 4 — Composite each screen at 1290×2796

步骤4 — 合成为1290×2796的单张截图

Write one HTML stage per screen, then render to PNG via Pika MCP
mcp__pika__html_to_png
. See
references/render-pipeline.md
for:
  • The exact
    mcp__pika__html_to_png
    request shape
  • Server-side asset/font rules
  • Safe-zone guides
  • Common gotchas (font loading, retina text sharpness, mid-curve crop)
Each HTML stage should be exactly 1290×2796px. Use
@font-face
with HTTPS raw font URLs or inline
data:font/...
sources. Local brand-kit font files must be exposed through a public HTTPS URL or inlined;
mcp__pika__upload_asset
does not accept font mime types.
After each render, run a pre-delivery QA pass before accepting the PNG. Use
mcp__pika__analyze_media
on the rendered image and inspect the authored HTML positions when available. Reject and rerender any screen whose text block bounding boxes put load-bearing headline, eyebrow, subhead, CTA, or product UI outside the safe content area documented in
references/render-pipeline.md
.
为每张截图编写一个HTML阶段,然后通过Pika MCP的
mcp__pika__html_to_png
渲染为PNG。详见
references/render-pipeline.md
  • mcp__pika__html_to_png
    请求的具体格式
  • 服务端资产/字体规则
  • 安全区域指南
  • 常见问题(字体加载、视网膜屏文字清晰度、圆角裁切)
每个HTML阶段的尺寸需精确为1290×2796px。使用
@font-face
加载HTTPS原始字体URL或内联
data:font/...
资源。本地品牌套件字体文件需通过公开HTTPS URL暴露或内联;
mcp__pika__upload_asset
不支持字体mime类型。
每次渲染后,在交付前执行预交付QA检查。对渲染后的图片使用
mcp__pika__analyze_media
,并检查可用的HTML元素位置。若任何截图的文本块边界框将关键标题、眉栏、副标题、行动号召或产品UI置于
references/render-pipeline.md
中记录的安全内容区域之外,需拒绝并重新渲染。

Step 5 — Build the contact sheet + deliver

步骤5 — 制作预览图+交付

Once all 6 PNGs render cleanly:
  1. Build a
    _preview.png
    contact sheet with
    mcp__pika__html_to_png
    — 6 thumbnails in a 3×2 grid at ~25% size, on a neutral background, labeled by role.
  2. Present the contact sheet URL plus each individual screenshot
    file_url
    . If you also saved local copies, include those local paths separately.
  3. Ask: anything to revise? Common revisions are copy tweaks (cheap) or layout swaps (medium) or new imagery (most expensive).
Do not report the screenshot set complete until
_preview.png
exists and is included in the delivery. If the contact sheet render fails, fix the sheet HTML or rerender the missing PNGs first; do not deliver only the individual PNGs and call the campaign finished.
当所有6张PNG渲染完成后:
  1. 使用
    mcp__pika__html_to_png
    制作
    _preview.png
    预览图——6张缩略图以3×2网格排列,尺寸约为原图的25%,置于中性背景上,按角色标注。
  2. 提供预览图URL以及每张单独截图的
    file_url
    。若同时保存了本地副本,需单独提供本地路径。
  3. 询问:是否需要修改?常见修改包括文案调整(成本低)、布局调换(成本中等)或新视觉素材(成本最高)。
_preview.png
生成并包含在交付内容中前,不得将截图套装标记为完成。若预览图渲染失败,需先修复预览图HTML或重新渲染缺失的PNG;不得仅交付单独的PNG并宣称宣传套装已完成。

The 5 layout archetypes

5种布局原型

Use one per screen. Don't stack devices. One bold idea per screen.
See
references/layout-archetypes.md
for full CSS skeletons and visual examples. Quick reference:
  1. Floating device — tilted phone on a splash background. The workhorse. Best for value/feature screens.
  2. Full-bleed UI — phone canvas fills the frame; typography overlays at top or bottom. Best for the hook.
  3. Side-by-side — device on one side, generated lifestyle imagery on the other. Best for emotional features.
  4. Parallax stack — phone in front, branded shape/imagery floating behind. Best for "wow moment" feature screens.
  5. Quote card — big pulled quote with a small device tucked in a corner. Best for the proof screen.
每张截图使用一种布局。不得堆叠设备。 每张截图突出一个核心创意。
详见
references/layout-archetypes.md
获取完整CSS框架和视觉示例。快速参考:
  1. 悬浮设备 — 倾斜的手机置于醒目背景上。最常用的布局。适用于价值/功能截图。
  2. 全屏UI — 手机画布填满整个帧;排版叠加在顶部或底部。适用于钩子截图。
  3. 左右分栏 — 一侧是设备,另一侧是生成的生活场景图。适用于情感化功能展示。
  4. 视差堆叠 — 手机在前,品牌形状/视觉素材悬浮在后。适用于“惊艳时刻”功能截图。
  5. 引用卡片 — 大尺寸引用文字,角落嵌入小型设备。适用于证明截图。

Copy — non-negotiable

文案规范 — 不可协商

App Store headlines are tested in a tiny window. They must:
  • Be 5–8 words. Anything longer dies on a 6.1" phone in search results.
  • Echo the brand voice exactly. If
    brand.md
    says voice is "dry, deadpan, never exclamatory," the headlines never end in
    !
    . If voice is "warm and a little teasing," the headlines have rhythm.
  • Make a claim, not a description. "Sleep like you mean it" > "Track your sleep". "Built for one quiet hour a day" > "Productivity app".
  • First two screens work as standalone thumbnails. Bigger type, clearest hook. App Store search shows the first 2-3 expanded; the rest only render if a user taps through.
Banned (these are the App Store equivalent of "crafted with love"):
  • "Stay organized."
  • "Your daily companion."
  • "All-in-one [category]."
  • "Designed to help you [verb]."
  • "Track. Plan. Achieve."
  • Anything with "seamlessly", "effortlessly", "powerful", "smart", "intelligent".
If the headline could appear on 500 other apps without anyone noticing — rewrite.
App Store标题在小窗口中展示,必须满足:
  • 5-8个词。 超过此长度的标题在6.1英寸手机的搜索结果中会被截断。
  • 严格符合品牌语气。
    brand.md
    说明语气为“干练、冷幽默、从不使用感叹号”,标题不得以
    !
    结尾。若语气为“温暖略带调侃”,标题需有节奏感。
  • 提出主张,而非描述。 “睡个踏实觉” > “追踪你的睡眠”。“专为每日一小时宁静时光打造” > “生产力应用”。
  • 前两张截图可作为独立缩略图。 字体更大,钩子更清晰。App Store搜索结果会展示前2-3张展开的截图;其余截图仅在用户点击后才会显示。
禁用文案(相当于App Store的“用心打造”):
  • “保持条理。”
  • “你的日常伴侣。”
  • “一站式[分类]应用。”
  • “旨在帮助你[动词]。”
  • “追踪。规划。实现。”
  • 任何包含“无缝”、“轻松”、“强大”、“智能”、“智能型”的文案。
如果标题可以毫无违和感地出现在同品类的500个其他应用上——必须重写。

Visual standards

视觉标准

  • The device is the hero — type is the caption. On a 1290×2796 canvas, the device should be 1050–1150px wide (≈ 81–89% of canvas). Anything smaller looks timid. Headlines support the screen content; they don't compete with it.
  • Typography hierarchy. One thing dominates per screen — usually the device. Headline 100–140px Funnel-Display-class; subhead 36–44px; visible difference in weight and size. (Past 150px the headline starts fighting the device for the eye.)
  • Skip SVG-stroke iPhone frames — they don't align with screenshot corners. Stroke-based SVG bezels sit half-inside/half-outside their path, and the radius/Dynamic Island proportions never quite match a real iPhone. Prefer transparent screenshot exports from Figma/simulator or a real iPhone mockup PNG with a transparent cutout. If only rectangular source screenshots are available, use a consistent CSS
    border-radius
    +
    overflow:hidden
    wrapper and visually QA the corners. The old local
    clean_phone_uniform()
    PIL recipe is now a documented MCP gap, not a default dependency.
  • Pick one: bleed OR full-frame. Never mid-crop the bottom curve. Default is full-frame (device top at y=580 with width=1000, so the rounded bottom corners sit fully inside the canvas with ~48px breathing room below). Bleed variant (device top ≥ 819) pushes the rounded bottom corners entirely past y=2796 — useful for hook screens that want drama. Anything in between produces a visible half-cut curve where the canvas slices through the rounded corner mid-arc; this is the failure mode the rule prevents.
  • Apple safe zones. Strict safe-zone rule: load-bearing text and product UI must stay inside y=180..2616. The top and bottom 100px bands are never for critical content, and the extra 80px buffer keeps App Store chrome, search-result cropping, and text ascenders from crowding the edge. Decoration is fine; critical claim and readable app UI are not.
  • One bold device per screen. Massive type or generated imagery or a quote — not all three. Splashy ≠ chaotic.
  • Color from the brand palette only. No new colors invented for the screenshots. If the palette feels too restrictive, that's the brand's problem to solve, not yours.
  • 设备是核心——文字是说明。 在1290×2796画布上,设备宽度应为1050-1150px(约占画布的81-89%)。尺寸过小会显得单薄。标题是为屏幕内容服务的,不得与设备争夺视觉焦点。
  • 排版层级。 每张截图突出一个核心元素——通常是设备。标题使用100-140px的标题类字体;副标题使用36-44px;字体粗细和尺寸需有明显差异。(超过150px的标题会与设备争夺视觉焦点。)
  • 避免SVG描边iPhone框架——无法与截图边角对齐。 基于描边的SVG边框一半在路径内一半在路径外,圆角/灵动岛比例永远无法与真实iPhone完全匹配。优先选择Figma/模拟器导出的透明背景截图,或带透明镂空的真实iPhone样机PNG。若仅提供矩形源截图,使用一致的CSS
    border-radius
    +
    overflow:hidden
    包装器,并视觉检查边角。旧的本地
    clean_phone_uniform()
    PIL脚本现在是已记录的MCP工具缺口,不再是默认依赖。
  • 二选一:全屏溢出或完整帧。 永远不要裁切底部圆角的中间部分。默认是完整帧(设备顶部位于y=580,宽度=1000,这样圆角底部完全位于画布内,下方留有约48px的呼吸空间)。溢出变体(设备顶部≥819)将圆角底部完全推至y=2796之外——适用于需要戏剧性效果的钩子截图。介于两者之间的设置会导致画布在圆角弧度中间裁切,形成明显的半切圆角,这是本规则要避免的失败模式。
  • Apple安全区域。 严格安全区域规则:关键文字和产品UI必须位于y=180..2616范围内。顶部和底部100px区域不得放置关键内容,额外的80px缓冲可避免App Store界面、搜索结果裁切和文字上升部分遮挡边缘。装饰元素可置于此区域;关键主张和可读应用UI不可。
  • 每张截图仅展示一个醒目设备。 大尺寸文字 生成视觉素材 引用文字——不得同时使用三者。醒目≠混乱。
  • 仅使用品牌配色。 不得为截图新增品牌规范外的颜色。若配色过于受限,这是品牌需要解决的问题,而非你的责任。

Sourcing the screens

截图来源

The raw screens can come from anywhere — an App Store listing fetched through Pika MCP, a Figma frame, a Sketch export, a simulator screenshot, or local files. If the source is an App Store URL/app ID/app name, use the App Store listing path above. If the source is Figma and you have Figma MCP access:
  • get_screenshot(fileKey, nodeId)
    returns the rendered PNG of a node. This works without needing the user to select anything in the Figma desktop app.
  • For a strip-of-phones layout, prefer asking for individual phone exports. If only a strip is available, crop manually from the design source or use a future server-side crop/clean tool when exposed; don't make local PIL cropping a default dependency of this skill.
  • The natural render is usually at logical-pixel size (e.g. 393×852 per iPhone 15 Pro phone). When you scale this to the default 1000px device width on the App Store canvas, the upscale is acceptable for non-pixel-critical content. For tighter fidelity, ask if there's a higher-resolution export.
原始截图可来自任何地方——通过Pika MCP获取的App Store列表、Figma框架、Sketch导出文件、模拟器截图或本地文件。若来源是App Store URL/应用ID/应用名称,使用上方的App Store列表流程。若来源是Figma且你拥有Figma MCP权限:
  • get_screenshot(fileKey, nodeId)
    返回节点的渲染PNG。无需用户在Figma桌面应用中选择任何内容即可使用。
  • 对于多设备并排布局,优先请求单独的设备导出文件。若仅提供多设备长条截图,需从设计源手动裁切,或使用未来的服务端裁切/清理工具(若可用);不得将本地PIL裁切作为本技能的默认依赖。
  • 自然渲染尺寸通常为逻辑像素尺寸(例如iPhone 15 Pro为393×852)。当将其缩放至App Store画布上默认的1000px设备宽度时,放大效果对于非像素敏感内容是可接受的。若需要更高保真度,可询问是否有更高分辨率的导出文件。

Quality bar

质量标准

Before delivering, do the squint test:
  1. Squint at the contact sheet. Can you tell the 6 screens apart at a glance? (Different headlines, different layouts, different focal weight.) If they look like 6 versions of the same screen — redesign.
  2. First-2-screens thumbnail test. Crop screens 1 and 2 to 25% size. Is the headline still legible? Is the hook still clear? If you have to lean in, the type is too small.
  3. Brand-test. Cover the device on each screen. Does the surrounding design still feel like the brand? (Color, type, mood, voice in headlines.) If not, the screenshot is generic.
  4. Anti-generic test (same as build-a-brand): could these screens belong to literally any other app in this category? If yes — rewrite the copy and rework the focal hierarchy.
  5. Safe-zone audit. Check every rendered PNG and reject and rerender any screen with load-bearing text or product UI outside the safe content area.
交付前执行眯眼测试:
  1. 眯眼查看预览图。 能否一眼区分6张截图?(不同标题、不同布局、不同视觉焦点。)若看起来像是同一张截图的6个变体——重新设计。
  2. 前两张截图缩略图测试。 将截图1和2裁切至25%尺寸。标题是否仍清晰可读?钩子是否仍明确?若需要凑近看,说明字体过小。
  3. 品牌测试。 遮盖每张截图的设备部分。周围的设计是否仍符合品牌风格?(配色、字体、氛围、标题语气。)若不符合,说明截图过于通用。
  4. 反通用测试(与
    build-a-brand
    相同):这些截图能否毫无违和感地属于同品类的任何其他应用?若可以——重写文案,调整视觉焦点层级。
  5. 安全区域审核。 检查所有渲染后的PNG,拒绝并重新渲染任何关键文字或产品UI超出安全内容区域的截图。

Load-bearing phrases

关键规则短语

These anchors keep the generated campaign legible and on-brand:
PhraseWhereWhy load-bearing
vertical composition with negative space in upper third for headline
Brand-world image promptsLeaves usable space for real App Store headline type instead of forcing text over busy imagery.
The device is the hero — type is the caption
Visual standardsPrevents poster-like screens where copy overwhelms the product UI.
Apple safe zones
Visual standards / render QAKeeps critical claims clear of status-bar and App Store overlay areas.
no text, no logos
Generated background promptsAvoids unusable generated typography; real copy is added in HTML.
Pick one: bleed OR full-frame
Device layout rulePrevents the half-cut rounded-corner crop that looks like a rendering bug.
这些规则确保生成的宣传素材清晰且符合品牌规范:
短语适用场景关键原因
vertical composition with negative space in upper third for headline
品牌视觉素材提示词为真实App Store标题预留可用空间,避免文字覆盖在繁忙的视觉素材上。
The device is the hero — type is the caption
视觉标准避免出现文案压倒产品UI的海报式截图。
Apple safe zones
视觉标准/渲染QA确保关键主张不受状态栏和App Store界面遮挡。
no text, no logos
生成背景提示词避免生成无法使用的文字;真实文案在HTML中添加。
Pick one: bleed OR full-frame
设备布局规则避免出现半切圆角的裁切错误,看起来像渲染bug。

Engine choice: HTML-first render, gpt-image-2 only for brand-world imagery

引擎选择:优先HTML渲染,仅使用gpt-image-2生成品牌视觉素材

The final screenshots should be deterministic HTML/CSS composites rendered through
mcp__pika__html_to_png
, because App Store copy, device masks, safe zones, and brand typography need exact control. Use
gpt-image-2
only for splash/background/brand-world imagery where generation adds visual richness; keep real product UI as screenshots. Bump
gpt-image-2
to its 2K/4K tier (or escalate to
seedream
) only when a specific generated background genuinely needs higher resolution than 1K.
最终截图应通过
mcp__pika__html_to_png
进行确定性HTML/CSS合成渲染,因为App Store文案、设备遮罩、安全区域和品牌排版需要精确控制。仅在需要通过生成增加视觉丰富度的背景/品牌视觉素材场景中使用
gpt-image-2
;真实产品UI需保留为截图。仅当特定生成背景确实需要高于1K的分辨率时,才将
gpt-image-2
提升至2K/4K级别(或切换至
seedream
)。

Runtime Expectations

运行时间预期

Typical run time is 10-25 minutes, depending on how much user confirmation is needed:
StepWall clockNotes
Intake + style choice1-5 minUser-paced if a reference is needed
Brand/screenshot read2-5 minIncludes visual inspection and feature mapping
Strategy pitch2-5 minBest place to iterate copy cheaply
Image generation2-8 minOnly for backgrounds or reference-driven hero imagery
HTML composite + render5-10 minSix 1290x2796 PNGs plus contact sheet
QA revisionsvariableCopy tweaks are cheap; new imagery is slower
典型运行时间为10-25分钟,具体取决于用户确认所需时间:
步骤耗时说明
需求收集+风格选择1-5分钟若需要参考素材,由用户节奏决定
品牌/截图解读2-5分钟包括视觉检查和功能映射
策略提案2-5分钟迭代文案的最佳低成本环节
图像生成2-8分钟仅针对背景或参考驱动的核心视觉素材
HTML合成+渲染5-10分钟6张1290x2796 PNG+预览图
QA修改可变文案调整成本低;新视觉素材耗时更长

Failure Modes

失败模式

SymptomCauseFix
Screens look like six variants of the same layoutDefault skeleton was repeated without enough content contrastReassign layout archetypes and rotate focal weight, color, and screenshot choice
Headlines are illegible in contact sheetType is too small for App Store thumbnail useIncrease headline size, shorten copy to 5-8 words, and rerender
Generated background contains text or fake UIPrompt over-described brand/product specificsRegenerate with a no-text/no-logo guardrail and reserve the real UI for screenshots
App Store listing has fewer than 3 usable screenshotsThin App Store listing, often a companion app or early listingUse the website-capture path, ask for real screenshots, or stop. For fictional launch-demo concepts only, use Fictional app demo mode with
demo_mode: true
,
demo_brief
, and the demo-only disclosure
Fictional app has no real product screenshotsLaunch-demo concept needs representative UI, but production rules forbid hallucinated UIUse Fictional app demo mode only with
demo_mode: true
, a concrete
demo_brief
, representative UI mocks, and a demo-only disclosure
Load-bearing text appears too close to the top or bottom edgeSafe-zone QA was skipped or checked only the rendered look, not text block bounding boxesReject and rerender with text block bounding boxes inside the strict safe-zone margin
Device corners look unevenSource screenshot already contains background in the rounded corner area, or CSS radius does not match the sourceAsk for transparent/high-res source exports, use a real mockup cutout, or apply one consistent CSS mask and visually QA. A server-side uniform corner cleaner is still a tool gap.
Brand feels generic after hiding the screenshotsSurrounding design ignores
brand.md
voice, palette, or imagery rules
Rebuild the screen shell from the brand spec before rerendering
Render is blurry or scaledStage dimensions or raster options are wrongVerify 1290x2796 stage size and
mcp__pika__html_to_png
viewport_px:1290x2796
,
device_scale:1
症状原因修复方案
6张截图看起来像是同一布局的变体默认框架重复使用,内容对比不足重新分配布局原型,轮换视觉焦点、色彩和截图选择
预览图中的标题难以辨认字体过小,不适合App Store缩略图展示增大标题尺寸,将文案缩短至5-8词,重新渲染
生成的背景包含文字或虚假UI提示词过度描述品牌/产品细节添加无文字/无logo规则重新生成,真实UI保留为截图
App Store列表可用截图少于3张精简App Store列表,通常是配套应用或早期列表使用网站捕获流程,请求真实截图,或停止操作。仅针对虚构发布演示概念,使用虚构应用演示模式,设置
demo_mode: true
demo_brief
并添加仅演示声明
虚构应用无真实产品截图发布演示概念需要代表性UI,但生产规则禁止虚构UI仅在
demo_mode: true
、提供具体
demo_brief
、生成代表性UI原型并添加仅演示声明的情况下,使用虚构应用演示模式
关键文字过于靠近顶部或底部边缘跳过了安全区域QA,或仅检查了渲染外观而非文本块边界框拒绝并重新渲染,确保文本块边界框位于严格的安全区域内
设备边角看起来不均匀源截图圆角区域已包含背景,或CSS圆角与源截图不匹配请求透明/高分辨率源导出文件,使用真实样机镂空图,或应用一致的CSS遮罩并视觉检查。服务端统一边角清理工具仍为缺口。
遮盖截图后品牌风格显得通用周围设计未遵循
brand.md
的语气、配色或视觉规则
根据品牌规范重新构建截图框架后再渲染
渲染结果模糊或缩放错误阶段尺寸或光栅选项错误验证阶段尺寸为1290x2796,
mcp__pika__html_to_png
viewport_px:1290x2796
device_scale:1

When to push back on the user

何时拒绝用户需求

  • If they want a "jazzed up" version without supplying a reference → push back. Ask for a screenshot of an App Store page they love, a figma file, or a moodboard. Explain that without a reference, you'll deliver default plus their brand color, and that's better than guessing at "exciting." (This rule comes from real campaign work — auto-jazzing produced amateur output every time.)
  • If they want a 10-screen campaign → push back. 5-6 is the sweet spot; more is fatigue.
  • If the brand voice in
    brand.md
    is generic ("modern, friendly, intuitive") → flag it. You can still produce screens, but tell them the headlines will only be as distinctive as the voice spec. Offer to sharpen the voice first (it lives in
    brand.md
    's Voice & Tone section).
  • If they have no real product screenshots and did not explicitly request fictional app demo mode → don't invent UI. Ask for screenshots, website/onboarding capture targets, or explicit
    demo_mode: true
    with a concrete
    demo_brief
    .
  • If they don't have a brand at all → don't proceed on vibes. Route them to
    build-a-brand
    first, or have them write at minimum: name, palette hexes, display font, body font, one-line voice description.
  • 若用户想要“炫彩”版本但未提供参考素材 → 拒绝。请求用户提供喜欢的App Store页面截图、Figma文件或情绪板。解释若无参考素材,将交付默认风格搭配品牌配色的方案,这比猜测“惊艳”风格更高效。(此规则来自真实宣传素材制作经验——自动炫彩风格每次都会产出业余效果。)
  • 若用户想要10张截图的套装 → 拒绝。5-6张是最佳数量;过多会导致用户疲劳。
  • brand.md
    中的品牌语气过于通用(“现代、友好、直观”) → 标记问题。仍可制作截图,但需告知用户标题的独特性仅取决于语气规范。可先提供优化语气的服务(优化
    brand.md
    的语气与语调部分)。
  • 若用户无真实产品截图且未明确请求虚构应用演示模式 → 不得虚构UI。请求用户提供截图、网站/引导页捕获目标,或明确设置
    demo_mode: true
    并提供具体
    demo_brief
  • 若用户完全没有品牌规范 → 不得凭感觉继续。引导至
    build-a-brand
    技能,或要求用户至少提供:名称、配色十六进制代码、标题字体、正文字体、一行语气描述。

References

参考文档

  • references/default-layout.md
    the visual system the skill produces when the user supplies no reference. Read this first for any run. Codifies the headline-top + device-dominant + full-frame composition, color rotation, and squint-test checklist. This is what the skill delivers well.
  • references/layout-archetypes.md
    — vocabulary list of layout patterns found in real App Store campaigns. Use only to analyze a user-supplied reference. Not a free-choice menu.
  • references/render-pipeline.md
    mcp__pika__html_to_png
    render request, server-side asset/font rules, safe-zone overlay, font-loading checklist, pre-delivery checklist.
  • references/default-layout.md
    用户未提供参考素材时,本技能使用的视觉系统。 任何运行前需先阅读此文档。定义了标题在上+设备主导+完整帧的构图、色彩轮换和眯眼测试清单。这是本技能最擅长交付的风格。
  • references/layout-archetypes.md
    — 真实App Store宣传素材中常见的布局模式词汇表。仅用于分析用户提供的参考素材,并非自由选择菜单。
  • references/render-pipeline.md
    mcp__pika__html_to_png
    渲染请求格式、服务端资产/字体规则、安全区域叠加层、字体加载清单、预交付清单。