| name | skill-discovery |
| description | Find agent skills and skill repositories on GitHub. |
Skill Discovery
Find agent skills on GitHub using gh CLI. Skills work across multiple harnesses (Claude Code, Codex, Gemini CLI, Pi, etc.) as they follow the same SKILL.md format.
Workflow
- Search repos by topic to find skill collections
- For awesome lists: fetch README and extract skill links
- For skill repos: list directories containing SKILL.md
- Build searchable catalog at
/tmp/skills-catalog.md
- Search/filter based on user query
Find skill repos
gh search repos --topic=claude-skills --sort=stars --limit=30 --json fullName,description
gh search repos --topic=codex-skills --sort=stars --limit=20 --json fullName,description
gh search repos --topic=gemini-skills --sort=stars --limit=20 --json fullName,description
gh search repos --topic=skill-md --sort=stars --limit=20 --json fullName,description
gh search repos --topic=agent-skills --sort=stars --limit=20 --json fullName,description
gh search repos --topic=claude-code-skills --sort=stars --limit=20 --json fullName,description
gh search repos --topic=gemini-cli-skills --sort=stars --limit=20 --json fullName,description
Find repos with SKILL.md files
Search GitHub code for actual SKILL.md files (finds repos not tagged with topics):
repos=$(gh search code "filename:SKILL.md" --limit=50 --json repository | jq -r '.[].repository.nameWithOwner' | sort -u)
query="{ "
i=0
for repo in $repos; do
owner="${repo%/*}"
name="${repo#*/}"
query+="r$i: repository(owner: \"$owner\", name: \"$name\") { nameWithOwner stargazerCount description } "
((i++))
done
query+="}"
gh api graphql -f query="$query" --jq '.data | to_entries[] | "\(.value.nameWithOwner) ★\(.value.stargazerCount) - \(.value.description // "no desc")"' | sort -t'★' -k2 -rn
Build catalog from awesome lists
For repos with "awesome" in name, fetch README:
gh api "repos/<owner>/<repo>/contents/README.md" --jq '.content' | base64 -d >> /tmp/skills-catalog.md
List skills in a collection repo
For repos with skills directories:
gh api repos/<owner>/<repo>/contents --jq '.[].name'
gh api repos/<owner>/<repo>/contents/<skills-dir> --jq '.[].name'
Search catalog
grep -i "<keyword>" /tmp/skills-catalog.md -B2 -A1
View skill contents
gh api repos/<owner>/<repo>/contents/<path>/SKILL.md --jq '.content' | base64 -d
Install skill
gh repo clone <owner>/<repo> /tmp/<repo>
cp -r /tmp/<repo>/skills/<skill-name> ~/.pi/agent/skills/
Output
Show matching skills as table: | Repository | Description |
After results, offer:
- View a specific skill's SKILL.md
- Install a skill to
~/.pi/agent/skills/
- Search for different keywords