Visual Prompt Engine
by @abdullah4ai
Generate diverse, non-repetitive image prompts powered by real visual references from Dribbble and design platforms. USE WHEN: user wants an image prompt, ne...
clawhub install visual-prompt-engineπ About This Skill
name: visual-prompt-engine description: "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)."
Visual Prompt Engine
Generate high-quality, diverse image prompts by feeding real visual references into a structured prompt pipeline.
Problem
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.
Architecture
Dribbble Scraper β Style Cards β Prompt Generator β Quality Reviewer β Final Prompt
Quick Start
1. Collect Visual References
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": "..."}]
2. Build Style Cards
Convert raw references into style cards:
python3 scripts/style_card.py build --input data/references.json --output data/style_cards.json
3. Generate Prompts
When the user requests an image prompt:
1. Read data/style_cards.json for available visual references
2. Select 1-3 cards relevant to the user's goal
3. Read references/prompt-patterns.md for diverse prompt structures
4. Read references/visual-vocabulary.md for precise design terminology
5. Compose a prompt combining: user goal + style card elements + varied pattern
6. Check against recent prompts in data/prompt_history.json to prevent repetition
7. Append the new prompt to history
4. Review and Deliver
Before delivering, verify the prompt:
Style Card Schema
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 |
Prompt Patterns
See references/prompt-patterns.md for 12+ distinct prompt structures that prevent repetition. Rotate through patterns to keep outputs fresh.
Visual Vocabulary
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".
Automation (Optional)
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
Data Directory
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.
Dependencies
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
π‘ Examples
1. Collect Visual References
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": "..."}]
2. Build Style Cards
Convert raw references into style cards:
python3 scripts/style_card.py build --input data/references.json --output data/style_cards.json
3. Generate Prompts
When the user requests an image prompt:
1. Read data/style_cards.json for available visual references
2. Select 1-3 cards relevant to the user's goal
3. Read references/prompt-patterns.md for diverse prompt structures
4. Read references/visual-vocabulary.md for precise design terminology
5. Compose a prompt combining: user goal + style card elements + varied pattern
6. Check against recent prompts in data/prompt_history.json to prevent repetition
7. Append the new prompt to history
4. Review and Deliver
Before delivering, verify the prompt: