Art
Generates static visual content across 20+ formats via Flux, Nano Banana Pro (Gemini 3 Pro), and GPT-Image-1. Covers blog header illustrations, editorial art, Mermaid flowcharts, technical architecture diagrams, D3.js dashboards, taxonomies, timelines, 2x2 framework matrices, comparisons, annotated screenshots, recipe cards, aphorism/quote cards, conceptual maps, stat cards, comic panels, YouTube thumbnails, PAI pack icons, and brand-logo wallpapers. Named workflows: Essay, D3Dashboards, Visualize, Mermaid, TechnicalDiagrams, Taxonomies, Timelines, Frameworks, Comparisons, AnnotatedScreenshots, RecipeCards, Aphorisms, Maps, Stats, Comics, YouTubeThumbnailChecklist, AdHocYouTubeThumbnail, CreatePAIPackIcon, LogoWallpaper, RemoveBackground. SKILLCUSTOMIZATIONS loads PREFERENCES.md, CharacterSpecs.md, and SceneConstruction.md. --remove-bg flag produces transparent-background PNG (can produce black backgrounds โ verify visually). Up to 14 reference images per request (5 human, 6 object Gemini API limit). Output staged to ~/Downloads/ for preview before any project directory copy. Nano Banana Pro uses --size for resolution tier 1K/2K/4K and separate --aspect-ratio. USE WHEN: art, illustration, diagram, flowchart, infographic, header image, thumbnail, visualize, generate image, mermaid, architecture diagram, comic, icon, blog art, framework diagram, D3 chart, remove background, wallpaper. NOT FOR video or animation (use Remotion). NOT FOR the user's personal portrait/headshot (use a dedicated headshot skill).
What this skill does
# Art Skill
Complete visual content system for creating illustrations, diagrams, and visual content.
## Customization
**Before executing, check for user customizations at:**
`~/.claude/PAI/USER/SKILLCUSTOMIZATIONS/Art/`
If this directory exists, load and apply:
- `PREFERENCES.md` - Aesthetic preferences, default model, output location
- `CharacterSpecs.md` - Character design specifications
- `SceneConstruction.md` - Scene composition guidelines
These override default behavior. If the directory does not exist, proceed with skill defaults.
## ๐จ MANDATORY: Voice Notification (REQUIRED BEFORE ANY ACTION)
**You MUST send this notification BEFORE doing anything else when this skill is invoked.**
1. **Send voice notification**:
```bash
curl -s -X POST http://localhost:31337/notify \
-H "Content-Type: application/json" \
-d '{"message": "Running the WORKFLOWNAME workflow in the Art skill to ACTION"}' \
> /dev/null 2>&1 &
```
2. **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.**
## ๐จ๐จ๐จ CONSTITUTIONAL: ALWAYS RUN A NAMED WORKFLOW. NEVER FREEFORM. ๐จ๐จ๐จ
```
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๏ธ EVERY image generation MUST run through a named workflow โ ๏ธ
โ ๏ธ in this skill's Workflows/ directory. โ ๏ธ
โ ๏ธ NEVER call Tools/Generate.ts with a hand-written prompt โ ๏ธ
โ ๏ธ outside the workflow template โ the workflows encode the โ ๏ธ
โ ๏ธ quality standards (TECHNIQUE, palette, composition rules, โ ๏ธ
โ ๏ธ problem-type metaphor, CSE-24 narrative arc) that the models โ ๏ธ
โ ๏ธ consistently fail to honor without them. โ ๏ธ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
```
**Freeform-prompting Generate.ts directly is FORBIDDEN.** It is the documented root cause of every "looks like shit" rejection in the rating history. The Essay / Frameworks / Maps / Comics / etc. workflows exist because the bare model defaults to illustrative-school cartoons; the workflow templates discipline it back to the editorial Lebbeus Woods / Paul Rudolph / charcoal-architectural register the principal actually wants.
**Routing rules โ pick a workflow FIRST, before writing any prompt:**
| Request shape | Required workflow |
|---------------|-------------------|
| Blog header / editorial essay illustration | **`Workflows/Essay.md`** โ Steps 1โ8 in order, no skipping |
| Mermaid diagram | `Workflows/Mermaid.md` |
| Technical / architecture diagram | `Workflows/TechnicalDiagrams.md` |
| Framework / 2x2 / matrix | `Workflows/Frameworks.md` |
| D3 dashboard / chart | `Workflows/D3Dashboards.md` |
| Taxonomy / hierarchy | `Workflows/Taxonomies.md` |
| Timeline | `Workflows/Timelines.md` |
| Comparison | `Workflows/Comparisons.md` |
| Stat card | `Workflows/Stats.md` |
| Aphorism / quote card | `Workflows/Aphorisms.md` |
| Comic panel | `Workflows/Comics.md` |
| YouTube thumbnail | `Workflows/AdHocYouTubeThumbnail.md` or `Workflows/YouTubeThumbnailChecklist.md` |
| PAI pack icon | `Workflows/CreatePAIPackIcon.md` |
| brand-logo wallpaper | `Workflows/LogoWallpaper.md` |
| Recipe card | `Workflows/RecipeCards.md` |
| Map / conceptual map | `Workflows/Maps.md` |
| Annotated screenshot | `Workflows/AnnotatedScreenshots.md` |
| Background removal only | `Workflows/RemoveBackground.md` |
| Embossed logo wallpaper | `Workflows/EmbossedLogoWallpaper.md` |
| Generic visualization (none of the above fit) | `Workflows/Visualize.md` |
**The ONLY exception:** the user explicitly says "freeform" / "skip the workflow" / "just run Generate.ts directly with this prompt: ...". Without that explicit instruction, ALWAYS pick the matching workflow and execute its mandatory steps in order โ including the prompt template, the technique block, the palette, the composition rules, and the validation gate.
If no workflow matches the request, **stop and surface to the user** before generating โ propose either (a) the closest existing workflow, (b) using `Visualize.md` as the generic catch-all, or (c) creating a new workflow first via the `CreateSkill` skill. Do not improvise.
---
## ๐จ๐จ๐จ MANDATORY: Output to Downloads First ๐จ๐จ๐จ
```
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๏ธ 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.**
## ๐จ๐จ๐จ MANDATORY: Transparency Rules for Blog Headers ๐จ๐จ๐จ
```
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๏ธ INLINE (body) image โ TRANSPARENT (PNG with alpha) โ ๏ธ
โ ๏ธ SOCIAL THUMBNAIL (frontmatter) โ SEPIA #EAE9DF (opaque) โ ๏ธ
โ ๏ธ EVERY blog header MUST use --thumbnail (produces both) โ ๏ธ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
```
The blog page background is sepia #EAE9DF. Inline images MUST be transparent PNG so they composite cleanly over the page. Social platforms (X, LinkedIn, RSS readers) do NOT honor transparency โ they show white/black bleed-through โ so the `thumbnail:` frontmatter MUST point to the sepia-backed version.
**Enforcement when calling `Generate.ts`:**
- `--thumbnail` is the ONLY correct flag for blog headers โ it implicitly enables `--remove-bg` and produces BOTH `output.png` (transparent) AND `output-thumb.png` (#EAE9DF background).
- Background removal runs locally via `rembg` (no external API). If the model returns JPEG (Nano Banana Pro often does), `Generate.ts` automatically renames the output from `.jpg` โ `.png` after rembg processing so the final transparent file is a real PNG with a real alpha channel. If you ever see a `.jpg` labeled "transparent", that is NOT transparent.
- If `rembg` isn't installed at `~/.local/bin/rembg`, the tool fails loudly with install instructions rather than silently producing an opaque image. Install: `pipx install rembg` (or set `REMBG_BIN` env var to override the path).
**Verification step before declaring an image done (REQUIRED):**
1. `file ~/Downloads/[name].png` โ must report `PNG image data, ... RGBA` (8-bit/color RGBA). If it says `JPEG` or `8-bit colormap` without alpha, transparency failed.
2. `file ~/Downloads/[name]-thumb.png` โ must report `PNG image data`. The thumb is intentionally opaque with sepia background.
3. Only after both pass: copy to the project directory and wire into the post.
**Wiring into the blog post:**
- Body inline: `[](/images/blog/[slug]/header.webp)` โ use the transparent WebP converted from the `.png`.
- Frontmatter: `thumbnail: https://example.com/images/blog/[slug]/header-thumb.png` โ always the `-thumb.png` (opaque sepia).
Never reuse the opaque thumbnail for the inline slot. Never reuse the transparent file for the social thumbnail. These are two distinct outputs from one `--thumbnail` run.
## Workflow Routing
Route to the appropriate workflow based on the request.
- Remove background from image โ `Workflows/RemoveBackground.md`
- brand-logo wallpaper with logo integration โ `Workflows/LogoWallpaper.md`
- YouTube thumbnail checklist โ `Workflows/YouTubeThumbnailChecklist.md`
- Blog header or editorial illustration โ `Workflows/Essay.md`
- D3.js interactive chart or dashboard โ `Workflows/D3Dashboards.md`
- Visualization or unsure which format โ `Workflows/Visualize.md`
- Mermaid flowchart or sequence diagram โ `Workflows/Mermaid.md`
- Technical or architecture diagram โ `Workflows/TechnicalDiagrams.md`
- Taxonomy or classification grid โ `Workflows/Taxonomies.md`
- Timeline or chronological progression โ `Workflows/Timelines.md`
- Framework orRelated in Ads & Marketing
ads
IncludedMulti-platform paid advertising audit and optimization skill. Analyzes Google, Meta, YouTube, LinkedIn, TikTok, Microsoft, and Apple Ads. 250+ checks with scoring, parallel agents, industry templates, and AI creative generation.
banana
IncludedAI image generation Creative Director powered by Google Gemini Nano Banana models. Use this skill for ANY request involving image creation, editing, visual asset production, or creative direction. Triggers on: generate an image, create a photo, edit this picture, design a logo, make a banner, visual for my anything, and all /banana commands. Handles text-to-image, image editing, multi-turn creative sessions, batch workflows, and brand presets.
rpg-migration-analyzer
IncludedAnalyzes legacy RPG (Report Program Generator) programs from AS/400 and IBM i systems for migration to modern Java applications. Extracts business logic from RPG III/IV/ILE source code, identifies data structures (D-specs), file operations (F-specs), program dependencies (CALLB/CALLP), and converts RPG constructs to Java equivalents. Generates migration reports, complexity estimates, and Java implementation strategies with POJO classes, JPA entities, and service methods. Use when modernizing AS/400 or IBM i legacy systems, analyzing RPG source files (.rpg, .rpgle, .RPGLE), converting RPG to Java, mapping data specifications to Java classes, planning legacy system migration, or when user mentions RPG analysis, Report Program Generator, RPG III/IV/ILE, AS/400 modernization, IBM i migration, packed decimal conversion, or mainframe application rewrite.
brand-library-architect
IncludedBuild a complete brand library for a product โ visual asset render pipeline, brand documentation set (BRAND, COPY, MANIFESTO, BIOS, FAQ, GLOSSARY, TONE, PRICING), open-source convention files (README, CONTRIBUTING, SECURITY, CODE_OF_CONDUCT), and a self-contained press kit. This skill should be used when the user asks to "build a brand library / brand kit / press kit / brand assets" for a product, "set up a brand library workflow," "create a positioning manifesto plus visual identity," or any combination of brand documentation + visual asset pipeline. Apply phase-by-phase or run end-to-end. Templates are product-agnostic and use {{TOKEN}} placeholders the skill prompts the user to fill.
writing-tech-post
IncludedAuthors engineering blog posts end-to-end: launch deep-dives, incident postmortems, architecture migrations, performance case studies, tutorials, AI/agent system writeups, security disclosures, and research-to-product translations. Picks the correct archetype, plans the abstraction ladder, enforces an evidence cadence (diagrams, benchmarks, profiles, traces, code, ablations), tunes voice against publisher house styles (Datadog, Vercel, GitHub, AWS, Meta, Cloudflare, Jane Street), and runs a pre-publish gate for narrative momentum and disclosure ethics. Use when drafting a new engineering post, restructuring a draft that feels flat, deciding which evidence form belongs where, validating that depth and product context are balanced, or preparing a postmortem, migration, or performance narrative for external publication. Do not use for API reference documentation, README authoring, marketing copy, release notes, generic SEO content, ghost-written executive thought leadership, or non-engineering long-form essays.
blog-google
IncludedGoogle API integration for blog performance: PageSpeed Insights, CrUX Core Web Vitals with 25-week history, Search Console performance, URL Inspection, Indexing API, GA4 organic traffic, NLP entity analysis for E-E-A-T, YouTube video search for embedding, and Google Ads Keyword Planner. Progressive feature availability based on credential tier (API key, OAuth/service account, GA4, Ads). Shares config with claude-seo at ~/.config/claude-seo/google-api.json. Use when user says "google data", "page speed", "core web vitals", "search console", "indexation", "GA4", "keyword research", "nlp entities", "blog performance", "youtube search", "google api setup".