What problem does it solve? Nix builds sometimes rebuild packages that should not have changed, deploys trigger unnecessary service restarts, and failure excerpts hide the actual error behind noisy output. This Skill provides a measurement-first workflow to find the real cause from data that already exists, instead of guessing. ## Core Features & Use Cases - Rebuild cause analysis: Use nix-dag to score a build plan from evaluation alone, ranking nodes whose dependents reach them only through an environment variable naming the store path. - Full log retrieval: Use nix log on the derivation path to read complete build logs when the printed failure excerpt contains only noise from a chatty post-failure phase. - Provenance and diffing: Use whence to trace which .nix file installed a package, nix store builds --json to inspect in-flight daemon builds, and normalized diffs to tell real unit changes from pure store-path bumps across generations. - Use Case: A deploy restarted a service and you need to know whether the unit actually changed. Diff the two generations' unit files with store hashes normalized; if byte-identical, run nix-dag on the closure to find the edge carrying the unneeded store path. ## Quick Start Ask the AI to find out why a Nix package rebuilt unexpectedly using nix-dag and whence on the current generation.