skill-hunter
Skill Hunting.
1) Search with gh CLI
Use this regex path filter:
path:/^./.?(opencode|ai|llm|claude|codex|agents|pi|cursor|factory)\/skills?\/.*\.md$/
Example:
gh search code "zellij path:/^./.?(opencode|ai|llm|claude|codex|agents|pi|cursor|factory)\/skills?\/.*\.md$/" \
--limit 20 \
--json repository,path,url
2) Download the full skill directory (using gh download)
Given a result path like .pi/skills/terminal/zellij/SKILL.md, download the directory (.pi/skills/terminal/zellij/), not only one file.
# Install once (if needed)
# gh extension install yuler/gh-download
REPO="owner/repo"
SKILL_FILE_PATH=".pi/skills/terminal/zellij/SKILL.md"
SKILL_DIR_PATH="$(dirname "$SKILL_FILE_PATH")"
DOTFILES_ROOT="${DOTFILE_REPO_ROOT:-$(git rev-parse --show-toplevel)}"
STAGING_ROOT="${DOTFILES_ROOT}/ai/files/skills-research"
mkdir -p "$STAGING_ROOT"
# Download directory directly from GitHub without cloning full repo
gh download "$REPO" "$SKILL_DIR_PATH" --outdir "$STAGING_ROOT"
echo "Downloaded: $STAGING_ROOT/$(basename "$SKILL_DIR_PATH")"
3) Categorize and move to ${DOTFILES_ROOT}/ai/files/skills/{category}
Pick a category from existing dirs under ${DOTFILES_ROOT}/ai/files/skills/.
DOTFILES_ROOT="${DOTFILE_REPO_ROOT:-$(git rev-parse --show-toplevel)}"
SKILLS_ROOT="${DOTFILES_ROOT}/ai/files/skills"
# Show available categories
find "$SKILLS_ROOT" -mindepth 1 -maxdepth 1 -type d -printf "%f\n" | sort
# Inputs
DOWNLOADED_DIR="${DOTFILES_ROOT}/ai/files/skills-research/zellij"
SKILL_NAME="zellij"
CATEGORY="shells" # choose from existing categories above
TARGET_DIR="${SKILLS_ROOT}/${CATEGORY}/${SKILL_NAME}"
mkdir -p "$(dirname "$TARGET_DIR")"
mv "$DOWNLOADED_DIR" "$TARGET_DIR"
echo "Stored at: $TARGET_DIR"
Done Criteria
- You used
gh search codewith the regex above. - You downloaded the skill directory (not just
SKILL.md). - You moved it to
${DOTFILES_ROOT}/ai/files/skills/{category}/{skill-name}using an existing category.
More from zenobi-us/dotfiles
leaflet-mapping
Use when creating interactive maps in Obsidian using LeafletJS plugin - covers real-world maps, image maps, markers from notes, overlays, GeoJSON, GPX tracks, and common issues with bounds/zoom levels
73using-superpowers
Use when starting any conversation - establishes mandatory workflows for finding and using skills, including using Skill tool before announcing usage, following brainstorming before coding, and creating TodoWrite todos for checklists
67deep-researcher
Use when delegating research tasks requiring verified information from multiple authoritative sources - crawls and fact-checks beyond surface-level findings, providing evidence of verification process with confidence levels for each claim
66chrome-debug
Use when debugging web applications in chrome via the remote debugging protocol. Provides capabilities for inspecting DOM, executing JS, taking screenshots, and automating browser interactions.
64projectmanagement
Skills for managing projects, tracking progress, and suggesting next actions.
64ast-grep-code-analysis
Use when analyzing complex codebases for security vulnerabilities, performance issues, and structural patterns - provides systematic AST-based approach using ast-grep for comprehensive code understanding beyond manual inspection
60