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.
side-scroll-scene
Officialneta-search/side-scroll-scene
Use it in Cohub
Paste this into your agent's chat — it fetches the skill and follows it.
Use the skill: side-scroll-scene. Run `npx -y @neta-art/neta-search-cli@latest skills use neta-search/side-scroll-scene --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 neta-search/side-scroll-scene
Summary
Turn one place in your world into a scrollable game background with walking depth.
Pick a place you've built, and it becomes a side-scrolling background you can scroll through with arrow keys or drag.
The background splits into layers (far sky or back wall, distant layer, middle layer, ground) that scroll at different speeds for a sense of depth.
If you already made a character that walks, it can walk across the ground, controlled with arrow keys and run with Shift.
You also get a ready-to-use file pack with the separate layer images and scroll settings for Godot, Unity, or Phaser.
Works best for places with a clear foreground, middle, and background, like a street, forest, or corridor, not maps or single illustrations.
SKILL.md
# Side-scroll scene
One place, four parallax layers from **one** generated image (≈30 s), each one repeating left-right without a seam:
`sky` (opaque: sky, or the back wall indoors), `far`, `mid`, `near` (the ground the player walks on).
1. **A playable page (web Work)** — the hand-over card: full-screen parallax, ← → or drag to scroll, it drifts
when left alone. With `--actor`, a character this world already has a walking page for (side-sprite-actions,
or a four-legged side-sprite-creatures page) walks the ground: ← → walks, Shift runs.
2. **The layer pack** (`assets.zip`, also on the page): `sky.png far.png mid.png near.png` (480 px tall, transparent
except sky), `scene.json` (scroll speeds, walk line), `preview.png`, `README.txt` (Godot / Unity / Phaser).
## 0. Settle the place (no generation before this)
- **Which place** — named or described. A place in this world counts: `node /mods/neta/neta atom list --type
location --query <name>` (try the user's wording and the original name), `atom get <id>` for what it looks like.
Nothing said ("make a level background") → **stop and ask** in one short round: 3–5 of this world's places plus a
write-in (`questionnaire` skill if available). Never pick it yourself.
- **Style** — the user's, else the world's `visualStyle` (`neta config get`). "Pixel art / 像素" → `--pixel`.
- **A character to walk it?** Only if the user asks for one, or names a character that already has a page:
`ls -d works/webs/*-actions works/web/*-actions 2>/dev/null`, its `viewer.json` must have `walk` or `run` and no
`mode` other than `ground`. Never make a character here — that is `side-sprite-actions` / `side-sprite-creatures`
(offer it as a next step). **If the user named a character but its page has no `walk` / `run`, or there is no page,
build the scene without one and say so plainly in the reply**, offering to add a walk to that character first.
- Top-down / RPG maps, world maps, a single picture → not this skill.
## 1. Three commands
```bash
SK=<skill-dir> # the folder this SKILL.md is in (what `skills use` printed) — never /mods/… or .agents/skills/…
cd /workspace
node /mods/neta/neta work init web works/web/<place-slug>-scene --title "<place> · 横版场景"
REF=<data.workDir it printed> # may be normalized to works/webs/…
bash "$SK/scripts/scene.sh" "$REF" \
--place "<one concrete sentence: the place, what stands in the distance, what is in the middle, what the ground is>" \
--style "<one sentence>" [--pixel]
bash "$SK/scripts/make-scene-page.sh" "$REF" --title "<place> · 横版场景" \
--subtitle "<style · 4 parallax layers>" --lang zh [--actor works/webs/<character>-actions]
node /mods/neta/neta work publish web "$REF" --thumbnail-wait 4000
```
- `scene.sh` must end with `[scene] ok`. It generates (retries once if the model returns nothing), splits the
layers, cuts each one where it repeats and writes `$REF/layers/` + `scene.json`. **Don't open the layers to check
them**; judge by the printed lines. Indoors (a hall, a corridor, a cave) works the same: the `sky` layer is the back wall.
- `make-scene-page.sh`: title / subtitle in the user's language; `--lang` = that language (zh en ja es pt ru).
Must print `[scene-page] ok`. Don't edit `index.html`; leave `meta.json` to the CLI.
- `world_slug_required` on publish → follow the printed hint (slug from the world's name), retry once.
## 2. Hand over
Reply in the user's language via the `interaction-components` skill, each card a full `<interaction-json>` link
block on its own line:
1. The page: `{"type": "work", "workId": "<preview.workId from $REF/meta.json>"}` — never a made-up id, never a
`studio-route` with a world id from `.neta/runtime.json`.
2. The pack: `{"type": "world-file", "path": "$REF/assets.zip"}`.
In two or three lines: the place, four layers that each repeat without a seam, the scroll speeds and walk line are
in `scene.json` / `README.txt`; if there was no character, offer to make one (side-sprite-actions) to walk it.
The generated image also stays in the world as an image Work (source material).
## Don't
- Pick the place, or generate before it is settled.
- Generate one image per layer — one image holds all four.
- Write your own prompt, slicing, tiling or packing script — `scene.sh` and `make-scene-page.sh` are the pipeline.
- Use another image model, or run generation from inside `/tmp` or a sub-folder.