Rowboat Spaces Team Chat
rowboatlabs/rowboat
Sets the rules for an agent working inside Rowboat Spaces: reply in the thread you were asked in, mention people and agents correctly and hand off work without loops.
Work with Cohub spaces, chats, files, saves, labels, search, tasks, scheduled prompts, and cross-space run.
$ npx skills add netaart/cohub --skill cohub -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install netaart/cohub cohub --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/netaart/cohub.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/cohub .claude/skills/cohub && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "cohub" agent skill from https://github.com/netaart/cohub/tree/main/skills/cohub into .claude/skills/cohub/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cohub", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/netaart/cohub/tree/main/skills/cohubType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add netaart/cohub --skill cohub -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install netaart/cohub cohub --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/netaart/cohub.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/cohub .agents/skills/cohub && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "cohub" agent skill from https://github.com/netaart/cohub/tree/main/skills/cohub into .agents/skills/cohub/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cohub", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add netaart/cohub --skill cohub -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install netaart/cohub cohub --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/netaart/cohub.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/cohub .cursor/skills/cohub && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "cohub" agent skill from https://github.com/netaart/cohub/tree/main/skills/cohub into .cursor/skills/cohub/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cohub", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/netaart/cohub.git --path skills/cohub--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add netaart/cohub --skill cohub -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install netaart/cohub cohub --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/netaart/cohub.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/cohub .gemini/skills/cohub && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "cohub" agent skill from https://github.com/netaart/cohub/tree/main/skills/cohub into .gemini/skills/cohub/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cohub", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install netaart/cohub cohubInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add netaart/cohub --skill cohub -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/netaart/cohub.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/cohub .github/skills/cohub && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "cohub" agent skill from https://github.com/netaart/cohub/tree/main/skills/cohub into .github/skills/cohub/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cohub", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add netaart/cohub --skill cohub -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install netaart/cohub cohub --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/netaart/cohub.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/cohub .opencode/skills/cohub && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "cohub" agent skill from https://github.com/netaart/cohub/tree/main/skills/cohub into .opencode/skills/cohub/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cohub", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
cohubWork with Cohub spaces, chats, files, saves, labels, search, tasks, scheduled prompts, and cross-space run.
Cohub is an agent skill from netaart/cohub. Work with Cohub spaces, chats, files, saves, labels, search, tasks, scheduled prompts, and cross-space run.
Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: A living space where people and agents create, play, and build together. The licence is Apache-2.0.
Read from SKILL.md and the folder at commit 1a4b7c1. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npmFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Cohub loads about 2.8k tokens when it runs. Until then it costs about 28 tokens; SKILL.md has 738 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from netaart/cohub at commit 1a4b7c1, republished under its Apache-2.0 licence (© netaart). 738 words, ~2,755 tokens.
.claude/skills/cohub/SKILL.md (or your agent's skills folder).Use the Cohub CLI for platform operations, and use file tools for normal file work.
Prefer simple, explicit commands. Use --json when reading output for decisions, extracting IDs, or chaining commands.
Most commands can target the current Cohub sandbox context. If a command needs a target Space, add -s "$COHUB_SPACE_ID" or an explicit Space ID.
For command details, use -h:
cohub -h
cohub spaces -h
cohub spaces prompt -hnpm install -g @neta-art/cohub-cli
cohub --help| Product UI | CLI / API |
|---|---|
| Chat | Session |
| Save | Checkpoint |
| Tasks | Task runs |
| Scheduled prompt | spaces prompt schedule |
| Recurring scheduled prompt | Cron job |
When talking to users, prefer product UI terms: Chat, Save, Tasks, and Scheduled prompt.
Use spaces prompt for sends and schedules. Use tasks and cron-jobs for inspection and management.
COHUB_SPACE_ID
COHUB_SESSION_IDUse them as defaults when the user has not specified a target.
env | grep '^COHUB_'Do not guess IDs. If no target is available and the command cannot infer context, ask the user.
Use spaces prompt for all sends: immediate, delayed, one-time scheduled, recurring scheduled, new Chat, or existing Chat. Target another Space with -s <spaceId>.
cohub spaces prompt "message"
cohub -s <spaceId> spaces prompt "message"
cat prompt.md | cohub spaces prompt
cohub spaces prompt --session <sessionId> "message"
cohub spaces prompt --title "<chat title>" "message"
cohub spaces prompt --model <model> --provider <provider> "message"List LLM models with cohub models ls. For multimodal generation, use the cohub-generate skill.
Useful options:
cohub spaces prompt --read-only "message"
cohub spaces prompt --steer "message"
cohub spaces prompt --label Bug --label Area/Frontend "message"
cohub spaces prompt --image ./shot.png "message"
cohub spaces prompt --env KEY=value "message"Schedule:
cohub spaces prompt --delay-ms 600000 "message"
cohub spaces prompt --at "2026-05-12T09:00:00+08:00" "message"
cohub spaces prompt \
--cron "0 9 * * 1-5" \
--timezone "Asia/Shanghai" \
--title "Daily reminder" \
"message"Scheduling rules:
--delay-ms, --at, or --cron.--cron requires --timezone.cohub spaces prompt -hTarget another Space with -s <spaceId>.
cohub spaces sessions ls
cohub -s <spaceId> spaces sessions ls
cohub spaces sessions create "<title>"
cohub spaces sessions get <sessionId>
cohub spaces sessions files <sessionId> # Space files the Chat changed
cohub spaces sessions rename <sessionId> "<new title>"Inspect turns:
cohub spaces sessions turns ls <sessionId>
cohub spaces sessions turns get <sessionId> <turnId>Send to a Chat with spaces prompt --session <sessionId>.
cohub spaces sessions -hPrefer file tools for normal inspection and edits. For cross-space work, prefer file tools with space_id when supported; otherwise use CLI with -s <spaceId>.
Use CLI file commands when tools are unavailable, or for platform-side upload, copy, move, rename, delete, or diff.
To copy files, use spaces files cp; it works like scp. Inside a sandbox, bare paths are the current Space, <space>:<path> is another Space, and absolute paths outside /workspace (such as /tmp) are local. Copies between Spaces never leave Cohub storage. Never copy by reading content and writing it back.
cohub spaces files ls [path]
cohub -s <spaceId> spaces files ls [path]
cohub spaces files cat <path>
cohub spaces files cat <path> > <local-file>
cohub spaces files write <path> -c "<content>"
# cp: the last path is the destination; <space>:<path> names another Space (id, username/slug, or own slug).
cohub spaces files cp <source>... <destination>
cohub spaces files cp -r <spaceId>:<dir> <destination>
cohub spaces files cp /tmp/chart.png assets/
# Upload lands FILE(s) under --dir; a DIR contributes its contents (no extra level).
cohub spaces files upload <files...> --dir <dir>
cohub spaces files mkdir <path>
cohub spaces files mv <from> <to>
cohub spaces files rm <path>
cohub spaces files rm -r <path>
cohub spaces files diff
cohub spaces files diff <path>Confirm before deleting files or directories.
cohub spaces files -hA Space's machine can share a screen: the user's phone or computer, or a virtual screen in the sandbox. Prefer elements over pixels where ls lists tree: refs name exactly one element, and one that changed since is refused. Coordinates are pixels of your latest capture.
cohub spaces displays ls # abilities; "Virtual screen: available" means `start` works
cohub spaces displays start # virtual screen; GUI programs started afterwards draw on it
cohub spaces displays capture -o /tmp/screen.jpg # then `read` the image
cohub spaces displays tree # e3.12 button "Send" (980,2210 120x80)
cohub spaces displays tap e3.12 --screenshot /tmp/after.jpg
cohub spaces displays type "hello" --into e3.4 # replaces the field's text
cohub spaces displays tap <x> <y> # --count 2 double-clicks, --button secondary right-clicks
cohub spaces displays swipe <x1> <y1> <x2> <y2>
cohub spaces displays type "<text>" # into the focused field
cohub spaces displays key Control+a # shortcuts need a desktop
cohub spaces displays press back # system buttons a phone listsLook before acting and after each step (--screenshot, or a new tree; refs to an element that moved or changed are refused). If nothing is shared, ask the user to share their phone from its Runtime menu or their computer with cohub runtime up --display, or start a virtual screen yourself when one is available. If a display needs a permission, tell the user which one to grant.
A labelRef may be nested, e.g. Bug or Area/Frontend.
Resource types: session, checkpoint, file.
cohub spaces labels ls
cohub spaces labels create <labelRef>
cohub spaces labels items <labelRef>
cohub spaces labels attach <labelRef> <resourceType> <resourceRef>
cohub spaces labels detach <labelRef> <resourceType> <resourceRef>
cohub spaces labels set <resourceType> <resourceRef> [labelRefs...]
cohub spaces labels patch <resourceType> <resourceRef> --add a,b --remove cWhen sending, attach labels with spaces prompt --label <ref>.
cohub spaces labels -hcohub spaces checkpoints ls
cohub spaces checkpoints get <checkpointId>
cohub spaces checkpoints create "<description>"
cohub spaces checkpoints diff <checkpointId>
cohub spaces checkpoints ls-tree <checkpointId> [path]
cohub spaces checkpoints show <checkpointId> <path>Create a Save after meaningful milestones or when the user asks to save progress.
cohub spaces checkpoints -hThe product UI shows Tasks. In the CLI, these are task runs.
cohub tasks ls --space "$COHUB_SPACE_ID"
cohub tasks get <taskRunId>Do not create scheduled sends through task commands. Use spaces prompt scheduling flags instead.
cohub tasks -hCreate with spaces prompt scheduling flags. Manage recurring ones with cron-jobs:
cohub cron-jobs ls "$COHUB_SPACE_ID"
cohub cron-jobs get <cronJobId>
cohub cron-jobs runs <cronJobId>
cohub cron-jobs update <cronJobId>
cohub cron-jobs toggle <cronJobId> on
cohub cron-jobs toggle <cronJobId> off
cohub cron-jobs delete <cronJobId>Confirm before enabling, disabling, updating, or deleting recurring scheduled prompts.
cohub cron-jobs -hApps publish files, directory sites, or sandbox ports as shareable public pages. For publishing and sharing, use the cohub-apps skill.
For Apps with stronger capabilities (Cohub agent, generation, etc.), use the @neta-art/cohub SDK — install a fresh copy and read its README before writing any SDK code.
Discover existing Apps and resolve App mentions or public links:
cohub apps ls
cohub apps get <appId|url|username/space/app>
cohub apps get cohub://apps/<username>/<spaceSlug>/<appSlug> --jsonDownload a published file or directory App before inspecting it with file tools:
cohub apps download <appId|url|mentionUri> --output <path> --jsonHTML files with companion assets download as directory bundles. Board and port Apps are not downloadable; open their public URL with browser tooling when rendered inspection is needed.
cohub apps -hUse Cohub search for product-level discovery. Use file tools for workspace file search.
cohub search "query"
cohub search "query" --space-id <spaceId>
cohub search "query" --types chat,space
cohub search --types label --label-ref BugRun a one-off shell command in a Space workspace:
cohub -s <spaceId> run -- git status
cohub -s <spaceId> run --command "pnpm test"cohub spaces ls
cohub spaces get <spaceId>
cohub spaces create --name "<name>" --description "<description>"
cohub spaces create --name "<name>" --checkpoint <checkpointId>
cohub spaces rename <spaceId> "<new name>"
cohub spaces update <spaceId> --slug <space-slug>
cohub spaces avatar <path>
cohub spaces config <spaceId>cohub spaces -h
cohub spaces config -hcohub profile avatar <path>env | grep '^COHUB_'
cohub spaces get "$COHUB_SPACE_ID"
cohub spaces sessions ls
cohub spaces files diffcohub spaces prompt --title "<chat title>" "<message>"cohub spaces files diff
cohub spaces checkpoints create "<description>"cohub -s <spaceId> run -- git statusLess common management — use -h for details:
cohub spaces members -h
cohub spaces access -h
cohub spaces sessions access -h
cohub spaces mods -h
cohub spaces commerce -h
cohub spaces usage -h
cohub references -h
cohub me -h
cohub channels -h
cohub auth -h
cohub runtime -hConfirm before:
© netaart, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/cohub of netaart/cohub.
Open the folder on GitHubat commit 1a4b7c1
Cohub next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Cohub this skillnetaart/cohub | 570 | — | ~2.8k | Automated safety check: Pass | Apache-2.0 | |
| Rowboat Spaces Team Chatrowboatlabs/rowboat | 18k | — | ~846 | Automated safety check: Pass | Apache-2.0 | |
| Deepseek Chatruvnet/ruflo | 74k | — | ~564 | Automated safety check: Notes | MIT | |
| Chat SDK Botslobehub/lobehub | 83k | — | ~1.5k | Automated safety check: Pass | Custom licence | |
| Chat Formatruvnet/ruflo | 74k | 1 repos | ~362 | Automated safety check: Notes | MIT | |
| Form Labelsthedaviddias/Front-End-Checklist | 74k | — | ~565 | Automated safety check: Pass | MIT |
rowboatlabs/rowboat
Sets the rules for an agent working inside Rowboat Spaces: reply in the thread you were asked in, mention people and agents correctly and hand off work without loops.
ruvnet/ruflo
One-shot chat completion against DeepSeek's deepseek-chat model via the OpenAI-compatible /v1/chat/completions endpoint.
lobehub/lobehub
Builds chat bots once for Slack, Teams, Google Chat, Discord, GitHub and Linear with the Chat SDK, covering event handlers, cards, modals, streaming and state adapters.
ruvnet/ruflo
Format prompts for different LLM providers with chat templates and HNSW-powered context retrieval
thedaviddias/Front-End-Checklist
A skill your agent uses when reviewing rendered HTML, interactive components, or design-system patterns related to Associate labels with form controls.
asgeirtj/system_prompts_leaks
Reconcile new evidence into existing ChatGPT Pages or a Space when the user requests upkeep.
netaart/cohub
A skill your agent uses when loading and managing resources in PixiJS v8.
netaart/cohub
A skill your agent uses when reasoning about the PixiJS v8 scene graph as a whole: how containers, leaves, transforms, and render order fit together.
netaart/cohub
A skill your agent uses when rendering custom geometry in PixiJS v8.
netaart/cohub
A skill your agent uses when drawing images in PixiJS v8. An agent skill from netaart/cohub.
netaart/cohub
A skill your agent uses when rendering text in PixiJS v8. An agent skill from netaart/cohub.
netaart/cohub
A skill your agent uses when understanding how PixiJS v8 renders frames: the systems-and-pipes renderer, the render loop, and how the library adapts to different environments.
Work with Cohub spaces, chats, files, saves, labels, search, tasks, scheduled prompts, and cross-space run. Cohub is an agent skill from netaart/cohub. Work with Cohub spaces, chats, files, saves, labels, search, tasks, scheduled prompts, and cross-space run.
Run `npx skills add netaart/cohub --skill cohub -a claude-code`. Or copy the skill folder (skills/cohub in netaart/cohub) into .claude/skills/cohub in your project. Claude Code loads it when a task matches its description.
Run `npx skills add netaart/cohub --skill cohub -a codex`. Or copy the skill folder (skills/cohub in netaart/cohub) into .agents/skills/cohub in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add netaart/cohub --skill cohub -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cohub, .gemini/skills/cohub, .github/skills/cohub and .opencode/skills/cohub in your project.
Going by SKILL.md and its folder, Cohub needs the command-line tools its instructions call (npm). Our summary lists: Node.js.
SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Cohub is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Cohub: Rowboat Spaces Team Chat (rowboatlabs/rowboat, 18k stars), Deepseek Chat (ruvnet/ruflo, 74k stars), Chat SDK Bots (lobehub/lobehub, 83k stars) and Chat Format (ruvnet/ruflo, 74k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
netaart (a GitHub organization) maintains it in netaart/cohub, which has 570 GitHub stars. The repository holds 29 skills in this directory. The repository was last updated on October 8, 2026.
Source: netaart/cohub on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.