Skip to content

Repository files navigation

skills-flake

Nix flake that packages AI agent skills from many upstream repos and exposes them as installable paths.

What you get

  • packages.<system>.skills: nested attrset of fetched skills
  • packages.<system>.updater: CLI that updates skills-flake.lock.json from skill-list.kdl
  • homeModules.default: Home Manager module that installs selected skills into agent-specific skill directories

Usage

1) Consume skills directly from flake output

Skill paths are exposed under:

inputs.skills-flake.packages.${pkgs.stdenv.hostPlatform.system}.skills.<source>.<url-section>.<skill>

<url-section> depends on source parser (for GitHub, it is usually <owner>.<repo>).

Example: inputs.skills-flake.packages.${pkgs.stdenv.hostPlatform.system}.skills.github.NousResearch.hermes-agent.apple.apple-notes

2) Install skills with Home Manager

Add this flake to your inputs, then import its module and enable it:

{
  imports = [ inputs.skills-flake.homeModules.default ];

  home.skillsFlake = {
    enable = true;

    # Optional: explicit directories (relative to $HOME)
    # skillDirs = [ ".agents/skills" ];

    # Auto-install into enabled agent dirs via `agents.<name>.enable = true`
    agents.pi.enable = true;

    # Skills keyed by output directory name
    skills = {
      agent-browser = inputs.skills-flake.packages.${pkgs.stdenv.hostPlatform.system}.skills.github.vercel-labs.agent-browser.agent-browser;
    };
  };
}

Supported agents:

Full supported agent list, install directories, and websites

Updating skill sources

Edit skill-list.kdl, then run:

nix run .#updater -- sort-skill-list
nix run .#updater -- update

To update only a subset of repos:

nix run .#updater -- update --repo github:owner/repo
nix run .#updater -- update --repo https://github.com/owner/repo.git
nix run .#updater -- update --repo github:owner/repo --repo github:other/repo

This updates skills-flake.lock.json with pinned revisions and hashes. Subset updates keep existing lockfile entries for non-selected repos.

Development

direnv allow

Useful commands:

nix run .#updater -- --help

About

Download and install agent skills declaratively with Nix

Resources

Stars

15 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages