
6 images made by this skill from examples/signal and examples/lowtide
What you get
- Two built-in art directions, gouache and linocut, or your own
- Up to 40 posts per series, the first picture anchoring the style of the rest
- Titles set as real type where the art is calm, in a palette color that passes contrast
- Covers at 1200×630, 1600×900, 1080×1080 and 1080×1350, plus og and twitter meta tags
- Checks for busy art behind the title, low contrast and titles that don’t fit
- Open-source licenses for every part it builds on
Good fit
- Newsletter writers can give every issue a painted header in the same style, with the title set in a real typeface.
- Engineering and product blogs can make link previews at 1200×630 that look illustrated rather than templated.
- Content teams can add new posts to series.json later, and only the new pictures are made.
Not for
- Pictures with words, charts or screenshots in them
- Photographic covers or stock photos
- One-off covers in a different style per post
About this skill
Illustrated covers for every post of a blog or newsletter in one painted style: mid-century gouache, two-color linocut or your own art direction. An image model paints one picture per post, the first anchoring the style for the rest. The script then sets each title as real type in the calm part of the picture, with a color that passes contrast, in link-preview, wide, square and portrait sizes.
Example request
Make linocut covers for our engineering blog’s last four posts, as link previews and square images.
How it works
Your agent
- 1
Pick the style and write a picture idea per post
Or
customwith your own art direction of 15+ words (medium, texture, palette as hex, mood). - 2
Write
series.jsonCopy
examples/lowtide/series.json(gouache, a product newsletter) orexamples/signal/series.json(linocut, an engineering blog) and change it. - 3
Generate and set
It checks
series.jsonfirst and lists every problem with its fix. - 4
Look, then fix single covers
Look at the og covers small, the size people see them in a feed: the title should read at a glance and the picture should say one thing.
- 1
You get
- meta.html
- index.html
- preview.png


What you need
- Node.js 18 or newer. Nothing to install.
- Chrome, Chromium or Edge (the script finds it; set
CHROME_PATHif it doesn't). It reads the art and sets the covers. - Internet access while building, for the title fonts (Google Fonts). Offline, a fallback serif is used and the script says so.
- An image key in the environment:
GEMINI_API_KEY(Gemini 3 Pro Image, "Nano Banana Pro", the default and what made the examples) orOPENAI_API_KEY(GPT Image). Without a key, the script writesprompts.mdand you make the pictures in any image app and drop them inart/.
Last checked Nov 2, 2026: the package’s own build and render commands ran and passed.
If something goes wrong
"No image key"
Set
GEMINI_API_KEYorOPENAI_API_KEY, or make the pictures by hand fromprompts.md.The font didn't load
No internet while building, or
font.googleisn't a Google Fonts family spec. Build again online.One picture's style drifted
--regen=<slug>. If the anchor itself is off, regenerate the first post (--regen=<first slug>) and then the rest.
What’s in the download
- SKILL.md8.33 KB
- examples/
- examples/lowtide/1.09 KBcomplete examples with their generated pictures. · 1 file
- examples/signal/1.10 KB1 file
- scripts/
- scripts/browser.mjs6.96 KBfind and drive headless Chrome.
- scripts/chrome.mjs3.63 KB
- scripts/config.mjs3.31 KBreads and checks
series.json, and the cover sizes. - scripts/covers.mjs7.34 KBthe command: prompts, generation, reading the art, setting and checks.
- scripts/imagegen.mjs5.99 KBcalls Gemini or OpenAI image models over HTTP.
- scripts/lab.mjs1.06 KBreads how busy each part of a picture is, in headless Chrome's canvas.
- scripts/layout.mjs11.8 KBwhere the title goes, its colour and box, and the cover page that fits it.
- scripts/styles.mjs3.09 KBthe built-in art directions and the prompts.
- template/
- template/lab.html91 B
- template/lab.js20.1 KBreads how busy each part of a picture is, in headless Chrome's canvas.
- NOTICE.md1.20 KB
- TESTED.json198 B
15 files · 75.3 KB · installs to ~/.claude/skills/painted-cover-series for Claude Code and ~/.agents/skills/painted-cover-series for other agents
Credits and licenses: NOTICE.md plus any LICENSE files inside the ZIP.
Similar Skills
View allDetails
- Output
- PNG · 1200×630, 1600×900, 1080×1080, 1080×1350 · og meta tags
- Needs
- Node.js 18+, Chrome, and a Gemini or OpenAI key (or any image app by hand)
- Series
- Illustration · 2 skills
- Updated
- Nov 2, 2026
- Checked
- Nov 2, 2026: its own commands ran and passed. That is a working check, not a security audit.
Written for
See all 31 agents that read skill folders.
Install guides
For your agent
Generates with
Installed it? Tell others how it went. Reviews come from people who installed this skill.
Write a reviewFAQ
Does the image model write the title?
No. Image models still misspell words, so the pictures have no text. The script reads each picture, finds the calm side, and sets the title there in a real typeface with a color that passes contrast.
Which styles are there?
Two are built in: mid-century gouache with a Fraunces title and two-color linocut with a Bitter title. You can also write your own art direction, with a palette, and pick your own Google font.
Which sizes does it make?
Any of 1200×630 for link previews, 1600×900, 1080×1080 and 1080×1350, and it writes the og and twitter meta tags for the 1200×630 covers.
Which agents is Painted Cover Series written for?
Any agent that reads SKILL.md folders, including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI and OpenCode.
Do I own what I make with it?
Yes. Everything your agent makes with this skill is yours, including for client and commercial work.
What if it doesn’t work for me?
Email support@lookbk.dev within 7 days of buying and we’ll fix it or refund you.
Credits and licensesWritten by Lookbk
Lookbk wrote this package from scratch: the two art directions, the style-anchor prompts, the calm-area reading, the title layout and the checks. The example art was made with Gemini 3 Pro Image from the package’s own prompts. Written by Lookbk, no third-party code.
Credits and licenses for the open-source software and fonts it uses are in NOTICE.md inside the download.