Communitygithub.com

alecs5am/ralphy

如何制作一张生动、角色驱动的品牌海报——静态图像,而非视频。这是一个通用化的艺术指导层,提供海报即着陆页的架构、参数化插槽集、模型堆栈以及特定领域的失败模式。适用于用户指定的任何品牌和美学风格。

ralphy 是什么?

Ralphy(`alecs5am/ralphy`)是一个高度专业化的AI技能,专为生成“海报即着陆页”风格的静态品牌图像而设计。与需要参考特定模板的“remix”路径不同,此技能在用户提出通用海报请求(如“为<品牌>制作一张海报”、“宣传单页”、“关键视觉”、“专辑封面风格”等)时触发,且不依赖现有作品。其核心是提供一个固定的六层架构(顶部横幅、巨大的斜面字标、胸部以上的英雄照片、散落的乙烯基贴纸拼贴、文案块和细页脚),并通过一系列参数化插槽(品牌、感叹词、英雄形象、产品、调色板、原创图形符号、美学风格)来实现灵活性。该技能在OpenAI的gpt-5.4-image-2模型(默认,具有出色的排版精度)和Google的gemini-3-pro-image-preview模型(用作快速探索的备选)上运行,并通过`ralphy generate image`命令强制执行。关键约束包括:所有生成必须通过指定的工具;对于真实世界实体需要参考;对于真实的品牌目标有严格的研究自动机;以及一个质量门控,如果连续两次图像评分失败则停止。它专为静态图像设计,当前包括对长宽比传递(例如,通过`--size 1080x1920`实现9:16纵向)的改进支持。

兼容平台~Claude Code✓Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/alecs5am/ralphy/tree/HEAD/.agents/skills/poster

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

触发器

触发条件:处理通用的静态海报需求:"为<品牌>制作一张海报"、"发布海报"、"海报即着陆页"、"宣传单页"、"关键视觉"、"营销图片"、"专辑封面风格"、"商品发布预告图像"。任何主题和任何美学风格均可——该技能与主题和风格无关。

不要触发,当:

  • 用户指向一个特定的海报要求复现(@template:<slug>、"重新混合这个"、指定了一个slug)→ 这属于 remix 路径。请参阅 docs/skills-vs-templates.md。
  • 用户想要一个动态视频(字标动画、英雄说话)→ 匹配视频格式/模板,加载对应的视频工艺覆盖技能(ugc-*),并使用编辑者手册,而非此技能。
  • 用户粘贴了 @guideline:<slug> 为该海报所处的注册表(逼真人类、反AI生成)→ 首先运行 ralphy guideline show <slug> 并将其规则融入到英雄照片插槽中。

此技能的定位

这是一个通用化的布局覆盖层,而非完成的海报。它不指定品牌、英雄或调色板——它告诉艺术指导这类海报的构建方式,以便为用户正在推广的任何内容生成一张出色的海报。它通过 ralphy generate image 来运行;它不会绕过参考门控或质量门控。

硬性不变项

  • 所有生成都通过 ralphy generate image 路由(无原始API)。在命名任何模型ID之前,请阅读 MODELS.md——下面的栈是默认值,而非硬编码。
  • 参考门控仍然会在英雄或产品插槽中指定真实世界的命名实体时触发(真人、可识别的品牌产品、知识产权)。一个虚构品牌 + 原创图形符号 + 通用产品可以无需参考而进行。确保在提示词中明确说明品牌图形符号是"原创的"("不是任何现有品牌"),以便模型不会偏向于商标化的标记。
  • 质量门控会拒绝,而非警告——连续两次 scoreImage 失败 → 停止并报告选项。
  • 真实品牌预检:在构建任何提示词之前进行网站基础研究。 如果海报针对真实品牌(用户自己的初创公司、客户网站、提供的任何URL),在起草品牌DNA或提示词之前,分派一个Playwright子智能体抓取首页 + /docs + /pricing + /features + /examples。阅读 artifacts/refs/research.md(子智能体的摘要),而不仅仅是主页的WebFetch。每个 {{palette}} 十六进制颜色必须溯源至 artifacts/refs/tokens.json;正文或代码创意插槽中的每个命名API符号必须溯源至 research.md 中的"记录在案的API功能"。完整的纪律和子智能体提示模板:.agents/skills/researcher/references/site-grounding.md。跳过此步骤导致 sotaocr-fb-001 花费 $1.20 + 5/32 个幻觉SDK创意。

细分领域,一句话概括

一张海报即着陆页成败取决于一个巨大的可读字标加上一个单个人物进行眼睛或接近眼睛接触,通过DIY贴纸拼贴的能量粘合在一起。视线应先落在文字上,然后是脸上,接着在2-3个贴纸亮点间跳动,最后阅读文案。清晰的排版是全部关键——模糊的字标会立即毁掉一切,这就是为什么模型选择以排版优先,而非一致性优先。

固定架构(请勿重新构建结构——仅填充插槽)

从上到下,此细分领域的每张海报都保留此层叠结构:

层固定角色需要填充的插槽
1. 顶部横幅小号小写跟踪介绍行{{tagline}},强调色
2. 字标巨大的粗体衬线字体,3D斜面阴影,每个字母的铬色高光,轻微的俏皮倾斜 + 不完美的终端{{exclamation}}(简短有力的词:BOOM / DANG / YIKES / WOW / OOPS)
3. 英雄照片(约60%高度)电影感的胸部以上肖像,目光向上,休闲酷感,胸前有原创图形符号,手持产品在嘴部高度,柔和的边缘光,胶片颗粒感{{hero}},{{product}},{{blob_glyph}}
4. 贴纸拼贴3个乙烯基贴纸(薄白色边框 + 柔和投影 + 胶带边角),以俏皮角度散落带有产品微距的星形 · 带有图形符号脸的星形 · 带有"NEW DROP"类标签的小星形
5. 文案块紧凑的大写标题 + 4行斜体衬线正文 + 填充的行动号召按钮{{headline}},{{body_copy}},{{cta}}
6. 页脚条非常细的全宽小写跟踪行{{brand}} · 创立于YYYY年 · <流程口号> · WWW.<域名>

完成层(始终开启):细微的胶片颗粒感 + 轻微晕影 + 微弱的CRT温暖色调 + 复古丝网印刷质感。

插槽(海报之间唯一变化的部分)

  • {{brand}} + {{tagline}} + {{domain}}——虚构(或用户拥有)的标签。
  • {{exclamation}}——字标词。一个短促有力的可喊叫词。
  • {{hero}}——人物 + 服装 + 表情。自由改变年龄/性别/风格。
  • {{product}}——在嘴部高度持有的道具(棒棒糖、冰棒、易拉罐、麦克风…)。保持通用/无品牌,除非用户拥有该品牌。
  • {{palette}}——全出血背景渐变(2个十六进制色) + 强调色(字标/标题) + 斜面阴影色 + 奶油色主体色 + 线条木炭色 + 产品色。始终明确指定十六进制值。
  • {{blob_glyph}}——一个原创的手绘友好生物(笑脸图形、独眼云、不对称星星)。内部写入小写品牌词。说明"不是任何现有品牌。"
  • {{aesthetic}}——风格(已验证的默认值为Y2K滑板冲浪街头风格;蒸汽波、垃圾杂志、简洁DTC、90年代街机风格均适用于相同框架)。

模型栈(每次运行时对照MODELS.md验证)

  • 默认值 — openai/gpt-5.4-image-2。卓越的排版/标签准确性:斜面字标、小页脚条和4行正文都清晰可读。这是它在海报方面胜过一致性优先默认模型的全部原因。并发上限为1——串行化批次(--concurrency 1),切勿在此模型上并行生成海报。
  • 备选 — google/gemini-3-pro-image-preview。大约一半的延迟且成本更低,支持≥4并发,但模糊了嵌入的小型排版(事后分析;在loud-kids-poster-001中再次确认——4行正文变模糊)。仅用于快速调色板/构图探索,然后在gpt-image上最终确定选定的变体。

宽高比 — 已解决,使用 --size

gpt-5.4-image-2 历史上一律返回 1024²,无论 --size 如何。截至 loud-kids-poster-001 会话,ralphy generate image 将 image_config.aspect_ratio(源自 --size)转发给 OpenRouter,且 gpt-image 遵循它:--size 1080x1920 → 真正的 9:16 纵向(720×1280 本地桶)。传递 --size 1080x1920 用于纵向着陆海报,--size 1080x1080 用于方形社交媒体帖子。输出落在模型的最近本地桶上,而非精确像素——如果需要精确帧,请下游进行填充/缩放。

失败模式

  • 并行 gpt-image 生成 → 403 "超出密钥限制"。 串行化(1并发上限)。每次生成大约需要2.5-4分钟。
  • Gemini 模糊了正文和页脚条。 不要在 Gemini 上最终确定排版密集的海报。
  • 图形符号偏向真实商标(笑脸品牌等),如果你没有说"原创,不是任何现有品牌"——始终包含该条款。
  • 贴纸太多 → 视线无处可放。限制在3个,并将它们保持在英雄形象的边缘。
  • 字标和标题与繁忙背景颜色相同 → 可读性丧失。字标强调色必须与渐变形成强烈对比。

工作示例(2026-05-27 验证)

.ralphy/workspaces/<ws>/projects/loud-kids-poster-001/ 包含三个在此精确框架上构建的调色板/英雄/产品变体(BOOM/皇家蓝+棒棒糖,DANG/珊瑚色梅子+冰棍,YIKES/酸橙森林+苏打水)以及一个 9:16 的 A/B 测试(gpt-image vs gemini)。三个提示文件(prompt-v1-boom.txt…)是规范的已填充插槽参考——在起草新海报提示之前阅读一个。

CLI 快速参考

# 默认海报,纵向 9:16,清晰排版
ralphy generate image --project <id> --slot poster-01 \
  --model openai/gpt-5.4-image-2 --size 1080x1920 --prompt "<已填充框架>"

# 快速调色板/构图探索(之后在 gpt-image 上最终确定胜出者)
ralphy generate image --project <id> --slot poster-explore --variants 3 \
  --model google/gemini-3-pro-image-preview --size 1080x1920 --prompt "<...>"

# 同一海报的方形社交媒体帖子裁剪
ralphy generate image --project <id> --slot poster-01-sq \
  --model openai/gpt-5.4-image-2 --size 1080x1080 --prompt "<已填充框架>"

长提示:将已填充的框架写入项目目录中的 .txt 文件,并传递 --prompt "$(cat file.txt)"——正文中的撇号会破坏内联单引号 shell 字符串。

Individual skills in this repo

This repo contains 11 individual skills — each has its own dedicated page.

alecs5am/ralphy

>- Composition and render craft — assembles scenario.json plus asset-manifest.json into a HyperFrames HTML composition and renders the mp4. Owns timing, transitions, captions, audio mix and ducking, the green zone, the render pipeline, and VO sync. Generates no media of its own. USE WHEN the user asks to "compose the video", "render", "preview", "fix the captions", "mix the audio", "tighten the transitions", "final cut", or edits HyperFrames composition code. TRIGGER (EN): "render it", "compose the video", "captions", "audio mix", "transitions", "final cut", "preview the composition".

alecs5am/ralphy

HyperFrames CLI dev loop — `npx hyperframes` for scaffolding (init), validation (lint, inspect), preview, render, and environment troubleshooting (doctor, browser, info, upgrade). Use when running any of these commands or troubleshooting the HyperFrames build/render environment. For asset preprocessing commands (`tts`, `transcribe`, `remove-background`), invoke the `hyperframes-media` skill instead.

alecs5am/ralphy

Asset preprocessing for HyperFrames compositions — text-to-speech narration (Kokoro), audio/video transcription (Whisper), and background removal for transparent overlays (u2net). Use when generating voiceover from text, transcribing speech for captions, removing the background from a video or image to use as a transparent overlay, choosing a TTS voice or whisper model, or chaining these (TTS → transcribe → captions). Each command downloads its own model on first run.

alecs5am/ralphy

Install and wire registry blocks and components into HyperFrames compositions. Use when running hyperframes add, installing a block or component, wiring an installed item into index.html, or working with hyperframes.json. Covers the add command, install locations, block sub-composition wiring, component snippet merging, and registry discovery.

alecs5am/ralphy

Create video compositions, animations, title cards, overlays, captions, voiceovers, audio-reactive visuals, and scene transitions in HyperFrames HTML. Use when asked to build any HTML-based video content, add captions or subtitles synced to audio, generate text-to-speech narration, create audio-reactive animation (beat sync, glow, pulse driven by music), add animated text highlighting (marker sweeps, hand-drawn circles, burst lines, scribble, sketchout), or add transitions between scenes (crossfades, wipes, reveals, shader transitions). Covers composition authoring, timing, media, and the full video production workflow. For dev-loop CLI commands (init, lint, inspect, preview, render) see the hyperframes-cli skill; for asset preprocessing commands (tts, transcribe, remove-background) see the hyperframes-media skill.

alecs5am/ralphy

>- Compatibility shim for the legacy `/ralphy-remotion` skill name. Use when a saved Claude Code command, old project note, or user request still mentions Ralphy Remotion; redirect the task to HyperFrames and the current Ralphy render playbooks instead of authoring new Remotion code.

alecs5am/ralphy

>- Compatibility shim for the legacy `/remotion-to-hyperframes` skill name. Use when an old project, note, or user request asks to migrate Ralphy Remotion work; translate the intent into the current HyperFrames composition model and follow the editor and HyperFrames playbooks.

alecs5am/ralphy

The full extract → classify → blueprint → de-dup → publish pipeline for a finished `.ralphy/workspaces/<ws>/projects/<id>/`. Reads its `units/*/unit.json` (#069) as the Unit source of truth, then factors the project into ALL FIVE entities — Unit + the four typed blocks Template (structure), Style (look), Recipe (effect/treatment), Asset (reusable media). Applies the recipe-vs-tag split (#082/#083): a candidate is a Recipe only if it carries an extractable artifact (ffmpeg filtergraph / HyperFram

alecs5am/ralphy

>- How to make a realistic AI UGC ad for a product — generalized niche know-how that looks real and doesn't feel AI. A domain overlay on the standard pipeline: supplies the shooting-script shape (timestamp | VO | shot | mannerism), the creator-persona build, the problem-mirror hook, the trust-through-mannerisms rule, and the 9:16 ~15s UGC format defaults. Works for ANY product the user names — their skincare line, a no-name app, a gadget. The skill supplies the know-how; the user supplies the product. USE WHEN the user asks for a UGC ad / creator-style product ad / "make an ad that looks like a real person reviewing my product" / testimonial-style or problem-solution short for TikTok / Reels / Shorts, with no specific existing video to reproduce. This is a niche SKILL (generalized), not a remix TEMPLATE. For "remix this exact ad but swap the product/person", use the remix path (docs/skills-vs-templates.md). For swapping the creator in an existing clip, see /ugc-model-swap.

alecs5am/ralphy

When the user needs marketing ideas, inspiration, or strategies for their SaaS or software product. Also use when the user asks for 'marketing ideas,' 'growth ideas,' 'how to market,' 'marketing strategies,' 'marketing tactics,' 'ways to promote,' 'ideas to grow,' 'what else can I try,' 'I don't know how to market this,' 'brainstorm marketing,' or 'what marketing should I do.' Use this as a starting point whenever someone is stuck or looking for inspiration on how to grow. For specific channel execution, see the relevant skill (paid-ads, social-content, email-sequence, etc.).

alecs5am/ralphy

Full end-to-end workflow for generating a realistic AI UGC ad for a product. 15-second format. Looks real. Doesn't feel AI.

相关技能