Claude-skill-registry-data migrating-claude-assets

Migrates Claude Code skills and commands from dotfiles to home-manager in this workstation repo. Use when adding or moving skills/commands to be managed by Nix.

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry-data
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry-data "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/migrating-claude-assets" ~/.claude/skills/majiayu000-claude-skill-registry-data-migrating-claude-assets && rm -rf "$T"
manifest: data/migrating-claude-assets/SKILL.md
source content

Migrating Claude Assets to Home-Manager

Overview

This repo manages Claude Code skills and commands via home-manager. Source files live in

assets/claude/
, deployed to
~/.claude/
via symlinks.

File Locations

TypeSourceDeployed to
Commands
assets/claude/commands/<name>.md
~/.claude/commands/<name>.md
Skills
assets/claude/skills/<name>/SKILL.md
~/.claude/skills/<name>/SKILL.md
References
assets/claude/skills/<name>/references/*.md
~/.claude/skills/<name>/references/*.md

Migration Steps

1. Copy files to assets

# For a command
cp ~/.claude/commands/my-command.md assets/claude/commands/

# For a skill (may have references/)
cp -r ~/.claude/skills/my-skill assets/claude/skills/

2. Add home.file entries

Edit

users/dev/home.base.nix
, add entries after existing ones (~line 166):

# For a command
home.file.".claude/commands/my-command.md".source = "${assetsPath}/claude/commands/my-command.md";

# For a skill
home.file.".claude/skills/my-skill/SKILL.md".source = "${assetsPath}/claude/skills/my-skill/SKILL.md";

# For each reference file (if any)
home.file.".claude/skills/my-skill/references/FOO.md".source = "${assetsPath}/claude/skills/my-skill/references/FOO.md";

3. Remove existing files (before applying)

Home-manager can't overwrite regular files with symlinks:

# On macOS
rm ~/.claude/commands/my-command.md
# or
rm -rf ~/.claude/skills/my-skill

# On devbox (if existed there too)
rm -rf ~/.claude/skills/my-skill

4. Commit and push

git add assets/claude/ users/dev/home.base.nix
git commit -m "Migrate my-skill to home-manager"
git push origin main

5. Apply

macOS:

sudo darwin-rebuild switch --flake ~/Code/workstation#Y0FMQX93RR-2

Devbox:

cd ~/projects/workstation && git pull
nix run home-manager -- switch --flake .#dev

Notes

  • Each file needs explicit
    home.file
    entry (not recursive)
  • Skills deploy to both macOS and devbox via shared
    home.base.nix
  • Skill frontmatter: needs
    name:
    and
    description:
    fields
  • Command frontmatter: needs
    description:
    field