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-mosaic-vessel
Verified@sumino/oc-mosaic-vessel
Use it in Cohub
Paste this into your agent's chat — it fetches the skill and follows it.
Use the skill: oc-mosaic-vessel. Run `npx -y @neta-art/neta-search-cli@latest skills use @sumino/oc-mosaic-vessel --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-mosaic-vessel
Summary
Turn one of your characters into a striking specimen illustration: body laid flat, head shattered into pixel blocks, two giant hands.
You get one tall illustration: a character lying perfectly level, her body fully painted, her head and hair rebuilt entirely from floating colored blocks.
Two oversized hands frame her, one pressing down from above and one lifting from below, with knuckles, nails and creases visible.
One single word, such as VESSEL, FRACTURE or HUNGER, sits in the empty space instead of the character's name.
It also becomes a dark gallery-style page with the artwork, a large italic keyword, four short notes on the treatment, a zoom on the blocks, and click-to-enlarge.
Works best for a character with a clear outfit, color palette and signature object, and a mood of lost identity or fragility.
SKILL.md
# OC Mosaic Vessel
One character, laid level: the body is a normal, finished illustration, the head is a cloud of pixel blocks, and two oversized palms decide whether to hold her or put her back. One word sits in the blank area — never her name.
**Live plate:** https://neta.art/w/sumino/sweet-nightmare-park/ciely-vessel-plate
**Package:** `templates/` is the plate page; `references/art-direction.md` holds the prompt recipe and the exact fixes; `assets/demo-plate.webp` is the shipped plate.
## What the builder gets
- A generated 3:4 illustration: saturated flat field, horizontal painted body, fully block-built head, two giant palms, one keyword.
- A plate page: dark room, the artwork with a hairline, keyword in large italic serif, four spec rows explaining the treatment, a detail crop of the block field, lightbox.
- A published web Work and a Board card.
## When to use
- "vessel" / "mosaic head" / "pixel head" / "horizontal body with giant hands" for one character;
- "像素碎头", "横向身体 + 巨掌", "数据化崩解";
- a plate that shows a treatment rather than a scene.
Not for: a magazine cover; a poster with title type in both languages; a storyboard; anything where the head must stay readable as a face.
## Hard rules
0. **Sandbox CLI.** `node /mods/neta/neta …`.
1. **Read the OC first** — atom, `## 形象参考`, cover. Palette, costume and signature prop come from there.
2. **Posture is a hard constraint**: axis exactly horizontal, head at the left end, no tilt, no reclining.
3. **The head is not painted.** No continuous face, no painted eye, no painted hair; blocks only, with at most a ghost of eye position.
4. **The body is painted completely and normally** — no fragmentation, correct anatomy, her prop included.
5. **Two palms, both oversized** — one pressing from above, one lifting from below; joints, nails, creases visible.
6. **One keyword, never the name**, in high contrast, appearing once.
7. **One flat saturated field**; no scene, no texture, no second accent.
8. **3:4, no border, no watermark.**
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: silhouette, palette (field colour + block colours), costume, signature prop, and the one word that names her state.
### 1. Pick the word
A noun for what she is or what is being done to her: VESSEL, FRACTURE, WITNESS, SCREAM, REVERIE, HUNGER, STITCH, LUMEN, LAUGH. One word, no subtitle.
### 2. Create the plate work
```bash
SLUG="<oc>-<keyword>-plate"
WORK="works/web/$SLUG"
node /mods/neta/neta work init web "$WORK" --title "<OC> · <Keyword> — Plate"
# 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 illustration
```bash
NETA_DEFAULT_IMAGE_MODEL=gpt-image-2 node /mods/neta/neta generate image \
--work-title "<OC> · <Keyword>" \
--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/vessel.webp"
convert /tmp/<slug>.png -crop 620x520+<x>+<y> +repage -resize 900x -quality 84 "$WORK/assets/detail.webp"
```
Crop the detail on the **block field**, not the centre. The illustration is an ingredient.
### 4. Fill `content.js`
Every `«…»` token: world, kind, kicker, oc, title, lede, framing, head, hands, field, foot, accent, art, detail. The four spec rows should describe what the image actually does — they are the plate's explanation, not marketing.
### 5. QA
[`references/qa.md`](references/qa.md): horizontal read, head fully blocky, body whole, palms oversized, one word, 1440×950 and 390×844.
### 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> · <Keyword> — Plate" --work "$WORK"
```
`slug already exists` means the illustration's share card owns `<oc>-<keyword>`; publish as `<oc>-<keyword>-plate`. See [`references/publishing.md`](references/publishing.md).
## Files
```
<work>/
index.html # room, plate, keyword column, spec rows, detail, lightbox
style.css # violet aura, hairline frame, italic keyword, responsive stack
app.js # fills from content.js, lightbox
content.js # the only per-plate file
assets/vessel.webp assets/detail.webp
```
## Pitfalls
- **A face survives the mosaic.** Say "no continuous face" — not "the face is largely covered". This is the single most common failure; it needed a full re-render on the demo.
- **The body stands up.** Repeat the horizontal lock at both ends of the body paragraph.
- **Hands shrink.** Compare them to the torso, not to the frame.
- **Two words creep in.** One keyword; no subtitle, no name.
- **The detail crop shows background.** Crop the head band.
- **Plate overruns the fold.** Image rule is `min(72vh, 54vw)`.
## Demo
`Ciely` from *Sweet Nightmare Park*: a ball-jointed doll who keeps her soul in the doll she carries. Laid horizontal on deep violet, her frilled dress and the blonde doll running to the right, her head and blue twin tails replaced entirely by a field of pale-blue and pink blocks, a rose still readable among them; one palm pressing down, one lifting up; the word `VESSEL`. The first render kept a readable face under the mosaic and was re-rendered.