Claude Skill
Kyure-A/agent-skills-nix
Manage Claude Skills declaratively with Nix. Reproducible, version-controlled agent skill configurations for Nix-based environments.
Overview
Repository
Install this Skill
git clone https://github.com/Kyure-A/agent-skills-nix.gitRegistry
Summary
A Nix-based tool for declaratively managing Claude Skills, enabling reproducible, version-controlled agent skill configurations.
在Nix上对Agent Skills进行声明式管理
Key features
- Declarative skill definitions using Nix expressions
- Reproducible and version-controlled skill setups
- Seamless integration with Nix ecosystem
- Supports multiple skill sources and dependencies
Use cases
- Manage Claude Skills in Nix-based development environments
- Share and replicate skill configurations across teams
- Automate skill deployment in CI/CD pipelines
- Maintain consistent agent behavior across machines
README excerpt
# agent-skills-nix Declarative management of Agent Skills (directories containing `SKILL.md`) with flake-pinned sources, discovery, selection, bundling, and Home Manager integration. ## Concepts - **sources**: Named inputs (flake or path) pointing at a skills root (`subdir`). Optional `idPrefix` namespaces discovered skill IDs to avoid collisions across sources. - **discover**: Recursively scans sources for directories that contain `SKILL.md`, producing a catalog. Skills can be nested (e.g. `ecosystem/c-ecosystem/`) and their IDs use `/` as separator. - **skills.enable / skills.enableAll / skills.explicit**: Declaratively pick discovered skills, enable-all (global or by source list), and explicitly specified ones; no accidental auto-install unless you opt in. - **targets**: Agent-specific destinations synced from a store bundle (structure: `link`, `symlink-tree`, `copy-tree`). Targets are opt-in (`enable = false` by default). The `dest` option supports shell variable expansion at runtime (e.g. `${CLAUDE_CONFIG_DIR:-$HOME/.claude}/skills`). See **Default target paths** below. ## Source filters Each source supports optional filters to control discovery: - **`idPrefix`** (`null | string`, default: `null`): Prefix prepended to discovered skill IDs. Useful when multiple sources expose the same relative path, e.g. `idPrefix = "openai";` turns `pdf` into `openai/pdf`. - **`filter.maxDepth`** (`null | int`, default: `null`): Maximum recursion depth for SKILL.md discovery. `null` = unlimited (capped internally at 100 to guard against symlink loops), `1` = immediate children only, `2` = one level of nesting. Set to `1` to restore pre-recursive (flat-only) behavior. - **`filter.nameRegex`** (`null | string`, default: `null`): Regex matched against the skill's relative path (