Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Create net-new UI assets that match an existing web application's design system, including icons, hero art, feature graphics, mockups, and branded visuals. Use when the project needs additional visual assets that fit the current product style. Do not use this for replacing all existing site imagery at scale, or for generating favicons/Open Graph images; prefer web-replace-assets or web-asset-generator for those.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | 72% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 21% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 278% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 167% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 250% | 0% |
Create professional UI assets that perfectly match your existing web application's design system.
bash# 1. Capture screenshots of your existing UI (optional - uses webapp-testing skill first) # 2. Analyze screenshots and extract style python3 scripts/analyze_style.py --screenshots ./screenshots --output style_guide.json # 3. Create UI asset plan python3 scripts/create_asset_plan.py --style style_guide.json --requirements requirements.json --output asset_plan.json # 4. Generate assets python3 scripts/generate_assets.py --plan asset_plan.json --output ./new_assets
┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐
│ 1. ANALYZE │ → │ 2. PLAN │ → │ 3. GENERATE │
│ Extract style │ │ Define assets │ │ Create matching │
│ from screenshots │ │ with specs │ │ professional │
│ │ │ │ │ assets │
└──────────────────┘ └──────────────────┘ └──────────────────┘Analyze existing UI screenshots to extract:
bashpython3 scripts/analyze_style.py \ --screenshots ./screenshots \ --output style_guide.json \ --extract-colors \ --extract-typography \ --extract-patterns
json{ "project_name": "MyApp", "extracted_from": ["screenshot1.png", "screenshot2.png"], "color_palette": { "primary": "#0066FF", "secondary": "#00D9FF", "accent": "#FF6B35", "background": "#0F172A", "surface": "#1E293B", "text_primary": "#F8FAFC", "text_secondary": "#94A3B8" }, "typography": { "style": "modern sans-serif", "weights": ["400", "600", "700"], "characteristics": "clean, geometric, high readability" }, "visual_patterns": { "shadows": "subtle drop shadows, 4-8px blur", "borders": "1px solid with low opacity", "corner_radius": "8-12px for cards, 4-6px for buttons", "spacing": "8px base grid, generous whitespace" }, "style_summary": "Modern minimalist tech aesthetic with dark mode, blue primary accent" }
Define what assets to create with specifications:
bashpython3 scripts/create_asset_plan.py \ --style style_guide.json \ --requirements asset_requirements.json \ --output asset_plan.json
json{ "assets": [ { "type": "icon", "name": "dashboard_icon", "concept": "Analytics dashboard", "size": 24, "transparent": true }, { "type": "hero_banner", "name": "homepage_hero", "concept": "Productivity workspace", "aspect_ratio": "16:9", "text_overlay_area": "left" }, { "type": "product_mockup", "name": "app_mockup", "concept": "Mobile app on iPhone", "environment": "modern desk setup" } ] }
json{ "style_guide": { /* reference to style */ }, "assets": [ { "id": "dashboard_icon", "type": "icon", "name": "Dashboard Analytics Icon", "specifications": { "size": "24x24px", "format": "SVG/PNG", "style": "outlined, 1.5px stroke", "colors": ["#0066FF"] }, "prompt": "Minimalist vector icon of analytics dashboard with bar chart...", "model": "google:4@2", "transparent": true } ] }
| Model | Runware ID | Best For | Transparency | |-------|------------|----------|--------------| | Nano Banana 2 | google:4@2 | Icons, heroes, mockups, marketing | ❌ No native support | | GPT Image 1.5 | openai:4@1 | Background removal, transparent PNGs | ✅ Native support |
bashpython3 scripts/generate_assets.py \ --plan asset_plan.json \ --output ./generated_assets \ --iterations 3
The script automatically selects the appropriate model:
openai:4@1)google:4@2)Force specific model:
bashpython3 scripts/generate_assets.py --plan asset_plan.json --model nano python3 scripts/generate_assets.py --plan asset_plan.json --model gpt
Size Standards: | Size | Use Case | |------|----------| | 16px | Dense layouts, inline text | | 24px | Standard interface (default) | | 32px | Touch targets, high-emphasis | | 48px | Display purposes |
Specifications:
Prompt Template:
Minimalist vector icon of [subject], [outlined/filled] style,
[stroke weight] stroke, [primary color], clean geometric shapes,
professional UI design, 24px optimized, simple and recognizable,
[transparent/white] backgroundDimension Standards: | Breakpoint | Dimensions | Aspect Ratio | |------------|------------|--------------| | Desktop | 1920×1080px | 16:9 | | High-Res | 2560×1440px | 16:9 | | Mobile | 1080×1920px | 9:16 |
Specifications:
Prompt Template:
[Aspect ratio] hero banner for [industry], [subject] in [setting],
[lighting condition], ample negative space on [side] for text overlay,
[style descriptor], [color palette from brand], professional commercial
photography quality, shallow depth of fieldSpecifications:
Prompt Template:
Flat vector illustration representing [concept], [style descriptor],
[color palette], simple geometric shapes, metaphor showing [visual metaphor],
clean composition with white background, professional tech aestheticTypes:
Specifications:
Prompt Template:
[Abstract/textured/gradient] background for website, [color palette],
[texture type], [subtle/dramatic] visual interest, professional web design
quality, suitable for text overlay, seamless tileable patternTypes:
Specifications:
Prompt Template:
Product mockup of [product] on [surface], [lighting condition] from [direction],
[material properties], professional product photography, realistic shadows
and reflections, commercial quality, shallow depth of field, premium aestheticSocial Media Dimensions: | Platform | Post Size | Story Size | |----------|-----------|------------| | Instagram | 1080×1080px (1:1) | 1080×1920px (9:16) | | Facebook | 1200×630px | 1080×1920px | | Twitter/X | 1280×720px (16:9) | N/A | | LinkedIn | 1200×627px | N/A | | Pinterest | 1000×1500px (2:3) | N/A |
Specifications:
Multi-Image Fusion for Product Placement:
bash# Place product in real environment python3 scripts/generate_assets.py \ --fusion-mode \ --product-image product.png \ --environment-image office.jpg \ --output marketing_scene.png
Photography:
professional studio photographycinematic compositionshallow depth of fieldfilm grainnatural lightingDesign:
flat vector illustrationgeometric precisionlimited color paletteclean typographyminimalist design3D/Rendering:
physically based rendering (PBR)ray-traced reflectionsrealistic materialsstudio lighting setup1. Master Style Anchor: Create one reference image that embodies all desired attributes, then use it as primary reference for all subsequent generations.
2. Multi-Reference Workflow (Nano Banana 2):
json{ "referenceImages": [ "master-style-anchor-uuid", // Primary style reference "color-palette-uuid", // Color scheme reference "lighting-reference-uuid" // Lighting style reference ] }
3. Prompt Locking: Document successful prompts and reuse core style descriptors across all assets.
Step 1: Foundation Generate 3-5 variations at medium quality to establish direction
Step 2: Refinement Add specific constraints to promising direction
Step 3: Detail Polish Make targeted edits with explicit preservation instructions
Step 4: Final Production Generate at high quality with optimized comprehensive prompt
Change only [specific element] to [new state]. Keep everything else exactly
the same: [list elements to preserve]. Do not change [specific exclusions].Requires RUNWARE_API_KEY environment variable:
bashexport RUNWARE_API_KEY="your-runware-api-key"
bashpython3 scripts/generate_assets.py --remove-bg <image-uuid>
| Script | Purpose | |--------|---------| | analyze_style.py | Extract style from UI screenshots | | create_asset_plan.py | Create comprehensive asset plan | | generate_assets.py | Generate assets with Runware API | | style_validator.py | Verify asset consistency |
Other measured skills in the registry, with their headline benchmark lift.