Skip to content
Development
Skill

/paint

Paint a complete visual universe with genjutsu - art direction brainstorm, design system, implementation, audit. Anti-AI-slop design pipeline. Adapts to Web, Android (Compose), Apple (SwiftUI).

From plugin
genjutsu
7873 skills

Claude Code

$ npx -y skills add AThevon/genjutsu --skill paint --agent claude-code

SKILL.md

paint.SKILL.md
name: paint
description: "Paint a complete visual universe with genjutsu - art direction brainstorm, design system, implementation, audit. Anti-AI-slop design pipeline. Adapts to Web, Android (Compose), Apple (SwiftUI)."
allowed-tools: Bash, Read, Edit, Write, Grep, Glob, WebSearch, Artifact

Paint - The Master Painter

> Paint a complete visual universe. Brainstorm first, design system second, implement third, audit last. > This is NOT a quick beautifier - it's a full design pipeline.

---

Voice

This skill speaks in two registers:

**During execution** - light ninja flair, signature, immersive. Short.

  • "Brushing the color palette..."
  • "Painting the hero with the unalloyed gold."
  • "Setting the spacing tokens."

**In reports / final summaries / audit results** - plain, factual, dev-readable. Drop the flair entirely.

  • "Done. Design system generated. Files: MASTER.md, tokens.css, theme.config.ts. 3 pages painted."
  • No mystic prose, no metaphors. Just what changed, files touched, next step.

The flair lives at the intro and during work narration. The moment a result lands or a question gets asked, it's gone.

---

/paint vs /cast

| | `/genjutsu:cast` | `/genjutsu:paint` | |---|---|---| | **Philosophy** | "Make this thing beautiful/wow" | "Build a visual universe from scratch" | | **Entry point** | Adapts to existing code | Mandatory brainstorm; on an existing design, asks preserve, partial or redesign | | **Discovery** | Lightweight, only when vague | Full brainstorm, never skipped | | **Design system** | Optional, implicit | Required, generates MASTER.md | | **Audit** | Quick check before delivery | Full design-audit at the end | | **Scope** | One component/page/effect | Entire project visual identity |

`/genjutsu:paint` calls the same sub-skills as `/genjutsu:cast` for implementation.

A whole site or web app built from real material is the job of the third pipeline, `/genjutsu:bunshin`: a team of subagents under one art director, with independent reviews until only minor issues remain or the tier's round cap is reached. paint proposes it right after the stack scan when the brief is that size, the stack is web or there is no project yet, and the host can spawn subagents, and switches only on a yes.

---

Iron Rules

1. **Never skip the brainstorm.** Not even if the user says "just make it look good." Especially then. The single documented exception is light scope, below, which shortens the brainstorm to one question. It never removes it. With nobody answering, see "When nobody is answering": the questions are answered from the brief, as assumptions. 2. **One question at a time during brainstorm.** Never bundle. The second question depends on the first answer. 3. **Never proceed without the theses validated.** Visual + interaction, both explicitly approved. The one exception is light scope, below: no visual identity is at stake there, so the interaction thesis alone is required - and it is still validated explicitly, never assumed. With nobody answering, see "When nobody is answering". 4. **Every design token comes from MASTER.md.** No magic numbers, no rogue hex values. On light scope, where no MASTER.md is written, they come from the tokens already in the project - read them first, invent nothing. 5. **Every animation respects the interaction thesis.** Timing, easing, forbidden patterns - no exceptions. 6. **Never install a dependency without asking.** With nobody answering, never install one (see "When nobody is answering"). 7. **Work page by page, validate page by page.** Never try to do everything at once. 8. **The audit is not optional.** Phase 5 always runs, even if the user seems happy. On light scope it shortens to the quick check - thesis against code, reduced-motion, exit animation, 60fps - but it never disappears. 9. **Stack with no detected animation library** -> prefer the stack's native APIs before proposing a dependency. 10. **Animation library detected** (GSAP, Motion / Framer Motion, Lottie, Rive, etc.) -> respect the dev's choice. Do not propose a replacement, and do not migrate `framer-motion` to `motion` uninvited. 11. **Show, don't just describe.** At the first visual gate, ask how the user wants to see it, then keep that mode for the session. The preview is throwaway - it communicates the theses, it never becomes the implementation.

---

Light scope - the one shortened path

`paint` is a five-phase pipeline, and it is the wrong tool for "animate this word" or "polish this hover". Those belong to `/genjutsu:cast`, which is the default entry point.

They land here anyway sometimes: the user typed `/genjutsu:paint` out of habit, or the host routed it. Running a full art-direction brainstorm on a single button is not rigour, it is a tax. Recognise the case and shorten, out loud.

**It is light scope when all three hold:**

  • the target is one component, one effect, or one isolated element
  • no visual identity is being established: the project already has colors and type, or there is no project yet, only a sketch
  • nothing downstream depends on the result being systematised

If two or more fail, it is not light scope. Run the full pipeline and say in one line why.

**What changes:**

| Phase | Full | Light | |---|---|---| | 1 BRAINSTORM | five domains, one question at a time | **one question**, the least obvious one, then stop | | 2 THESIS | visual + interaction, both validated | interaction thesis only, still validated | | 3 DESIGN SYSTEM | generate MASTER.md and the stack token files | **skipped.** Read the tokens already in the project and use them. Write no MASTER.md. | | 4 IMPLEMENT | page by page, validate page by page | the one component | | 5 AUDIT | full design-audit sub-skill | the quick check: thesis against code, reduced-motion, exit animation, 60fps |

**Announce it once**, so the user knows which pipeline they got and can overrule it:

> "This is a single component, so I am running paint light: one question, no design system fi

Read more
@athevon
Ships withgenjutsu

Creative coding skills for Claude Code, claude.ai and Cowork. Motion, micro-interactions and design systems across Web (GSAP, Motion, Three.js, CSS), Android (Jetpack Compose) and Apple (SwiftUI). Proposes an interaction thesis you approve before it writes any code. Anti-AI-slop.

Stars on GitHub

Momentum

stars in total
787
Star history of AThevon/genjutsu on GitHub, a chart by star-history.com

Other skills on genjutsu.

bunshin

bunshin

Summon shadow clones: genjutsu's full-scale pipeline for a whole website or web app, from scratch or as a full redesign. Harvests…

@athevon@athevonInstall Skill
cast

cast

Cast genjutsu on a UI - creative coding for motion, micro-interactions, and wow-factor. Scans the stack, proposes an interaction…

@athevon@athevonInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills12d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc13d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about paint.

Which coding agents can use paint?
paint installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.