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.
pixel-paperdoll-walk
Community@xinsong854/pixel-paperdoll-walk
Community skill — not reviewed. It was shared by 安诺涅 and has not been checked by Neta. Read SKILL.md below before letting an agent use it.
Use it in Cohub
Paste this into your agent's chat — it fetches the skill and follows it.
Use the skill: pixel-paperdoll-walk. Run `npx -y @neta-art/neta-search-cli@latest skills use @xinsong854/pixel-paperdoll-walk --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.
Install from a terminal
npx -y @neta-art/neta-search-cli@latest skills use @xinsong854/pixel-paperdoll-walk
Summary
A pixel dress-up wardrobe where any outfit mix walks in four directions with no see-through gaps.
Pick a character and get a playable dress-up page with hair, top, bottom, shoes and hat by default, or the slots you choose.
Mix, take off and recolor each piece separately: change hue, saturation and brightness per piece, then reset to the original colors.
Watch your doll walk down, left, right and up on a scrolling ground strip, and step through the walk frame by frame.
A check button marks any tiny sealed gap in magenta, so you can see that nothing shows through.
Works best with a character that has a clear palette and look, or with pixel art you already have.
SKILL.md
# Pixel Paperdoll Walk
A pixel wardrobe with one law: **every part is a complete layer on the bare base body** — take anything off and you see skin or the layer beneath, never a hole. Mix, strip, recolor (HSL dye per part), then walk the doll through all four directions × four frames with the same guarantee, verified by a hole-detection QA that paints any sealed pinhole magenta.
Read this file fully before generating anything or writing files. Resolve relative paths from this skill's directory.
## Language
Reply in the user's language, whatever language this file is in. This holds for every message of the run, above all the final handover; translate what the scripts print, don't paste it. Text the user sees in the deliverable — Work title, page title, buttons, part names — follows the user's language; text the user typed stays as they wrote it.
## When to use / when not
Use when the user wants dress-up/doll mixing with **walkable** results — pixel wardrobe, sprite outfit system, "make sure nothing shows through".
Not for 8-direction walk cycles of a single fixed character (eight-direction-walk / sprite sheet builders — those animate one look; this skill's product is the *mixing wardrobe* whose every mix walks clean), not for non-pixel outfits, not for full character generators with face sliders. Say what this skill makes and stop.
## Inputs
| Item | Required | Counts as given when |
|---|---|---|
| Character | yes | the user names a character (their palette/look seeds the parts) or provides pixel art / a parts sheet |
| Parts source | no — default drawn this run | existing sheets the user points at; or generated via the skill's gen script; or drawn procedurally |
| Part slots | no — default 5 (hair, top, bottom, shoes, hat) | the user lists slots; a suit counts as one part that *replaces the base* |
If no character and no art: ask once, then stop. Otherwise build through to delivery.
## How it works (what the agent must keep)
- **The whole-part law** (`references/layering.md`): every part — shirt, trousers, boots — is painted *complete* over the whole bare body region it covers, on the shared base silhouette, in the same 4-direction views. Layers composite top-down; removal reveals the layer (or base body) below. A "suit" is one whole doll view that stands in for base+everything.
- **Same canvas, one coordinate frame**: base and all parts live in one WxH frame per view (reference: 64×86 per view, 4 views: down/left/right/up; right = mirrored left), one walk sheet = 4 rows × 4 frames, bob offsets per frame.
- **Hole sealing** (`references/layering.md` §seal): after compositing, find enclosed transparent regions; pinholes (≤ ~24 px) are flood-filled from their boundary's nearest opaque color with edge-noise so they read as cloth, **larger openings are a data bug** — fix the part, never paint over. The QA button marks sealed pixels magenta instead of filling, so the creator can see them.
- **Dye**: per-part HSL shift (hue −180…180, sat, light) applied only to that part's pixels in the composite; reset restores authored colors.
- **Walk demo**: a small scrolling ground strip with the doll walking in the chosen look, direction switcher, frame-by-frame scrubber — the proof the wardrobe works.
## Steps
1. Collect the character look: material/palette from the world, or the user's pixel art. → `$RUN/brief.md`
2. Author the parts: `$RUN/parts.json` (slots, part ids, source sheet or procedural spec per view). Run `node scripts/parts-check.mjs $RUN/parts.json` — validates slots, 4 views per part, frame counts. Exit non-zero on failure.
3. Part art: draw procedurally, or generate via `node scripts/gen.mjs --kind image --state $RUN/gen.json --prompt "<per-part brief, shared palette>" --work-title "<parts title>"` (one batch; rerun while `busy`). Any generated sheet must pass the hole check before use.
4. Build the Work from `templates/` into `$RUN/site/`: mirror, wardrobe grid, dye panel, walk demo, QA toggle.
5. Check: `node scripts/check.mjs $RUN/site --run` — runs the compositor in Node on every slot combination sample and reports max hole count (must be 0 after sealing, sealing rate per part reasonable); writes `$RUN/qa.json`.
6. Register and publish: see Deliver.
`$RUN` = `_runs/pixel-paperdoll-walk/<timestamp>/`. Never move the run folder afterwards.
## Deliver
A **web Work**.
- `node /mods/neta/neta work init web works/webs/<slug> --title "<title in the user's language>"` → build → `node /mods/neta/neta work publish web works/webs/<slug> --title "<same>"`.
- Core content to verify before handover: every part equippable and removable; four directions walk without flashes; the QA toggle shows magenta-only pinholes (no big magenta blobs); dye resets.
Then, as the last step:
7. **Hand over with a card.** One `interaction-components` link card on its own line, target `{ "type": "work", "workId": "<id>" }`, the id from the publish output (fallback: `cohubWorkId` in `works/webs/<slug>/meta.json`). Then one or two lines: the part count and the no-hole guarantee.
## Out of scope
- Do not change world settings or delete files that existed before the run.
- Do not modify memory, character cards, installed scripts, existing Works or roleplays.
- One character's wardrobe per run; no face editing, no body sliders, no export of standalone sprite sheets beyond the demo (that is sprite-sheet tooling).
## When to stop
- Neither character nor art given: ask once, then stop.
- The user's existing parts art fails the hole check with large openings: report which parts, offer to fix or redraw; do not silently paint over.
## Gotchas
- Mirrored views: composite in the *canonical* frame and mirror at draw time, or dye and sealing drift between left/right.
- `image-rendering: pixelated` on every canvas; one smooth-scaled canvas ruins the set.
- Bob offsets belong to the walk renderer, not baked into frames — idle shares frame 0.
- The pinhole threshold matters: too high hides real gaps (a missing leg slice), too low fills intentional design holes (mesh stockings get plugged — make intentional transparency a part flag).
- Sealing runs on the *composited* result, never on the stored part art — stored art stays honest.
- Dye shift in HSL wraps hue at 180 → −180; clamp per part or gray→hue shifts go psychedelic.
- Sample all combinations, not just pairs: a three-layer overlap is where holes breed. Full Cartesian if parts ≤ 20 per slot, else stratified sample ≥ 200 combos.