Dotfiles-nix skill-hunter
Find and download skills. Use when you need to discover existing skills from GitHub repositories and store them in the correct local skills category. Results in discovered skills being downloaded into the users dotfile repo.
install
source · Clone the upstream repo
git clone https://github.com/not-matthias/dotfiles-nix
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/not-matthias/dotfiles-nix "$T" && mkdir -p ~/.claude/skills && cp -r "$T/modules/home/programs/cli-agents/shared/skills/skill-hunter" ~/.claude/skills/not-matthias-dotfiles-nix-skill-hunter && rm -rf "$T"
manifest:
modules/home/programs/cli-agents/shared/skills/skill-hunter/SKILL.mdsource content
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
)
gh downloadGiven 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
with the regex above.gh search code - You downloaded the skill directory (not just
).SKILL.md - You moved it to
using an existing category.${DOTFILES_ROOT}/ai/files/skills/{category}/{skill-name}