Senior embedded software engineer specializing in firmware and driver development for ARM Cortex-M microcontrollers (Teensy, STM32, nRF52, SAMD).
49
37%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/antigravity-arm-cortex-expert/SKILL.mdQuality
Discovery
40%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 a clear and distinctive niche in embedded firmware development for specific ARM microcontroller families, which is its main strength. However, it reads like a job title rather than a skill description—it lacks concrete actions (what it does) and completely omits when Claude should select this skill. The use of a persona framing ('Senior embedded software engineer specializing in...') rather than action-oriented language further weakens its utility as a skill selector.
Suggestions
Replace the persona framing with concrete actions, e.g., 'Writes firmware, peripheral drivers, and bare-metal code for ARM Cortex-M microcontrollers (Teensy, STM32, nRF52, SAMD). Configures GPIO, SPI, I2C, UART, timers, and interrupts.'
Add an explicit 'Use when...' clause, e.g., 'Use when the user asks about embedded programming, microcontroller firmware, driver development, or mentions specific MCU platforms like Teensy, STM32, nRF52, or SAMD.'
Include additional natural trigger terms users might say, such as 'microcontroller programming', 'bare-metal', 'RTOS', 'peripheral configuration', 'HAL', or specific protocol names like 'SPI', 'I2C', 'UART'.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (embedded software/firmware/driver development) and specific hardware platforms (ARM Cortex-M, Teensy, STM32, nRF52, SAMD), but does not list concrete actions like 'write drivers', 'configure peripherals', 'debug firmware', etc. The description reads more like a resume headline than a capability list. | 2 / 3 |
Completeness | The description answers 'what domain' but lacks any explicit 'when to use' clause or trigger guidance. Per the rubric, a missing 'Use when...' clause caps completeness at 2, and since the 'what' is also vague (no concrete actions listed), this falls to 1. | 1 / 3 |
Trigger Term Quality | Includes relevant keywords like 'firmware', 'driver development', 'ARM Cortex-M', 'Teensy', 'STM32', 'nRF52', 'SAMD', and 'embedded software' which users might naturally mention. However, it misses common variations like 'microcontroller programming', 'GPIO', 'SPI', 'I2C', 'RTOS', 'bare-metal', or 'flashing'. | 2 / 3 |
Distinctiveness Conflict Risk | The combination of embedded firmware, ARM Cortex-M, and specific microcontroller families (Teensy, STM32, nRF52, SAMD) creates a very clear niche that is unlikely to conflict with other skills. This is highly distinctive. | 3 / 3 |
Total | 8 / 12 Passed |
Implementation
35%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This skill is a comprehensive embedded systems reference document but suffers from significant verbosity — it restates knowledge Claude already possesses (architecture tables, platform specs, basic concepts like interrupt priorities). While it contains some valuable safety-critical patterns (memory barriers, DMA cache coherency, W1C registers), much of the content reads as a knowledge dump rather than actionable instructions. The skill would benefit greatly from aggressive trimming to focus only on non-obvious gotchas and providing complete, compilable code examples rather than descriptions of patterns.
Suggestions
Remove or drastically reduce sections Claude already knows: the architecture comparison table, platform descriptions, basic NVIC/critical section concepts, and hardfault debugging basics. Focus only on non-obvious gotchas and project-specific conventions.
Provide complete, compilable code examples for key patterns (memory barrier helpers, DMA buffer setup, SPI driver skeleton) instead of describing what the code should do.
Split platform-specific safety gotchas and advanced patterns into separate referenced files (e.g., `resources/teensy-gotchas.md`, `resources/stm32-gotchas.md`) to reduce the main skill's token footprint.
Add explicit validation/verification steps to the workflow — e.g., specific compiler flags to check, static analysis commands, or hardware verification procedures with expected outputs.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is extremely verbose at ~300+ lines, with extensive knowledge base sections listing platforms, competencies, and architecture comparison tables that Claude already knows. Sections like the architecture differences table, FPU context saving details, and platform descriptions are reference material Claude doesn't need restated. The 'Role & Objectives' section describes what the skill does rather than instructing. | 1 / 3 |
Actionability | There are some concrete code snippets (critical sections, DMA buffer placement, W1C pattern, Rust atomics), but many sections provide only descriptions or API names rather than executable examples. The SPI driver example is a pattern description rather than compilable code. Memory barrier patterns describe what to do but don't provide complete helper function implementations. | 2 / 3 |
Workflow Clarity | The workflow section at the end provides a 6-step sequence but lacks explicit validation checkpoints or feedback loops. Steps like 'Validate → example usage + notes on timing' are vague. For firmware development involving hardware interaction and potentially destructive operations, there are no verification commands or error recovery steps specified. | 2 / 3 |
Progressive Disclosure | There is one reference to 'resources/implementation-playbook.md' for detailed examples, but no bundle files are provided to verify it exists. The bulk of content is inline in a monolithic document that would benefit from splitting (e.g., platform-specific safety gotchas, architecture table, and safety-critical patterns could each be separate reference files). The structure uses headers but everything is in one large file. | 2 / 3 |
Total | 7 / 12 Passed |
Validation
90%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 10 / 11 Passed | |
431bfad
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.