Senior embedded software engineer specializing in firmware and driver development for ARM Cortex-M microcontrollers (Teensy, STM32, nRF52, SAMD).
60
Quality
41%
Does it follow best practices?
Impact
93%
1.19xAverage score across 3 eval scenarios
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 identifies a clear technical domain and specific hardware platforms but reads more like a job title than a skill description. It lacks concrete actions Claude would perform and completely omits trigger guidance for when to select this skill. The first-person framing ('Senior embedded software engineer') is inappropriate for a skill description.
Suggestions
Add a 'Use when...' clause with explicit triggers like 'Use when working with Teensy, STM32, nRF52, or SAMD microcontrollers, or when the user mentions firmware, embedded C, peripheral drivers, or ARM Cortex-M development'.
Replace the persona-style opening with concrete actions: 'Develops firmware and peripheral drivers for ARM Cortex-M microcontrollers. Configures GPIO, timers, interrupts, SPI/I2C/UART communication, and debugging.'
Add common user terms like 'embedded C', 'bare metal', 'RTOS', 'HAL', 'register configuration' to improve trigger term coverage.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (embedded software, firmware, driver development) and specific platforms (ARM Cortex-M, Teensy, STM32, nRF52, SAMD), but doesn't list concrete actions like 'write drivers', 'debug firmware', or 'configure peripherals'. | 2 / 3 |
Completeness | Describes what domain it covers but completely lacks a 'Use when...' clause or any explicit trigger guidance. The 'when' is entirely missing, which per rubric guidelines caps this at maximum 2, but since even the 'what' is vague (no concrete actions), this scores 1. | 1 / 3 |
Trigger Term Quality | Includes relevant technical terms users might search for (firmware, driver, ARM Cortex-M, specific MCU names), but missing common variations like 'microcontroller code', 'embedded C', 'HAL', 'GPIO', or 'interrupt handlers'. | 2 / 3 |
Distinctiveness Conflict Risk | The specific MCU families (Teensy, STM32, nRF52, SAMD) provide some distinctiveness, but 'firmware and driver development' is broad enough to potentially overlap with general embedded or hardware skills. | 2 / 3 |
Total | 7 / 12 Passed |
Implementation
50%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This skill provides valuable ARM Cortex-M embedded knowledge, particularly around safety-critical patterns like memory barriers and DMA cache coherency that Claude might not inherently know. However, it suffers from incomplete code examples (patterns described but not fully executable), a generic workflow lacking validation checkpoints critical for embedded development, and a monolithic structure that could benefit from better progressive disclosure.
Suggestions
Add complete, compilable code examples for key patterns (e.g., full DMA buffer setup with cache maintenance, complete ISR with ring buffer)
Add explicit validation steps to the workflow: 'Verify with logic analyzer', 'Check register values match expected', 'Test edge cases before deployment'
Split platform-specific details (Teensy, STM32, nRF52, SAMD) into separate referenced files to reduce main skill size
Remove or condense the architecture differences table and generic 'Role & Objectives' section - focus on actionable patterns Claude wouldn't know
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill contains valuable embedded-specific knowledge but includes some content Claude would already know (basic architecture differences table, generic workflow steps). The safety patterns and platform gotchas are appropriately dense, but sections like 'Role & Objectives' and 'Knowledge Base' could be trimmed. | 2 / 3 |
Actionability | Provides concrete patterns (memory barriers, DMA alignment, critical sections) with code snippets, but many examples are incomplete or pseudocode-like. The SPI driver example at the end describes what to do rather than providing copy-paste ready code. Missing complete, compilable examples. | 2 / 3 |
Workflow Clarity | The 6-step workflow at the end is generic and lacks validation checkpoints. For safety-critical embedded work involving memory barriers and DMA, there are no explicit 'validate then proceed' steps. The safety patterns describe what to do but not how to verify correctness. | 2 / 3 |
Progressive Disclosure | References 'resources/implementation-playbook.md' but doesn't clearly signal what's in it. The document is fairly monolithic with all content inline. Could benefit from splitting platform-specific details, safety patterns, and examples into separate referenced files. | 2 / 3 |
Total | 8 / 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 | |
5c5ae21
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.