Nix-config malo-find-skills
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
git clone https://github.com/malob/nix-config
T=$(mktemp -d) && git clone --depth=1 https://github.com/malob/nix-config "$T" && mkdir -p ~/.claude/skills && cp -r "$T/configs/claude/skills/malo-find-skills" ~/.claude/skills/malob-nix-config-malo-find-skills && rm -rf "$T"
configs/claude/skills/malo-find-skills/SKILL.mdFind Skills
This skill helps you discover and install skills from the open agent skills ecosystem (https://skills.sh). Based on the find-skills skill by Vercel, adapted for this Nix-managed environment.
When to Use This Skill
Use this skill when the user:
- Asks "how do I do X" where X might be a common task with an existing skill
- Says "find a skill for X" or "is there a skill for X"
- Asks "can you do X" where X is a specialized capability
- Expresses interest in extending agent capabilities
- Wants to search for tools, templates, or workflows
How Skills Work in This Setup
All paths below (e.g.
home/claude.nix, configs/claude/skills/) are relative to the nix-config directory.
Skills are split into two categories:
- Custom skills: Directories in
committed to the nix-config repo. These are skills we author and maintain.configs/claude/skills/ - External skills: Installed from skills.sh via
. These are managed by an activation script innpx skills add
and are gitignored (they appear as symlinks in the skills directory, not regular directories).home/claude.nix
The activation script defines a list called
externalSkills. On every nh darwin switch --no-nom, it removes all Claude Code external skills and reinstalls only the declared ones. This keeps external skills declarative and reproducible.
Finding Skills
Step 1: Search
Run the find command with a relevant query:
npx skills find [query]
For example:
- "how do I make my React app faster?" ->
npx skills find react performance - "can you help me with PR reviews?" ->
npx skills find pr review - "I need to create a changelog" ->
npx skills find changelog
You can also browse skills at https://skills.sh/
Step 2: Present Options
When you find relevant skills, present them with:
- The skill name and what it does
- The install command
- A link to learn more
Step 3: Install
To try a skill immediately:
npx skills add <owner/repo> --skill <name> -g -a claude-code -y
Always pass
-a claude-code to avoid installing for other agents. The -g flag installs globally (user-level) and -y skips prompts.
Step 4: Make It Permanent
If the user wants to keep the skill across rebuilds, add it to the
externalSkills list in home/claude.nix:
externalSkills = [ "anthropics/skills --skill pdf" "owner/repo --skill new-skill" # <- add here ];
Then
nh darwin switch --no-nom will install it on every activation.
Creating a Custom Skill
If no existing skill fits, or the user wants to build their own:
- Create a directory in
configs/claude/skills/<skill-name>/ - Add a
with YAML frontmatter (SKILL.md
andname
) and instructionsdescription - The gitignore allowlists directories automatically, so it will be tracked in git
- Optionally add
,references/
, or other supporting filesscripts/
When No Skills Are Found
If no relevant skills exist:
- Acknowledge that no existing skill was found
- Offer to help with the task directly
- Suggest creating a custom skill if it's a repeatable workflow