Loading...
Loading...
Search, install, and publish skills. Use search_skills tool for discovery + auto-install. Manual publish via gateway.
npx skill4agent add starchild-ai-agent/official-skills skillmarketplacesearch_skillssearch_skillsnpx skills addauto_install=truesearch_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 skillssearch_skillsskill_refresh()curlmkdir -p skills/<name>web_fetch---
name: my-skill
version: 1.0.0
description: What this skill does
author: your-name
tags: [tag1, tag2]
---| Field | Required | Rules |
|---|---|---|
| Yes | Lowercase, alphanumeric + hyphens, 2-64 chars |
| Yes | Semver (e.g. |
| Recommended | Short summary for search |
| Recommended | Author name |
| Recommended | Array of tags for discoverability |
SKILL_DIR="./skills/my-skill"
head -20 "$SKILL_DIR/SKILL.md"TOKEN=$(curl -s --unix-socket /.fly/api \
-X POST -H "Content-Type: application/json" \
"http://localhost/v1/tokens/oidc" \
-d '{"aud": "skills-market-gateway"}')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