Use when developing embedded/no_std Rust. Keywords: embedded, no_std, microcontroller, MCU, ARM, RISC-V, bare metal, firmware, HAL, PAC, RTIC, embassy, interrupt, DMA, peripheral, GPIO, SPI, I2C, UART, embedded-hal, cortex-m, esp32, stm32, nrf, 嵌入式, 单片机, 固件, 裸机
Install with Tessl CLI
npx tessl i github:actionbook/rust-skills --skill domain-embedded73
Does it follow best practices?
If you maintain this skill, you can automatically optimize it using the tessl CLI to improve its score:
npx tessl skill review --optimize ./path/to/skillValidation for skill structure
Discovery
44%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 description excels at trigger term coverage with comprehensive embedded Rust keywords but critically fails to describe what the skill actually does. It's essentially a keyword list with a 'Use when' clause but no capability description, making it impossible for Claude to understand what actions this skill enables.
Suggestions
Add concrete actions describing what the skill does, e.g., 'Assists with peripheral configuration, interrupt handling, memory-mapped register access, and HAL/PAC usage for embedded Rust development.'
Structure as 'what + when' format: Start with capabilities (what it does), then follow with the trigger guidance and keywords.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description lacks any concrete actions - it only states 'Use when developing' without describing what the skill actually does (e.g., 'configures peripherals', 'writes interrupt handlers', 'generates HAL code'). | 1 / 3 |
Completeness | While the 'when' is addressed with 'Use when developing embedded/no_std Rust', the 'what' is completely missing - there's no description of what capabilities or actions this skill provides. | 1 / 3 |
Trigger Term Quality | Excellent coverage of natural keywords including hardware platforms (ARM, RISC-V, esp32, stm32, nrf), protocols (SPI, I2C, UART), frameworks (RTIC, embassy), and even Chinese terms (嵌入式, 单片机). Users would naturally use these terms. | 3 / 3 |
Distinctiveness Conflict Risk | The embedded/no_std Rust niche is highly specific and unlikely to conflict with other skills. The extensive keyword list (MCU, bare metal, firmware, HAL, PAC, specific chip families) creates a clear, distinct domain. | 3 / 3 |
Total | 8 / 12 Passed |
Implementation
87%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a high-quality embedded Rust skill that efficiently communicates domain constraints, design patterns, and concrete implementations. The table-heavy format maximizes information density while maintaining clarity. Minor weakness is the lack of explicit validation/debugging workflow steps for common embedded development issues.
Suggestions
Add a brief workflow section for debugging/validation: e.g., 'Build: cargo build --release → Flash: probe-run → Verify: defmt output'
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Extremely lean and efficient. Uses tables extensively to compress information, avoids explaining basic concepts Claude knows, and every section adds domain-specific value without padding. | 3 / 3 |
Actionability | Provides executable code pattern with complete no_std setup, concrete crate recommendations, and specific patterns like `Mutex<RefCell<Option<T>>>`. The code example is copy-paste ready with proper attributes and imports. | 3 / 3 |
Workflow Clarity | The 'Trace Down' section shows conceptual flow and the code pattern demonstrates setup, but lacks explicit validation checkpoints or error recovery steps for common embedded pitfalls like flash failures or peripheral initialization errors. | 2 / 3 |
Progressive Disclosure | Well-structured with clear sections, tables for quick reference, and explicit 'Related Skills' section pointing to other resources. The 'Trace to Layer 1' and cross-references are one level deep and clearly signaled. | 3 / 3 |
Total | 11 / 12 Passed |
Validation
68%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 / 16 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
metadata_version | 'metadata' field is not a dictionary | Warning |
license_field | 'license' field is missing | Warning |
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
body_output_format | No obvious output/return/format terms detected; consider specifying expected outputs | Warning |
body_steps | No step-by-step structure detected (no ordered list); consider adding a simple workflow | Warning |
Total | 11 / 16 Passed | |
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.