CtrlK
BlogDocsLog inGet started
Tessl Logo

arm-cortex-expert

Senior embedded software engineer specializing in firmware and driver development for ARM Cortex-M microcontrollers (Teensy, STM32, nRF52, SAMD).

60

1.19x
Quality

41%

Does it follow best practices?

Impact

93%

1.19x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No known issues

Optimize this skill with Tessl

npx tessl skill review --optimize ./skills/antigravity-arm-cortex-expert/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

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 resume headline than a skill description. While it identifies a clear domain (embedded firmware for ARM Cortex-M MCUs) and lists specific hardware platforms, it fails to enumerate concrete actions Claude can perform and completely lacks 'when to use' guidance. The use of a role-based framing ('Senior embedded software engineer') rather than action-based language reduces its effectiveness for skill selection.

Suggestions

Replace the role-based framing with concrete actions, e.g., 'Writes firmware, configures peripherals (SPI, I2C, UART, GPIO), develops device drivers, and debugs embedded systems for ARM Cortex-M microcontrollers.'

Add an explicit 'Use when...' clause, e.g., 'Use when the user asks about embedded programming, microcontroller firmware, Teensy/STM32/nRF52/SAMD development, peripheral configuration, or bare-metal/RTOS programming.'

Include additional natural trigger terms users might say, such as 'microcontroller programming', 'bare-metal', 'RTOS', 'HAL', 'register-level', 'interrupt handling', or specific peripheral protocols like 'SPI', 'I2C', 'UART'.

DimensionReasoningScore

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 role rather than specific 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 completeness at 2, but the 'what' is also weak (role 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 ('software engineer') that it could overlap with general coding skills or other hardware-related skills. The specific MCU names help but the lack of concrete action boundaries increases conflict risk.

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 demonstrates strong domain expertise in ARM Cortex-M embedded development with genuinely useful safety-critical patterns (memory barriers, DMA cache coherency, W1C registers). However, it suffers from being overly verbose with descriptive sections that don't add actionable value, incomplete code examples that describe patterns rather than providing compilable implementations, and a monolithic structure that would benefit from splitting detailed reference material into separate files.

Suggestions

Replace the SPI driver 'pattern description' with a complete, compilable example for at least one platform (e.g., Teensy 4.x) including init, ISR, and usage code.

Provide the actual implementation of mmio_read()/mmio_write()/mmio_modify() helper functions rather than just describing them—these are the most safety-critical patterns in the skill.

Move the architecture comparison table, FPU context saving, stack overflow protection, and hardfault debugging sections into a referenced file (e.g., resources/cortex-m-reference.md) to reduce the main skill's length.

Add concrete validation steps to the workflow—e.g., 'Compile with -Wall -Werror', 'Run static analysis with cppcheck', 'Verify register values with debugger breakpoint at init completion'.

DimensionReasoningScore

Conciseness

The skill contains substantial useful embedded-specific knowledge but is verbose in places—listing platform competencies, role objectives, and knowledge base sections that largely describe what Claude should already know or could infer. The architecture comparison table and safety patterns earn their place, but sections like 'Role & Objectives' and 'Core Competencies' are padding.

2 / 3

Actionability

There are some concrete code snippets (critical sections, W1C pattern, Rust static patterns, cache alignment attributes) but many sections provide only descriptions or API names rather than complete, executable examples. The SPI driver example at the end is a pattern description rather than compilable code. Memory barrier section describes what to do but doesn't provide the actual helper function implementations.

2 / 3

Workflow Clarity

The workflow section provides a 6-step sequence (Clarify → Design → Implement → Validate → Optimize → Iterate) but validation is vague ('example usage + notes on timing') with no explicit verification commands or feedback loops. For firmware development involving hardware registers and DMA—destructive/risky operations—the lack of concrete validation checkpoints caps this at 2.

2 / 3

Progressive Disclosure

There is one reference to an external file ('resources/implementation-playbook.md') which is good, but the main file is quite long (~250 lines) with detailed content on memory barriers, DMA, fault debugging, architecture tables, and FPU context that could be split into referenced sub-documents. The structure uses clear headers but the monolithic nature hurts navigation.

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.

Validation10 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

10

/

11

Passed

Repository
boisenoise/skills-collections
Reviewed

Table of Contents

Is this your skill?

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.