Individual skill
Art
Static visual content in 20+ formats (diagrams, infographics, comics, icons, wallpaper) via Nano Banana Pro by default, Nano Banana, and Flux, plus technical diagrams and a few essay illustrations that draw themselves as looping GIFs. USE WHEN art, illustration, diagram, flowchart, animated diagram, diagram GIF, animated essay image, animated header, infographic, header image, blog social thumbnail, generate image, mermaid, comic, icon, blog art, framework diagram, D3 chart, remove background, wallpaper. NOT FOR any request that says visualize (Visualize owns every "visualize X" and may embed Art output), YouTube/video thumbnails (the video skill), other video or animation (HyperFrames), web UI design (Webdesign).
LifeOS/install/skills/Art/SKILL.md
Source commit b7efec97d8c3885feee285bee468c35602fb0606
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- Yes
- Repository scan complete
- No
- Skill scan complete
- No
- Observed behavior
- Network or broad shell
- Last checked
- Nov 2, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
Standard SKILL.md format has not been attested at this commit. No installation command is available; inspect the source.
Repository context
- Repository stars (not skill ratings)
- 19,760
- Repository last updated
- Nov 5, 2026
- License
- MIT
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- ai Repository topic
- augmentation Repository topic
- productivity Repository topic
- humans Repository topic
- ai-harness Repository topic
- intent-engineering Repository topic
- personal-ai Repository topic
- coding Repository topic
- lifeos Repository topic
- design Derived category
- writing Derived category
- design-interface Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
Intents/AnimatedEssay.mddoc · 4,160 bytesIntents/AnnotatedScreenshots.mddoc · 7,702 bytesIntents/Aphorisms.mddoc · 8,202 bytesIntents/Comics.mddoc · 12,544 bytesIntents/Comparisons.mddoc · 11,142 bytesIntents/D3Dashboards.mdruns · 5,369 bytesIntents/EmbossedLogoWallpaper.mddoc · 10,150 bytesIntents/Essay.mddoc · 48,858 bytesIntents/Frameworks.mddoc · 8,148 bytesIntents/LifeOSHero.mddoc · 12,688 bytesIntents/LogoWallpaper.mddoc · 11,186 bytesIntents/Maps.mddoc · 10,986 bytesIntents/Mermaid.mddoc · 15,643 bytesIntents/RecipeCards.mddoc · 10,646 bytesIntents/RemoveBackground.mddoc · 6,878 bytesIntents/SalesVisual.mddoc · 6,927 bytesIntents/Stats.mddoc · 10,123 bytesIntents/Taxonomies.mddoc · 9,805 bytesIntents/TechnicalDiagrams.mddoc · 17,952 bytesIntents/Timelines.mddoc · 10,349 bytesIntents/Visualize.mddoc · 17,749 bytesReferences/BlogHeaders.mddoc · 6,180 bytesReferences/EssayComposition.mddoc · 5,327 bytesReferences/EssayRounds.mddoc · 4,417 bytesReferences/Models.mddoc · 3,993 bytesSKILL.mdcore · 20,388 bytesSKILL.mdcore · 20,388 bytesSKILL.mdcore · 20,388 bytesSKILL.mdcore · 20,388 bytesSKILL.mdcore · 20,388 bytesSetup.mddoc · 7,343 bytesTools/.gitignoreasset · 388 bytesTools/AnimatedDiagram.help.mddoc · 5,971 bytesTools/AnimatedDiagram.tsruns · 48,373 bytesTools/AnimatedEssay.help.mddoc · 1,701 bytesTools/AnimatedEssay.tsruns · 14,876 bytesTools/CutHero.help.mddoc · 1,880 bytesTools/CutHero.tsruns · 13,110 bytesTools/EvalRound.help.mddoc · 8,905 bytesTools/EvalRound.tsruns · 87,654 bytesTools/FillFrame.tsruns · 8,639 bytesTools/Generate.tsruns · 54,215 bytesTools/README.mddoc · 212 bytesTools/bun.lockasset · 19,423 bytesTools/fixtures/video/hits-correct.mddoc · 393 bytesTools/fixtures/video/hits-header-offgrid.mddoc · 392 bytesTools/fixtures/video/hits-lines.mddoc · 150 bytesTools/fixtures/video/hits-narrated-slice.mddoc · 2,219 bytesTools/fixtures/video/vo-words-slice.jsonasset · 2,511 bytesTools/package.jsonruns · 256 bytesTools/tsconfig.jsonasset · 759 bytes
Read excerpt
# Art Skill
**Contents:** Ideal State · Intent Routing · Safety gates · Tool contract · Data & Config · Gotchas · Examples
Generates static visual content across 20+ formats — blog headers, technical and architecture diagrams, frameworks, taxonomies, timelines, comparisons, stat cards, comics, icons, wallpapers, D3 charts, Mermaid diagrams — using Flux and Nano Banana Pro (Gemini 3 Pro). <!-- public PR #2009, @jbmml --> Every request routes through a named intent that encodes the technique and palette, then calls `Generate.ts` with `--intent=<name>` plus model/size/output flags, and `Generate.ts` itself enforces that the intent was followed. Output defaults to $LIFEOS_DOWNLOADS_DIR (default ~/Downloads/ when unset) unless `--output` names another path, so every intent passes `--output` into a working directory outside Downloads (§ Output staging). Blog headers run with `--thumbnail` to ship both a transparent inline PNG and an opaque listing thumbnail on the page ground (`ArtConfig.json` thumbnailGround); the site builds its social card separately ([References/BlogHeaders.md](References/BlogHeaders.md)).
## Ideal State
- Every image comes from the intent that matches the request, and its composition is reasoned from the specific argument or content it illustrates: scene concepts weighed against each other, every element in the frame carrying a narrative role, never a subject list dropped into a prompt.
- Every image holds its intent's technique and palette, or the style `PREFERENCES.md` sets, unless the principal names another style, and every person in it follows the figure treatment described in Gotchas.
- Every label, number, value and arrow in a diagram, stat card or annotated image is factually correct and spelled exactly as the source has it; one misspelled word, garbled digit or wrong hex value fails the image however good the art is. When the request asks for an image rendered from authored SVG, the delivered file comes from that SVG, never from an image model.
- An edit of an existing photo or reference image changes only what the request names: the subject's identity, and every element the request did not mention, read the same in the output as in the source.
- A set of images made for one deck or page reads as one set: the same medium, palette, ground and figure style as the style references the request names.
- Every image is rendered in a working directory outside Downloads (or the staging directory its intent names), passes the ArtDirection quality loop there, and reaches Downloads only through ArtDirection's `Deliver.ts`; nothing is copied into a project before that hand-off, except where an intent wires its own winner in without handing back.