| name | Graphic Design Studio |
| description | Full graphic design capability using code-based rendering — turns Claude Code's HTML/CSS/SVG skills into production graphic design output |
| recall_keywords | ["graphic","logo","banner","social media graphic","design","poster","visual","brand asset","marketing visual","icon"] |
Graphic Design Studio
Description
Full graphic design capability using code-based rendering. Turns Claude Code's HTML/CSS/SVG skills into production graphic design output.
When to Use
- User asks for logos, icons, graphics, banners, social media images
- User says "design", "graphic", "logo", "banner", "poster", "visual"
- User needs marketing visuals, brand assets, or presentation graphics
- User needs image editing, resizing, format conversion, optimization
Design Pipeline (4 methods — pick the best for the task)
Method 1: HTML/CSS → Playwright Screenshot (BEST FOR MOST TASKS)
Best for: Logos, banners, cards, social media graphics, UI mockups
- Create a self-contained HTML file with inline CSS
- Use modern CSS: gradients, shadows, blend modes, filters, animations (freeze frame)
- Set exact pixel dimensions via viewport meta + body sizing
- Use Google Fonts via CDN link for typography
- Render with Playwright: take screenshot at exact dimensions
- Post-process with Pillow if needed (crop, resize, optimize)
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch()
page = browser.new_page(viewport={"width": 1200, "height": 630})
page.set_content(html_content)
page.screenshot(path="output.png", full_page=False)
browser.close()
Method 2: SVG Generation (BEST FOR VECTOR GRAPHICS)
Best for: Icons, logos, geometric patterns, scalable assets
- Use svgwrite Python library for programmatic SVG
- Or write SVG XML directly (more control)
- Export as .svg for vector use or convert to PNG via Playwright
import svgwrite
dwg = svgwrite.Drawing('output.svg', size=('400px', '400px'))
dwg.add(dwg.circle(center=(200, 200), r=100, fill='<primary-color>'))
dwg.add(dwg.text('<INITIALS>', insert=(160, 215), fill='<accent-color>',
font_size='60px', font_family='Georgia'))
dwg.save()
Method 3: Python Pillow (BEST FOR IMAGE PROCESSING)
Best for: Photo editing, compositing, batch processing, format conversion
- Open/create images with PIL.Image
- Draw shapes, text, gradients with ImageDraw
- Apply filters: blur, sharpen, contrast, color adjustment
- Composite multiple images together
- Export in any format: PNG, JPG, WebP, ICO
from PIL import Image, ImageDraw, ImageFont, ImageFilter
img = Image.new('RGBA', (1200, 630), '<primary-color>')
draw = ImageDraw.Draw(img)
draw.text((100, 100), "<Brand Name>", fill='<accent-color>')
img.save('output.png', optimize=True)
Method 4: AI Image Generation (REQUIRES API KEY)
Best for: Photorealistic images, illustrations, creative concepts
- Use fal.ai skills (
@fal-generate, @fal-image-edit, @fal-upscale)
- Use HuggingFace skills (
@huggingface-skills plugin)
- Use
stability-ai skill
- NOTE: Requires user to provide API key for the chosen service
Design Principles (Always Follow)
- Use brand colors defined in the project's CLAUDE.md or a design-tokens file.
Never hardcode colors — reference them by semantic name.
- Minimum font size: 14px for body, 24px for headlines
- Always include whitespace — don't crowd elements
- Use contrast ratios that pass WCAG AA (4.5:1 minimum)
- Export at 2x resolution for retina displays
- For social media: follow platform size guides
- LinkedIn banner: 1584x396
- Instagram post: 1080x1080
- Instagram story: 1080x1920
- X/Twitter header: 1500x500
- Facebook cover: 820x312
- OG image (generic social share): 1200x630
- YouTube thumbnail: 1280x720
Output Formats
- PNG: Default for most graphics (lossless, supports transparency)
- SVG: For logos and icons (infinitely scalable)
- WebP: For web use (smaller file size than PNG)
- JPG: For photos (lossy but small)
- ICO: For favicons
- PDF: For print-ready designs (use reportlab or Pillow)
Quality Checklist
Cost Awareness
- Methods 1-3 are FREE (pure code rendering, no API calls)
- Method 4 costs money (fal.ai: $0.003-$0.05 per image)
- ALWAYS start with Methods 1-3 unless you specifically need photorealistic output