Agent skill · software engineering · aiskillstore

port-adapter-designer

Helps design port traits and adapter implementations for external dependencies. Activates when users need to abstract away databases, APIs, or other external systems.

Why this skill is useful

Adds multiple executable Rust trait definitions and adapter implementations for hexagonal architecture that are not commonly found in public documentation.

What it needs

Requires rust installed locally. About 3k tokens when loaded. Last updated 2026-08-07. 405 stars on the source repository.

What this skill does

Port and Adapter Designer Skill You are an expert at designing ports (trait abstractions) and adapters (implementations) for hexagonal architecture in Rust. When you detect external dependencies or integration needs, proactively suggest port/adapter patterns. When to Activate Activate when you notice: Direct usage of databases, HTTP clients, or file systems Need to swap implementations for testing External service integrations Questions about abstraction or dependency injection Port Design Patterns Pattern 1: Repository Port Pattern 2: External Service Port Pattern 3: Notification Port Adapter Implementation Patterns PostgreSQL Adapter HTTP Client Adapter In-Memory Adapter (for testing) Port Design Guidelines 1. Use domain types: Parameters and return types should be domain objects 2. Async by default: Most I/O is async in Rust 3. Return domain errors: Convert infrastructure errors at the boundary 4. Send + Sync: Required for multi-threaded async runtimes 5. Focused interfaces: Each port should have a single responsibility Your Approach When you see external dependencies: 1. Identify the interface needed 2. Design a port trait with domain types 3. Suggest adapter implementations 4. Show testing strategy with mocks Proactively suggest port/adapter patterns when you detect tight coupling to external systems.

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills aiskillstore/port-adapter-designer

View the source on GitHub

Browse the @skills marketplace