Board
alirezarezvani/claude-skills
Read, write, and browse the AgentHub message board for agent coordination.
Create, edit, animate, play back, and export Cohub Boards — a free-form JSON document of items, settings, and animations.
$ npx skills add netaart/cohub --skill cohub-board -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install netaart/cohub cohub-board --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-board .claude/skills/cohub-board && 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-board" agent skill from https://github.com/netaart/cohub/tree/main/skills/cohub-board into .claude/skills/cohub-board/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cohub-board", 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/cohub-boardType 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-board -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install netaart/cohub cohub-board --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-board .agents/skills/cohub-board && 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-board" agent skill from https://github.com/netaart/cohub/tree/main/skills/cohub-board into .agents/skills/cohub-board/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cohub-board", 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-board -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install netaart/cohub cohub-board --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-board .cursor/skills/cohub-board && 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-board" agent skill from https://github.com/netaart/cohub/tree/main/skills/cohub-board into .cursor/skills/cohub-board/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cohub-board", 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-board--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-board -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install netaart/cohub cohub-board --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-board .gemini/skills/cohub-board && 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-board" agent skill from https://github.com/netaart/cohub/tree/main/skills/cohub-board into .gemini/skills/cohub-board/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cohub-board", 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 cohub-boardInstalls 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-board -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-board .github/skills/cohub-board && 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-board" agent skill from https://github.com/netaart/cohub/tree/main/skills/cohub-board into .github/skills/cohub-board/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cohub-board", 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-board -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-board --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-board .opencode/skills/cohub-board && 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-board" agent skill from https://github.com/netaart/cohub/tree/main/skills/cohub-board into .opencode/skills/cohub-board/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cohub-board", 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.
cohub-boardCreate, edit, animate, play back, and export Cohub Boards — a free-form JSON document of items, settings, and animations.
Cohub Board is an agent skill from netaart/cohub. Create, edit, animate, play back, and export Cohub Boards — a free-form JSON document of items, settings, and animations. Use for any Board authoring task.
Its SKILL.md is about 1.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 eee4291. 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 Board loads about 1.8k tokens when it runs. Until then it costs about 42 tokens; SKILL.md has 667 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 eee4291, republished under its Apache-2.0 licence (© netaart). 667 words, ~1,821 tokens.
.claude/skills/cohub-board/SKILL.md (or your agent's skills folder).A Board is one JSON document: board settings, an items map, and an
animations map. Authoring is writing that JSON — apply merges a patch of the
same shape into the document and lands it as one version. Anything the desktop
editor can express, a patch can express.
{"board":{"background":{"kind":"grid"}},
"items":{
"title":{"type":"text","position":{"x":80,"y":60},"props":{"text":"Plan","fontSize":48}},
"hero":{"type":"shape","position":{"x":80,"y":160},"size":{"width":240,"height":120},"props":{"geometry":"rounded","text":"Ship"}}},
"animations":{
"intro":{"duration":1200,"tracks":{
"title-in":{"target":"title","property":"opacity","keyframes":[{"at":0,"value":0},{"at":600,"value":1}]}}}}}items and animations are objects keyed by id, not arrays — you name every item
you write. A patch has the same shape as the document, so apply only touches the
ids it mentions.
Use the Cohub CLI; it targets the current Space by default (-s <spaceId> only for
another Space). Add --json when chaining commands. Requires CLI 9.1.0+ — if Board
subcommands are missing, run npm install -g @neta-art/cohub-cli.
Every command takes a Board ID or a .board path. Read with get, write with
apply — fields merge, arrays replace, null deletes, anything unmentioned stays.
cohub boards get <board> --only board # settings only
cohub boards get <board> --within s1 # frame s1 and its children
cohub boards get <board> --rect 0,0,1600,900 # a region
cohub boards apply <board> '{"items":{"title":{"props":{"text":"New title"}}}}'
cohub boards apply <board> -i patch.json --dry-run # validate, then drop --dry-run
cohub boards apply <board> -i - # patch from stdin--replace makes the document equal to the patch instead of merging.--cascade also deletes children and the tracks targeting a deleted item;
arrows bound to a deleted item keep their place and fall back to a point.--base-version <n> fails on conflict instead of merging; --mutation-id makes
a retry idempotent. Without --base-version a conflict is rebased once and retried.schema answers field questions without guessing — it is the source of truth:
cohub boards schema # units, item types, colors, every animatable property
cohub boards schema shape # one item type; also arrow, text, effect, frame, …
cohub boards schema track # a track: target, property, keyframes, composite, interpolationAn item is placed by position / size, colored by style, and described by
props:
{"id":"hero","type":"shape","position":{"x":120,"y":160},"size":{"width":280,"height":140},
"props":{"geometry":"rounded","text":"Ship"},"style":{"fill":"green","fillOpacity":0.12}}type: frame | text | shape | draw | arrow | image | video | audio | file | task | effect | sketchframe items can be parents; position is relative to parent.cohub boards schema lists them), any CSS
color, or { "light": …, "dark": … }.Geometry follows the item type; draw and arrow carry no position / size:
| Item | Geometry |
|---|---|
text shape frame image video audio file task effect | position + size; per-type defaults — omit what you don't mean to set |
draw | points are world-space; the frame follows the stroke |
arrow | start / end are world-space; the frame covers the bend curve |
Media items (image, video, audio, file) reference a Space file by src; a
src that is missing or not a relative Space path keeps the item as legacy.<type>
instead of rendering it.
board sits alongside items — background, grid, and the entry motion. The rest
of the fields and their values are in cohub boards schema board:
{"board":{"background":{"kind":"grid"},"grid":{"visible":true,"size":24},
"enter":{"preset":"deal","duration":600}}}background.kind is solid, dots, grid, or image.
An animation is one timeline in the animations map: an optional duration
plus tracks, each driving one property of one target by JSON path (position,
opacity, style.fill, props.text, …). The header fields are duration,
play (manual, auto, always), end (hold or reset), delay, loop
and markers — the full shapes are in cohub boards schema animation.
Tracks are just JSON, so write them directly; preset only saves keystrokes. With
--animation it prints an apply-ready patch; without it, bare tracks to fold into
an animation of your own.
cohub boards preset rise --targets a,b,c --animation intro --stagger 120ms | cohub boards apply <board> -i -
cohub boards preset float --targets ship > idle-tracks.json # bare tracks, no animation wrapperPresets are named in cohub boards preset -h. A camera is just another target and
drives focus, zoom, center or shake.
A file is created at the path you pass; the document is optional. Examples are
valid patches, so the same file works with boards apply.
cohub boards examples # basic, workflow, slides, lesson, sketch
cohub boards examples workflow > seed.json
cohub boards create boards/plan.board --title "Plan" -i seed.jsonOpen the Board first so the user watches it build, then stage the content in visible steps — one patch per beat:
cohub desktop open file://boards/plan.board
cohub boards apply <board> -i beat.jsonPlayback moves every viewer together; a marker with pause: true holds until next:
cohub boards play <board> <animation> --at 2.5s
cohub boards pause <board>
cohub boards resume <board>
cohub boards stop <board>
cohub boards seek <board> 12.5s
cohub boards watch <board> # stream changes and playback while you workUsers view the Board file itself; render an image only to self-check your edits or
to share a snapshot. -o picks the format; a --at range with %d writes a frame
sequence, and a video extension writes a video (--help lists the rest).
cohub boards export <board> -o /tmp/board.png
cohub boards export <board> --items a,b -o /tmp/part.png # or --frame <id>, --rect x,y,w,h
cohub boards export <board> --animation intro --at 0:10s:500ms -o /tmp/frame-%d.pngcohub boards history <board> # recent versions
cohub boards history <board> --restore 12 # return to a version, as a new write--dry-run costs nothing.export refuses to overwrite without --force; never force onto an unknown path.© 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-board of netaart/cohub.
Open the folder on GitHubat commit eee4291
Cohub Board 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 Board this skillnetaart/cohub | 572 | — | ~1.8k | Automated safety check: Pass | Apache-2.0 | |
| Boardalirezarezvani/claude-skills | 28k | — | ~610 | Automated safety check: Pass | MIT | |
| Animejs Animationsickn33/agentic-awesome-skills | 47k | 2 repos | ~681 | Automated safety check: Pass | MIT | |
| HyperFrames Animationheygen-com/hyperframes | 60k | 3 repos | ~2.1k | Automated safety check: Pass | Apache-2.0 | |
| SVG Character Animationcalesthio/OpenMontage | 66k | — | ~421 | Automated safety check: Pass | MIT | |
| Video Template Frame Play Modenexu-io/open-design | 100k | — | ~307 | Automated safety check: Pass | Apache-2.0 |
alirezarezvani/claude-skills
Read, write, and browse the AgentHub message board for agent coordination.
sickn33/agentic-awesome-skills
Advanced JavaScript animation library skill for creating complex, high-performance web animations.
heygen-com/hyperframes
Collects motion rules, scene blueprints, transitions and runtime adapters for HyperFrames video compositions, with GSAP as the default animation runtime.
calesthio/OpenMontage
Animate SVG character rigs with GSAP, CSS transforms, Remotion frame control, and HyperFrames-compatible browser previews.
nexu-io/open-design
Use this plugin when the user wants a "Play Mode" HyperFrames motion video — Playful elastic animations
github/awesome-copilot
A skill your agent uses whenever the user wants to build scroll animations, scroll effects, parallax, scroll-triggered reveals, pinned sections, horizontal scroll, text animations, or any motion…
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.
Create, edit, animate, play back, and export Cohub Boards — a free-form JSON document of items, settings, and animations. Cohub Board is an agent skill from netaart/cohub. Create, edit, animate, play back, and export Cohub Boards — a free-form JSON document of items, settings, and animations.
Cohub Board fits situations like: any Board authoring task.
Run `npx skills add netaart/cohub --skill cohub-board -a claude-code`. Or copy the skill folder (skills/cohub-board in netaart/cohub) into .claude/skills/cohub-board in your project. Claude Code loads it when a task matches its description.
Run `npx skills add netaart/cohub --skill cohub-board -a codex`. Or copy the skill folder (skills/cohub-board in netaart/cohub) into .agents/skills/cohub-board 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-board -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-board, .gemini/skills/cohub-board, .github/skills/cohub-board and .opencode/skills/cohub-board in your project.
Going by SKILL.md and its folder, Cohub Board 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 Board 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 1.8k tokens (SKILL.md is roughly 7.3k 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 Board: Board (alirezarezvani/claude-skills, 28k stars), Animejs Animation (sickn33/agentic-awesome-skills, 47k stars), HyperFrames Animation (heygen-com/hyperframes, 60k stars) and SVG Character Animation (calesthio/OpenMontage, 66k 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 572 GitHub stars. The repository holds 30 skills in this directory. The repository was last updated on October 10, 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.