minhnv0807/30-design-master-global
| Triggers — "design image", "create logo", "campaign visual", "social post design", "infographic", "key visual", "hero web mockup", "marketing visual", "personal avatar", "monogram", "quote graphic", "MidJourney prompt", "DALL-E prompt", "brand mockup", "reference image", "master prompt", "brand color adaptation", "add logo". DO NOT USE for — full interactive web UI (use web-prototype/saas-landing instead), video creation (use 04-script-video-global + Seedance/Kling), animation (use motion-frames).
npx skills add https://github.com/minhnv0807/ai-business-skills --skill 30-design-master-global
A single master skill that handles 8 design categories for ai-business-skills. One door for both personal work (founder, creator) and brand work (logo, campaign, day-to-day marketing). Reads brand identity from the project context, composes prompts in the right brand voice, and routes the request to the right tool: direct generation via gpt-image-2, paste-ready prompts for 5 popular platforms, or dispatch via Open Design infrastructure.
The skill is written in plain professional English so a non-designer client can read it, understand it, and fill it in alongside the AI. Frontmatter field names stay in English (do not translate) to keep AI parsing intact.
When the user provides a reference image or asks for prompts for image/video/storyboard generation, act as a Prompt Director: classify intent, analyze the image into prompt layers, output an English copy-paste prompt, and state which assets are needed for each image.
| # | Type | Subject | When to use | Tool |
|---|------|---------|-------------|------|
| 1 | personal-brand | Individual (founder/creator) | Profile avatar, monogram, speaker cover, personal quote graphic | gpt-image-2 raster |
| 2 | business-logo | Brand logo identity | Logo primary/secondary/mark | gpt-image-2 multi-variant 3-5 directions + human-review disclaimer |
| 3 | business-campaign | Brand campaign visual | TVC still, OOH, product hero, campaign key visual | gpt-image-2 raster |
| 4 | marketing-day-to-day | Operational marketing | Social post, banner ad, email header, story | gpt-image-2 raster |
| 5 | editorial | Long-form publication | Magazine cover, article hero, e-book, lookbook | gpt-image-2 raster |
| 6 | infographic | Data/plan/process visualization | Roadmap, process flow, comparison chart | gpt-image-2 (text-minimal, icons-focused) |
| 7 | web-mockup | UI screen sketch | Landing hero, app screen mockup | Hybrid: gen 1 hero image via gpt-image-2 + recommend HTML skills for the full interactive mockup |
| 8 | quote-graphic | Quote post | "Guru post" IG, LinkedIn quote, motivational | Hybrid: gpt-image-2 background + HTML text overlay |
| Case | Route to |
|------|----------|
| Full interactive web UI mockup (multi-section, with behavior) | web-prototype / saas-landing / mobile-app / dashboard / frontend-design |
| Video creation (TVC, ad video, UGC) | 04-script-video-global + Seedance/Kling/Sora dispatcher |
| Animation, motion graphics, sprite | motion-frames / sprite-animation |
| Audio asset (jingle, voiceover, SFX) | audio-jingle |
| Document layout (PDF report, multi-page e-guide) | digital-eguide / finance-report / magazine-poster |
Three layers of type detection, in priority order:
| Keyword | Detected type |
|---------|---------------|
| "avatar", "profile picture", "monogram", "speaker cover", "headshot" | personal-brand |
| "logo", "wordmark", "lockup", "brand mark" | business-logo |
| "key visual", "campaign visual", "TVC still", "OOH", "product hero" | business-campaign |
| "social post", "banner ad", "email header", "IG story", "Facebook post" | marketing-day-to-day |
| "magazine cover", "article hero", "e-book cover", "editorial", "lookbook" | editorial |
| "infographic", "roadmap visual", "process flow", "comparison chart", "data viz" | infographic |
| "hero web", "landing hero image", "app screen mockup" | web-mockup |
| "quote", "quote graphic", "guru post", "motivational post" | quote-graphic |
| "reference image", "same style", "same composition", "master prompt", "based on this image" | keep detected type + activate Prompt Director reference mode |
| "change color", "brand color", "add logo", "replace logo", "match brand guideline" | keep detected type + activate Prompt Director brand adaptation |
| "too AI-looking", "not realistic", "wrong color", "wrong angle", "revise prompt" | keep detected type + activate Prompt Director diagnosis |
The user passes --type=business-logo (or one of the other 7 types) → overrides Layer 1.
If nothing matches and no flag is set → ask one single question:
> "Which of the 8 design types is this?
> 1) personal-brand 2) business-logo 3) business-campaign 4) marketing-day-to-day 5) editorial 6) infographic 7) web-mockup 8) quote-graphic"
Print a transparency line before continuing:
[detect type: business-logo — matched keyword "logo" + brand name "Lattéa"]
Activate this mode when the user provides reference images, asks for a master prompt, wants face/color/logo replacement, or gives feedback on a failed result. Load references/prompt-director.md before composing the prompt.
Rules:
Flow A/B/C, state each image role, provide a prompt, a negative prompt, and the missing-asset list for each flow.Reference-image output skeleton:
## Image flows
| Flow | Input image | Role | Output |
|------|-------------|------|--------|
| A | [file/path] | style/composition reference | master prompt |
## Copy-paste prompt — Flow A
[English prompt]
## Negative prompt / Avoid
[English avoid list]
## Upload next to personalize Flow A
- Face reference:
- Logo:
- Brand colors:
- Exact text:
- Product/background:
Run the 3-layer cascade above. Print [detect type: ...] before moving to Step 2.
Load lazily, as needed:
CONVENTIONS.md — load once per sessionreferences/prompt-director.md — load for reference images, master prompts, face/color/logo replacement, multiple images, or prompt feedbackreferences/<type>.md — load the file matching the type just detected (e.g. references/business-logo.md)references/brand-identity-source.md — load whenever the type starts with business-*references/fallback-prompt-format.md — load when the tier is Free (see Step 5)templates/<format>.md — load the template matching the requested format (e.g. templates/poster.md, templates/social-square.md)Business modes (business-logo / business-campaign / marketing-day-to-day): REQUIRED — must find brand identity. Auto-search in priority order:
assets/brand/logo.{svg,png,ai} — primary logo filebrand-guideline.md / brand-identity.md at the project root02-campaign-brief-global/output.md section "Brand mandatories" — campaign brief carries brand constraintsprd.md frontmatter target_user + section "Visual cues" — style directionprd.md Section 6 — features that inform the visual conceptIf nothing is found for a business mode → BLOCK + ask the user to upload a logo + specify a palette (3 hex codes) + name a primary font family.
Personal modes (personal-brand / personal quote-graphic): brand identity is optional. Enough to have style adjectives (3–5 words) + a color preference (3 mood colors).
Editorial / Infographic / Web-mockup: context-dependent — treat as business mode if the asset is for a brand, treat as personal if it's for an individual or a general-purpose piece.
| Type | Route action |
|------|--------------|
| 1–5 (personal-brand, business-logo, business-campaign, marketing-day-to-day, editorial) | COMPOSE raster prompt → go to Step 5 |
| 6 (infographic) | COMPOSE prompt with text-minimal strategy: icons-heavy, branded palette, max 2-3 number stats, NO long paragraphs → go to Step 5 |
| 7 (web-mockup hybrid) | COMPOSE 1 hero image prompt → Step 5 + print the HTML skill recommendation block, exit gracefully after the hero is generated |
| 8 (quote-graphic) | COMPOSE background image prompt (NO in-image text) + create an HTML overlay template (text rendered via HTML, never burned into the image) |
Detect the tier in Bash:
if [[ -n "$OPENAI_API_KEY" ]]; then
TIER="pro" # direct gpt-image-2
elif [[ -n "$OD_BIN" && -x "$OD_BIN" ]]; then
TIER="enterprise" # Open Design dispatcher
else
TIER="free" # prompt-only fallback
fi
Print line: [tier: <X>] [model: <Y>].
| Tier | Behavior | Output |
|------|----------|--------|
| Free | No API key available | docs/design/<slug>-prompt.md with paste-ready prompts for 5 platforms (DALL-E 3, MidJourney v6, Leonardo, Imagen 3, Bing/Copilot Designer) — see references/fallback-prompt-format.md |
| Pro | OPENAI_API_KEY is set → call gpt-image-2 directly | docs/design/<slug>.png + docs/design/<slug>.md (metadata) |
| Enterprise | $OD_BIN exists and is executable → dispatch via Open Design infrastructure (the existing image-poster infra) | docs/design/<slug>.png + docs/design/<slug>.md (metadata with gen_mode: api-dispatcher) |
Type 7 web mockup — after generating the hero image (if Pro/Enterprise tier), print a recommendation block:
[NEXT STEP] Hero image generated. For a full multi-section interactive mockup,
also run one of:
- web-prototype (general landing/marketing page)
- saas-landing (SaaS product page)
- mobile-app (mobile app screens)
- dashboard (admin/analytics dashboard)
- frontend-design (Figma-style design tokens)
Type 8 quote graphic — output 2 files:
docs/design/<slug>-bg.png — background image generated via gpt-image-2 (NO text)docs/design/<slug>.html — HTML overlay rendering the quote text on top of the background (HTML keeps typography crisp; avoids AI garbling letters)Every docs/design/<slug>.md metadata file MUST carry this frontmatter:
---
title: <Image asset name>
type_artifact: image-generated | image-prompt-fallback | infographic-html | web-hero-image
mode: personal-brand | business-logo | business-campaign | marketing-day-to-day | editorial | infographic | web-mockup | quote-graphic
subject: <1-line description>
source_brief: <path to source brief if any>
brand_identity:
logo_path: <path or "none">
palette: [<hex>, <hex>, ...]
typography: <font family or "none">
style_adjectives: [<adj>, <adj>, ...]
format: poster | social-square | social-vertical | banner-hero | magazine | infographic | logo-variant | quote
aspect_ratio: 1:1 | 9:16 | 16:9 | 3:4 | 4:3 | custom
gen_mode: api-direct | api-dispatcher | fallback-prompt | hybrid
model: gpt-image-2 | dall-e-3 | midjourney-v6 | flux | imagen-3 | manual
output_files:
- <path>
created: 2026-05-20
last_updated: 2026-05-20
---
Field names stay in ENGLISH — do not translate (would break AI parsing). The body of the file can be in any language the client reads.
| Situation | How to handle |
|-----------|---------------|
| Type is ambiguous (no keyword match, no flag) | Ask 1 single question with all 8 options (see Layer 3 in Step 0) |
| Business mode + brand identity missing | BLOCK + ask the user to upload the logo + specify a palette (3 hex codes) + name a font family |
| OPENAI_API_KEY invalid / quota exceeded when calling gpt-image-2 | Fall back to Free tier (prompt-only) + print an error line |
| Type 7 web mockup but user actually wants a full multi-section UI | Hybrid is fine: generate the hero image + attach a recommendation for web-prototype (or one of the 4 sibling skills) for the full mockup |
| Logo gen requested but no brand values yet | Probe with 3 questions: brand name, industry, values (3-5 words) — only then is it possible to generate a logo with any soul |
| Infographic text-heavy, >5 data points | Warn: "Text inside AI-generated images is unreliable. Recommend using a Canva template for text-heavy infographics." Still generate if the user confirms. |
| Quote graphic text >50 characters | Warn: same — recommend using a generated background only + HTML overlay (which is already the default for type 8) |
| User asks for a format that doesn't match the detected type | Suggest the matching mode — e.g. "landing page banner" → mode=marketing-day-to-day format=banner-hero |
.md metadata sidecar — context is lost next timeBefore every gpt-image-2 call or fallback prompt export, ask yourself:
> "Does this output align with the brand voice and identity? Would a client recognize the brand when they see it? If this is personal brand work — does it reflect the style adjectives the user actually wrote down?"
If you can't confidently answer 2 out of 3 → go back to Step 3, re-read the brand identity, or probe the user with 1–2 more questions.
examples/personal-founder-avatar.md — Founder avatar for OPA (style: confident, warm, minimal)examples/lattea-fall-campaign-poster.md — Key visual for the Lattéa fall campaign (palette: brown + burnt orange)examples/ai-income-mastery-quote-graphic.md — IG quote graphic for the "AI Income Mastery" course (background + HTML overlay)examples/opa-roadmap-infographic.md — Product roadmap infographic for OPA (icons-heavy, text minimal)| When you need... | Load this file |
|------------------|----------------|
| To understand frontmatter format, output location, general prompt rules | CONVENTIONS.md |
| Reference images, master prompts, face/color/logo replacement, prompt diagnosis | references/prompt-director.md |
| To compose a prompt for one of the 8 types | references/<type>.md (e.g. references/business-logo.md) |
| To find the brand identity source for business mode | references/brand-identity-source.md |
| To format prompts for 5 platforms on the Free tier | references/fallback-prompt-format.md |
| To use a specific format template (poster, banner, story...) | templates/<format>.md |
| To see a real example output | examples/<example-name>.md |
This skill is written in plain professional English so a non-designer business owner can read it, follow along, and fill it in alongside the AI. Technical terms (gpt-image-2, DALL-E 3, MidJourney) are kept verbatim and briefly explained the first time they appear. Examples use realistic global-feeling brands: Lattéa (a fictional global cafe chain), Lumière Studio (creative agency), AI Income Mastery (online course), OPA (product). No throwaway placeholder brand names.
> Self-test for plain-English fit: "Would a small business owner who doesn't speak design jargon understand this section?" If not — rewrite it.
Take minhnv0807/30-design-master-global from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.