{"id":"063f7fcd-143e-47e3-a2de-a0860cb2218b","shortId":"frbQyk","kind":"skill","title":"skill-base-cli","tagline":">-","description":"# Pull and Publish Skills with skb\n\nAssistants should complete operations by **running terminal commands**. Package name **`skill-base-cli`**, command **`skb`** after installation.\n\n## When to Use This Skill\n- Users request to search, install, update, or publish specific skills using the `skb` command.\n- Users need to configure the client connection address (`skb init`) or log in (`skb login`).\n- Users want to **search, install, update, or publish** Skills to a privately deployed Skill Base site.\n\n## When NOT to Use This Skill\n- Users want to deploy, start, or maintain the Skill Base server itself (use `skill-base-web-deploy` instead).\n\n\n## Environment\n\n- Node.js >= 18\n- Installation: `npm install -g skill-base-cli`, or `npx skill-base-cli <subcommand>`\n- Server address: Environment variable **`SKB_BASE_URL`** takes priority, otherwise reads **`~/.skill-base/config.json`**, default is `http://127.0.0.1:8000`\n- Set and save: `skb init --server <site root URL>` (do not include `/api`)\n\n## Login and Authentication Rules (Important)\n- **No login required**: `search`, `install`, `update`, `init` and other regular read operations usually do not require login. Assistants **should not** proactively ask users to log in before these operations.\n- **Login required**: **`skb publish` must be logged in**.\n- **Login flow (`skb login`)**:\n  1. Execute `skb login` in the terminal.\n  2. The console will output a login page URL containing `from=cli`, open the login page in a browser.\n  3. After successful web login, a **verification code** (in the format `XXXX-XXXX`) will be provided.\n  4. Enter the verification code in the terminal to exchange for a PAT.\n- Logout: `skb logout`.\n- Check login: `skb whoami` (calls `GET /api/v1/auth/me` with the saved PAT; exit `0` if valid). Use `skb whoami -q` for scripts (exit code only) or `skb whoami --json` for machine-readable output.\n\n## Local Web UI\n\n- `skb ui` — starts a small server on `127.0.0.1:9847` (override with `--port`), opens the browser, proxies `/api/v1/*` to the configured Skill Base with the saved PAT. Use `--no-open`, `--host <address>` (default `127.0.0.1`).\n\n## Search and Install\n\n```bash\nskb search <keyword>\nskb install <skill_id>              # Latest version\nskb install <skill_id>@<version>    # Specific version, e.g., v20260327.161122\nskb install <skill_id> -d <target_directory>\n```\n\nOptional: Install to an IDE's skill directory, e.g., `skb install <skill_id> -i cursor`; use `-g` for global installation (supported by some IDEs only).\n\n## Update Installed Skills\n\n```bash\nskb update <skill_id>\nskb update <skill_id> -d <directory>\nskb list\nskb ls\n```\n\n- `skb install` records the local install path, version, and timestamp in `~/.skill-base/config.json`\n- `skb list` / `skb ls` list all locally recorded skills, then let the user choose one to update, delete local files, or clear config records\n- `skb update <skill_id>` first shows the available versions with changelog and uploader, then lets the user multi-select one or more recorded install directories to update together\n- `skb update <skill_id> -d <directory>` still works as an explicit one-off update for `<directory>/<skill_id>`\n\n## Publish\n\n- **Skill name must pass `/^[\\w-]+$/` validation, e.g., skill-base-cli**\n- Prepare content in a **folder named after the skill**, root directory must contain **`SKILL.md`**\n- **Recommended**: Use frontmatter in SKILL.md to mark name and description as the skill name and description\n- If SKILL.md frontmatter has a name field, it must match the folder name\n- If **no frontmatter is used**: Use the folder name as the skill name; the first paragraph of non-`#` text under the title is the skill description (can be overridden with `--description`)\n- Execute in the skill directory: `skb publish`; or execute from any location: `skb publish <skill_folder_path>`\n- Common usage: `skb publish <path> --changelog \"description\"`\n- After publishing, describe the result to the user in 2 sentences, no need to be verbose\n\n## Import from GitHub (public repos, skill-base login required)\n\n- `skb import-github owner/repo` or `skb import https://github.com/owner/repo`,like `https://github.com/anthropics/skills/tree/main/skills/pdf`\n- Same auth as publish (`skb login`)\n- Options: `--ref`, `--subpath`, `--target <skill_id>`, `--changelog`, `--dry-run` (preview JSON only)\n- Server downloads the repo archive; private repos are not supported\n\n## Troubleshooting Failures\n\n- First confirm **`SKB_BASE_URL`** points to the instance the user wants to use, as skill-base can be deployed internally and ports can be changed, verify the address is correct\n- If the user deployed skill-base on a server, most servers need inbound/outbound port configuration to be accessible, users need to check if the address is accessible in the browser\n- Check if it's a network issue, can use ping/telnet to confirm\n- Publish failure: First **`skb login`**; then verify **`SKB_BASE_URL`**, folder name and frontmatter **`name`** are consistent and match `[\\w-]+`, check `SKILL.md` and network\n- Install failure: Use **`skb search`** to verify `skill_id`; when unsure of version, use `skb install <skill_id>` to install latest","tags":["skill","base","cli","ginuim","agent-skills","ai-agent","claude-code","claude-code-skills","codex","cursor","developer-tools","knowledge-management"],"capabilities":["skill","source-ginuim","skill-skill-base-cli","topic-agent-skills","topic-ai-agent","topic-claude-code","topic-claude-code-skills","topic-cli","topic-codex","topic-cursor","topic-developer-tools","topic-knowledge-management","topic-prompt-engineering","topic-skill-base","topic-team-workflows"],"categories":["skill-base"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/ginuim/skill-base/skill-base-cli","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add ginuim/skill-base","source_repo":"https://github.com/ginuim/skill-base","install_from":"skills.sh"}},"qualityScore":"0.461","qualityRationale":"deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 22 github stars · SKILL.md body (5,186 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:05:30.304Z","embedding":null,"createdAt":"2026-04-23T13:03:54.878Z","updatedAt":"2026-05-18T19:05:30.304Z","lastSeenAt":"2026-05-18T19:05:30.304Z","tsv":"'/.skill-base/config.json':132,387 '/anthropics/skills/tree/main/skills/pdf':598 '/api':146 '/api/v1':304 '/api/v1/auth/me':258 '/owner/repo':594 '0':264 '1':193 '127.0.0.1':135,295,320 '18':106 '2':200,567 '3':219 '4':236 '8000':136 '9847':296 'access':678,687 'address':55,122,657,685 'archiv':620 'ask':173 'assist':11,169 'auth':600 'authent':149 'avail':417 'base':3,23,77,94,100,113,119,126,309,462,581,631,645,666,711 'bash':324,366 'browser':218,302,690 'call':256 'chang':654 'changelog':420,556,609 'check':252,682,691,723 'choos':401 'clear':409 'cli':4,24,114,120,211,463 'client':53 'code':226,240,274 'command':18,25,47 'common':552 'complet':13 'config':410 'configur':51,307,675 'confirm':629,702 'connect':54 'consist':719 'consol':202 'contain':209,476 'content':465 'correct':659 'cursor':352 'd':339,371,441 'default':133,319 'delet':405 'deploy':75,88,102,648,663 'describ':560 'descript':487,493,532,537,557 'directori':347,435,474,542 'download':617 'dri':611 'dry-run':610 'e.g':335,348,459 'enter':237 'environ':104,123 'exchang':245 'execut':194,538,546 'exit':263,273 'explicit':446 'failur':627,704,728 'field':500 'file':407 'first':414,521,628,705 'flow':190 'folder':468,505,514,713 'format':229 'frontmatt':480,496,509,716 'g':110,354 'get':257 'github':576,587 'github.com':593,597 'github.com/anthropics/skills/tree/main/skills/pdf':596 'github.com/owner/repo':592 'global':356 'host':318 'id':735 'ide':344,361 'import':151,574,586,591 'import-github':585 'inbound/outbound':673 'includ':145 'init':57,141,158 'instal':28,38,67,107,109,156,323,328,332,338,341,350,357,364,377,381,434,727,742,744 'instanc':636 'instead':103 'intern':649 'issu':697 'json':279,614 'latest':329,745 'let':398,424 'like':595 'list':373,389,392 'local':285,380,394,406 'locat':549 'log':59,176,187 'login':62,147,153,168,181,189,192,196,206,214,223,253,582,604,707 'logout':249,251 'ls':375,391 'machin':282 'machine-read':281 'maintain':91 'mark':484 'match':503,721 'multi':428 'multi-select':427 'must':185,455,475,502 'name':20,454,469,485,491,499,506,515,519,714,717 'need':49,570,672,680 'network':696,726 'no-open':315 'node.js':105 'non':524 'npm':108 'npx':116 'one':402,430,448 'one-off':447 'open':212,300,317 'oper':14,163,180 'option':340,605 'otherwis':130 'output':204,284 'overrid':297 'overridden':535 'owner/repo':588 'packag':19 'page':207,215 'paragraph':522 'pass':456 'pat':248,262,313 'path':382 'ping/telnet':700 'point':633 'port':299,651,674 'prepar':464 'preview':613 'prioriti':129 'privat':74,621 'proactiv':172 'provid':235 'proxi':303 'public':577 'publish':7,41,70,184,452,544,551,555,559,602,703 'pull':5 'q':270 'read':131,162 'readabl':283 'recommend':478 'record':378,395,411,433 'ref':606 'regular':161 'repo':578,619,622 'request':35 'requir':154,167,182,583 'result':562 'root':473 'rule':150 'run':16,612 'save':139,261,312 'script':272 'search':37,66,155,321,326,731 'select':429 'sentenc':568 'server':95,121,142,293,616,669,671 'set':137 'show':415 'site':78 'skb':10,26,46,56,61,125,140,183,191,195,250,254,268,277,288,325,327,331,337,349,367,369,372,374,376,388,390,412,439,543,550,554,584,590,603,630,706,710,730,741 'skill':2,8,22,33,43,71,76,84,93,99,112,118,308,346,365,396,453,461,472,490,518,531,541,580,644,665,734 'skill-bas':579,643,664 'skill-base-c':1,21,111,117,460 'skill-base-web-deploy':98 'skill-skill-base-cli' 'skill.md':477,482,495,724 'small':292 'source-ginuim' 'specif':42,333 'start':89,290 'still':442 'subpath':607 'success':221 'support':358,625 'take':128 'target':608 'termin':17,199,243 'text':525 'timestamp':385 'titl':528 'togeth':438 'topic-agent-skills' 'topic-ai-agent' 'topic-claude-code' 'topic-claude-code-skills' 'topic-cli' 'topic-codex' 'topic-cursor' 'topic-developer-tools' 'topic-knowledge-management' 'topic-prompt-engineering' 'topic-skill-base' 'topic-team-workflows' 'troubleshoot':626 'ui':287,289 'unsur':737 'updat':39,68,157,363,368,370,404,413,437,440,450 'upload':422 'url':127,208,632,712 'usag':553 'use':31,44,82,97,267,314,353,479,511,512,641,699,729,740 'user':34,48,63,85,174,400,426,565,638,662,679 'usual':164 'v20260327.161122':336 'valid':266,458 'variabl':124 'verbos':573 'verif':225,239 'verifi':655,709,733 'version':330,334,383,418,739 'w':457,722 'want':64,86,639 'web':101,222,286 'whoami':255,269,278 'work':443 'xxxx':231,232 'xxxx-xxxx':230","prices":[{"id":"6345c432-1518-4307-a87b-bbcd1482e7de","listingId":"063f7fcd-143e-47e3-a2de-a0860cb2218b","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"ginuim","category":"skill-base","install_from":"skills.sh"},"createdAt":"2026-04-23T13:03:54.878Z"}],"sources":[{"listingId":"063f7fcd-143e-47e3-a2de-a0860cb2218b","source":"github","sourceId":"ginuim/skill-base/skill-base-cli","sourceUrl":"https://github.com/ginuim/skill-base/tree/main/skills/skill-base-cli","isPrimary":false,"firstSeenAt":"2026-04-23T13:03:54.878Z","lastSeenAt":"2026-05-18T19:05:30.304Z"}],"details":{"listingId":"063f7fcd-143e-47e3-a2de-a0860cb2218b","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"ginuim","slug":"skill-base-cli","github":{"repo":"ginuim/skill-base","stars":22,"topics":["agent-skills","ai-agent","claude-code","claude-code-skills","cli","codex","cursor","developer-tools","knowledge-management","prompt-engineering","skill-base","team-workflows"],"license":null,"html_url":"https://github.com/ginuim/skill-base","pushed_at":"2026-05-12T03:56:30Z","description":"Private Skill distribution platform for AI coding agents: publish, install, update, and rollback team skills across Cursor, Claude Code, Codex, and OpenClaw with a minimal server + skb CLI.","skill_md_sha":"17a5e698c49da417e0792bc1c3ad97b49b8261f0","skill_md_path":"skills/skill-base-cli/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/ginuim/skill-base/tree/main/skills/skill-base-cli"},"layout":"multi","source":"github","category":"skill-base","frontmatter":{"name":"skill-base-cli","description":">-"},"skills_sh_url":"https://skills.sh/ginuim/skill-base/skill-base-cli"},"updatedAt":"2026-05-18T19:05:30.304Z"}}