aihubx
v0.0.30
Published
aihub CLI \u2014 install, update, search, and publish skills plus OpenClaw packages.
Readme
aihubx
Aihubx CLI — install, update, search, and publish agent skills, knowledges, and rules plus OpenClaw packages.
Install
# Run directly via npx (no global install needed)
npx aihubx --help
# Or install globally
npm i -g aihubxAuth
# Browser login
aihubx login
# Headless / token paste
aihubx login --token <your-token> --registry https://aihub.webnovel.comNotes:
- Browser login opens the site and completes via a loopback callback.
- Default config path:
- macOS:
~/Library/Application Support/aihubx/config.json - Linux/XDG:
$XDG_CONFIG_HOME/aihubx/config.jsonor~/.config/aihubx/config.json - Windows:
%APPDATA%\\aihubx\\config.json
- macOS:
- Override via
CLAWHUB_CONFIG_PATH.
Content Types
| Type | --type flag | Local directory |
|------|--------------|-----------------|
| skill (default) | (omit) | .agent/skills/ |
| knowledge | --type knowledge | .agent/knowledges/ |
| rule | --type rule | .agent/rules/ |
Install Path Rules
- Without
--workdir: installs to<workdir>/.agent/skills/<slug>(.agent/layer included) - With
--workdir <dir>: installs to<dir>/skills/<slug>(no.agent/layer)
To install globally for AI tools like CodeBuddy:
npx aihubx install <slug> --workdir ~/.codebuddy --registry https://aihub.webnovel.com
# Result: ~/.codebuddy/skills/<slug>Workdir resolution order:
--workdir <dir>flagCLAWHUB_WORKDIRenv var- Current directory if it contains
.agent/directory → project-level install - Clawdbot default workspace → global install
- Fallback: current directory
Examples
# Search
aihubx search "code review" --registry https://aihub.webnovel.com
# Install skill (global namespace, auto-detect install location)
aihubx install my-skill --registry https://aihub.webnovel.com
# Install skill (specific namespace)
aihubx install my-skill --namespace my-team --registry https://aihub.webnovel.com
# Install skill globally (for CodeBuddy / other AI tools)
aihubx install my-skill --workdir ~/.codebuddy --registry https://aihub.webnovel.com
# Install knowledge
aihubx install my-knowledge --type knowledge --registry https://aihub.webnovel.com
# Install rule
aihubx install my-rule --type rule --registry https://aihub.webnovel.com
# Update a single skill
aihubx update my-skill --registry https://aihub.webnovel.com
# Update all installed skills
aihubx update --all --registry https://aihub.webnovel.com
# Update all (non-interactive, force)
aihubx update --all --no-input --force --registry https://aihub.webnovel.com
# Uninstall skill
aihubx uninstall my-skill
# Uninstall knowledge
aihubx uninstall my-knowledge --type knowledge
# Uninstall rule (remove is an alias for uninstall)
aihubx remove my-rule --type rule
# List installed skills
aihubx list
# Explore latest skills from registry
aihubx explore --registry https://aihub.webnovel.com
aihubx explore --type knowledge --sort downloads --limit 50 --registry https://aihub.webnovel.com
# Inspect skill metadata without installing
aihubx inspect my-skill --registry https://aihub.webnovel.com
# Publish skill
aihubx publish ./my-skill --registry https://aihub.webnovel.com
aihubx publish ./my-skill --slug my-skill --name "My Skill" --version 1.2.0 --changelog "Fixes + docs" --registry https://aihub.webnovel.com
# Publish skill to a namespace
aihubx publish ./my-skill --namespace my-team --registry https://aihub.webnovel.com
# Publish knowledge
aihubx publish ./my-knowledge.zip --type knowledge --namespace my-team --registry https://aihub.webnovel.com
# Publish rule
aihubx publish ./my-rule.md --type rule --namespace my-team --registry https://aihub.webnovel.com
# OpenClaw package commands
aihubx package explore --family skill
aihubx package explore --family code-plugin
aihubx package inspect @openclaw/example-plugin
aihubx package download @openclaw/example-plugin --tag latest
aihubx package verify ./example-plugin-1.0.0.tgz --package @openclaw/example-plugin --version 1.0.0
aihubx package publish openclaw/example-plugin
aihubx package publish openclaw/[email protected]
aihubx package publish https://github.com/openclaw/example-plugin --dry-run
aihubx package publish ./example-plugin-1.0.0.tgz --dry-run
aihubx package publish ./example-pluginPublish Code Plugins
For ClawPack publish, create the npm-pack tarball yourself and upload that exact .tgz:
npm pack
aihubx package publish ./my-plugin-1.0.0.tgz --family code-plugin --dry-run
aihubx package publish ./my-plugin-1.0.0.tgz --family code-pluginFor local plugin folders, start with a dry run:
aihubx package publish ./my-plugin --family code-plugin --dry-run
aihubx package publish ./my-plugin --family code-plugincode-plugin packages must declare these package.json fields:
openclaw.compat.pluginApiopenclaw.build.openclawVersion
Minimal example:
{
"name": "@myorg/openclaw-my-plugin",
"version": "1.0.0",
"type": "module",
"openclaw": {
"extensions": ["./index.ts"],
"compat": {
"pluginApi": ">=2026.3.24-beta.2"
},
"build": {
"openclawVersion": "2026.3.24-beta.2"
}
}
}Sync (Upload Local Skills)
# Start anywhere; scans workdir first, then legacy locations.
aihubx sync
# Explicit roots + non-interactive dry-run
aihubx sync --root ../my-skills --all --dry-runGitHub Actions
This repo provides an official reusable workflow for plugin repos:
Use dry_run: true on pull requests and reserve real publishes for trusted events
such as workflow_dispatch or tag pushes with a AIHUBX_TOKEN secret.
For monorepos, pass source_path to publish the plugin package folder.
Defaults
- Site:
https://clawhub.ai(override via--siteorCLAWHUB_SITE) - Registry:
https://aihub.webnovel.com(override via--registryorCLAWHUB_REGISTRY) - Workdir: current directory (falls back to Clawdbot workspace if configured; override via
--workdirorCLAWHUB_WORKDIR) - Install dir:
.agent/skillsunder workdir (orskillswhen--workdiris specified)
Maintainers
The aihubx npm package is released separately from the ClawHub app deploy.
- Release workflow:
.github/workflows/clawhub-cli-npm-release.yml - Release model: manual-only, stable tags only (
vX.Y.Z), with a preflight run before the real publish - Publish auth: npm trusted publishing through the
npm-releaseGitHub environment
Development
bun run --cwd packages/clawhub test
bun run --cwd packages/clawhub verify:build
bun run --cwd packages/clawhub test:artifact
bun run --cwd packages/clawhub verifytest runs source tests only. test:artifact builds dist/ and runs a small smoke suite against the built CLI entrypoint.
Sync (upload local skills)
# Start anywhere; scans workdir first, then legacy Clawdis/Clawd/OpenClaw/Moltbot locations.
aihubx sync
# Explicit roots + non-interactive dry-run
aihubx sync --root ../clawdis/skills --all --dry-runDefaults
- Site:
https://clawhub.ai(override via--siteorCLAWHUB_SITE, legacyCLAWDHUB_SITE) - Registry: discovered from
/.well-known/clawhub.jsonon the site (legacy/.well-known/clawdhub.json; override via--registryorCLAWHUB_REGISTRY) - Workdir: current directory (falls back to Clawdbot workspace if configured; override via
--workdirorAIHUBX_WORKDIR) - Install dir:
./skillsunder workdir (override via--dir)
