/ Directory / Playground / agent-skills-nix
● Community Kyure-A ⚡ Instant

agent-skills-nix

by Kyure-A · Kyure-A/agent-skills-nix

Manage your Claude Agent Skills declaratively with Nix — reproducible skill sets across machines.

A Nix flake that lets you declare your Agent Skills in Nix config and have them materialized into ~/.claude/skills/ (or any target). Useful if you already live in NixOS or Home Manager and want your skill setup to be as reproducible as the rest of your dotfiles.

Why use it

Key features

Live Demo

What it looks like in practice

agent-skills-nix-skill.replay ▶ ready
0/0

Install

Pick your client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "agent-skills-nix-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/Kyure-A/agent-skills-nix",
        "~/.claude/skills/agent-skills-nix"
      ],
      "_inferred": true
    }
  }
}

Open Claude Desktop → Settings → Developer → Edit Config. Restart after saving.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "agent-skills-nix-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/Kyure-A/agent-skills-nix",
        "~/.claude/skills/agent-skills-nix"
      ],
      "_inferred": true
    }
  }
}

Cursor uses the same mcpServers schema as Claude Desktop. Project config wins over global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "agent-skills-nix-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/Kyure-A/agent-skills-nix",
        "~/.claude/skills/agent-skills-nix"
      ],
      "_inferred": true
    }
  }
}

Click the MCP Servers icon in the Cline sidebar, then "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "agent-skills-nix-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/Kyure-A/agent-skills-nix",
        "~/.claude/skills/agent-skills-nix"
      ],
      "_inferred": true
    }
  }
}

Same shape as Claude Desktop. Restart Windsurf to pick up changes.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "agent-skills-nix-skill",
      "command": "git",
      "args": [
        "clone",
        "https://github.com/Kyure-A/agent-skills-nix",
        "~/.claude/skills/agent-skills-nix"
      ]
    }
  ]
}

Continue uses an array of server objects rather than a map.

~/.config/zed/settings.json
{
  "context_servers": {
    "agent-skills-nix-skill": {
      "command": {
        "path": "git",
        "args": [
          "clone",
          "https://github.com/Kyure-A/agent-skills-nix",
          "~/.claude/skills/agent-skills-nix"
        ]
      }
    }
  }
}

Add to context_servers. Zed hot-reloads on save.

claude mcp add agent-skills-nix-skill -- git clone https://github.com/Kyure-A/agent-skills-nix ~/.claude/skills/agent-skills-nix

One-liner. Verify with claude mcp list. Remove with claude mcp remove.

Use Cases

Real-world ways to use agent-skills-nix

How to declare your Claude skills in a Nix flake

👤 NixOS / Home Manager users ⏱ ~25 min intermediate

When to use: You want your Claude skill set tracked the same way as your shells, editors, and services.

Prerequisites
  • Nix with flakes enabled — echo 'experimental-features = nix-command flakes' >> ~/.config/nix/nix.conf
  • The flake added as an input — flake input agent-skills-nix.url = "github:Kyure-A/agent-skills-nix";
Flow
  1. Add the input
    Add agent-skills-nix to my flake inputs and wire it into Home Manager.✓ Copied
    → flake.nix updated with the input + module import
  2. List the skills I want
    Declare the skills I use: linear-claude-skill, symfony-ux-skills, mck-ppt-design-skill. Pin to current main.✓ Copied
    → A skills = { ... }; block with pinned revs
  3. Build and switch
    Run home-manager switch and verify ~/.claude/skills/ is populated.✓ Copied
    → All skills present as symlinked directories

Outcome: Reproducible skill set managed by Nix — wipe your dotfiles and get the same setup back in one command.

Pitfalls
  • Upstream skill changes break your workflow — Pin to a specific rev, only bump on purpose
Combine with: filesystem

Sync the same skill set across laptop and workstation

👤 Multi-machine developers ⏱ ~15 min intermediate

When to use: You switch between a laptop and a desktop and keep forgetting to clone the same skills on both.

Flow
  1. Add to your shared HM module
    Move the skills declaration into my shared home-manager module so both hosts import it.✓ Copied
    → Single source of truth, two hosts consuming it
  2. Switch both hosts
    Build and switch on both machines.✓ Copied
    → Matching ~/.claude/skills/ on both

Outcome: Both machines carry the same skill bundle automatically.

Pitfalls
  • Forgetting to commit and push before switching on the second machine — Use a self-flake with autoCommit or a shared git repo

Combinations

Pair with other MCPs for X10 leverage

agent-skills-nix-skill + filesystem

Claude reads your flake and suggests skills to add/remove

Read my flake.nix, check which of my installed skills haven't been used in 30 days, and suggest removals.✓ Copied

Tools

What this MCP exposes

ToolInputsWhen to callCost
skill-declaration set of { name, url, rev } During home-manager switch / nixos-rebuild nix build runtime
lock-management flake.lock When you want deterministic upgrades 0

Cost & Limits

What this costs to run

API quota
none
Tokens per call
minimal — Nix declarations are short
Monetary
free
Tip
Keep your skill set small — every skill costs context tokens at load time

Security

Permissions, secrets, blast radius

Credential storage: none
Data egress: fetches only the skill repos you declare

Troubleshooting

Common errors and fixes

Flake doesn't evaluate

Check input url format and run nix flake check for specific errors.

Verify: nix flake check
Skills dir empty after switch

Make sure the module is actually imported in your HM config, and home.activation is running.

Verify: ls ~/.claude/skills/
Pinned rev 404

The upstream repo may have rewritten history — update the rev.

Alternatives

agent-skills-nix vs others

AlternativeWhen to use it insteadTradeoff
manual git cloneYou're not on Nix and don't want to beNo reproducibility; easy drift
agent-skills-cli-skillYou want a CLI installer without NixImperative rather than declarative

More

Resources

📖 Read the official README on GitHub

🐙 Browse open issues

🔍 Browse all 400+ MCP servers and Skills