Free

Two-Ink Carousel

3:4 image sets that print in coral and teal, with overprint, halftone dots and very large type

Install

Install the "Two-Ink Carousel" skill into ~/.claude/skills/two-ink-carousel.
Download each file and save it under that folder:
https://skilllift.pages.dev/packs/two-ink-carousel/SKILL.md → SKILL.md
https://skilllift.pages.dev/packs/two-ink-carousel/references/style.md → references/style.md
https://skilllift.pages.dev/packs/two-ink-carousel/assets/template.html → assets/template.html
https://skilllift.pages.dev/packs/two-ink-carousel/scripts/export.mjs → scripts/export.mjs
https://skilllift.pages.dev/packs/two-ink-carousel/scripts/check.mjs → scripts/check.mjs
Then read SKILL.md, tell me what it does, and remind me to start a new session.

Unpack it into ~/.claude/skills

Same skill, different brief

The left is the preview. The right was made by a separate agent from a different brief, using only the installed skill and without seeing the preview.

The preview
The preview
A new brief, made by a separate agent
A new brief, made by a separate agent

One test run on a fictional brief. Letterforms can differ on systems without the same fonts.

Makes a 3:4 social image set (1242x1656 PNGs) that looks like a two-colour print, with cream paper, fluorescent coral and deep teal overprint, halftone dots and very large type. No image model needed. Use when someone wants a carousel or multi-image post for Xiaohongshu or a similar platform, in Chinese or English, on any topic that fits short text cards.

What it must pass before delivery

  • check.mjs exits 0 on the final carousel.html
  • export.mjs exits 0, with one PNG per card at 1242x1656
  • The fonts it reports are in references/style.md
  • I viewed every PNG at full size and at phone size
  • Every title is readable at phone size, with no awkward line break
  • Coral and teal overprint is visible on the cover, and the art matches the template
  • All copy is in the requested language
  • No invented story, result, quote, medical claim or financial claim
  • caption.md is saved and nothing was published
Read the full SKILL.md
---
name: two-ink-carousel
description: Makes a 3:4 social image set (1242x1656 PNGs) that looks like a two-colour print, with cream paper, fluorescent coral and deep teal overprint, halftone dots and very large type. No image model needed. Use when someone wants a carousel or multi-image post for Xiaohongshu or a similar platform, in Chinese or English, on any topic that fits short text cards.
version: 1.0.0
---

# Two-Ink Carousel

You fill in a fixed template. The look lives in `assets/template.html`, so your job is the writing and the checks, not the design. See `references/style.md` for tokens, fonts, sizes and slot limits.

## Requirements

- Node.js 22 or later
- Playwright with Chromium: `npm install playwright && npx playwright install chromium`, run in the folder you will work from

## Inputs to ask for

Ask only for what is missing:

1. **Topic and the main message.** What should a reader remember?
2. **Audience.** Who is it for?
3. **Points.** 2 to 6 points, or the source material to draw them from.
4. **Language.** Simplified Chinese or English.
5. **Facts.** Any real figures, sources or examples the user wants included. Use only what they give you or what you can verify.

## Steps

1. Create a working folder outside the skill, then copy `assets/template.html` to `<working folder>/carousel.html`.
2. Plan the set: 3 to 12 cards, with the cover first and closing last. A typical set is cover, 2 to 6 points, an optional list or quote, then closing.
3. Keep the `LAYOUT` blocks you need, delete the rest, and duplicate a whole block, including its comment markers, if you need it twice. Use `point/a`, `point/b`, `point/c` in order, and set `data-num` to the point's number.
4. Replace the text inside each `data-slot` element, within the limit in its `data-max`. Change nothing else, except the `<title>` text and, for English, `lang="en"` on `<html>`.
5. Write titles with intent. Break at meaning with `<br>`, and use `<em>` on the one word that matters. The template picks the type size from fixed steps.
6. Check, then export. Fix any failure in your copy, never by editing the template, and run both again:

   ```
   node <skill>/scripts/check.mjs carousel.html
   node <skill>/scripts/export.mjs carousel.html output
   ```

7. Open every PNG at full size and at about 390 px wide. If a title dropped to a small step or breaks awkwardly, shorten or rebreak it, then export again.
8. Write `output/caption.md`: a title, a short body and 3 to 5 topic tags.

## Deliverables

- `carousel.html`: the filled template
- `output/1.png` and onward: one PNG per card at 1242x1656
- `output/caption.md`: the post text

Save these files and tell the user where they are. Never publish, upload or schedule anything, and never open a platform account. The user decides whether and where to post.

## Content rules

- Do not invent personal stories, customer cases, quotes, results or data.
- Do not make medical or financial claims. Do not promise outcomes, such as money, health or time saved.
- Write examples as generic wording that shows the method, using roles rather than made-up people.
- Use the `quote` layout only for a real, verifiable source or the set's own statement, labelled as such.

## Before delivering

- [ ] `check.mjs` exits 0 on the final `carousel.html`
- [ ] `export.mjs` exits 0, with one PNG per card at 1242x1656
- [ ] The fonts it reports are in `references/style.md`
- [ ] I viewed every PNG at full size and at phone size
- [ ] Every title is readable at phone size, with no awkward line break
- [ ] Coral and teal overprint is visible on the cover, and the art matches the template
- [ ] All copy is in the requested language
- [ ] No invented story, result, quote, medical claim or financial claim
- [ ] `caption.md` is saved and nothing was published

## When not to use it

- The content depends on photos, screenshots, product shots or detailed charts.
- The user needs their own brand colours or fonts: this style allows only its two inks.
- The topic calls for a quiet tone, such as grief, a crisis or medical news.
- The content is long-form reading, or a single point that does not need a set.

## Export notes

- Install Playwright where you run the script (npm install playwright).
- The output folder is your choice. If the user names another location, export there.
- The cover takes at most three lines. Three lines step down to a smaller title size, so prefer two.
- Use a short example label that fits the content, up to four characters in Chinese.
- The scripts cannot judge facts. Check by hand that no story, result or medical or financial claim was invented, and view every PNG at phone size.

Used in these workflows

Similar skills