packages/skills/skills/skill-registry/SKILL.md
Scan, inventory, and track all Claude Code skills — local, global, project-level, and published. Shows publish status on skillhu.bz and skills.sh, install counts, and authorship. Use when: 'list skills', 'skill registry', 'skill inventory', 'what skills do I have', 'which skills are published', 'skill stats'.
npx skillsauth add mediar-ai/skillhubz skill-registryInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Scan all skill locations, cross-reference with online registries (skillhu.bz, skills.sh/GitHub), and output a unified inventory. Persists state to ~/.claude/skill-registry.json for fast lookups.
Scan all three skill locations and extract YAML frontmatter from each SKILL.md:
# Scan ~/.claude/skills/ (private global skills — authored by user)
for d in ~/.claude/skills/*/; do
name=$(basename "$d")
if [ -f "$d/SKILL.md" ]; then
desc=$(awk '/^---/{n++; next} n==1 && /^description:/{gsub(/^description: *"?|"$/,"",$0); print; exit}' "$d/SKILL.md")
echo "claude|$name|$desc"
fi
done
# Scan ~/.agents/skills/ (skills.sh installed skills — may be authored by others)
for d in ~/.agents/skills/*/; do
name=$(basename "$d")
if [ -f "$d/SKILL.md" ]; then
desc=$(awk '/^---/{n++; next} n==1 && /^description:/{gsub(/^description: *"?|"$/,"",$0); print; exit}' "$d/SKILL.md")
echo "agents|$name|$desc"
fi
done
For the current project, also check .claude/skills/ in the working directory.
Skills are authored by user if they exist in ~/.claude/skills/ (these are hand-created, not installed from a registry).
Skills in ~/.agents/skills/ may be:
~/.claude/skills/ or published under your GitHub usernamelicense field in frontmatter or are NOT in ~/.claude/skills/To check, compare the two directories:
# Skills ONLY in ~/.claude/skills (user-authored, not from skills.sh)
comm -23 <(ls ~/.claude/skills/ | sort) <(ls ~/.agents/skills/ | sort)
# Skills in BOTH (user-authored + also installed via skills.sh)
comm -12 <(ls ~/.claude/skills/ | sort) <(ls ~/.agents/skills/ | sort)
# Skills ONLY in ~/.agents/skills (installed from others)
comm -13 <(ls ~/.claude/skills/ | sort) <(ls ~/.agents/skills/ | sort)
Query the skillhu.bz registry for skills authored by your GitHub username:
# Fetch the full registry and filter for your skills
# Replace <your-github-username> with your actual GitHub username
curl -s 'https://skillhu.bz/api/skills' | python3 -c "
import json, sys
try:
data = json.load(sys.stdin)
skills = data if isinstance(data, list) else data.get('skills', [])
for s in skills:
if s.get('author') == '<your-github-username>':
print(json.dumps({
'name': s.get('name'),
'installs': s.get('installs', 0),
'stars': s.get('stars', 0),
'category': s.get('category', ''),
'updated': s.get('updatedAt', '')
}))
except: pass
"
If the API doesn't have a list endpoint, fall back to checking individual skills:
# Check specific skill
curl -s "https://skillhu.bz/api/skills/SKILL_NAME" | python3 -c "import json,sys; d=json.load(sys.stdin); print(json.dumps(d))" 2>/dev/null
Check which skills have GitHub repos under your username:
# Replace <your-github-username> with your actual GitHub username
gh repo list <your-github-username> --json name,description --limit 200 | python3 -c "
import json, sys
repos = json.load(sys.stdin)
for r in repos:
name = r.get('name', '')
desc = r.get('description', '') or ''
# Check if repo has a SKILL.md (indicates it's a published skill)
print(f\"{name}|{desc}\")
"
For each potential skill repo, verify it has a SKILL.md:
gh api repos/<your-github-username>/REPO_NAME/contents/SKILL.md --jq '.name' 2>/dev/null && echo "has-skill-md"
For skillhu.bz published skills:
curl -s 'https://skillhu.bz/api/track' | python3 -c "
import json, sys
data = json.load(sys.stdin)
installs = data.get('installs', {})
stars = data.get('stars', {})
for name in set(list(installs.keys()) + list(stars.keys())):
print(f\"{name}|installs:{installs.get(name,0)}|stars:{stars.get(name,0)}\")
"
Combine all data into ~/.claude/skill-registry.json:
import json, os, subprocess, glob
from datetime import datetime
registry = {
"last_updated": datetime.now().isoformat(),
"skills": []
}
# ... combine scan results into entries like:
entry = {
"name": "skill-name",
"locations": ["~/.claude/skills", "~/.agents/skills"], # where it exists
"authored_by_user": True, # or False
"description": "...",
"published": {
"skillhubz": {"url": "https://skillhu.bz/skill/NAME", "installs": 0, "stars": 0},
"skills_sh": {"repo": "<your-github-username>/NAME", "url": "https://github.com/<your-github-username>/NAME"}
},
# or "published": {} if not published anywhere
}
Output a formatted table:
SKILL REGISTRY (last updated: 2026-03-03T...)
YOUR SKILLS (authored by you):
Name | Location | Published | Installs
auth | ~/.claude | - | -
gmail | ~/.claude | - | -
whatsapp-web-decrypt | both | skillhu + skills.sh| 0
browser-lock | ~/.claude | skillhu | 1
social-autoposter | ~/.claude | - | -
...
INSTALLED SKILLS (from others):
Name | Location | Source
frontend-design | both | skills.sh
copywriting | both | skills.sh
...
PROJECT SKILLS (current project):
Name | Location
browser-analysis | .claude/skills
whatsapp-analysis | .claude/skills
...
PUBLISHED BUT NOT LOCAL:
Name | Platform | Installs
tmux-background-agents | skillhu | 0
SUMMARY:
Total skills: XX | Your skills: XX | Published: XX | Installed from others: XX
--refresh: Execute Steps 1-6, save to ~/.claude/skill-registry.json--refresh to re-scan.publish-skill skill should trigger a refresh.skill registry or list skills — show the full registry (cached or fresh)skill registry --refresh — force re-scan all locations and online registriesskill registry --published — show only published skills with statsskill registry --unpublished — show skills not yet published anywhereskill registry --mine — show only user-authored skills~/.claude/skills/ are user-authored (private, not installed from registries)~/.agents/skills/ are installed via npx skills add (skills.sh).claude/skills/ are repo-specific<your-github-username> with your actual GitHub username throughout~/.claude/skill-registry.jsontools
Design web-like user interfaces in the terminal and inside tmux with a cell-grid Canvas, CSS-like box model, flexbox/grid layout, and 15 reusable widgets such as Panel, Table, Card, ProgressBar, Meter, Tabs, Tree, Badge, Banner, and a braille line chart. Use when an agent needs a dashboard, panel, table, status page, TUI layout, tmux dashboard, screenshot-driven CLI/TUI replica, ANSI frame, truecolor render, pyte PNG screenshot smoke test, wide-character alignment, or a new terminal widget.
tools
Drive interactive terminal (TUI) programs — CLIs, REPLs, installers, menu apps, agent CLIs, and editors like vim — through a PTY, reading semantic screen snapshots. A pattern library classifies a screen (REPL, menu, pager, fzf search, confirm dialog, form, spinner, wizard) and drives it with a ready recipe. Use when a program expects a live terminal (arrow-key menus, prompts, spinners, password fields, curses UIs), or when a piped command hangs or prints nothing.
tools
Design and render terminal/CMD visual effects and ASCII art from a one-line request via the pluggable `fx` engine (18 hot-swappable, themeable effects plus scripted shows). Effects include donut, matrix rain, plasma, fire, a spinning 3D ball, Game of Life, wireframe cube, 3D text banners, rainbow/lolcat gradient text, starfield, tunnel, fireworks, image-to-ASCII, and more. Use when the request is for a terminal animation, ANSI/CLI art, or a new console effect. Pure Python stdlib; truecolor.
tools
# X Twitter Scraper Use Xquik for X/Twitter tweet search, user lookup, profile tweets, follower export, media download, monitors, webhooks, posting workflows, and MCP-backed API exploration. ## Prerequisites - A Xquik API key in `XQUIK_API_KEY`. - Internet access to `https://xquik.com/api/v1`, `https://xquik.com/mcp`, and `https://docs.xquik.com`. - A clear user request that identifies the target tweets, users, accounts, keywords, media, monitor, webhook, or write action. ## Source Truth -