shunk031-herdr-chezmoi-apply

Installation
SKILL.md

[!NOTE] After reading this SKILL.md, say: 🏠 I read shunk031-herdr-chezmoi-apply.

Apply dotfiles through Herdr

Use the herdr skill for the environment check and CLI syntax. Select Local plus all profiles from herdr machine list --json, or only the user's specified targets. Use each profile's SSH target for direct SSH commands; use the local shell for Local. Do not select targets by pane activity. Skip disabled or unreachable profiles and avoid duplicate application to the same destination.

Run one command per tool call. Read its output and exit status before choosing the next command. When forwarding a tool result, retain its exit status alongside its output; for example, keep both exit_code and output from exec_command. If the command is still running, wait for its completion and inspect the final result. Missing exit status is an unverified outcome, not success. Process targets sequentially; do not combine the workflow into a shell chain, loop, or script. Editing this skill does not authorize executing it.

Git first

Locate both existing source repositories with each chezmoi invocation's source-path and, in a separate command, git -C <source-path> rev-parse --show-toplevel; .chezmoiroot can place source state below the repository root. Skip missing setups rather than initializing them.

  1. Confirm each source is the normal main checkout, with an upstream and no unfinished Git operation. Inspect git status --short --branch, then review staged and unstaged diffs. Before discarding them, record each path, the affected settings or behavior, and what was added, removed, or changed. Redact secret values while retaining enough context to explain the change; do not mask every changed line. Paths, line counts, and hunk headers alone are not a change summary.
  2. The user authorizes discarding all tracked, uncommitted changes in that checkout. Restore the reviewed paths with git restore --source=HEAD --staged --worktree -- <path>, then check status in a separate command. Preserve untracked/ignored files, local commits, and other worktrees; do not use git clean or stash. A specific user instruction to preserve a change takes precedence.
  3. Pull public, inspect the result, then pull private. Use the following command separately for each repository; the flags prevent user Git settings from enabling rebase or autostash.
Installs
30
Repository
shunk031/skills
First Seen
Sep 19, 2026