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.
orchestrate
Platformneta/orchestrate
Use it in Cohub
Paste this into your agent's chat — it fetches the skill and follows it.
Use the skill: orchestrate. Run `npx -y @neta-art/neta-search-cli@latest skills use neta/orchestrate --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 neta/orchestrate
Summary
Run work across several chats and worlds: hand off tasks, set reminders and repeats, check progress, and bring things over.
Start a new chat with a full brief, or send a message to an existing chat, so jobs run side by side.
Set a one-time reminder, a delayed task, or a repeat such as a morning recap every day at 9.
Ask what another chat has done and see what it was asked, what it answered, and whether it is still working.
Bring characters and other materials from one of your worlds into another, with their pictures coming along.
Checks with you first before setting up repeating tasks that change things, deleting files, or having chats message each other.
SKILL.md
# Orchestrate
Every command here is `node /mods/neta/neta <command>`, which runs `cohub <command>` with world ids accepted wherever a space goes; `--help` on any of them is the full flag list. Results print as tables; add `--json` when you need to read fields.
## Targets
- **This world and this chat** are the defaults: `COHUB_SPACE_ID` and `COHUB_SESSION_ID` are already set.
- **Another world**: add `-s <world>`. A world id looks like `world_01J…`; it is the segment after `/world/` in a Studio link the creator pastes. A path inside another world can also be written `<world>:<path>`.
- **Another chat**: its id comes from `spaces sessions ls` or from an earlier result; a chat in another world also needs that world's `-s`.
Read ids from those sources. When the creator names a world or chat you cannot resolve, ask for its link.
To the creator, a session is a **chat** and the container is a **world**; schedules are reminders or repeats. Keep ids and command names offstage.
## Start or message a chat
```bash
node /mods/neta/neta prompt --title "Poster variants" "Make three poster variants of …" # new chat
node /mods/neta/neta prompt --session <sessionId> "Also add a night version" # existing chat
node /mods/neta/neta prompt -s <world> --title "…" "…" # chat in another world
cat brief.md | node /mods/neta/neta prompt --title "…" # long brief from a file
```
A new chat starts with none of this conversation. Write the brief as a complete handover: the goal, the materials and works it should use by name, and what done looks like.
New and scheduled chats run on the platform default model unless you add `--model "$COHUB_MODEL_ID" --provider "$COHUB_MODEL_PROVIDER"`, which keeps the creator's model.
Useful flags: `--model` / `--provider`, `--read-only`, `--steer` (interrupt that chat's current turn), `--image <path|url>`, `--label <ref>`, `--env KEY=value`.
The result gives `sessionId` and `turnId`; the new chat appears in the creator's chat list on its own.
## Schedule
```bash
node /mods/neta/neta prompt --delay-ms 600000 "…" # in 10 minutes
node /mods/neta/neta prompt --at "2026-11-01T09:00:00+08:00" "…" # once
node /mods/neta/neta prompt --cron "0 9 * * *" --timezone Asia/Shanghai --title "Morning recap" "…" # repeat
```
- One of `--delay-ms`, `--at`, `--cron`; `--cron` needs `--timezone`. Use the creator's timezone.
- A scheduled prompt runs with no one watching, so its message must stand alone like a new-chat brief.
- Repeats: `cron-jobs ls|get|runs|update|toggle <id> on|off|delete`. One-off sends: `tasks ls --space <world> --status pending`, `tasks get <id>`.
## Read another chat
```bash
node /mods/neta/neta spaces sessions ls # chats in this world, with status
node /mods/neta/neta spaces turns ls --session <sessionId> # its turns: what was asked, what it answered
node /mods/neta/neta spaces turns ls --limit 20 # latest turns across all chats
node /mods/neta/neta spaces turns intermediate <sessionId> <turnId> # the steps inside one turn
```
`status` running means that chat is still working; check back with `spaces turns ls --session` before reporting its result. Add `--json` to `spaces turns intermediate` only when you need tool inputs and outputs.
## Another world's files and commands
```bash
node /mods/neta/neta -s <world> spaces files ls world/characters
node /mods/neta/neta spaces files cat <world>:world/WORLD.md
node /mods/neta/neta spaces files cp -r <world>:world/characters/Mira.md world/characters/
node /mods/neta/neta -s <world> run -- node /mods/neta/neta atom list
```
- Inside this world, your own file tools stay the way to read and edit.
- A material's images sit in its world's `world/media/studio/`. When you copy a material over, copy every file its `media` lists to the same relative place, or its cover is lost; create a missing target folder first with `-s <world> spaces files mkdir <dir>`.
- To change another world's materials, run that world's own CLI with `-s <world> run -- node /mods/neta/neta …`, or send that world a `prompt`, so its indexes and covers stay in step.
## Confirm first
Ask the creator before:
- creating a scheduled or repeating prompt that makes or changes things
- enabling, pausing, changing or deleting a repeat
- deleting files in any world
- sending a prompt that would make another chat send prompts in turn
Send to the current chat only when the creator asks; a chat prompting itself loops.