Guide for creating Nushell plugins in Rust using nu_plugin and nu_protocol crates. Use when users want to build custom Nushell commands, extend Nushell with new functionality, create data transformations, or integrate external tools/APIs into Nushell. Covers project setup, command implementation, streaming data, custom values, and testing.
87
82%
Does it follow best practices?
Impact
95%
1.20xAverage score across 3 eval scenarios
Advisory
Suggest reviewing before use
Quality
Discovery
100%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This is a strong skill description that clearly defines a narrow, specific domain (Nushell plugin development in Rust), lists concrete capabilities, and includes an explicit 'Use when' clause with natural trigger terms. It uses proper third-person voice and provides enough detail for Claude to confidently select or reject this skill from a large pool.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: creating Nushell plugins in Rust, project setup, command implementation, streaming data, custom values, and testing. Also mentions specific crates (nu_plugin, nu_protocol). | 3 / 3 |
Completeness | Clearly answers both 'what' (guide for creating Nushell plugins in Rust covering project setup, command implementation, streaming data, custom values, testing) and 'when' (explicit 'Use when' clause with multiple trigger scenarios like building custom commands, extending Nushell, creating data transformations, integrating external tools). | 3 / 3 |
Trigger Term Quality | Includes strong natural keywords users would say: 'Nushell plugins', 'Rust', 'custom Nushell commands', 'extend Nushell', 'data transformations', 'integrate external tools/APIs', 'nu_plugin', 'nu_protocol'. Good coverage of terms a user building Nushell plugins would naturally use. | 3 / 3 |
Distinctiveness Conflict Risk | Highly distinctive niche: Nushell plugin development in Rust using specific crates. Very unlikely to conflict with other skills given the narrow domain of Nushell plugin authoring with nu_plugin/nu_protocol. | 3 / 3 |
Total | 12 / 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.
This is a solid, actionable skill with excellent executable code examples covering the full lifecycle of Nushell plugin development. Its main weaknesses are some verbosity in explanatory sections, missing validation checkpoints in the development workflow, and unclear boundaries between inline content and referenced files. The progressive disclosure structure is well-intentioned but cannot be fully evaluated without bundle files.
Suggestions
Add explicit validation checkpoints to the development workflow (e.g., 'Verify cargo build succeeds with no errors before proceeding to plugin add', 'If plugin use fails, check version compatibility with `version`')
Trim the serialization section and command types section—Claude doesn't need explanations of what binary vs text formats are; just state 'Use MsgPackSerializer (default); switch to JsonSerializer for debugging protocol messages'
Clarify the boundary between inline advanced features content and references/advanced-features.md to avoid duplication—either keep streaming/engine interaction inline and remove the reference, or keep them minimal inline with a clear pointer
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Generally efficient but includes some unnecessary explanations Claude would already know (e.g., explaining what MsgPackSerializer vs JsonSerializer are, explaining what plugins are in the overview). The serialization section and some command type descriptions could be tightened. However, most code examples are lean and purposeful. | 2 / 3 |
Actionability | Provides fully executable Rust code with complete imports, struct definitions, and main functions. The quick start is copy-paste ready from project creation through build, install, and testing. Signature definitions, argument access, error handling, and common patterns all include concrete, runnable code. | 3 / 3 |
Workflow Clarity | The quick start and development workflow sections provide clear sequences, but the iterative development workflow lacks validation checkpoints—there's no step to verify the plugin compiled successfully before registering, no guidance on what to do if 'plugin add' fails, and no feedback loop for common errors. For a workflow involving build/install/register steps that can fail, explicit validation is needed. | 2 / 3 |
Progressive Disclosure | Good structure with clear section headers and references to four separate reference files (advanced-features.md, examples.md, testing-debugging.md, plugin-protocol.md) plus a scaffold script. However, no bundle files were provided, so these references cannot be verified. The main file also includes substantial inline content (advanced features, engine interaction) that overlaps with what the references supposedly cover, suggesting the split could be cleaner. | 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.