Senior embedded software engineer specializing in firmware and driver development for ARM Cortex-M microcontrollers (Teensy, STM32, nRF52, SAMD).
36
33%
Does it follow best practices?
Impact
—
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
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 reads more like a job title or persona statement than a skill description. While it effectively names the hardware domain and specific microcontroller families, it fails to list concrete actions Claude can perform and entirely lacks 'when to use' guidance. The first-person framing implied by 'Senior embedded software engineer specializing in...' is a persona-style description rather than third-person action-oriented language.
Suggestions
Replace the persona-style framing with concrete actions in third person, e.g., 'Develops firmware, writes peripheral drivers, configures registers, and debugs embedded systems for ARM Cortex-M microcontrollers (Teensy, STM32, nRF52, SAMD).'
Add an explicit 'Use when...' clause, e.g., 'Use when the user asks about embedded programming, microcontroller firmware, peripheral drivers, SPI/I2C/UART communication, GPIO configuration, or bare-metal development.'
Include additional natural trigger terms users might say, such as 'microcontroller programming', 'bare-metal', 'RTOS', 'HAL', 'register configuration', 'SPI', 'I2C', 'UART', or 'interrupt handling'.
| 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', 'debug firmware', 'configure peripherals', etc. It describes a persona rather than capabilities. | 2 / 3 |
Completeness | Describes 'what' at a high level (firmware and driver development for specific MCUs) but completely lacks any 'when should Claude use it' guidance. There is no 'Use when...' clause or equivalent explicit trigger guidance, which per the rubric should cap this at 2, but the 'what' is also weak (persona description rather than actions), warranting a 1. | 1 / 3 |
Trigger Term Quality | Includes relevant keywords like 'firmware', 'driver development', 'ARM Cortex-M', 'Teensy', 'STM32', 'nRF52', 'SAMD', and 'embedded' 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 focus on embedded/firmware for specific ARM Cortex-M platforms provides some distinctiveness, but the description is broad enough ('firmware and driver development') that it could overlap with general C/C++ programming skills or hardware-related skills. The specific MCU families help but the lack of concrete action boundaries increases conflict risk. | 2 / 3 |
Total | 7 / 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 reads more like a comprehensive embedded systems reference manual than a focused, actionable skill file. While it contains genuinely useful safety-critical patterns (memory barriers, DMA cache coherency, W1C registers), the bulk of the content covers knowledge Claude already possesses (architecture differences, interrupt priority concepts, hardfault debugging basics). The skill would benefit greatly from aggressive trimming to focus only on the novel, project-specific patterns and conventions, with detailed references moved to bundle files.
Suggestions
Reduce content by 60-70% by removing information Claude already knows (architecture comparison tables, basic interrupt priority concepts, generic hardfault debugging, FPU context saving theory) and keep only project-specific conventions and safety-critical patterns unique to this codebase.
Add complete, compilable code examples for at least one full driver (e.g., the SPI sensor driver) instead of listing API names — the skill promises 'complete, compilable firmware' but delivers only fragments.
Create bundle files (e.g., `resources/safety-patterns.md`, `resources/platform-gotchas.md`, `resources/architecture-reference.md`) and move detailed reference content there, keeping SKILL.md as a concise overview with clear navigation links.
Add concrete validation steps to the workflow: specific compiler flags for static analysis, test commands, hardware verification procedures, and explicit error recovery loops for destructive operations like flash writes or clock configuration changes.
| 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. Much of the content reads like a textbook reference (e.g., Cortex-M architecture differences table, FPU context saving explanation, interrupt priority level descriptions) rather than actionable instructions that add novel value. | 1 / 3 |
Actionability | There are some concrete code snippets (memory barriers, critical sections, DMA buffer alignment, Rust atomic patterns, W1C register pattern) but many sections provide only descriptions or API names without complete executable examples. The SPI driver example at the end lists API calls but provides no complete, compilable driver code despite the skill claiming to deliver 'complete, compilable firmware and driver modules.' | 2 / 3 |
Workflow Clarity | The workflow section at the bottom provides a 6-step sequence (Clarify → Design → Implement → Validate → Optimize → Iterate) but lacks explicit validation checkpoints, specific commands, or feedback loops. For a skill involving hardware-level operations where errors can be destructive, the validation step is vague ('example usage + notes on timing') with no concrete verification commands or error recovery procedures. | 2 / 3 |
Progressive Disclosure | The skill references `resources/implementation-playbook.md` for detailed examples, which is good progressive disclosure, but no bundle files are provided to support this reference. The main file itself is monolithic with extensive inline content (architecture tables, safety patterns, debugging guides) that would benefit from being split into separate reference files. | 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 | |
e41e34a
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.