agentsclimarketplace

Skill discovery

Skill dannote/dot-pi/skills/skill-discovery

Find agent skills and skill repositories on GitHub.From its SKILL.md

Install
npx -y skills add dannote/dot-pi --skill skill-discovery

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • runs commandsInstructs the agent to run 8 commands, including `gh search repos --topic=claude-skills --sort=stars --limit=30 --json fullName,description` and 7 more.

SKILL.md

3.0 KB, 798 tokens by cl100k_base, 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

  1. Search repos by topic to find skill collections
  2. For awesome lists: fetch README and extract skill links
  3. For skill repos: list directories containing SKILL.md
  4. Build searchable catalog at /tmp/skills-catalog.md
  5. 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:

  1. View a specific skill's SKILL.md
  2. Install a skill to ~/.pi/agent/skills/
  3. Search for different keywords

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.