agentsclimarketplace

Skill discovery

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

Curated Pi package with extensions, skills, prompt shortcuts, and rules

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.

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

  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

Keep looking

Skills are one crate of 328,083. 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.