Basic Cohub abilities. Most agents already have these mounted; listed here for reference.
Platform Published by the Neta team.
Official Made by the Neta team.
Verified Reviewed by the Neta team.
Community Shared by a Cohub user. Not reviewed — read SKILL.md before you use it.
oc-six-panel-meme-comic
Verified@sumino/oc-six-panel-meme-comic
Use it in Cohub
Paste this into your agent's chat — it fetches the skill and follows it.
Use the skill: oc-six-panel-meme-comic. Run `npx -y @neta-art/neta-search-cli@latest skills use @sumino/oc-six-panel-meme-comic --via site` and follow what it prints. Read its complete output, redirecting it to a temporary file first if necessary, and resolve relative paths from the skill directory it prints.
npx -y @neta-art/neta-search-cli@latest skills use @sumino/oc-six-panel-meme-comic
Summary
Turn two of your characters into a one-page chibi comic with a funny six-beat gag.
You get one tall comic page with six panels, two characters, white speech bubbles and a single punchline.
The gag: one character begs the other to repeat something embarrassing, the other gives in, and the first erupts in laughter.
Both characters keep their hairstyle, colors, outfit details and species traits, drawn in a cute chibi sketch style on plain white panels.
Dialogue is written for your two characters in the language you ask for, English or Chinese, and the page lands on your canvas.
Works best with two characters who have a clear relationship and one quirk they would hate to be caught doing.
SKILL.md
# OC Six-Panel Meme Comic
One page, six panels, two characters, one punchline. Character A corners character B and begs her to do **that embarrassing thing** one more time; B guesses, resists, gives in, performs it awkwardly; A loses it with an exaggerated victory face. The whole thing reads as a fan-made meme strip: chibi proportions, wobbly hand-drawn lines, flat colour, pure white panels, black speech bubbles text.
**Demo:** Ciely × Bandie, "Sing It Again" — the director of the Stitchwork Hospital begs her chief nurse to sing the off-key lullaby again, then reveals the recorder. Art in `assets/demo-strip.webp`.
## What the user gets
- One vertical 2:3 image: 3 rows × 2 columns, thin black borders, six white speech bubbles, no background scenery.
- Both OCs keep hairstyle, hair colour, eye colour, clothing details and species traits; only the proportions become chibi.
- A six-beat script whose dialogue is written for these two characters, in the language the user asked for.
- The Work on the Board, plus the reworked take if a second one was needed.
## When to use
- "six-panel comic of my OCs", "3x2 comic", "4-koma", "meme comic", "六格漫画", "梗图";
- two named characters and a request for a funny exchange between them.
Do not use for:
- a single illustration — plain `generate`;
- a story with branching or motion — `create-avg`, `video`;
- a one-character showcase page — `oc-pumpkin-witch-showcase`.
## The six beats (fixed order)
| # | Panel | Who | What happens |
|---|---|---|---|
| 1 | row 1 left | A | leans in, pleads for the embarrassing action to be repeated, expectant |
| 2 | row 1 right | B | frowns, half-guesses what A wants, wonders why |
| 3 | row 2 left | A | keeps nagging, persuading, tears and sweat drops |
| 4 | row 2 right | B | stunned silent, weighing it, blank eyes |
| 5 | row 3 left | B | gives in, performs it reluctantly, embarrassed |
| 6 | row 3 right | A | scheme succeeds, laughing wildly, distorted exaggerated face |
Speaker order is **A B A B B A**. Keeping it exact is what makes the joke land; a different order is a different strip, so ask before changing it.
## Hard rules
0. **Sandbox CLI path.** Every `neta` command is `node /mods/neta/neta …`.
1. **Read both OCs.** `neta atom get` each, plus `find images` for both covers. Pull 4+ visible features each; never reuse the demo descriptions for another pair.
2. **Both references are mandatory.** Pass two `--image` flags to a reference-capable model. Text-only models turn the pair into strangers.
3. **Pick the embarrassing action from canon.** Read the atoms for something the performer *does* but would rather not be seen doing (Bandie hums an off-key lullaby to patients; a proud character sings; a stoic one cries at a film). Never invent gore, weapons or humiliation that contradicts the character.
4. **Use the canon hierarchy.** Who can order whom? Ciely is the hospital director, Bandie the chief nurse — the begging works because the nurse cannot refuse the director. A gag that ignores the relationship reads flat.
5. **Bubbles carry the whole joke.** One short line each, under 60 characters, ending in `.` `?` or `!`. **No trailing commas** — the model loves to render them (see Pitfalls).
6. **Pure white panels.** No scenery, no props, no background tone, no decorative border art, no watermark.
7. **Deliver the Work and place it.** An image that never reaches the Board is not shipped.
## Pipeline
### 0. Read the pair
```bash
node /mods/neta/neta atom get "world/characters/<A>.md"
node /mods/neta/neta atom get "world/characters/<B>.md"
node /mods/neta/neta find images "<A>"; node /mods/neta/neta find images "<B>"
```
Note the relationship, the two visual identities, and something each character does that fits "embarrassing to be caught doing".
### 1. Write the script
Copy `templates/script.example.json` and replace every field. `characters.A.look` / `B.look` are the identity blocks (4+ visible features, comma-separated). `panels[i].action` says what the body and face do; `panels[i].line` is the bubble text.
```bash
node scripts/check-script.mjs /tmp/<slug>-comic.json
```
It enforces 6 panels, the `ask → triumph` beats, the `ABABBA` speaker order, bubble length, and the no-trailing-comma rule. Fix the script, not the checker.
### 2. Compose and generate
```bash
node scripts/build-prompt.mjs /tmp/<slug>-comic.json > /tmp/<slug>-prompt.txt
# Chinese bubbles instead: --lang zh-Hans
NETA_DEFAULT_IMAGE_MODEL=gpt-image-2 node /mods/neta/neta generate image \
--param size=1024x1536 --param quality=high \
--image "world/media/studio/characters/<A>.png" \
--image "world/media/studio/characters/<B>.png" \
--work-title "<A> × <B> · <Title>" \
--prompt "$(cat /tmp/<slug>-prompt.txt)"
```
`gpt-image-2` is the strongest of the image models at legible bubble text and multi-panel layout. Use the ratio/size key the model declares.
### 3. Look, then one rework
Open the returned `mediaPath` and check every bubble word by word, both characters' identities, the six beats, white backgrounds, thin borders, no watermark.
The one rework goes to a **new** work (not `--target-work`), so the first version survives and you can hand over the better one:
```bash
node /mods/neta/neta generate image … --work-title "<…> v2" --prompt "$(cat /tmp/<slug>-prompt-v2.txt)"
```
Then compare both and deliver the better, naming what is still off (a stray comma, a cropped character, a missing prop).
### 4. Place on the Board
```bash
node /mods/neta/.agents/skills/board-ops/scripts/place.mjs \
--title "<A> × <B> · 六格漫画" --work <work.path> [--work <v2 work.path>]
```
## Files
```
scripts/build-prompt.mjs # script JSON → image prompt (--lang for the bubble language)
scripts/check-script.mjs # validate the six-beat script before generating
templates/script.example.json # the Ciely × Bandie demo script, fully filled
assets/demo-strip.webp, demo-cover.webp
references/art-direction.md, dialogue.md, qa.md, publishing.md
```
## Pitfalls
- **Trailing commas.** Asked for periods, the model still often renders "…Just once," and "…complete,". Put "never end a line with a comma" in the prompt, check every bubble, and if a rework does not fix it, say so plainly rather than claiming clean text.
- **Punctuation drifting into the bubble edge** — short lines (under ~45 characters) wrap to two lines and stay readable; long ones crowd the panel.
- **Cropped half-characters.** When a second character only appears partially in a panel, the model may slice her at the panel edge. Prefer panels where one character appears alone (panels 2–5), and describe the other only in panels 1, 3, 6.
- **The prop that sells the payoff.** Put it in the final `action` explicitly ("holding up a small recorder") — models drop objects that only exist in the dialogue.
- **Chinese bubbles need a different model check.** Text-heavy Chinese renders worse than English; inspect character by character.
- **Identity drift across panels.** Name the landmark features (roses, bandages, ribbon) in the identity block, not just in the reference image.
## Publishing this skill
Maintainer note — see `references/publishing.md`.