.claude/skills/similarity-connector/SKILL.md
Use when working with connector similarity calculations - comparing connector MPNs, understanding pin count/pitch/family matching, or connector-specific similarity logic.
npx skillsauth add Cantara/lib-electronic-components similarity-connectorInstall 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 ConnectorSimilarityCalculator in the lib-electronic-components library.
For metadata-driven similarity architecture, see /similarity-metadata:
The ConnectorSimilarityCalculator compares connectors based on:
ComponentType.CONNECTOR
ComponentType.CONNECTOR_MOLEX
ComponentType.CONNECTOR_TE
ComponentType.CONNECTOR_JST
ComponentType.CONNECTOR_HIROSE
ComponentType.CONNECTOR_AMPHENOL
ComponentType.CONNECTOR_HARWIN
// Any type starting with "CONNECTOR_"
Returns false for null type.
HIGH_SIMILARITY = 0.9; // Same series, same pin count
MEDIUM_SIMILARITY = 0.5; // Compatible but different
LOW_SIMILARITY = 0.3; // Different pin counts
Different connector families always return 0.0:
// Different families = incompatible
calculator.calculateSimilarity("TE-connector", "Molex-connector", registry);
// Returns 0.0
// Same pin count required for high similarity
calculator.calculateSimilarity("10-pin", "10-pin-variant", registry);
// Returns HIGH
// Different pin counts = LOW
calculator.calculateSimilarity("10-pin", "20-pin", registry);
// Returns 0.3
1-292161-0
│ │ │
│ │ └── Configuration/variant
│ └───────── Series number
└─────────── Prefix
// Same TE series
calculator.calculateSimilarity("1-292161-0", "1-292161-2", registry);
// Returns 0.9 (same series)
// Compatible header variants
calculator.calculateSimilarity("61300411121", "61300411021", registry);
// Returns 0.9 if same pin count
When connectors aren't direct variants, similarity is built from:
// Compatible characteristics
// Same pin count (+0.2) + Same pitch (+0.2) + Same mount (+0.1) = 0.5
The calculator uses specialized handlers:
TEConnectorHandlerMolexConnectorHandlerJSTConnectorHandlerThese extract:
getPinCount(mpn) - Number of contactsgetPitch(mpn) - Contact spacing (mm)getMountingType(mpn) - THT/SMDgetFamily() - Connector family namegetVariant(mpn) - Specific variantareCompatible(mpn1, mpn2) - Direct compatibility check// Same TE connector
calculator.calculateSimilarity("1-292161-0", "1-292161-0", registry);
// Returns 1.0
// Same TE series, different variant
calculator.calculateSimilarity("1-292161-0", "1-292161-2", registry);
// Returns 0.9
// Different families
calculator.calculateSimilarity("TE-part", "Molex-part", registry);
// Returns 0.0
// Null handling
calculator.calculateSimilarity(null, "1-292161-0", registry);
// Returns 0.0
X-XXXXXX-X or XXXXXXXXStatus: ✅ Converted (pre-existing)
The ConnectorSimilarityCalculator uses a metadata-driven approach with ConnectorHandler integration.
| Spec | Importance | Tolerance Rule | Description | |------|-----------|----------------|-------------| | pinCount | CRITICAL | exactMatch | Number of pins (MUST match) | | pitch | CRITICAL | exactMatch | Pin spacing (2.54mm, 1.27mm, etc.) | | family | HIGH | exactMatch | Connector series/family | | mountingType | HIGH | exactMatch | THT, SMD, Press-fit |
// Different families return 0.0 immediately
if (!handler1.getFamily().equals(handler2.getFamily())) {
return 0.0;
}
// Extract specs using ConnectorHandler
int pinCount1 = handler1.getPinCount(mpn1);
int pinCount2 = handler2.getPinCount(mpn2);
double pitch1 = handler1.getPitch(mpn1);
double pitch2 = handler2.getPitch(mpn2);
// Weighted spec scoring
// pinCount: CRITICAL (1.0 weight)
// pitch: CRITICAL (1.0 weight)
// family: HIGH (0.7 weight)
// mountingType: HIGH (0.7 weight)
Unlike other calculators that use regex patterns, ConnectorSimilarityCalculator uses ConnectorHandler implementations for accurate spec extraction.
Why more accurate: Connectors have complex MPN formats that vary by manufacturer. Using handlers ensures correct extraction of pin count and pitch.
data-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.