asmedia

ASMedia Technology MPN encoding patterns, series identification, and handler guidance. Use when working with USB/Storage controller ICs or ASMediaHandler.

16 stars

Best use case

asmedia is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

ASMedia Technology MPN encoding patterns, series identification, and handler guidance. Use when working with USB/Storage controller ICs or ASMediaHandler.

Teams using asmedia should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/asmedia/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/development/asmedia/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/asmedia/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How asmedia Compares

Feature / AgentasmediaStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

ASMedia Technology MPN encoding patterns, series identification, and handler guidance. Use when working with USB/Storage controller ICs or ASMediaHandler.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# ASMedia Technology Manufacturer Skill

## MPN Structure

ASMedia MPNs follow this general structure:

```
ASM[SERIES][VARIANT][PACKAGE][-REEL]
  |    |       |        |       |
  |    |       |        |       └── Optional: REEL, TRAY, TR for packaging
  |    |       |        └── Package code (QFN, BGA, LQFP, or single letter)
  |    |       └── Revision letter (A, B, etc.)
  |    └── 4-digit series number (1xxx, 2xxx, 3xxx)
  └── ASMedia prefix
```

### Example Decoding

```
ASM1042A-QFN
│  │   │  │
│  │   │  └── QFN package
│  │   └── A revision
│  └── 1042 = PCIe to USB 3.0 host controller
└── ASM = ASMedia prefix

ASM2364-BGA
│  │   │
│  │   └── BGA package
│  └── 2364 = USB 3.2 Gen2x2 to NVMe bridge
└── ASM = ASMedia prefix
```

---

## Product Series

### ASM1xxx Series - USB 3.x Controllers

| Series | Type | Description |
|--------|------|-------------|
| ASM1042 | PCIe Host | USB 3.0 Host Controller |
| ASM1074 | Hub | USB 3.0 Hub Controller |
| ASM1142 | PCIe Host | USB 3.1 Gen2 Host Controller |
| ASM1143 | PCIe Host | USB 3.1 Gen2 Host Controller (variant) |
| ASM1153 | Bridge | USB 3.0 to SATA Bridge (single port) |
| ASM1156 | Bridge | USB 3.0 to SATA Bridge |

### ASM2xxx Series - Storage Controllers

| Series | Type | Description |
|--------|------|-------------|
| ASM2362 | Bridge | PCIe to NVMe/SATA Bridge |
| ASM2364 | Bridge | USB 3.2 Gen2x2 to NVMe Bridge |

### ASM3xxx Series - USB4/Thunderbolt

| Series | Type | Description |
|--------|------|-------------|
| ASM3242 | Controller | USB4 Controller |

---

## Package Codes

| Code | Package | Notes |
|------|---------|-------|
| QFN | QFN | Quad Flat No-Lead |
| Q | QFN | Short form |
| BGA | BGA | Ball Grid Array |
| B | BGA | Short form |
| LQFP | LQFP | Low-profile Quad Flat Package |
| L | LQFP | Short form |

---

## USB Version by Series

| Series | USB Version |
|--------|-------------|
| ASM1042 | USB 3.0 |
| ASM1074 | USB 3.0 |
| ASM1153 | USB 3.0 |
| ASM1156 | USB 3.0 |
| ASM1142 | USB 3.1 Gen2 |
| ASM1143 | USB 3.1 Gen2 |
| ASM10xx | USB 3.0 (general) |
| ASM11xx | USB 3.1 (general) |
| ASM2362 | N/A (PCIe) |
| ASM2364 | USB 3.2 Gen2x2 |
| ASM3242 | USB4 |

---

## Interface Types

| Series | Host Interface | Device Interface |
|--------|----------------|------------------|
| ASM1042 | PCIe | USB |
| ASM1074 | USB | USB Hub |
| ASM1142 | PCIe | USB |
| ASM1153 | USB | SATA |
| ASM1156 | USB | SATA |
| ASM2362 | PCIe | NVMe/SATA |
| ASM2364 | USB | NVMe |
| ASM3242 | USB4 | Thunderbolt |

---

## Handler Implementation Notes

### Pattern Matching

```java
// ASM1xxx series - USB 3.x controllers and bridges
"^ASM1[0-9]{3}[A-Z]*.*"

// ASM2xxx series - SATA controllers
"^ASM2[0-9]{3}[A-Z]*.*"

// ASM3xxx series - USB4/Thunderbolt controllers
"^ASM3[0-9]{3}[A-Z]*.*"

// Generic pattern for all ASM parts
"^ASM[0-9]{4}[A-Z]*.*"
```

### Series Extraction

```java
// Series is always "ASM" + 4 digits
// ASM1042A-QFN -> ASM1042
// ASM2364 -> ASM2364

if (mpn.length() >= 7) {
    return mpn.substring(0, 7);  // Returns "ASM1042"
}
```

### Package Code Extraction

```java
// Check for explicit package suffix after hyphen
// ASM1042-QFN -> QFN
int hyphen = cleanMpn.indexOf('-');
if (hyphen > 0) {
    String suffix = cleanMpn.substring(hyphen + 1);
    // Map to package name
}

// Or extract trailing letter after digits
// ASM1042Q -> QFN (Q maps to QFN)
```

---

## Replacement Compatibility

### USB Generation Upgrades

USB 3.1 Gen2 controllers can replace USB 3.0 (backward compatible):
- ASM1142 can replace ASM1042

### Bridge Family Compatibility

Same-generation bridges are compatible:
- ASM1153 and ASM1156 are interchangeable (USB 3.0 to SATA family)

---

## Related Files

- Handler: `manufacturers/ASMediaHandler.java`
- Component types: `ComponentType.IC`

---

## Learnings & Edge Cases

- **All ASMedia parts use single IC type**: Unlike other manufacturers, ASMedia only produces controller ICs, no discrete components
- **Series numbering scheme**: 1xxx = USB, 2xxx = Storage/NVMe, 3xxx = USB4/Thunderbolt
- **USB generation embedded in series**: ASM10xx = USB 3.0, ASM11xx = USB 3.1
- **Package codes can appear after hyphen or as trailing letter**: Both ASM1042-QFN and ASM1042Q are valid
- **REEL/TRAY/TR suffixes**: Indicate packaging type, should be stripped before package extraction

<!-- Add new learnings above this line -->

Related Skills

bgo

10
from diegosouzapw/awesome-omni-skill

Automates the complete Blender build-go workflow, from building and packaging your extension/add-on to removing old versions, installing, enabling, and launching Blender for quick testing and iteration.

Coding & Development

mcp-standards

16
from diegosouzapw/awesome-omni-skill

MCP server standardization patterns for Claude Code plugins. Use when implementing MCP servers, designing tool interfaces, configuring MCP transports, or standardizing MCP naming conventions. Trigger keywords - "MCP", "MCP server", "MCP tools", "MCP transport", "tool naming", "MCP configuration".

mcp-server-evaluations

16
from diegosouzapw/awesome-omni-skill

Test MCP servers for quality and reliability. Verify tool functionality, test error handling, generate tests, and assess response quality with no dependencies other than curl. Use this when validating MCP server implementations, testing OpenAPI-to-MCP conversions, or assessing API tool quality.

mcp-repo-scan

16
from diegosouzapw/awesome-omni-skill

Comprehensive RE-Engine repository health audit, issue resolution, and architectural enhancement through systematic codebase analysis

mcp-patterns

16
from diegosouzapw/awesome-omni-skill

MCP server building, advanced patterns, and security hardening. Use when building MCP servers, implementing tool handlers, adding authentication, creating interactive UIs, hardening MCP security, or debugging MCP integrations.

MCP Integration

16
from diegosouzapw/awesome-omni-skill

Model Context Protocol (MCP) integration specialist. Use when creating MCP server configurations, implementing MCP integrations, or optimizing MCP performance. Specializes in MCP server architecture and integration patterns.

mcp-development

16
from diegosouzapw/awesome-omni-skill

Model Context Protocol (MCP) server development and AI/ML integration patterns. Covers MCP server implementation, tool design, resource handling, and LLM integration best practices. Use when developing MCP servers, creating AI tools, integrating with LLMs, or when asking about MCP protocol, prompt engineering, or AI system architecture.

mcp-builder

16
from diegosouzapw/awesome-omni-skill

Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).

MATLAB离散点Hough变换直线检测

16
from diegosouzapw/awesome-omni-skill

实现离散点Hough变换算法,输入包含浮点数的坐标点,输出检测到的直线斜率和截距,不使用MATLAB自带函数

mastra

16
from diegosouzapw/awesome-omni-skill

Comprehensive Mastra framework guide. Teaches how to find current documentation, verify API signatures, and build agents and workflows. Covers documentation lookup strategies (embedded docs, remote docs), core concepts (agents vs workflows, tools, memory, RAG), TypeScript requirements, and common patterns. Use this skill for all Mastra development to ensure you're using current APIs from the installed version or latest documentation.

mastra-dev

16
from diegosouzapw/awesome-omni-skill

Ultimate Mastra Framework development toolkit for agent orchestration, workflow design, and MCP integration. Use when Codex should run the converted mastra-dev workflow. Inputs: command, options.

marktguru-grocery-deals

16
from diegosouzapw/awesome-omni-skill

Look up grocery deals and offers via Marktguru CLI/API. Use when user asks about supermarket discounts, product prices, current promotions, or comparing deals across Austrian retailers (Hofer, Billa, Spar, Lidl, etc.).