Expert guidance for agents to manage local Nix profiles for installing tools and dependencies. Covers flakes, profile management, package searching, and registry configuration.
62
48%
Does it follow best practices?
Impact
74%
1.42xAverage score across 3 eval scenarios
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./nix-profile-manager/SKILL.mdQuality
Discovery
32%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
The description identifies the Nix ecosystem domain and lists relevant subtopics but lacks concrete actions and explicit trigger guidance. It reads more like a table of contents than a discriminating skill description. Adding a 'Use when...' clause and more specific actions would significantly improve its utility for skill selection.
Suggestions
Add an explicit 'Use when...' clause, e.g., 'Use when the user asks about installing packages with Nix, managing Nix profiles, searching nixpkgs, or configuring Nix flakes.'
Replace topic-level terms like 'profile management' with concrete actions such as 'install, remove, and list packages in local Nix profiles; search nixpkgs for available packages; configure flake registries and inputs.'
Include common user-facing trigger terms like 'nix install', 'nix search', 'nixpkgs', 'nix develop', 'nix shell', and 'nix-env' to improve matching against natural user queries.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (Nix profiles) and lists some areas (flakes, profile management, package searching, registry configuration), but these are more like topic areas than concrete actions. It doesn't specify actions like 'install packages', 'remove packages', 'list installed packages', 'configure flake inputs'. | 2 / 3 |
Completeness | Describes what it covers at a high level but has no explicit 'Use when...' clause or equivalent trigger guidance. Per the rubric, a missing 'Use when...' clause caps completeness at 2, and since the 'what' is also somewhat vague, this falls to 1. | 1 / 3 |
Trigger Term Quality | Includes relevant keywords like 'Nix', 'flakes', 'profile management', 'package searching', and 'registry configuration'. However, it misses common user terms like 'nix install', 'nix-env', 'nix profile install', 'nixpkgs', 'nix search', or 'nix develop'. | 2 / 3 |
Distinctiveness Conflict Risk | The mention of 'Nix profiles' and 'flakes' provides some distinctiveness within a package management context, but 'installing tools and dependencies' is generic enough to overlap with other package manager skills (e.g., apt, brew, pip). | 2 / 3 |
Total | 7 / 12 Passed |
Implementation
64%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The skill provides solid, actionable Nix profile management commands with good coverage of search, install, and troubleshooting. Its main weaknesses are verbosity in the Core Concepts section (explaining things Claude already knows about Nix), missing validation steps in the workflow, and references to bundle files that don't exist. Trimming conceptual explanations and adding post-install verification would significantly improve it.
Suggestions
Remove or drastically trim the 'Core Concepts' section — Claude already understands flakes, profiles, and the package/flake distinction. Keep only non-obvious details like the nested package syntax.
Add a verification step after installation in the workflow, e.g., `nix profile list --profile "$AGENT_PROFILE" | grep git` or running the installed tool to confirm it works.
Either provide the referenced bundle files (references/flakes.md, etc.) or remove the references section to avoid broken links.
Add a note about the older `nix profile install` vs `nix profile add` distinction more prominently, perhaps as a compatibility table rather than a buried NOTE.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill includes some unnecessary explanations (e.g., explaining what a flake is, what a profile directory contains, the difference between packages and flakes) that Claude already knows. The 'Core Concepts' section could be significantly trimmed. However, the command examples themselves are lean and useful. | 2 / 3 |
Actionability | Commands are concrete, executable, and copy-paste ready throughout. The search, install, list, remove, upgrade, and registry commands are all fully specified with proper syntax. The workflow section provides a complete end-to-end example. | 3 / 3 |
Workflow Clarity | The general workflow is sequenced but lacks validation checkpoints. There's no step to verify a package was successfully installed (e.g., checking exit codes, running the tool after install, or verifying it appears in `nix profile list`). For an operation that modifies a profile, a verify step should be present. | 2 / 3 |
Progressive Disclosure | References to supporting files (flakes.md, package-search.md, profile-internals.md, registry.md) are clearly listed, but no bundle files were provided, meaning these references are broken. The core concepts section is inlined when it could be offloaded to reference files, and the main document is longer than necessary as a result. | 2 / 3 |
Total | 9 / 12 Passed |
Validation
100%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 11 / 11 Passed
Validation for skill structure
No warnings or errors.
d2b7dff
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.