npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@gami-ai/gamihub

v0.1.6

Published

Manage and install skills, plugins, and MCP servers for AI coding agents

Downloads

265

Readme

GamiHub CLI

GamiHub CLI is the official command-line client for GamiHub. It searches, installs, manages, and publishes agent artifacts:

  • skill - packages with a root SKILL.md
  • plugin - packages with .codex-plugin/plugin.json or .claude-plugin/plugin.json
  • mcp - packages with a root .mcp.json

The npm package is @gami-ai/gamihub. It exposes gamihub as the primary binary and keeps skillhub as a compatibility alias.

Installation

npm install -g @gami-ai/gamihub
npx @gami-ai/gamihub@latest version
bun add -g @gami-ai/gamihub

Quick Start

gamihub login --token sk_xxx --registry https://skillhub.adakamicorp.id

gamihub search pdf --type skill
gamihub install pdf-parser --type skill --agent codex

gamihub search gami --type plugin
gamihub install gami-workflow --type plugin --agent codex

gamihub install workflow-mcp --type mcp --agent claude-code --dry-run
gamihub list

Registry Configuration

Registry resolution priority:

  1. --registry <url>
  2. GAMIHUB_REGISTRY
  3. registry in ~/.skillhub/config.json
  4. Default https://skillhub.adakamicorp.id
gamihub search pdf --registry https://skillhub.example.com
export GAMIHUB_REGISTRY=https://skillhub.example.com

PowerShell:

$env:GAMIHUB_REGISTRY="https://skillhub.example.com"

SKILLHUB_REGISTRY is still accepted as a legacy compatibility fallback.

Authentication

Token resolution priority:

  1. --token <token>
  2. SKILLHUB_TOKEN
  3. Token stored in ~/.skillhub/credentials.json
gamihub login --token sk_xxx --registry https://skillhub.example.com
gamihub whoami
gamihub logout

Search

gamihub search pdf
gamihub search pdf --type skill
gamihub search gami --type plugin
gamihub search workflow --type mcp --limit 50
gamihub search pdf --json

Output format:

namespace/type/slug  version  summary

Install

gamihub install pdf-parser --type skill --agent codex
gamihub install gami-workflow --type plugin --agent codex
gamihub install workflow-mcp --type mcp --agent claude-code
gamihub install pdf-parser --namespace myspace --version 1.2.0
gamihub install pdf-parser --force
gamihub install workflow-mcp --type mcp --agent codex --dry-run

--type defaults to skill.

Install Target Resolution

  1. --dir installs into an explicit directory and marks the target as custom.
  2. --agent installs into the selected agent profile. The option can be repeated.
  3. Without either option, the CLI scans the current project for known agent directories. If none are found, it falls back to <cwd>/.agents/skills/.

--dir and --agent cannot be used together.

Type-Specific Behavior

| Type | Codex behavior | Claude Code behavior | |------|----------------|----------------------| | skill | Extracts into .codex/skills/<slug> or ~/.codex/skills/<slug> | Extracts into .claude/skills/<slug> or ~/.claude/skills/<slug> | | plugin | Extracts into ~/.codex/plugins/cache/gamihub/<slug>/<version> and updates ~/.codex/config.toml | Extracts under the target root and runs claude plugin install --plugin-dir <dir> | | mcp | Extracts into ~/.codex/mcp-servers/gamihub/<slug>/<version> and updates [mcp_servers.*] from .mcp.json | Extracts under the target root and runs claude mcp add-json <name> <json> for each server |

Use --dry-run to preview filesystem and config changes. Use --force only when replacing an existing install directory.

Local Management

gamihub list
gamihub list --agent codex
gamihub list --json

gamihub remove pdf-parser
gamihub remove pdf-parser --agent codex
gamihub doctor

Local metadata lives in ~/.skillhub/:

~/.skillhub/
├── config.json
├── credentials.json
└── inventory.json

Installed package directories contain .skillhub/metadata.json; the inventory groups records by registry + namespace + type + slug.

Publish

gamihub publish ./my-skill --type skill --namespace my-team
gamihub publish ./my-plugin --type plugin --namespace my-team --visibility namespace-only
gamihub publish ./my-mcp.zip --type mcp --namespace platform --registry https://skillhub.example.com

Visibility values:

  • public - visible to everyone with access to the registry
  • namespace-only - visible to namespace members
  • private - visible only to the owner and namespace admins

Private npm Registry Publish

For an internal npm registry:

cd cli
bun run build
npm login --registry https://your-company-npm.example.com/
npm publish --registry https://your-company-npm.example.com/

If the registry requires scoped configuration:

npm config set @gami-ai:registry https://your-company-npm.example.com/
npm publish

Self-Update

gamihub update --check
gamihub update

The updater uses the detected installation mode:

  • npm global: npm install -g @gami-ai/gamihub@latest
  • Bun global: bun add -g @gami-ai/gamihub@latest
  • npx or unknown mode: prints a manual update command

Command Reference

| Command | Description | |---------|-------------| | gamihub help [command] | Display help | | gamihub version [--json] | Display CLI version | | gamihub login --token <token> [--registry <url>] [--json] | Save token and registry configuration | | gamihub logout [--registry <url>] [--json] | Remove token for a registry | | gamihub whoami [--registry <url>] [--token <token>] [--json] | Validate current token | | gamihub search [query] [--type <skill|plugin|mcp>] [--limit <n>] [--registry <url>] [--json] | Search artifacts | | gamihub install <slug> [--type <skill\|plugin\|mcp>] [--namespace <slug>] [--version <v>] [--agent <profile>] [--dir <path>] [--force] [--dry-run] [--json] | Install an artifact | | gamihub list [--agent <profile>] [--dir <path>] [--registry <url>] [--json] | List local installs | | gamihub remove <slug> [--agent <profile>] [--all] [--remote] [--hard] [--namespace <slug>] [--registry <url>] [--token <token>] [--json] | Remove a local or remote artifact | | gamihub doctor [--json] | Rebuild local inventory | | gamihub publish <path> [--type <skill\|plugin\|mcp>] [--namespace <slug>] [--visibility <v>] [--registry <url>] [--token <token>] [--json] | Publish an artifact | | gamihub update [--check] [--json] | Check or execute self-update |

Security Notes

  • Tokens are stored in ~/.skillhub/credentials.json.
  • On Linux and macOS, credential file permissions are set to 0600.
  • Tokens are not written to project-local files.
  • remove validates path ownership before deleting directories.
  • Plugin and MCP installs may update local agent configuration; use --dry-run before first-time installs.