Agent skill

Cohub Apps

by netaart in netaart/cohub

Publish a live web page or app at a stable URL — an HTML file, board, or directory site, or a running sandbox port — with versions, visibility, permissions, and view stats.

Apache-2.0Auto-check passedProductivity & Automation

Install Cohub Apps

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

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

GitHub CLI
$ gh skill install netaart/cohub cohub-apps --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-apps .claude/skills/cohub-apps && 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-apps
GitHub stars
571
Token cost
~1.2k tokens
SKILL.md length
501 words
Files
1
Skills in repo
30
Repo updated
First seen
Licence
Apache-2.0

At a glance

Publish a live web page or app at a stable URL — an HTML file, board, or directory site, or a running sandbox port — with versions, visibility, permissions, and view stats.

  • Tasks that involve Web search
  • SKILL.md covers Inputs, Targets, App Slug and Visibility, plus 9 more sections
  • Calls npm

What it does

Cohub Apps is an agent skill from netaart/cohub. Publish a live web page or app at a stable URL — an HTML file, board, or directory site, or a running sandbox port — with versions, visibility, permissions, and view stats.

Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Productivity & Automation, covering Web search. 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

  • Tasks that involve Web search

Example prompts

  • “/cohub-apps”

Requirements

  • Node.js

What it can do on your machine

Read from SKILL.md and the folder at commit edc669f. 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

    Links to these hosts (documentation or services it may open):

    • cohub.live

    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 Apps loads about 1.2k tokens when it runs. Until then it costs about 46 tokens; SKILL.md has 501 words of instructions outside code blocks.

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

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 edc669f, republished under its Apache-2.0 licence (© netaart). 501 words, ~1,237 tokens.

Download SKILL.mdSave it as .claude/skills/cohub-apps/SKILL.md (or your agent's skills folder).
name
cohub-apps
description
Publish a live web page or app at a stable URL — an HTML file, board, or directory site, or a running sandbox port — with versions, visibility, permissions, and view stats.

Cohub Apps

Cohub Apps publish as public pages:

text
/:ownerUsername/:spaceSlug/w/:appSlug

If a command is unavailable, update the CLI: npm install -g @neta-art/cohub-cli.

Inputs

A published App needs a target Space ID, an App slug, and one target. Use the current Space by default:

bash
space_id="${COHUB_SPACE_ID:-}"

When the target Space is unclear, ask for the Space.

Targets

Choose one target:

  • --file <path> for an HTML page, board, or any other file
  • --dir <path> for a directory site with index.html
  • --port 3000 or --port 5173 for a running preview

--file and --dir paths are relative to the target Space's workspace (the same paths spaces files ls shows) — not the local filesystem. Inside a sandbox, /workspace maps to the Space workspace, so project-relative paths work as-is. Outside a sandbox, upload local build output first (spaces files upload <dir>), then publish the Space-side path.

App Slug

Use a short, stable slug like demo, report, or dashboard. Keep an existing slug when updating an App. Ask before changing a user-provided slug.

Visibility

Default to public. Use --visibility space when the App should be visible only to people with Space access.

Permissions

Start with empty scopes. Add the smallest permission set needed for the App. Publisher scopes (--app-scope) apply on the App's home Space only:

  • space.view
  • session.view
  • file.view
  • file.edit
  • taskrun.view
  • session.prompt.readonly
  • session.prompt.fullaccess
  • command.execute

Anything outside that list — other Spaces, generation, account data — raises a viewer consent dialog at runtime through client.auth.authorize(). Pass an explicit target ({ kind: "account" }, { kind: "space", spaceId }, or { kind: "pick-space" }) and act on the Space the result reports, which may differ from the request when the viewer cannot use it.

ts
const consent = await client.auth.authorize({
  target: { kind: "space", spaceId },
  scopes: ["file.view"],
  reason: "Read the Space you opened this App from.",
});
if (consent.status !== "granted" || consent.target.kind !== "space") return;
const space = client.space(consent.target.spaceId);

Call it from a user gesture, never on page load. Full contract: docs/developers/apps.

Publish

Publish creates the App or updates an existing App with the same slug:

bash
cohub -s "$space_id" apps publish "$app_slug" --file "$file" --json
cohub -s "$space_id" apps publish "$app_slug" --dir "$dir" --json
cohub -s "$space_id" apps publish "$app_slug" --port "$port" --json

Use --visibility, --hide-cohub-bar for immersive pages, --meta <json>, or --disabled as needed.

For an existing App that only needs a fresh version from its current target:

bash
cohub apps publish-version "$app_id" --json
Show full SKILL.md (185 more words)Show less

File-Opening Apps

An App that edits or views a file type declares the extensions in its page head:

html
<meta name="cohub:file-handlers" content=".board" />

Installing it registers those extensions in .cohub/apps.json ("opens": [".board"] on its entry) unless another installed App already opens them. Each file opens in its own window and reaches the App through client.app.onLaunch(). Confirm before changing which App opens a file type in a Space.

App Ref

Refer to an App by id, public URL, cohub://apps URI, or username/space/app:

bash
cohub apps get "$app" --json

Return publicUrl, falling back to content.url when needed.

Manage

bash
cohub apps ls
cohub apps update "$app_id" --visibility space --clear-app-scopes --json
cohub apps versions "$app_id"
cohub apps stats "$app"
cohub apps download "$app" -o ./out
cohub apps rm "$app_id" --yes

update can change the slug, visibility, target, scopes, and Cohub bar settings. stats shows view counts — total, 24h, 7d, 30d — and their sources.

Desktop

Open an App window on the Cohub desktop that started this chat:

bash
cohub desktop open "$app"

Add --call <method> to invoke a method the App registered.

Identity Setup

If publishing reports missing public identity, check the Space and current user:

bash
cohub spaces get "$space_id" --json
cohub auth whoami --json

If the current user is the Space owner, use user-provided or user-confirmed values to set the public identity:

bash
cohub profile update --username "$owner_username" --json
cohub spaces update "$space_id" --slug "$space_slug" --json

Safety

  • Review target content before publishing.
  • Confirm identity, permission, or status changes.
  • Confirm before deleting an App.

Finish

Return the public URL.

© 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-apps of netaart/cohub.

Open the folder on GitHubat commit edc669f

Compare with similar skills

Cohub Apps 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 Apps compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Cohub Apps this skillnetaart/cohub571—~1.2kAutomated safety check: PassApache-2.0
Brave Searchbadlogic/pi-skills2.6k5 repos~592Automated safety check: PassMIT
Enterprise AI Scenario MapMetaInFLow/Enterprise-ai-scenario-map-skill632—~1.8kAutomated safety check: PassMIT
Web Searchjjyaoao/HelloAgents3.2k1 repos~5.6kAutomated safety check: PassMIT
Ddg SearchTheSyart/claude-agent-examples4051 repos~493Automated safety check: PassNone
Local Web SearchuluckyXH/OpenMOSS1.3k—~392Automated safety check: NotesMIT

Similar skills

  • Brave Search

    badlogic/pi-skills

    Web search and content extraction via Brave Search API. An agent skill from badlogic/pi-skills.

    2.6k GitHub starsUsed in 5 repos~592 tokens
    Productivity & AutomationAuto-check passed
  • Enterprise AI Scenario Map

    MetaInFLow/Enterprise-ai-scenario-map-skill

    企业AI场景地图生成报告工具。通过 web-search 深度调研企业信息,按照V2.1标准模板生成结构化AI应用场景地图报告,包含企业画像、业务诊断、行业实践、AI场景全量表、实施路径等完整内容。

    632 GitHub stars~1.8k tokensUpdated 6 mo ago
    Productivity & AutomationAuto-check passed
  • Web Search

    jjyaoao/HelloAgents

    Implement web search capabilities using the z-ai-web-dev-sdk.

    3.2k GitHub starsUsed in 1 repo~5.6k tokens
    Productivity & AutomationAuto-check passed
  • Ddg Search

    TheSyart/claude-agent-examples

    Web search without an API key using DuckDuckGo Lite via webfetch.

    405 GitHub starsUsed in 1 repo~493 tokens
    Productivity & AutomationAuto-check passed
  • Local Web Search

    uluckyXH/OpenMOSS

    A skill your agent uses when the user asks for web search that should run via the local-160 Responses API with websearch tool (base URL like https://proxy.example.com, model gpt-5.2-codex(xhigh)).

    1.3k GitHub stars~392 tokensUpdated 3 mo ago
    Productivity & AutomationAuto-check: notes
  • Ask Search

    ythx-101/ask-search

    Web search via self-hosted SearxNG. An agent skill from ythx-101/ask-search.

    537 GitHub stars~332 tokensUpdated 6 mo ago
    Productivity & AutomationAuto-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.

    571 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.

    571 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.

    571 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.

    571 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.

    571 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.

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

Questions about Cohub Apps

What does Cohub Apps do?

Publish a live web page or app at a stable URL — an HTML file, board, or directory site, or a running sandbox port — with versions, visibility, permissions, and view stats. Cohub Apps is an agent skill from netaart/cohub. Publish a live web page or app at a stable URL — an HTML file, board, or directory site, or a running sandbox port — with versions, visibility, permissions, and view stats.

When should I use Cohub Apps?

Cohub Apps fits situations like: tasks that involve Web search.

How do I install Cohub Apps in Claude Code?

Run `npx skills add netaart/cohub --skill cohub-apps -a claude-code`. Or copy the skill folder (skills/cohub-apps in netaart/cohub) into .claude/skills/cohub-apps in your project. Claude Code loads it when a task matches its description.

How do I install Cohub Apps in Codex?

Run `npx skills add netaart/cohub --skill cohub-apps -a codex`. Or copy the skill folder (skills/cohub-apps in netaart/cohub) into .agents/skills/cohub-apps in your project. Codex loads it when a task matches its description.

Can I use Cohub Apps 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-apps -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-apps, .gemini/skills/cohub-apps, .github/skills/cohub-apps and .opencode/skills/cohub-apps in your project.

What does Cohub Apps need to run?

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

Does Cohub Apps access the network?

SKILL.md names 1 domain. As links in the text: cohub.live. This is read from the text; nothing was executed.

Is Cohub Apps 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 Apps use?

Cohub Apps 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 Apps use?

About 1.2k tokens (SKILL.md is roughly 4.9k 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 Apps?

Skills that share tags, products or a category with Cohub Apps: Brave Search (badlogic/pi-skills, 2.6k stars), Enterprise AI Scenario Map (MetaInFLow/Enterprise-ai-scenario-map-skill, 632 stars), Web Search (jjyaoao/HelloAgents, 3.2k stars) and Ddg Search (TheSyart/claude-agent-examples, 405 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Cohub Apps?

netaart (a GitHub organization) maintains it in netaart/cohub, which has 571 GitHub stars. The repository holds 30 skills in this directory. The repository was last updated on October 9, 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.