papercomputeco

Flake Skills — Development skill for Claude Code

Development community

Nix flake framework for distributing, propagating, and sharing agent skills.

How to install Flake Skills

This entry records only its repository, not the path inside it, so there is no exact command to give. Open papercomputeco/flake-skills and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Flake Skills does

Nix flake framework for distributing, propagating, and sharing agent skills.

Alternatives in Development

README

flake-skills

A Nix flake framework for distributing, propagating, and sharing agent skills across teams and projects.

Define skills once. Pull them into any project with a one-liner. Use anyone's distributed skills.

Quick Start

1. Create your shared skills repo

acme-skills/
├── flake.nix
└── skills/
    ├── docx/
    │   └── SKILL.md
    └── pdf/
        ├── SKILL.md
        └── script.sh

The `flake.nix` for defining and sharing your skills is minimal:

{
  description = "ACME Corp agent skills";

  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
    flake-skills.url = "github:papercomputeco/flake-skills";
  };

  outputs = { self, nixpkgs, flake-skills }:
    flake-skills.lib.mkSkillsFlake {
      inherit nixpkgs;
      skillsSrc = ./skills;
    };
}

Add all `SKILL.md` files (and any supporting scripts, templates, etc.) into `skills//` and they're automatically discovered. Commit them to source control and push. They're now shared!

2. Use shared skills in a project

{
  description = "My project";

  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
    acme-skills.url = "github:acme-corp/acme-skills";
    acme-skills.inputs.nixpkgs.follows = "nixpkgs";
  };

  outputs = { self, nixpkgs, acme-skills }:
    let
      system = "x86_64-linux";
      pkgs   = nixpkgs.legacyPackages.${system};
      skills = acme-skills.lib;
    in
    {
      devShells.${system}.default = pkgs.mkShell {
        name = "my-project";

        shellHook = skills.mkSkillsHook {
          skills = [ "docx" "pdf" "acme-style-guide" ];
        };
      };
    };
}

3. Enter the dev shell

$ nix develop
Syncing skills to .agents/skills/
  active skills: docx, pdf, acme-style-guide

Your `.agents/skills/` directory now contains exactly the skills you listed. It's synced on every shell entry, stale skills are cleaned up, and each flake-managed skill is added to `.agents/skills/.gitignor