Skill discovery
Curated Pi package with extensions, skills, prompt shortcuts, and rules
npx -y skills add dannote/dot-pi --skill skill-discoveryAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
Find agent skills and skill repositories on GitHub.
SKILL.md
3.0 KB, as published. Nobody here has run it
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):
# Find repos containing SKILL.md files, then fetch stars via GraphQL (single query)
repos=$(gh search code "filename:SKILL.md" --limit=50 --json repository | jq -r '.[].repository.nameWithOwner' | sort -u)
# Build GraphQL query to get stars for all repos at once
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:
# Find skills directory (skills/, scientific-skills/, etc.)
gh api repos/<owner>/<repo>/contents --jq '.[].name'
# List individual skills
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