.claude/skills/memory/SKILL.md
Use when working with memory components - Flash, EEPROM, SRAM, DRAM. Includes adding patterns, parsing memory MPNs, extracting capacity, interface type, and speed information.
npx skillsauth add Cantara/lib-electronic-components memoryInstall 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 memory components in the lib-electronic-components library.
| Manufacturer | Handler | MPN Patterns | Example |
|--------------|---------|--------------|---------|
| Winbond | WinbondHandler | W25Q#, W25X#, W## | W25Q128JVSIQ |
| Micron | MicronHandler | MT#, N25Q#, M25P# | MT25QL128ABA |
| ISSI | ISSIHandler | IS#, IS25LP#, IS25WP# | IS25LP128F |
| Microchip | MicrochipHandler | AT24C#, AT25#, SST26# | AT24C256 |
| Macronix | Various | MX25# | MX25L12835F |
| Cypress/Infineon | CypressHandler | S25FL#, FM24# | S25FL128S |
// Base types
ComponentType.MEMORY
ComponentType.MEMORY_FLASH
ComponentType.MEMORY_EEPROM
// Manufacturer-specific types
ComponentType.MEMORY_FLASH_WINBOND
ComponentType.MEMORY_EEPROM_WINBOND
ComponentType.MEMORY_MICRON
ComponentType.MEMORY_ISSI
ComponentType.MEMORY_MICROCHIP
ComponentType.MEMORY_ATMEL
ComponentType.MEMORY_INFINEON
ComponentType.MEMORY_NXP
ComponentType.MEMORY_ST
ComponentType.MEMORY_RENESAS
ComponentType.MEMORY_MAXIM
W25Q 128 JV SIQ
│ │ │ │
│ │ │ └── Package (SIQ=SOIC-8 150mil)
│ │ └───── Voltage/Grade (JV=3.3V, FV=1.8V)
│ └───────── Density (128=128Mbit)
└────────────── Series
| Code | Size | |------|------| | 32 | 32Mbit (4MB) | | 64 | 64Mbit (8MB) | | 128 | 128Mbit (16MB) | | 256 | 256Mbit (32MB) | | 512 | 512Mbit (64MB) |
| Type | Description | Speed | |------|-------------|-------| | SPI | Serial Peripheral Interface | 50-133MHz | | QSPI | Quad SPI | 104-133MHz | | DSPI | Dual SPI | 80-104MHz | | Parallel | Parallel interface | Various |
AT24C 256 C
│ │ │
│ │ └── Temperature range (C=Commercial)
│ └────── Density (256=256Kbit)
└──────────── Series (I2C EEPROM)
| Series | Interface | Organization | |--------|-----------|--------------| | AT24C | I2C | x8 | | AT25 | SPI | x8 | | 93C | Microwire | x8/x16 |
| Manufacturer | Pattern | Example |
|--------------|---------|---------|
| ISSI | IS61#, IS62# | IS62WV12816BLL |
| Cypress | CY62#, CY7C# | CY62256NLL |
initializePatterns():registry.addPattern(ComponentType.MEMORY, "^NEWMEM[0-9].*");
registry.addPattern(ComponentType.MEMORY_FLASH, "^NEWMEM[0-9].*");
registry.addPattern(ComponentType.MEMORY_MANUFACTURER, "^NEWMEM[0-9].*");
getSupportedTypes():types.add(ComponentType.MEMORY);
types.add(ComponentType.MEMORY_FLASH);
types.add(ComponentType.MEMORY_MANUFACTURER);
MemorySimilarityCalculator compares:
| Code | Package | |------|---------| | SIQ | SOIC-8 150mil | | SIG | SOIC-8 208mil | | DIQ | DFN-8 | | CIQ | WSON-8 | | BIQ | BGA | | PIQ | PDIP-8 |
The library can detect memory types from MPN patterns:
// Detect flash memory
ComponentType type = ComponentType.fromMPN("W25Q128JVSIQ");
// Returns MEMORY_FLASH_WINBOND
// Detect EEPROM
ComponentType type = ComponentType.fromMPN("AT24C256");
// Returns MEMORY_EEPROM or MEMORY_ATMEL
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.