A unified interface for the Claude skills ecosystem that searches across local installs, community repos, and the global skills.sh index in one command. The search_skills tool automatically installs the best match, so you don't need to manually curl GitHub repos or write SKILL.md files by hand. Publishing still goes through the gateway with OIDC tokens and requires proper semver frontmatter. It's basically npm for Claude skills, but with the search casting a wider net across multiple registries. The auto-install default means less friction when you just want to grab a deployment or trading skill and start using it immediately.
npx -y skills add starchild-ai-agent/official-skills --skill skillmarketplace --agent claude-codeInstalls into .claude/skills of the current project.
Always use the search_skills tool. Do NOT manually curl, browse GitHub, or download SKILL.md files.
search_skills does everything automatically:
npx skills add (default: auto_install=true)search_skills(query="deploy") # search + auto-install best match
search_skills(query="trading") # search + auto-install
search_skills(query="k8s", auto_install=false) # search only, don't install
search_skills() # list all installed skills
After search_skills installs a skill, it's immediately available. Call skill_refresh() only if you manually edited skill files.
curl GitHub repos to browse/download skillsmkdir -p skills/<name> and manually write SKILL.mdweb_fetch to download skill filesPublishing still uses the gateway. Only Starchild-authored skills can be published.
---
name: my-skill
version: 1.0.0
description: What this skill does
author: your-name
tags: [tag1, tag2]
---
| Field | Required | Rules |
|---|---|---|
name | Yes | Lowercase, alphanumeric + hyphens, 2-64 chars |
version | Yes | Semver (e.g. 1.0.0) — immutable once published |
description | Recommended | Short summary for search |
author | Recommended | Author name |
tags | Recommended | Array of tags for discoverability |
Step 1: Validate the skill directory
SKILL_DIR="./skills/my-skill"
head -20 "$SKILL_DIR/SKILL.md"
Step 2: Get OIDC token
TOKEN=$(curl -s --unix-socket /.fly/api \
-X POST -H "Content-Type: application/json" \
"http://localhost/v1/tokens/oidc" \
-d '{"aud": "skills-market-gateway"}')
Step 3: Build and send publish request
SKILL_DIR="./skills/my-skill"
GATEWAY="https://skills-market-gateway.fly.dev"
PAYLOAD=$(python3 -c "
import os, json
files = {}
for root, dirs, fnames in os.walk('$SKILL_DIR'):
for f in fnames:
full = os.path.join(root, f)
rel = os.path.relpath(full, '$SKILL_DIR')
with open(full) as fh:
files[rel] = fh.read()
print(json.dumps({'files': files}))
")
curl -s -X POST "$GATEWAY/skills/publish" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d "$PAYLOAD" | python3 -m json.tool
{
"namespace": "@554",
"name": "my-skill",
"version": "1.0.0",
"tag": "@554/my-skill@1.0.0",
"download_url": "https://github.com/.../bundle.zip",
"release_url": "https://github.com/.../releases/tag/..."
}
User wants to find/install a skill
→ Use search_skills(query) tool — it searches all sources and auto-installs
→ NEVER curl GitHub or manually download files
User wants to list installed skills
→ Use search_skills() with no query
User wants to publish a skill
→ Validate SKILL.md frontmatter
→ Get OIDC token (audience: skills-market-gateway)
→ POST to /skills/publish
User wants to create a new skill
→ Read the skill-creator skill first
sickn33/antigravity-awesome-skills
moizibnyousaf/ai-agent-skills
github/awesome-copilot