Generate diverse, non-repetitive image prompts powered by real visual references from Dribbble and design platforms. USE WHEN: user wants an image prompt, needs creative visual inspiration, asks for design-informed prompts, wants to avoid repetitive AI image generation, or says 'generate a prompt for an image', 'give me a creative image idea', 'make me a unique visual prompt'. DON'T USE WHEN: user wants to generate the image itself (use an image generation tool), wants to edit an existing image, or needs text-only content. EDGE CASES: 'make me an image' → use image generation tool, then optionally this skill for the prompt. 'improve this image prompt' → this skill. 'I keep getting similar AI images' → this skill (solves repetition).
Generate high-quality, diverse image prompts by feeding real visual references into a structured prompt pipeline.
AI agents reuse the same visual patterns and clichés when writing image prompts. This skill breaks that cycle by grounding prompts in real, trending design work.
Dribbble Scraper → Style Cards → Prompt Generator → Quality Reviewer → Final Prompt
Recommended: Browser-based collection (Dribbble blocks automated requests)
Browse https://dribbble.com/shots/popular with a browser tool (Camofox, Playwright, etc.), collect shot URLs, titles, and image URLs, then save as JSON:
python3 scripts/scrape_dribbble.py --method import --import-file manual_shots.json --output data/references.json
Alternative: RSS/HTML (may be blocked by WAF)
python3 scripts/scrape_dribbble.py --output data/references.json --count 20
The import JSON format: [{"title": "...", "url": "https://dribbble.com/shots/...", "image_url": "..."}]
Convert raw references into style cards:
python3 scripts/style_card.py build --input data/references.json --output data/style_cards.json
When the user requests an image prompt:
data/style_cards.json for available visual referencesreferences/prompt-patterns.md for diverse prompt structuresreferences/visual-vocabulary.md for precise design terminologydata/prompt_history.json to prevent repetitionBefore delivering, verify the prompt:
See references/style-card-schema.md for the full schema. A style card contains:
| Field | Description |
|---|---|
palette | Hex colors extracted from the design |
composition | Layout structure (grid, asymmetric, centered, etc.) |
typography | Font style and weight characteristics |
mood | Emotional tone (bold, minimal, playful, etc.) |
textures | Surface qualities (glass, grain, matte, etc.) |
lighting | Light direction and quality |
source_url | Original Dribbble shot URL |
tags | Design categories |
See references/prompt-patterns.md for 12+ distinct prompt structures that prevent repetition. Rotate through patterns to keep outputs fresh.
See references/visual-vocabulary.md for precise design terminology covering color, composition, lighting, texture, and typography. Use these terms instead of generic words like "beautiful" or "nice".
Set up a daily cron to refresh visual references:
# Run daily to keep references current
python3 scripts/scrape_dribbble.py --output data/references.json --count 20
python3 scripts/style_card.py build --input data/references.json --output data/style_cards.json
The skill stores working data in data/:
data/
├── references.json # Raw Dribbble scrape results
├── style_cards.json # Processed style cards
└── prompt_history.json # Generated prompts (for deduplication)
Create the data/ directory on first run if it does not exist.
Python 3.9+ with standard library only. Optional: requests, beautifulsoup4 for live scraping (falls back to Dribbble RSS if not installed).
Install optional dependencies:
pip install requests beautifulsoup4