implement-hexagonal-adapter

Wire reactive port contracts to concrete technology adapters in the Firefly Framework.

Updated Aug 27, 2026
One-click install
npx skills add https://github.com/fireflyframework/fireflyframework-claude-skills --skill implement-hexagonal-adapter
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: implement-hexagonal-adapter
Source: https://github.com/fireflyframework/fireflyframework-claude-skills/tree/main/skills/implement-hexagonal-adapter
Command: npx skills add https://github.com/fireflyframework/fireflyframework-claude-skills --skill implement-hexagonal-adapter

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Streamlines building maintainable, testable adapters by enforcing a hexagonal-architecture pattern where ports define contracts and adapters implement them against concrete technologies in the Firefly Framework.

Core Features & Use Cases

  • Port-first design: Define reactive port interfaces and ensure adapters translate between domain DTOs and technology SDKs.
  • Auto-configuration & feature flags: Use Spring configuration to activate the right adapter and gracefully degrade with NoOp fallbacks when a provider is unavailable.
  • Isolated testing guidance: Provide isolated tests for adapters, with stub and NoOp strategies to verify wiring, error handling, and diagnostics.
  • Real-world patterns: Includes examples for common modules (IDP, ECM) and guidance for port discovery, adapter registry, and selector patterns.

Quick Start

Configure a concrete adapter (eg Stripe or Azure Blob) and enable it via firefly configuration to see automatic activation.

Frequently Asked Questions about implement-hexagonal-adapter

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement hexagonal architecture adapters for reactive services?

Hexagonal architecture adapters are implemented by wiring reactive port contracts to concrete technology adapters within the Firefly Framework. This pattern ensures adapters translate between domain DTOs and technology SDKs while maintaining testable isolation.

Can I use feature flags to enable conditional adapter auto-configuration in Spring?

Conditional adapter auto-configuration uses Spring configuration to activate the correct adapter and gracefully degrade with NoOp fallbacks when a provider is unavailable. This enables safe, incremental integration for multi-port modules.

How do I test hexagonal adapters in isolation?

Isolated testing for hexagonal adapters uses stub and NoOp strategies to verify wiring, error handling, and diagnostics. This ensures concrete technology adapters remain testable without requiring live external dependencies.

What is the best way to manage multiple ports in a hexagonal architecture module?

Managing multiple ports involves defining reactive port interfaces and using an adapter registry with selector patterns. The Firefly Framework supports adapter discovery and registration to handle multi-port modules effectively.

Why does my adapter registration fail when a technology provider is unavailable?

Adapter registration relies on auto-configuration that gracefully degrades using NoOp fallbacks when a provider is unavailable. Ensure your firefly configuration properly maps the concrete adapter to avoid activation failures.

How do I configure a concrete adapter like Stripe or Azure Blob in Firefly?

Configuring a concrete adapter involves setting up the technology SDK connection and enabling it via firefly configuration. This triggers automatic activation where the adapter implements the reactive port contracts.