From branding-pitch
Pitch a brand end-to-end — analyze the brand's visual DNA, generate an AI photography + video campaign (~6 images + 2 videos), build a polished editorial landing page served locally. For agencies, freelancers, or founders presenting a brand or product concept. Use when the user says "pitch", "pitch this brand", "brand pitch", "build a brand page", "analyze and pitch", "make a landing page for [brand]", "creative director for", "turn this brand into a page", or "generate brand assets + landing page". Requires uv (Python runner) and a KREA_API_TOKEN environment variable.
How this skill is triggered — by the user, by Claude, or both
Slash command
/branding-pitch:pitch [brand name or URL][brand name or URL]The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Take a brand (name, URL, Instagram, or rough concept) and produce a complete pitch package in one flow:
references/LICENSE-designreferences/design-colour.mdreferences/design-guidelines.mdreferences/design-interaction.mdreferences/design-motion.mdreferences/design-responsive.mdreferences/design-spatial.mdreferences/design-typography.mdreferences/design-ux-writing.mdscripts/LICENSE-kreascripts/enhance_image.pyscripts/generate_image.pyscripts/generate_video.pyscripts/krea_helpers.pyscripts/list_models.pyscripts/preflight.shTake a brand (name, URL, Instagram, or rough concept) and produce a complete pitch package in one flow:
Before starting, the skill runs scripts/preflight.sh to verify:
curl -LsSf https://astral.sh/uv/install.sh | sh)No other plugins are required. All design guidance and generation scripts are bundled.
Target wall-clock: ~5–6 minutes from "go" to served landing page.
Trigger when user says: "quick", "fast", "demo mode", "--fast", "--lite", or when the context is clearly time-boxed (live audience, client call, tight deadline).
What's different from the full pipeline:
| Step | Full pipeline | Quick mode |
|---|---|---|
| Brand research | WebFetch homepage + Explore agent for case studies in parallel | Single WebFetch on the homepage, grep CSS inline |
| Direction question | 4 options (A/B/C/D) | 1 recommended direction derived from the CSS, one-line confirm |
| Shot count | 6 stills + 2 videos | 4 stills + 1 video (hero, detail, lifestyle, macro + 1 rotation video) |
| Landing page sections | 10–12 | 8 — hero · intro · logic I · logic II · magic · video · spec · CTA |
| Polish loop | Quality check against design guidelines | Skip. First build output is the deliverable |
| WORKFLOW.md | Full reproducibility | Skip |
Quick mode flow:
WebFetch the brand homepage once. Grep fonts + colors from the HTML/CSS. Present a 3-line DNA summary:
[Brand] — [display font] / [body font], palette
#XXXXXX#YYYYYY#ZZZZZZ. Direction: [one line concept]. Go, or tweak?
mkdir -p logs images video
uv run ${CLAUDE_PLUGIN_ROOT}/skills/pitch/scripts/generate_image.py \
--prompt "$(cat prompts/01-hero.txt)" \
--filename "images/01-hero.png" \
--model nano-banana-pro --width 1280 --height 1024 \
> logs/01.log 2>&1 &
# ... 3 more stills + 1 video in background ...
wait
index.html using the bundled design guidelines with brand tokens hardcoded from the WebFetch resultls images/ to verify, start python3 -m http.server 8888, hand over the URLSkip Quick mode when:
Brand Research (WebFetch + inline visual DNA) → Design Language → Shot Plan →
Parallel Image Gen → Videos in Background →
Build page (design guidelines) → Quality check → Serve
(Full quality check loop is opt-in via --full-polish — saves ~3–5 minutes by default.)
http://localhost:8888 (or next free port)Step 0: Preflight check
Run the preflight script to verify environment requirements:
bash ${CLAUDE_PLUGIN_ROOT}/skills/pitch/scripts/preflight.sh
If it fails, stop and show the user the error message. Do not proceed without uv and KREA_API_TOKEN.
Before any creative work, understand the brand deeply. This phase has two halves: technical extraction (what's on the page) and visual DNA analysis (what the design choices mean). Both run on standard Claude Code tools — no custom agents required.
WebFetch the brand's website and pull:
<link rel="stylesheet" href="fonts.googleapis.com/...">, @font-face rules, font-family declarations. Identify display vs body vs accent roles.color: / background: / fill: values. Separate into primary / secondary / accent.Deconstruct the brand's visual signature. For each dimension, name what you observe AND the why behind it:
A. Photographic signature. From the brand's hero image(s) + any in-page imagery:
B. Implied technical choices. What camera/lens/aperture would a real photographer use to shoot this brand? Translate the feel into gear:
C. The why behind the feeling. Name the emotional signal the brand is trying to send. Examples:
D. Style principles (3–5 bullets). Compress A/B/C into reusable rules you'll feed to the prompt formula:
These principles become the persistent style preamble for every image prompt in Phase 4.
If the homepage didn't give you enough, spawn an Explore subagent for external context:
Agent({
subagent_type: "Explore",
description: "Research [brand] visual identity",
prompt: "Research the visual identity of [brand]. Find: design case studies, Behance/Dribbble portfolios, interviews with their design team, logo SVG sources. Summarise typography, colors, photography style, and brand personality in 3-5 bullet points each.",
run_in_background: true
})
Explore is built into Claude Code — no plugin needed.
If the brand has a public Instagram URL, WebFetch the profile page to see the grid aesthetic. Many profiles block public fetch — if it 403s, skip and rely on Steps 1–3. Don't block the flow.
WebFetch works for 80% of brands, but occasionally you need live JS-rendered content (React / Vue / Next.js apps that only reveal fonts + colors after hydration). If the user has any of these installed, use them instead of WebFetch:
| Tool | What it adds | Install |
|---|---|---|
| Claude for Chrome | Live browser automation — clicks, scrolls, inspects rendered DOM, takes screenshots | Browser extension from Anthropic |
| surf-cli | Headless browsing with JS execution from the CLI | npm install -g surf-cli |
| Playwright MCP | Programmatic browser via MCP | npm install -g @modelcontextprotocol/server-playwright |
If none of these are installed, fall back to WebFetch + curl on the CSS bundle directly. That's usually enough — most brand websites serve static HTML + fonts + colors on initial load.
Consolidate everything into a summary table:
| Element | Value |
|---|---|
| Display font | [extracted] |
| Body font | [extracted] |
| Accent font | [if any] |
| Primary colors | [hex values] |
| Photography signature | [from Step 2A] |
| Implied gear | [from Step 2B] |
| Brand why | [from Step 2C] |
| Style principles | [3–5 bullets from Step 2D] |
| Brand personality | [3–5 adjectives] |
Based on this DNA, generate 4 creative direction options specific to THIS brand (NOT a fixed category lookup):
User picks one. Lock the creative brief.
Question 1 — What are we shooting? Open-ended:
Question 2 — Brand personality direction. Derive 4 options FROM the visual DNA:
DO NOT use a fixed category lookup table. Every brand gets unique options from its actual DNA.
Lock: brand + what they do · fonts · colors · key visual · chosen direction · 1-line concept · location.
When needed: chefs, founders, models across multiple shots.
project/reference/nano-banana-flash with composite as --image-url--image-url for all shots featuring this personKey settings:
nano-banana-flash (best face preservation from references)Default target is 6 images + 2 videos — adjust per category.
| # | Shot | Angle |
|---|---|---|
| 1 | Hero front/side | 15° tilt |
| 2 | Three-quarter / open | 45° elevated |
| 3 | Detail macro | Close-up key detail |
| 4 | Flat lay with props | Top-down |
| 5 | Product in environment | Location |
| 6 | Lifestyle with model | Editorial |
| 7–8 | Video: rotation + lifestyle action | 5s each |
| # | Shot | Type |
|---|---|---|
| 1 | Hero spread | The money shot |
| 2 | Star dish beauty | Single dish close-up |
| 3 | Texture macro | Pour, bubble, grain |
| 4 | Ingredients flat lay | Raw ingredients |
| 5 | Environment context | Restaurant, market, terrace |
| 6 | Person + food | Chef, server, customer |
| 7–8 | Video: pour / plating | 5s each |
Split into themed chapters with 6 images each. Each chapter gets its own landing page, linked from a hero index.
Every image prompt follows the same eight-part skeleton. No two shots in a shoot should share the same mood opener, camera body, lens, lighting temperature, and imperfection set.
[MOOD] atmosphere,
[SUBJECT: exact description with materials, colors, brand details],
[PLACEMENT] on/in [SURFACE/SETTING],
[CAMERA: body + lens + aperture],
[LIGHTING: color temp K + direction + modifier],
[TEXTURE DETAILS],
[STRATEGIC IMPERFECTIONS: film grain, dust, condensation, wear],
[ANTI-AI: NOT CGI, NOT retouched, natural imperfections]
For character-referenced shots, prefix:
"This exact man/woman from the reference image [doing action]..."
| Shot | Camera | Lens | Aperture |
|---|---|---|---|
| Hero product | Hasselblad X2D / Phase One | 80mm | f/2.8–4 |
| Three-quarter | Hasselblad X2D | 65mm | f/3.5 |
| Macro | Any | 135mm macro | f/4 |
| Flat lay | Canon EOS R5 | 35mm | f/5.6 |
| Location wide | ARRI Alexa / Leica Q3 | 28–35mm | f/2–2.8 |
| Location portrait | RED Komodo | 85mm | f/2 |
| Moody/intimate | Leica SL2 | 50mm | f/1.4 |
| Action/sport | RED Komodo / Sony A7IV | 50–85mm | f/1.8–2 |
| Mood | Color temp | Direction |
|---|---|---|
| Golden hour | 3200–3800K | Backlight / sidelight |
| Candlelight | 2800–3200K | Multiple point sources |
| Overcast | 5800–6500K | Even, soft |
| Morning window | 4200–4800K | Directional from left/right |
| Fluorescent office | 5600K | Overhead harsh |
| Blue hour | 7000–7500K | Cool ambient + warm accent |
| Tungsten interior | 3000K | Warm overhead |
The official
krea-ai/skillsrepo documents the--image-url(stills) and--start-image(videos) parameters but doesn't prescribe WHEN to use them per shot type. The guidance below is our production-tested strategy from running real client pitches — use it as a starting point, not gospel.
The parameter split — don't mix these up:
| Param | Script | Use |
|---|---|---|
--image-url | generate_image.py | Image-to-image — pass a reference photo to lock product / character / logo |
--start-image | generate_video.py | Image-to-video — the starting frame of the video animation |
--end-image | generate_video.py | Optional — ending frame for interpolation-style motion |
Reference images lock specific visual elements across generations. Use them when you need consistency (same product across 8 shots, same face across a campaign); skip them when you need variety (location B-roll, texture macros, abstract moods).
--image-url?| Scenario | Use ref? | Reference type |
|---|---|---|
| Hero product shot — must show THE actual product | Yes | Clean product photo (brand-provided or prior gen) |
| Product in environment (multiple angles/locations) | Yes — for the product, not the location | Product photo only |
| Detail macro, texture | No | Let the prompt describe materials / weave / grain |
| Flat lay composition | No | Composition needs freedom to arrange props |
| Character/person across ≥2 shots | Yes — mandatory | Character sheet (from Phase 2) |
| Logo placement shot | Yes, but expect imperfection | Logo SVG → PNG 1024×1024 |
| Location / environment only | No | — |
| Brand mood / style lock | No — describe mood in prompt instead | Ref drags composition + lighting too hard |
Product reference. User provides a clean product photo (ideally studio with neutral background). Save to reference/product-clean.png. Feed as --image-url "reference/product-clean.png" to every shot that must lock THIS product. Prompt prefix: "This exact product from the reference image, shown in [context]..."
Logo reference. Download SVG from brand site → convert to PNG at 1024×1024 with solid background (npx sharp-cli or Figma export). Feed as --image-url where the logo must appear. Warning: generative models rarely render text/logos perfectly. Treat logo-in-shot as supplementary, not hero.
Character sheet. See Phase 2 — composite + nano-banana-flash.
Brand-style reference — DON'T. Feeding a styled brand image as --image-url contaminates the generated image's composition, lighting, and color grade along with the subject. Describe the style in the prompt instead. Image-ref is for specific SUBJECTS (product, face, logo), not mood.
Video models (Kling, Seedance, Hailuo) support two modes:
Text-to-video (no reference). Good for: ambient scenes, location B-roll, abstract motion, textures, environmental video. Prompt-only.
Image-to-video (via --start-image). Good for: animating a specific product, keeping character consistency across video+still, preserving a hero frame's exact color grade. This is the critical pattern for consistent campaigns. Note: the video param is --start-image, NOT --image-url (that's the stills param — don't mix them up).
The workflow when you need a consistent product or character in a video:
nano-banana-pro (or nano-banana-flash for character) + --image-url "reference/product.png" as product reference. This locks the generated still to the brand's actual product.Example command sequence:
# Step 1: locked still with product reference
uv run ${CLAUDE_PLUGIN_ROOT}/skills/pitch/scripts/generate_image.py \
--prompt "Hero product shot..." \
--image-url "reference/product-clean.png" \
--filename "images/01-hero-still.png" \
--model nano-banana-pro --width 1280 --height 1024
# Step 2: animate from that still (note: --start-image, NOT --image-url)
uv run ${CLAUDE_PLUGIN_ROOT}/skills/pitch/scripts/generate_video.py \
--prompt "Gentle camera push-in, product stays in frame, subtle material shimmer..." \
--start-image "images/01-hero-still.png" \
--filename "video/01-hero.mp4" \
--model kling-2.5 --duration 5 --aspect-ratio 16:9
# Optional: add --end-image for interpolation-style motion
# --end-image "images/01-hero-final.png"
Never skip the still-first step for product videos. Text-to-video alone will generate a similar-but-wrong product every time.
| Need | Model | CU | Notes |
|---|---|---|---|
| Stills | |||
| Hero product (pristine photorealism) | nano-banana-pro | 119 | Default for product / food / still life |
| Character still (face lock from ref) | nano-banana-flash | 48 | Mandatory when using character sheet |
| Character sheet composite (2×2 face grid) | nano-banana-flash | 48 | Phase 2 only |
| Detail macro, texture, flat lay | nano-banana-pro | 119 | Prompt-driven, no ref |
| Logo composition | nano-banana-pro + logo ref | 119 | Expect imperfect text rendering |
| Style transfer / heavy manipulation | flux-kontext | varies | Avoid for character sheets (goes cartoon) |
| Videos | |||
| Ambient / location B-roll (text-to-video) | kling (or veo-3.1-fast) | ~282 | No reference — prompt-only, 5s |
| Product animation (still-first pattern) | kling image-to-video | ~282 | Starting frame = approved still |
| Character action (still-first pattern) | kling image-to-video | ~282 | Starting frame = character sheet or prior shot |
| Alternative engine (fluid motion) | wan or seedance | varies | When Kling feels wrong — these handle fluid motion (liquid, fabric, dance, rotation) more smoothly |
| High-fidelity cinematic | veo-3.1-fast / veo-3 | varies | Google's video model when you want the most polished look |
| Fallback (if primary returns 402) | hailuo-2.3 | ~180 | Rate-limit / outage only |
Re-run list_models.py if any of the above returns a "model not found" error. Version tags may have shifted since this doc was written.
(Engine names below reflect what's in the catalog at write time — run list_models.py first to confirm current names.)
If in doubt: generate a 5s Kling first. If the result feels stiff or the motion breaks the product/character, re-run on Wan/Seedance with the same starting frame.
The bundled scripts (at ${CLAUDE_PLUGIN_ROOT}/skills/pitch/scripts/) include 7 tools. This skill primarily uses 2 (stills + video), but you should know the whole surface:
| Script | Purpose | When /pitch uses it |
|---|---|---|
list_models.py | Fetch the live catalog of available models (names, CU costs, per-model accepted params) from the Krea OpenAPI spec | ALWAYS run first — before writing prompts, confirm which models exist right now |
generate_image.py | Text-to-image + image-to-image stills | Every still in Phase 5 |
generate_video.py | Text-to-video + image-to-video (starting/ending frame) | Every video in Phase 5 |
enhance_image.py | Upscale to 22K via Topaz (standard/generative/bloom) with creativity, face-enhance, sharpening, denoising controls | Phase 6 optional — upscale the hero still to 4K before publishing the landing page |
train_style.py | Train a custom LoRA on 3–2000 brand reference images with configurable trigger words | Extended campaigns — if the brand has 20+ past campaign images, train a brand-specific LoRA and pass --style-id to every generation for maximum consistency |
pipeline.py | Orchestrate multi-step workflows (generate → enhance → animate) in a single command with branching, template variables, parallel execution, resume capability | Advanced — chain full sequences in one spec instead of N separate shell invocations |
get_job.py | Poll async job status by UUID | Rarely called directly — other scripts use it internally |
Krea's official agent docs: docs.krea.ai/CLAUDE · github.com/krea-ai/skills
Krea's model catalog drifts. Version numbers change. New engines land. The skill MUST run list_models.py before hardcoding model names in prompts. This is explicit guidance from Krea's own agent docs: "Do NOT invent model names. Run list_models.py to get the live list."
Before Phase 5 begins, run:
uv run ${CLAUDE_PLUGIN_ROOT}/skills/pitch/scripts/list_models.py --json > /tmp/krea-models.json
Parse the JSON to confirm:
nano-banana-pro, flux, imagen-4-ultra, gpt-image, etc.)kling, veo-3.1-fast, veo-3, hailuo-2.3, wan, etc.)--quality, some --mode, some neitherIf the model names below don't appear in the live list, pick the closest equivalent from list_models.py output.
list_models.py)nano-banana-pro (119 CU, best photorealism) — defaultnano-banana-flash (48 CU) — when using face referencekling-2.5 (282 CU, 5s, realistic physics)hailuo-2.3 if kling returns 402Run all images in parallel (up to 6–8 simultaneous uv run commands).
Run videos in background (run_in_background: true) while building the landing page.
# Still (product)
uv run ${CLAUDE_PLUGIN_ROOT}/skills/pitch/scripts/generate_image.py \
--prompt "..." --filename "01-hero.png" \
--model nano-banana-pro --width 1280 --height 1024
# Still with character reference
uv run ${CLAUDE_PLUGIN_ROOT}/skills/pitch/scripts/generate_image.py \
--prompt "This exact person from the reference image..." \
--image-url "reference/character-sheet.png" \
--filename "05-chef-plating.png" \
--model nano-banana-flash --width 1024 --height 1280
# Video — text-to-video (ambient / no reference)
uv run ${CLAUDE_PLUGIN_ROOT}/skills/pitch/scripts/generate_video.py \
--prompt "..." --filename "07-hero.mp4" \
--model kling-2.5 --duration 5 --aspect-ratio 16:9
# Video — image-to-video (still-first → animate)
uv run ${CLAUDE_PLUGIN_ROOT}/skills/pitch/scripts/generate_video.py \
--prompt "Gentle camera push-in, product stays in frame..." \
--start-image "images/01-hero-still.png" \
--filename "video/01-hero.mp4" \
--model kling-2.5 --duration 5 --aspect-ratio 16:9
Parameter reference:
generate_image.py): --prompt, --filename, --model, --width, --height, --aspect-ratio, --image-url (for image-to-image with a reference), --style-id, --style-strength, --seed, --steps, --guidance-scale, --quality, --batch-size, --output-dir.generate_video.py): --prompt, --filename, --model, --duration, --aspect-ratio, --start-image (for image-to-video starting frame — NOT --image-url), --end-image (optional — ending frame for interpolation-style videos), --resolution, --mode, --generate-audio, --output-dir.enhance_image.py)For the hero still that goes at the top of the landing page, consider upscaling before embedding:
uv run ${CLAUDE_PLUGIN_ROOT}/skills/pitch/scripts/enhance_image.py \
--input "images/01-hero.png" \
--output "images/[email protected]" \
--model topaz-standard-enhance \
--creativity 0.15 \
--face-enhance true
Topaz enhancers: topaz-standard-enhance (safe default), topaz-generative-enhance (fills in detail), topaz-bloom-enhance (softer, editorial). For hero stills at 1280×1024 bumped to 4K, topaz-standard-enhance at --creativity 0.15 is the safe pick — more creativity invents detail, less is literal.
train_style.py)For extended campaigns or returning clients, train a brand-specific LoRA once and use its --style-id across every generation for maximum consistency:
uv run ${CLAUDE_PLUGIN_ROOT}/skills/pitch/scripts/train_style.py \
--images "reference/brand-archive/*.jpg" \
--trigger-word "brandname_v1" \
--steps 1500 \
--type Style
Returns a style ID. Pass it as --style-id <id> to every generate_image.py call for that brand. One-time cost, unlimited brand-locked generations afterwards.
pipeline.py)For the full campaign in a single command, use pipeline.py with a YAML/JSON spec that chains generate → enhance → animate → output. See krea-ai/skills PIPELINES.md for the format. /pitch generates commands inline by default — use pipeline.py only when you want to hand off a reproducible spec to the user.
One HTML file per shoot. Each brand gets a UNIQUE layout derived from its visual DNA.
Phase 0 research and the Phase 1 brief give you everything you need. The landing page should feel like the brand's in-house team built it — not a template.
Let the brand drive EVERY decision:
What makes each page unique is the BRAND, not an archetype template.
Common layout approaches (inspiration, not templates):
Read ${CLAUDE_PLUGIN_ROOT}/skills/pitch/references/design-guidelines.md for the design principles, then build the landing page directly as a single index.html file. Follow the design guidelines strictly — especially the absolute bans (no side-stripe borders, no gradient text) and the AI slop test.
For deeper guidance on specific aspects, read the relevant reference files:
references/design-typography.mdreferences/design-colour.mdreferences/design-spatial.mdreferences/design-motion.mdreferences/design-interaction.mdreferences/design-responsive.mdreferences/design-ux-writing.mdPass the brand DNA as context, not rigid constraints. Let the brand drive the design.
Brief structure:
Build a landing page for [Brand] — [product/concept].
BRAND DNA (extracted from [domain]):
- Fonts: [display font] for headings, [body font] for copy, [accent if any]
- Palette: [primary hex], [secondary hex], [accent hex]
- Photography: [style description]
- Website structure: [observed pattern — single-column / editorial / product-first / etc.]
- Personality: [3–5 adjectives]
CREATIVE DIRECTION: [chosen from Phase 1 — e.g. "Documentary Editorial — push their
understated documentary style further toward magazine editorial"]
The page should feel like [Brand] designed it, but for a premium editorial feature —
not their standard catalog page.
Images at: [paths]. Videos at: [paths].
Save to [output path]/index.html
Principle: describe the brand, don't dictate the CSS. Make intelligent design decisions FROM brand context.
After building the page, self-assess against references/design-guidelines.md:
Fix any violations before serving.
cd [project directory]
python3 -m http.server 8888
Open http://localhost:8888 and verify:
file://)clamp() — breathes on larger screensease-out-expo) — not generic easerem — respects user font sizeprefers-reduced-motion supportfont-kerning: normal + text-rendering: optimizeLegibility on headingstext-wrap: balance on headingsloading="lazy" on below-fold images, fetchpriority="high" on heroaria-label on section landmarks::selection color matching brand paletteproject-name/
├── index.html
├── style.css # multi-page only
├── chapter-*.html # multi-page only
├── WORKFLOW.md # all prompts for reproduction
├── reference/ # if character sheet
│ ├── original-photos/
│ ├── composite-reference.png
│ └── character-sheet.png
└── images/
├── studio/ or food/ (01–04+)
├── location/ or chef/ (05–08+)
├── experience/ (09–12, service shoots)
└── video/ (09–10+)
Default save location: ./[brand-slug]/ in the current working directory. Users can override with --out.
| Asset | Model | CU each | Notes |
|---|---|---|---|
| Product still | nano-banana-pro | 119 | Default for products |
| Character still | nano-banana-flash | 48 | With face reference |
| Character sheet | nano-banana-flash | 48 | 1280×1280, 2×2 grid |
| Video 5s | kling-2.5 | 282 | 16:9 or 9:16 |
| Standard pitch (6 stills + 2 videos) | ~1,280 CU | ||
| Extended campaign (32 stills + 4 videos) | ~5,000 CU |
(Krea.ai pricing is per CU — see their pricing page for current USD rates.)
| Mistake | Fix |
|---|---|
| Same mood opener every prompt | Each MUST open differently: "Intimate...", "Cinematic...", "Moody atmospheric...", "Dawn..." |
| Missing camera specs | ALWAYS: camera body + lens mm + aperture + color temp K |
| No imperfections | Every prompt: "film grain, dust particles, NOT CGI, natural imperfections" |
| Same lighting everywhere | Vary: golden hour, overcast, tungsten, candlelight, blue hour |
| Flat compositions | "Shot through foreground X creating depth/bokeh" |
| Character face doesn't match | Composite reference (4 faces stitched) + nano-banana-flash |
flux-kontext for character sheets | Goes cartoon — use nano-banana-flash |
Videos don't play from file:// | Serve via python3 -m http.server 8888 |
| Landing page images broken | Relative paths, verify directory structure |
| "Character sheet" triggers illustration | Add "photorealistic, NOT cartoon, NOT illustration, NOT stylized" |
Guides collaborative design exploration before implementation: explores context, asks clarifying questions, proposes approaches, and writes a design doc for user approval.
Creates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.
Resolves in-progress git merge or rebase conflicts by analyzing history, understanding intent, and preserving both changes where possible. Runs automated checks after resolution.
npx claudepluginhub likeahuman-ai/likeahuman --plugin branding-pitch