スキル一覧に戻る
Cantara

similarity-transistor

by Cantara

1🍴 0📅 2026年1月24日
GitHubで見るManusで実行

SKILL.md


name: similarity-transistor description: 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.

Transistor Similarity Calculator Skill

Guidance for working with TransistorSimilarityCalculator in the lib-electronic-components library.


For metadata-driven similarity architecture, see /similarity-metadata:

  • SpecImportance levels (CRITICAL, HIGH, MEDIUM, LOW, OPTIONAL)
  • ToleranceRule types (exactMatch, percentageTolerance, minimumRequired, etc.)
  • SimilarityProfile contexts (DESIGN_PHASE, REPLACEMENT, COST_OPTIMIZATION, etc.)
  • Calculator integration patterns and gotchas

Overview

The TransistorSimilarityCalculator compares bipolar junction transistors (BJTs) based on:

  • Equivalent groups - Known interchangeable parts
  • Polarity - NPN vs PNP (must match)
  • Family/series - BC, 2N, PN, etc.

Applicable Types

ComponentType.TRANSISTOR
ComponentType.TRANSISTOR_NXP
ComponentType.TRANSISTOR_VISHAY
// Any type starting with "TRANSISTOR_"

Note: Does NOT apply to MOSFETs - use MosfetSimilarityCalculator for those.

Similarity Thresholds

HIGH_SIMILARITY = 0.9;   // Equivalent parts
MEDIUM_SIMILARITY = 0.7; // Same family, compatible
LOW_SIMILARITY = 0.3;    // Same category, different specs or polarity

Equivalent Groups

The calculator knows these equivalent groups:

GroupMembers
2N2222 family2N2222, 2N2222A, PN2222, PN2222A
2N3904 family2N3904, PN3904
2N3906 family2N3906, PN3906
2N2907 family2N2907, 2N2907A, PN2907, PN2907A
BC547 familyBC547, BC547A, BC547B, BC547C
BC557 familyBC557, BC557A, BC557B, BC557C

Polarity Rules

NPN and PNP transistors always return LOW_SIMILARITY (0.3)

ComparisonResult
2N2222 (NPN) vs PN2222 (NPN)0.9 (equivalent)
2N2222 (NPN) vs 2N2907 (PNP)0.3 (different polarity)
2N3904 (NPN) vs 2N3906 (PNP)0.3 (complementary pair, different polarity)

Suffix Handling

The calculator ignores common suffixes:

  • -T, -TR, -TA (tape/reel packaging)
  • A, B, C (grade suffixes on BC series)
calculator.calculateSimilarity("2N2222", "2N2222-T", registry);
// Returns 0.9 (same transistor, different packaging)

calculator.calculateSimilarity("2n2222", "2N2222", registry);
// Returns 0.9 (case insensitive)

Test Examples

// Equivalent parts
calculator.calculateSimilarity("2N2222", "PN2222", registry);
// Returns 0.9

// Same part with variant
calculator.calculateSimilarity("2N2222", "2N2222A", registry);
// Returns 0.9

// NPN vs PNP
calculator.calculateSimilarity("2N2222", "2N2907", registry);
// Returns 0.3

// Different families
calculator.calculateSimilarity("2N2222", "BC547", registry);
// Returns 0.3

// Non-transistor parts
calculator.calculateSimilarity("LM358", "MC1458", registry);
// Returns 0.0

Implementation Notes

  • Returns 0.0 for non-transistor MPNs
  • Returns 0.0 for mixed transistor/non-transistor comparison
  • Symmetry: sim(A,B) == sim(B,A)

Learnings & Quirks

Part Number Patterns

  • 2N prefix: JEDEC standard (2N2222, 2N3904, etc.)
  • PN prefix: Often equivalent to 2N (PN2222 ≈ 2N2222)
  • BC prefix: European standard (BC547, BC557)
  • MPS prefix: Motorola/ON Semi (MPS2222A ≈ 2N2222A)

Complementary Pairs

  • 2N3904 (NPN) / 2N3906 (PNP)
  • BC547 (NPN) / BC557 (PNP)
  • These are designed to work together but are NOT equivalent

スコア

総合スコア

60/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です