Skills visual-prompt-engine
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).
git clone https://github.com/openclaw/skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/abdullah4ai/visual-prompt-engine" ~/.claude/skills/openclaw-skills-visual-prompt-engine && rm -rf "$T"
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/abdullah4ai/visual-prompt-engine" ~/.openclaw/skills/openclaw-skills-visual-prompt-engine && rm -rf "$T"
skills/abdullah4ai/visual-prompt-engine/SKILL.mdVisual 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:
- Read
for available visual referencesdata/style_cards.json - Select 1-3 cards relevant to the user's goal
- Read
for diverse prompt structuresreferences/prompt-patterns.md - Read
for precise design terminologyreferences/visual-vocabulary.md - Compose a prompt combining: user goal + style card elements + varied pattern
- Check against recent prompts in
to prevent repetitiondata/prompt_history.json - Append the new prompt to history
4. Review and Deliver
Before delivering, verify the prompt:
- Uses specific visual language (not generic adjectives)
- References concrete design elements from the style card
- Follows a pattern different from the last 5 prompts
- Includes composition, lighting, color palette, and mood
Style Card Schema
See
references/style-card-schema.md for the full schema. A style card contains:
| Field | Description |
|---|---|
| Hex colors extracted from the design |
| Layout structure (grid, asymmetric, centered, etc.) |
| Font style and weight characteristics |
| Emotional tone (bold, minimal, playful, etc.) |
| Surface qualities (glass, grain, matte, etc.) |
| Light direction and quality |
| Original Dribbble shot URL |
| 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