Agent skill

Cohub Board

by netaart in netaart/cohub

Create, edit, animate, play back, and export Cohub Boards — a free-form JSON document of items, settings, and animations.

Apache-2.0Auto-check passed

Install Cohub Board

skills CLI
$ npx skills add netaart/cohub --skill cohub-board -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install netaart/cohub cohub-board --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ 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-src

Use ~/.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/

Facts

Skill name
cohub-board
GitHub stars
572
Token cost
~1.8k tokens
SKILL.md length
667 words
Files
1
Skills in repo
30
Repo updated
First seen
Licence
Apache-2.0

At a glance

Create, edit, animate, play back, and export Cohub Boards — a free-form JSON document of items, settings, and animations.

  • Any Board authoring task
  • SKILL.md covers Read, write, verify, Items, Board settings and Animation, plus 5 more sections
  • Calls npm

What it does

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.

When your agent uses it

  • Any Board authoring task

Example prompts

  • “/cohub-board”

Requirements

  • Node.js

What it can do on your machine

Read from SKILL.md and the folder at commit eee4291. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    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.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

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.

Always · name and description, kept in context so the agent knows when to use it
~42
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from netaart/cohub at commit eee4291, republished under its Apache-2.0 licence (© netaart). 667 words, ~1,821 tokens.

Download SKILL.mdSave it as .claude/skills/cohub-board/SKILL.md (or your agent's skills folder).
name
cohub-board
description
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.

Cohub Boards

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.

json
{"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.

Read, write, verify

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.

bash
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
  • Group a whole change into one patch so it lands as one version.
  • --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.
  • Deleting a still-referenced item fails and lists the references.
  • --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:

bash
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, interpolation

Items

An item is placed by position / size, colored by style, and described by props:

json
{"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 | sketch
  • Only frame items can be parents; position is relative to parent.
  • Colors are theme-aware palette tokens (cohub boards schema lists them), any CSS color, or { "light": …, "dark": … }.

Geometry follows the item type; draw and arrow carry no position / size:

ItemGeometry
text shape frame image video audio file task effectposition + size; per-type defaults — omit what you don't mean to set
drawpoints are world-space; the frame follows the stroke
arrowstart / 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 settings

board sits alongside items — background, grid, and the entry motion. The rest of the fields and their values are in cohub boards schema board:

json
{"board":{"background":{"kind":"grid"},"grid":{"visible":true,"size":24},
          "enter":{"preset":"deal","duration":600}}}

background.kind is solid, dots, grid, or image.

Show full SKILL.md (255 more words)Show less

Animation

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.

bash
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 wrapper

Presets are named in cohub boards preset -h. A camera is just another target and drives focus, zoom, center or shake.

Create

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.

bash
cohub boards examples                        # basic, workflow, slides, lesson, sketch
cohub boards examples workflow > seed.json
cohub boards create boards/plan.board --title "Plan" -i seed.json

Present and share

Open the Board first so the user watches it build, then stage the content in visible steps — one patch per beat:

bash
cohub desktop open file://boards/plan.board
cohub boards apply <board> -i beat.json

Playback moves every viewer together; a marker with pause: true holds until next:

bash
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 work

Export

Users 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).

bash
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.png

History

bash
cohub boards history <board>                 # recent versions
cohub boards history <board> --restore 12    # return to a version, as a new write

Safety

  • Read the schema rather than guessing field names; --dry-run costs nothing.
  • Confirm with the user before deleting items or animations, or restoring a version over their work.
  • 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

Files

Just SKILL.md in skills/cohub-board of netaart/cohub.

Open the folder on GitHubat commit eee4291

Compare with similar skills

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.

Cohub Board compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Cohub Board this skillnetaart/cohub572—~1.8kAutomated safety check: PassApache-2.0
Boardalirezarezvani/claude-skills28k—~610Automated safety check: PassMIT
Animejs Animationsickn33/agentic-awesome-skills47k2 repos~681Automated safety check: PassMIT
HyperFrames Animationheygen-com/hyperframes60k3 repos~2.1kAutomated safety check: PassApache-2.0
SVG Character Animationcalesthio/OpenMontage66k—~421Automated safety check: PassMIT
Video Template Frame Play Modenexu-io/open-design100k—~307Automated safety check: PassApache-2.0

Similar skills

  • Board

    alirezarezvani/claude-skills

    Read, write, and browse the AgentHub message board for agent coordination.

    28k GitHub stars~610 tokensUpdated 1 mo ago
    Agent WorkflowsAuto-check passed
  • Animejs Animation

    sickn33/agentic-awesome-skills

    Advanced JavaScript animation library skill for creating complex, high-performance web animations.

    47k GitHub starsUsed in 2 repos~681 tokens
    Frontend & DesignAuto-check passed
  • HyperFrames Animation

    heygen-com/hyperframes

    Collects motion rules, scene blueprints, transitions and runtime adapters for HyperFrames video compositions, with GSAP as the default animation runtime.

    60k GitHub starsUsed in 3 repos~2.1k tokens
    Media & CreativeAuto-check passed
  • SVG Character Animation

    calesthio/OpenMontage

    Animate SVG character rigs with GSAP, CSS transforms, Remotion frame control, and HyperFrames-compatible browser previews.

    66k GitHub stars~421 tokensUpdated 7 days ago
    Media & CreativeAuto-check passed
  • Use this plugin when the user wants a "Play Mode" HyperFrames motion video — Playful elastic animations

    100k GitHub stars~307 tokensUpdated yesterday
    Media & CreativeAuto-check passed
  • Gsap Framer Scroll Animation

    github/awesome-copilot

    Official

    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…

    40k GitHub starsUsed in 1 repo~1.6k tokens
    Frontend & DesignAuto-check passed

More from netaart/cohub

All 30 skills in this repo
  • Pixijs Assets

    netaart/cohub

    A skill your agent uses when loading and managing resources in PixiJS v8.

    572 GitHub starsUsed in 1 repo~5k tokens
    Auto-check passed
  • 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.

    572 GitHub starsUsed in 1 repo~3.9k tokens
    Auto-check passed
  • Pixijs Scene Mesh

    netaart/cohub

    A skill your agent uses when rendering custom geometry in PixiJS v8.

    572 GitHub starsUsed in 1 repo~1.8k tokens
    Auto-check passed
  • Pixijs Scene Sprite

    netaart/cohub

    A skill your agent uses when drawing images in PixiJS v8. An agent skill from netaart/cohub.

    572 GitHub starsUsed in 1 repo~1.6k tokens
    Auto-check passed
  • Pixijs Scene Text

    netaart/cohub

    A skill your agent uses when rendering text in PixiJS v8. An agent skill from netaart/cohub.

    572 GitHub starsUsed in 1 repo~2.1k tokens
    Auto-check passed
  • 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.

    572 GitHub stars~1.7k tokensUpdated today
    Auto-check passed

Questions about Cohub Board

What does Cohub Board do?

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.

When should I use Cohub Board?

Cohub Board fits situations like: any Board authoring task.

How do I install Cohub Board in Claude Code?

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.

How do I install Cohub Board in Codex?

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.

Can I use Cohub Board in Cursor, Gemini CLI or GitHub Copilot?

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.

What does Cohub Board need to run?

Going by SKILL.md and its folder, Cohub Board needs the command-line tools its instructions call (npm). Our summary lists: Node.js.

Does Cohub Board access the network?

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.

Is Cohub Board safe to install?

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.

What licence does Cohub Board use?

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.

How many tokens does Cohub Board use?

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.

What are the alternatives to Cohub Board?

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.

Who maintains Cohub Board?

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.