@mob-wisely/skill-hub
v0.1.1
Published
Published CLI for uploading, listing, searching, and inspecting Skill Hub packages.
Downloads
228
Readme
@mob-wisely/skill-hub
Published CLI for uploading, listing, searching, and inspecting Skill Hub packages.
Install-Free Usage
npx -y @mob-wisely/skill-hub --server https://skill-hub-e8k.pages.dev list
npx -y @mob-wisely/skill-hub --server https://skill-hub-e8k.pages.dev search design
npx -y @mob-wisely/skill-hub --server https://skill-hub-e8k.pages.dev exact huashu-design --json
npx -y @mob-wisely/skill-hub --server https://skill-hub-e8k.pages.dev upload /absolute/path/to/skillSKILL_HUB_SERVER_URL can be used instead of --server:
export SKILL_HUB_SERVER_URL=https://skill-hub-e8k.pages.dev
npx -y @mob-wisely/skill-hub listThe CLI also accepts -y / --yes after the package name as an ignored compatibility flag:
npx @mob-wisely/skill-hub -y --server https://skill-hub-e8k.pages.dev listCommands
upload <skill-dir>
Scans a local skill directory and uploads a package manifest.
npx -y @mob-wisely/skill-hub --server https://skill-hub-e8k.pages.dev upload /absolute/path/to/skillThe directory must contain SKILL.md. The scanner uploads UTF-8 package files with relative paths, byte size, and SHA-256 hash. It excludes dependency/build/cache directories such as .git, node_modules, .vite, dist, build, and coverage, and skips files above the per-file size limit.
list
npx -y @mob-wisely/skill-hub --server https://skill-hub-e8k.pages.dev list --sort name --limit 20Options: --tag, --sort, --limit, --offset.
search <query>
npx -y @mob-wisely/skill-hub --server https://skill-hub-e8k.pages.dev search prototype --tag DesignOptions: --tag, --limit, --offset.
exact <id>
npx -y @mob-wisely/skill-hub --server https://skill-hub-e8k.pages.dev exact huashu-design --jsonUse --json when another tool or agent needs to parse item.readmeRaw.
Agent Workflows
Dynamic loading for an agent:
SERVER=https://skill-hub-e8k.pages.dev
SKILL=huashu-design
npx -y @mob-wisely/skill-hub --server "$SERVER" exact "$SKILL" --json \
| node -e 'let s=""; process.stdin.on("data", d => s += d); process.stdin.on("end", () => process.stdout.write(JSON.parse(s).item.readmeRaw));'Install into Codex user skills:
SERVER=https://skill-hub-e8k.pages.dev
SKILL=huashu-design
DEST="${CODEX_HOME:-$HOME/.codex}/skills/$SKILL"
mkdir -p "$DEST"
npx -y @mob-wisely/skill-hub --server "$SERVER" exact "$SKILL" --json \
| node -e 'let s=""; process.stdin.on("data", d => s += d); process.stdin.on("end", () => process.stdout.write(JSON.parse(s).item.readmeRaw));' \
> "$DEST/SKILL.md"Write a Claude Code project skill:
SERVER=https://skill-hub-e8k.pages.dev
SKILL=huashu-design
DEST="./.claude/skills/$SKILL"
mkdir -p "$DEST"
npx -y @mob-wisely/skill-hub --server "$SERVER" exact "$SKILL" --json \
| node -e 'let s=""; process.stdin.on("data", d => s += d); process.stdin.on("end", () => process.stdout.write(JSON.parse(s).item.readmeRaw));' \
> "$DEST/SKILL.md"Development
cd cli
pnpm install
pnpm test
pnpm build
npm publish --access public --dry-runPublishing uses prepack, which runs the build and keeps the published package limited to dist/src, README.md, and package.json.
