Brave Search
badlogic/pi-skills
Web search and content extraction via Brave Search API. An agent skill from badlogic/pi-skills.
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.
$ npx skills add netaart/cohub --skill cohub-apps -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install netaart/cohub cohub-apps --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-apps .claude/skills/cohub-apps && 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-apps" agent skill from https://github.com/netaart/cohub/tree/main/skills/cohub-apps into .claude/skills/cohub-apps/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cohub-apps", 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-appsType 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-apps -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install netaart/cohub cohub-apps --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-apps .agents/skills/cohub-apps && 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-apps" agent skill from https://github.com/netaart/cohub/tree/main/skills/cohub-apps into .agents/skills/cohub-apps/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cohub-apps", 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-apps -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install netaart/cohub cohub-apps --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-apps .cursor/skills/cohub-apps && 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-apps" agent skill from https://github.com/netaart/cohub/tree/main/skills/cohub-apps into .cursor/skills/cohub-apps/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cohub-apps", 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-apps--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-apps -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install netaart/cohub cohub-apps --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-apps .gemini/skills/cohub-apps && 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-apps" agent skill from https://github.com/netaart/cohub/tree/main/skills/cohub-apps into .gemini/skills/cohub-apps/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cohub-apps", 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-appsInstalls 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-apps -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-apps .github/skills/cohub-apps && 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-apps" agent skill from https://github.com/netaart/cohub/tree/main/skills/cohub-apps into .github/skills/cohub-apps/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cohub-apps", 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-apps -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-apps --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-apps .opencode/skills/cohub-apps && 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-apps" agent skill from https://github.com/netaart/cohub/tree/main/skills/cohub-apps into .opencode/skills/cohub-apps/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cohub-apps", 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-appsPublish 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.
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.
Read from SKILL.md and the folder at commit edc669f. 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.
Links to these hosts (documentation or services it may open):
cohub.liveFrom 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 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.
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 edc669f, republished under its Apache-2.0 licence (© netaart). 501 words, ~1,237 tokens.
.claude/skills/cohub-apps/SKILL.md (or your agent's skills folder).Cohub Apps publish as public pages:
/:ownerUsername/:spaceSlug/w/:appSlugIf a command is unavailable, update the CLI: npm install -g @neta-art/cohub-cli.
A published App needs a target Space ID, an App slug, and one target. Use the current Space by default:
space_id="${COHUB_SPACE_ID:-}"When the target Space is unclear, ask for the Space.
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.
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.
Default to public. Use --visibility space when the App should be visible only to people with Space access.
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.viewsession.viewfile.viewfile.edittaskrun.viewsession.prompt.readonlysession.prompt.fullaccesscommand.executeAnything 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.
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 creates the App or updates an existing App with the same slug:
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" --jsonUse --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:
cohub apps publish-version "$app_id" --jsonAn App that edits or views a file type declares the extensions in its page head:
<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.
Refer to an App by id, public URL, cohub://apps URI, or username/space/app:
cohub apps get "$app" --jsonReturn publicUrl, falling back to content.url when needed.
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" --yesupdate can change the slug, visibility, target, scopes, and Cohub bar settings. stats shows view counts — total, 24h, 7d, 30d — and their sources.
Open an App window on the Cohub desktop that started this chat:
cohub desktop open "$app"Add --call <method> to invoke a method the App registered.
If publishing reports missing public identity, check the Space and current user:
cohub spaces get "$space_id" --json
cohub auth whoami --jsonIf the current user is the Space owner, use user-provided or user-confirmed values to set the public identity:
cohub profile update --username "$owner_username" --json
cohub spaces update "$space_id" --slug "$space_slug" --jsonReturn 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
Just SKILL.md in skills/cohub-apps of netaart/cohub.
Open the folder on GitHubat commit edc669f
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Cohub Apps this skillnetaart/cohub | 571 | — | ~1.2k | Automated safety check: Pass | Apache-2.0 | |
| Brave Searchbadlogic/pi-skills | 2.6k | 5 repos | ~592 | Automated safety check: Pass | MIT | |
| Enterprise AI Scenario MapMetaInFLow/Enterprise-ai-scenario-map-skill | 632 | — | ~1.8k | Automated safety check: Pass | MIT | |
| Web Searchjjyaoao/HelloAgents | 3.2k | 1 repos | ~5.6k | Automated safety check: Pass | MIT | |
| Ddg SearchTheSyart/claude-agent-examples | 405 | 1 repos | ~493 | Automated safety check: Pass | None | |
| Local Web SearchuluckyXH/OpenMOSS | 1.3k | — | ~392 | Automated safety check: Notes | MIT |
badlogic/pi-skills
Web search and content extraction via Brave Search API. An agent skill from badlogic/pi-skills.
MetaInFLow/Enterprise-ai-scenario-map-skill
企业AI场景地图生成报告工具。通过 web-search 深度调研企业信息,按照V2.1标准模板生成结构化AI应用场景地图报告,包含企业画像、业务诊断、行业实践、AI场景全量表、实施路径等完整内容。
jjyaoao/HelloAgents
Implement web search capabilities using the z-ai-web-dev-sdk.
TheSyart/claude-agent-examples
Web search without an API key using DuckDuckGo Lite via webfetch.
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)).
ythx-101/ask-search
Web search via self-hosted SearxNG. An agent skill from ythx-101/ask-search.
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.
Categories
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.
Cohub Apps fits situations like: tasks that involve Web search.
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.
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.
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.
Going by SKILL.md and its folder, Cohub Apps needs the command-line tools its instructions call (npm). Our summary lists: Node.js.
SKILL.md names 1 domain. As links in the text: cohub.live. 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 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.
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.
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.
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.