Communitygithub.com

alecs5am/ralphy

생생한 캐릭터 중심 브랜드 포스터(단일 정지 이미지, 동영상 아님)를 제작하는 방법입니다. 아트 디렉터 단계를 일반화된 오버레이로 대체하여 포스터-랜딩 페이지 아키텍처(상단 배너 → 거대한 베벨 워드마크 → 가슴까지 오는 히어로 사진 → 흩어져 있는 비닐 스티커 콜라주 → 카피 블록 → 얇은 하단 스트립), 매개변수화된 슬롯 세트(브랜드, 감탄사, 히어로, 제품, 팔레트, 독창적인 블롭 글리프, 미적 레지스터), 모델 스택(gpt-5.4-image-2(선명한 타이포그래피), gemini 대체 모델) 및 해당 분야의 실패 모드를 제공합니다. 사용자가 지명하는 모든 브랜드와 모든 미적 스타일(Y2K 스트리트웨어, 베이퍼웨이브, 그런지 진, 깔끔한 DTC)에서 작동합니다. 스킬은 레이아웃 노하우를 제공하고, 사용자는 주제와 분위기를 제공합니다. 사용자가 특정 기존 포스터를 재현하지 않고 포스터/전단지/드롭 포스터/

ralphy란 무엇인가요?

`alecs5am/ralphy`는 특정 브랜드나 미적 스타일에 국한되지 않고, 사용자가 원하는 모든 종류의 정지 이미지 포스터(브랜드 포스터, 드롭 포스터, 플라이어, 앨범 커버 스타일 등)를 제작하기 위한 일반화된 레이아웃 오버레이 스킬입니다. 이 스킬은 아트 디렉터 역할을 대신하여, 포스터의 고정된 아키텍처(상단 배너, 거대한 워드마크, 히어로 사진, 스티커 콜라주, 카피 블록, 하단 스트립)와 채워야 할 다양한 슬롯(브랜드명, 감탄사, 히어로 인물, 제품, 색상 팔레트, 독창적인 블롭 글리프, 미적 레지스터)을 제공합니다. Claude Code 환경에서 사용되며, 선명한 타이포그래피를 위해 `gpt-5.4-image-2` 모델을 기본으로 사용하고, 빠른 탐색을 위해 `gemini` 모델을 대체재로 활용합니다. 주요 기능으로는 실제 브랜드 대상 포스터 제작 시 사전 사이트 조사를 위한 Playwright 하위 에이전트 실행, 참조 이미지 필요 여부 판단, 품질 게이트, 병렬 생성 시 키 제한 오류 방지 등이 포함되어 있어, 사용자는 주제와 분위기만 제공하면 완성도 높은 포스터를 얻을 수 있습니다.

지원 대상~Claude Code✓Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/alecs5am/ralphy/tree/HEAD/.agents/skills/poster

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

트리거

발동 조건 — 일반적인 정지 포스터 브리핑: "<브랜드> 포스터 만들어 줘", "드롭 포스터", "랜딩 페이지 포스터", "전단지", "키 아트", "홍보 그래픽", "앨범 커버 스타일 정지 이미지", "머치 드롭 공지 이미지". 모든 주제, 모든 미적 스타일 — 이 스킬은 주제와 스타일에 구애받지 않습니다.

발동하지 않는 경우:

  • 사용자가 특정 포스터 하나를 지목하여 재현하려는 경우 (@template:<slug>, "이거 리믹스 해 줘", 슬러그를 언급) → 이것은 리믹스 경로입니다. 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를 크롤링하십시오. 홈 페이지의 WebFetch 결과만 보지 말고 artifacts/refs/research.md(하위 에이전트의 요약본)를 읽으십시오. 모든 {{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}} (짧고 임팩트 있는 단어: 붐 / 악 / 아이쿠 / 와우 / 이런)
3. 히어로 사진 (~60% 높이)영화 같은 가슴까지 오는 초상화, 위를 응시, 캐주얼-쿨, 가슴에 독창적인 블롭 글리프, 입 높이에 든 제품, 부드러운 림 라이트, 필름 그레인{{hero}}, {{product}}, {{blob_glyph}}
4. 스티커 콜라주비닐 스티커 3개 (얇은 흰색 테두리 + 부드러운 드롭 섀도우 + 테이프 모서리), 장난기 있는 각도로 흩어짐제품 매크로가 있는 별 · 블롭 얼굴이 있는 별 · "NEW DROP" 유형 레이블이 있는 작은 별
5. 카피 블록좁은 대문자 헤드라인 + 이탤릭체 본문 4줄 + 채워진 CTA 필{{headline}}, {{body_copy}}, {{cta}}
6. 하단 스트립매우 얇은 전체 너비 트래킹 대문자{{brand}} · 설립 연도 · <프로세스 태그라인> · WWW.<domain>

마감 레이어 (항상 적용): 미묘한 필름 그레인 + 약간의 비네트 + 희미한 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는 역사적으로 --size에 관계없이 1024²를 반환했습니다. 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 대 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)"를 전달하세요. 본문 복사본의 아포스트로피는 인라인 작은따옴표 셸 문자열을 깨뜨립니다.

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.

관련 스킬