Complete visual content system...
Complete visual content system for creating illustrations, diagrams, and visual content.
Before executing, check for user customizations at:
~/.claude/skills/PAI/USER/SKILLCUSTOMIZATIONS/Art/
If this directory exists, load and apply:
PREFERENCES.md - Aesthetic preferences, default model, output locationCharacterSpecs.md - Character design specificationsSceneConstruction.md - Scene composition guidelinesThese override default behavior. If the directory does not exist, proceed with skill defaults.
You MUST send this notification BEFORE doing anything else when this skill is invoked.
Send voice notification:
curl -s -X POST http://localhost:8888/notify \
-H "Content-Type: application/json" \
-d '{"message": "Running the WORKFLOWNAME workflow in the Art skill to ACTION"}' \
> /dev/null 2>&1 &
Output text notification:
Running the **WorkflowName** workflow in the **Art** skill to ACTION...
This is not optional. Execute this curl command immediately upon skill invocation.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠️ ALL GENERATED IMAGES GO TO ~/Downloads/ FIRST ⚠️
⚠️ NEVER output directly to project directories ⚠️
⚠️ User MUST preview in Finder/Preview before use ⚠️
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
This applies to ALL workflows in this skill.
Route to the appropriate workflow based on the request.
Workflows/RemoveBackground.mdWorkflows/ULWallpaper.mdWorkflows/Essay.mdWorkflows/D3Dashboards.mdWorkflows/Visualize.mdWorkflows/Mermaid.mdWorkflows/TechnicalDiagrams.mdWorkflows/Taxonomies.mdWorkflows/Timelines.mdWorkflows/Frameworks.mdWorkflows/Comparisons.mdWorkflows/AnnotatedScreenshots.mdWorkflows/RecipeCards.mdWorkflows/Aphorisms.mdWorkflows/Maps.mdWorkflows/Stats.mdWorkflows/Comics.mdWorkflows/YouTubeThumbnail.mdWorkflows/AdHocYouTubeThumbnail.mdWorkflows/CreatePAIPackIcon.mdDefault: Production-quality concept art style appropriate for editorial and technical content.
User customization defines specific aesthetic preferences including:
Load from: ~/.claude/skills/PAI/USER/SKILLCUSTOMIZATIONS/Art/PREFERENCES.md
User customization may include reference images for consistent style.
Check ~/.claude/skills/PAI/USER/SKILLCUSTOMIZATIONS/Art/PREFERENCES.md for:
Usage: Before generating images, load relevant user-provided references to match their preferred style.
Default model: Check user customization at SKILLCUSTOMIZATIONS/Art/PREFERENCES.md
Fallback: nano-banana-pro (Gemini 3 Pro)
ALL generated images MUST go to ~/Downloads/ first for preview and selection.
Never output directly to a project's public/images/ directory. User needs to review images in Preview before they're used.
Workflow:
~/Downloads/[descriptive-name].pngcms/public/images/)# CORRECT - Output to Downloads for preview
bun run ~/.claude/skills/Art/Tools/Generate.ts \
--model nano-banana-pro \
--prompt "[PROMPT]" \
--size 2K \
--aspect-ratio 1:1 \
--thumbnail \
--output ~/Downloads/blog-header-concept.png
# After approval, copy to final location
cp ~/Downloads/blog-header-concept.png ~/Projects/Website/cms/public/images/
cp ~/Downloads/blog-header-concept-thumb.png ~/Projects/Website/cms/public/images/
For improved character or style consistency, use multiple --reference-image flags:
# Multiple reference images for better likeness
bun run ~/.claude/skills/Art/Tools/Generate.ts \
--model nano-banana-pro \
--prompt "Person from references at a party..." \
--reference-image face1.jpg \
--reference-image face2.jpg \
--reference-image face3.jpg \
--size 2K \
--aspect-ratio 16:9 \
--output ~/Downloads/character-scene.png
API Limits (Gemini):
API keys in: ${PAI_DIR}/.env
Example 1: Blog header image
User: "create a header for my AI agents post"
→ Invokes ESSAY workflow
→ Generates charcoal sketch prompt
→ Creates image with architectural aesthetic
→ Saves to ~/Downloads/ for preview
→ After approval, copies to public/images/
Example 2: Technical architecture diagram
User: "make a diagram showing the SPQA pattern"
→ Invokes TECHNICALDIAGRAMS workflow
→ Creates structured architecture visual
→ Outputs PNG with consistent styling
Example 3: Comparison visualization
User: "visualize humans vs AI decision-making"
→ Invokes COMPARISONS workflow
→ Creates side-by-side visual
→ Charcoal sketch with labeled elements
Example 4: PAI pack icon
User: "create icon for the skill system pack"
→ Invokes CREATEPAIPACKICON workflow
→ Reads workflow from Workflows/CreatePAIPackIcon.md
→ Generates 1K image with --remove-bg for transparency
→ Resizes to 256x256 RGBA PNG
→ Outputs to ~/Downloads/ for preview
→ After approval, copies to ${PROJECTS_DIR}/PAI/Packs/icons/