core-banking-engineer

Architect core banking backend systems with Hexagonal Architecture and DDD.

1|Updated Jan 18, 2026
One-click install
npx skills add https://github.com/fajjarnr/payu --skill core-banking-engineer
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: core-banking-engineer
Source: https://github.com/fajjarnr/payu/tree/main/.agent/skills/core-banking-engineer
Command: npx skills add https://github.com/fajjarnr/payu --skill core-banking-engineer

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

PayU's backend architecture is highly complex and demands disciplined design to ensure modularity, scalability, and resilience across multiple services. This skill provides a blueprint for building core banking systems using Hexagonal Architecture, domain-driven design, and resilient patterns. It offers governance and best-practice guidance to unify Spring Boot 3.4 and Quarkus-native workloads under a coherent architectural standard.

Core Features & Use Cases

  • Hexagonal Architecture blueprint: Domain logic remains free of framework dependencies; ports and adapters connect to infrastructure.
  • DDD & Architecture Governance: Enforce clean boundaries with ArchUnit rules and domain events.
  • Resilience, Transactions & Caching: Guidance on transactional boundaries, outbox patterns, idempotency, and layered caching strategies.
  • Cross-cutting guidance: Spring Boot 3.4 patterns, Quarkus native considerations, and performance-oriented Java patterns for multi-service environments.

Quick Start

Define a new core banking service blueprint and outline the Transfer use case, including domain entities, ports, adapters, and transaction boundaries.

Frequently Asked Questions about core-banking-engineer

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

FAQPage Schema
How do I enforce Hexagonal Architecture in a Spring Boot or Quarkus microservices project?

Hexagonal Architecture in Spring Boot and Quarkus is enforced by isolating domain logic from framework dependencies and connecting infrastructure via ports and adapters. ArchUnit rules validate these boundaries to ensure modularity.

What is the best way to manage transactional boundaries and idempotency in core banking microservices?

Transactional boundaries and idempotency in core banking microservices are managed using outbox patterns and domain events. This ensures data consistency and reliable transaction processing across distributed services.

Can I unify Spring Boot and Quarkus-native workloads under a single backend architecture standard?

Spring Boot 3.4 and Quarkus-native workloads can be unified under a coherent architectural standard by applying domain-driven design and cross-cutting performance patterns tailored for multi-service environments.

How do I start designing a core banking service blueprint using domain-driven design?

Design a core banking service blueprint by defining use cases like transfers, then outlining domain entities, ports, adapters, and transaction boundaries. This isolates core logic and structures infrastructure integration.

Why use ArchUnit for architecture governance in backend microservices?

ArchUnit governs backend microservices architecture by programmatically enforcing clean boundaries and hexagonal design rules. It prevents domain logic dependencies from leaking into infrastructure layers during development.

What caching strategies should I use for resilient core banking transactions?

Resilient core banking transactions utilize layered caching strategies combined with outbox patterns. This optimizes performance and maintains data consistency across multi-service environments.