CtrlK
BlogDocsLog inGet started
Tessl Logo

package-npm-nix

Package npm/TypeScript/Bun CLI tools for Nix. Use when creating Nix derivations for JavaScript/TypeScript tools from npm registry or GitHub sources, handling pre-built packages or source builds with dependency management.

88

1.63x
Quality

82%

Does it follow best practices?

Impact

100%

1.63x

Average score across 3 eval scenarios

SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Quality

Content

77%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The content is highly actionable — complete, executable Nix derivations with concrete commands and a validated five-step workflow including error-recovery loops. Its weaknesses are repetition of the meta block, shebang substitution, and hash instructions across sections, and a monolithic structure with no reference files that pushes the SKILL.md toward 590 lines.

Suggestions

Consolidate the triplicated meta block and quadruplicated shebang-substitution snippet: state each once in a single section (e.g. metadata_requirements and common_patterns) and reference it from the templates, cutting significant token overhead.

Move the troubleshooting and common_patterns sections into references/ files (e.g. references/troubleshooting.md, references/patterns.md) with clearly signaled links from the main body, slimming SKILL.md to an overview plus quick_start and workflow.

Merge the duplicated hash-fetching instructions (quick_start pre-built block and step_2_fetch_hashes) into the single workflow step, keeping only the fetchBunDeps iteration detail there.

DimensionReasoningScore

Conciseness

The body is mostly code templates and commands rather than concept explanations, but there is noticeable duplication: the meta block appears three times (both quick_start derivations plus metadata_requirements), shebang substitution four times (quick_start, common_patterns, anti_patterns, step 4), and hash-fetching instructions twice (quick_start and step_2). This matches anchor 3 — mostly efficient but could be tightened by consolidating repeated patterns; not 2 because no section is padded with concepts Claude already knows, and not 4 because the repetition is more than minor trimming.

3 / 5

Actionability

Fully executable, copy-paste-ready material: two complete derivation templates, concrete commands (nix-prefetch-url, nix hash convert, nix build, ldd, nix fmt, nix flake check), and specific special-case snippets (WASM assets, multiple executables, autoPatchelf for native deps). This matches the anchor-5 example of code covering the common cases, with no pseudocode anywhere; not 4 because there are no missing key details — even the fetchBunDeps hash-iteration loop is spelled out.

5 / 5

Workflow Clarity

A clear five-step sequence (identify package type → fetch hashes → create files → special cases → test build) with an explicit validation step (step_5: build, run --version/--help, ldd, nix flake check), a build checklist, and feedback loops in the troubleshooting section (hash mismatch: copy the 'got:' hash and rebuild; bun.lock mismatch: fakeHash → build → update). This matches anchor 5's clear sequence with explicit validation and error-recovery loops; not 4 because checkpoints are present throughout rather than with minor gaps. The operation is a build, not destructive/batch, so no 3-cap applies.

5 / 5

Progressive Disclosure

There are no bundle files (references/, scripts/, assets/ are absent), so everything — two full derivation templates, troubleshooting, common patterns, metadata requirements — is inlined in a ~590-line SKILL.md. Section headers are clear and navigation is adequate, which keeps it above anchor 2 (unstructured inline content), but content that would naturally live in separate reference files (troubleshooting, pattern library) is inlined, matching anchor 3. Not 4 because the split into a slimmer overview plus one-level-deep reference files is an obvious, unmade improvement.

3 / 5

Total

16

/

20

Passed

Description

87%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: third-person voice, concrete actions, and an explicit 'Use when...' trigger clause covering both npm-registry and GitHub source scenarios. Its only weakness is a modest set of missing synonyms (nixpkgs, flake) that slightly limits trigger recall.

DimensionReasoningScore

Specificity

The description names several concrete actions — "Package npm/TypeScript/Bun CLI tools for Nix", "creating Nix derivations", "handling pre-built packages or source builds with dependency management" — covering both build approaches. It stays just short of the anchor-5 bar of comprehensively enumerated actions (no mention of fetching, hash handling, or metadata), matching anchor 4: several specific actions with minor coverage gaps. Not 3 because more than 1-2 actions are named; not 5 because the action list is not comprehensive.

4 / 5

Completeness

Both what ("Package npm/TypeScript/Bun CLI tools for Nix") and when ("Use when creating Nix derivations for JavaScript/TypeScript tools from npm registry or GitHub sources, handling pre-built packages or source builds") are explicitly and concretely stated, mirroring the anchor-5 pattern of an explicit 'Use when...' clause with specific trigger conditions. Not 4 because the 'when' clause is already specific about sources and build types rather than being generic or only weakly implied.

5 / 5

Trigger Term Quality

Strong natural keyword coverage: "npm", "TypeScript", "Bun", "JavaScript", "CLI tools", "Nix derivations", "npm registry", "GitHub sources" — terms a user would plausibly say when requesting this. A few common variations are missing ("nixpkgs", "flake", ".tgz", "nix package"), which keeps it at anchor 4 rather than 5. Clearly above anchor 3, which expects missing common variations wholesale.

4 / 5

Distinctiveness Conflict Risk

The niche (packaging JS/TS tooling as Nix derivations) is distinct, with dedicated trigger terms (Nix, npm registry, Bun) unlikely to collide with other skills. It carves a clear boundary between the pre-built and source-build paths, matching the anchor-5 example of a clear niche with minimal conflict risk; no overlap with neighboring skills is apparent.

5 / 5

Total

18

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (591 lines); consider splitting into references/ and linking

Warning

Total

15

/

16

Passed

Repository
YPares/agent-skills
Reviewed

Table of Contents

Is this your skill?

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.