oc-magazine-cover-fold

Verified@sumino/oc-magazine-cover-fold
Use it in Cohub

Paste this into your agent's chat — it fetches the skill and follows it.

Use the skill: oc-magazine-cover-fold. Run `npx -y @neta-art/neta-search-cli@latest skills use @sumino/oc-magazine-cover-fold --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.
Use in Neta Studio Open it in Neta Studio and see what people made with it.
Install from a terminal
npx -y @neta-art/neta-search-cli@latest skills use @sumino/oc-magazine-cover-fold
Summary

Turn one of your characters into a magazine cover, then publish it as a page that looks like a real printed issue.

  • The cover's top half is a warm, film-like scene of your character sitting somewhere in their own world, with no text on it.
  • The bottom half is the same moment as a close-up seen through thick ribbed glass, with the title set only there.
  • The title is a short two-to-four-word name, plus a short English line, the character's name, and two short Chinese lines.
  • It's shown as a physical magazine on a table, with slight tilt, gloss and page edges. A small detail thumbnail opens the glass close-up.
  • Works best for a character with a distinctive look, a signature prop and a clear place in your world. You get a published page and a card on your board.
SKILL.md
# OC Magazine Cover — Half-Fold

One character, one issue: the top half is a warm film still of them sitting in their own world; the bottom half is that same moment pushed into a close-up and seen through thick vertical ribbed glass, with the issue's title set only there. Then the page lays the issue on the table.

**Live issue:** https://neta.art/w/sumino/sweet-nightmare-park/irisdeep-the-quiet-point-cover
**Package:** `templates/` is the working page; `references/art-direction.md` holds the prompt recipe; `assets/demo-issue.webp` is the shipped issue.

## What the builder gets

- A generated 3:4 cover: cinematic scene above the fold, recognisable glass-refracted close-up below, title and two short lines in the lower half only.
- A page that presents it as a physical magazine — slight perspective, page block edge, gloss, issue line, a detail thumbnail that opens the glass crop.
- A published web Work and a Board card.

## When to use

- "magazine cover", "editorial cover", "cover story" for one character;
- "半折封面", "棱纹玻璃", "竖纹玻璃封面", "杂志封面";
- a cover where title typography lives inside the image, not on the page.

Not for: a poster with shards or panels; a coloring book; a page whose text must switch languages (the image's type is baked, so it cannot).

## Hard rules

0. **Sandbox CLI.** `node /mods/neta/neta …`.
1. **Read the OC.** `atom get` the character, `## 形象参考`, the cover. The sitting place, the prop and the light all come from that atom.
2. **The fold is at exactly 50%** — a clean cut, not a gradient. Check the seam.
3. **No text in the upper half.** None. The story is carried by the scene alone.
4. **The lower half is a different framing, not a squashed copy** — a close-up of eyes, hands, shoulder, prop.
5. **She stays recognisable through the glass** — silhouette, gaze, prop. Never abstract colour blocks.
6. **All type in the left column of the lower half**, clear of the eye and hands, one line per string. Verify every glyph at 100% zoom.
7. **Two languages, short.** A 2–4 word title, one English title line, the OC's name, two short Chinese lines. Longer text breaks.
8. **3:4, borderless, no watermark**, and the page never adds a frame that reads as one.
9. **Ship it.** Published Work plus Board card.

## Pipeline

### 0. Read the world and the OC

```bash
node /mods/neta/neta atom list --type character
node /mods/neta/neta atom get "world/characters/<Name>.md"
node /mods/neta/neta find images "<Name>"
```

Collect: name, world, silhouette and one identifying feature, costume, palette, one landmark, one prop they carry, one companion, one thing that has just happened.

### 1. Choose the sitting moment

See [`references/art-direction.md`](references/art-direction.md) §1. Write the three answers — where, what they touch, what just happened — before writing the prompt.

### 2. Create the page work

```bash
SLUG="<oc>-<title>-cover"
WORK="works/web/$SLUG"
node /mods/neta/neta work init web "$WORK" --title "<OC> · <Title> — Cover"
# the CLI may normalize works/web → works/webs; use the printed workDir

cp templates/index.html templates/style.css templates/app.js "$WORK"/
cp templates/content.example.js "$WORK/content.js"
mkdir -p "$WORK/assets"
```

### 3. Generate the cover

```bash
NETA_DEFAULT_IMAGE_MODEL=gpt-image-2 node /mods/neta/neta generate image \
  --work-title "<OC> · <Title>" \
  --param size=1536x2048 --param quality=high --param output_format=png \
  --image "world/media/studio/characters/<Name>.png" \
  --prompt "$(cat /tmp/<slug>.txt)"

curl -sL "<mediaUrl>" -o /tmp/<slug>.png
convert /tmp/<slug>.png -resize 1200x -quality 88 "$WORK/assets/cover.webp"
convert /tmp/<slug>.png -crop 900x760+<x>+<y> +repage -resize 900x -quality 84 "$WORK/assets/detail.webp"
```

The cover is an ingredient; the page is the deliverable.

### 4. Fill `content.js`

Every `«…»` token: world, issue, kicker, oc, title, lede, note, footNote, accent, art, detail. `lede` is one sentence of story; `note` is the production note.

### 5. QA

[`references/qa.md`](references/qa.md): fold, glass, glyphs, 1440×950 and 390×844, lightbox.

### 6. Publish and place

```bash
node /mods/neta/neta work publish web "$WORK"
node /mods/neta/.agents/skills/board-ops/scripts/place.mjs \
  --title "<OC> · <Title> — Cover" --work "$WORK"
```

`slug already exists` almost always means the raw illustration's share card owns `<oc>-<title>`; publish as `<oc>-<title>-cover`. Details in [`references/publishing.md`](references/publishing.md).

## Files

```
<work>/
  index.html   # masthead, magazine object, issue column, lightbox
  style.css    # table light, page block edge, gloss, responsive stack
  app.js       # fills the issue from content.js, lightbox, settle-in
  content.js   # the only per-issue file
  assets/cover.webp   assets/detail.webp
```

## Pitfalls

- **A caption instead of a cover.** The type must live inside the lower half of the image; do not move it to HTML.
- **The lower half repeating the whole body** — ask for the close-up explicitly.
- **English subtitle eaten by the cloak** — one line each, inside 42% width; re-render rather than patch.
- **Two grades, warm above and cold below** — state one palette for the whole page.
- **Baked text and a language switcher** — they cannot coexist; this format is intentionally bilingual and fixed.
- **Slug collision with the share card** — suffix `-cover`.

## Demo

`IrisDeep`, gatekeeper of the Abyss Slide in *Sweet Nightmare Park*: a hooded observer with one glowing blue eye, sitting on the wet lip of the slide at dusk with a jar of her "raindrops"; above the fold a funfair in warm last light, below it her eye and gloved hand behind ribbed glass, title 《静默点》 / THE QUIET POINT / IRISDEEP and the lines "雨落进玻璃,我数到第三秒。" "滑梯尽头,没有人在等。"