.claude/skills/similarity-mcu/SKILL.md
Use when working with MCU/microcontroller similarity calculations - comparing microcontroller MPNs, understanding family/series/feature matching, or MCU-specific similarity logic.
npx skillsauth add Cantara/lib-electronic-components similarity-mcuInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Guidance for working with MCU similarity calculators in the lib-electronic-components library.
For metadata-driven similarity architecture, see /similarity-metadata:
There are two MCU-related calculators:
SimilarityCalculatorComponentSimilarityCalculatorComponentType.MICROCONTROLLER
ComponentType.MICROCONTROLLER_ATMEL
ComponentType.MICROCONTROLLER_INFINEON
ComponentType.MICROCONTROLLER_ST
ComponentType.MCU_ATMEL
familySimilarity * 0.5 // Family is most important
seriesSimilarity * 0.3 // Series number
featureSimilarity * 0.2 // Feature codes (F, L, U, etc.)
| Group | Members | |-------|---------| | PIC | PIC16, PIC18, PIC24, PIC32 | | STM | STM8, STM32 | | ATM | ATMEGA, ATTINY, ATXMEGA | | MSP | MSP430, MSP432 |
// Same family = 1.0 family similarity
calculator.calculateSimilarity("STM32F103", "STM32F407");
// High similarity (same STM32 family)
// Related family = 0.8 family similarity
calculator.calculateSimilarity("PIC16F877", "PIC18F4550");
// Good similarity (both PIC family)
| Code | Meaning | |------|---------| | F | Flash memory | | L | Low power | | U | USB capable | | W | Wireless | | R | ROM version | | T | Extended temperature |
// Same feature codes contribute to similarity
calculator.calculateSimilarity("STM32F103", "STM32F407");
// Both have F (Flash) feature
Series numbers are compared numerically:
// Same series
calculator.calculateSimilarity("ATMEGA328", "ATMEGA328P");
// Very high similarity
// Close series
calculator.calculateSimilarity("ATMEGA328", "ATMEGA329");
// High similarity
// Far series
calculator.calculateSimilarity("ATMEGA328", "ATMEGA2560");
// Lower similarity
| Condition | Score | |-----------|-------| | Same manufacturer, same series, same package | 1.0 | | Same manufacturer, same series, different package | 0.9 | | Official replacement parts | 0.8 | | Same series across manufacturers | 0.7 | | Both microcontrollers, different series | 0.5 |
// Identical MCU
calculator.calculateSimilarity("ATMEGA328P", "ATMEGA328P");
// Returns 1.0
// Same family, different series
calculator.calculateSimilarity("STM32F103", "STM32F407");
// Returns > 0.5
// Different families
calculator.calculateSimilarity("STM32F103", "ATMEGA328");
// Returns lower similarity
// Same part, different package
calculator.calculateSimilarity("ATMEGA328P-AU", "ATMEGA328P-PU", registry);
// Returns >= 0.5
// Different MCUs
calculator.calculateSimilarity("ATMEGA328P", "STM32F103C8T6", registry);
// Returns 0.5 (base MCU similarity)
ATMEGA 328 P -AU
│ │ │ │
│ │ │ └── Package (AU=TQFP)
│ │ └───── Variant (P=Picopower)
│ └───────── Series number
└──────────────── Family
STM32 F 103 C8 T6
│ │ │ │ │
│ │ │ │ └── Package (T6=LQFP48)
│ │ │ └───── Memory/pins
│ │ └───────── Series
│ └─────────── Type (F=Foundation)
└───────────────── Family
PIC16 F 877 A
│ │ │ │
│ │ │ └── Variant
│ │ └────── Series
│ └──────── Memory type (F=Flash)
└────────────── Family
^([A-Z]+)\d+ extracts family prefix[A-Z]+$ extracts trailing lettersdata-ai
Cost-effective task delegation strategy using Haiku model for straightforward work. Use when planning how to approach simple, pattern-following tasks to minimize costs.
tools
Use when working with component similarity calculations - comparing MPNs, finding equivalent parts, implementing new similarity calculators, or understanding how component matching works.
testing
Use when working with transistor similarity calculations - comparing BJT MPNs, understanding NPN/PNP polarity matching, equivalent groups like 2N2222/PN2222, or transistor-specific similarity logic.
testing
Use when working with sensor similarity calculations - comparing temperature/accelerometer/humidity sensor MPNs, understanding sensor families, equivalent parts, or sensor-specific similarity logic.