Agent Skill
2/7/2026

principal-architect

**Master Skill**: Strategic Architecture & Documentation Leadership. Covers Decentralized Orchestration, Technology Radar, DORA metrics, ADR governance, C4 modeling, Technical Debt management, and Documentation Systems (Merged from information-architect).

F
fajjarnr
0GitHub Stars
1Views
npx skills add fajjarnr/payu

SKILL.md

Nameprincipal-architect
Description**Master Skill**: Strategic Architecture & Documentation Leadership. Covers Decentralized Orchestration, Technology Radar, DORA metrics, ADR governance, C4 modeling, Technical Debt management, and Documentation Systems (Merged from information-architect).

name: principal-architect version: 3.0.0 maturity: stable updated: 2026-01-30 author: payu-platform-team requires: [] tags: [architecture, strategy, leadership, dora, adr, tech-radar, governance, docs, c4, documentation] related: [cybersecurity-architect, platform-engineer] description: Master Skill: Strategic Architecture & Documentation Leadership. Covers Decentralized Orchestration, Technology Radar, DORA metrics, ADR governance, C4 modeling, Technical Debt management, and Documentation Systems (Merged from information-architect).

PayU Strategy & Architecture Master Skill

You are the Lead Strategic Architect (AI) for the PayU Platform. You bridge the gap between business objectives and technical implementation, ensuring the platform is scalable, efficient, and future-proof.


πŸ›οΈ The 14 Immutable Laws of PayU Architecture

1. Domain-Driven Boundaries

Every service must align with a single bounded context. Cross-domain communication only via events or well-defined APIs.

2. Hexagonal Architecture

Core business logic isolated from infrastructure. All external dependencies accessed through ports and adapters.

3. Event-First Communication

Prefer asynchronous events over synchronous HTTP calls. Events are the source of truth for cross-service state.

4. Immutable Financial Records

No UPDATE or DELETE on financial data. All changes via new entries with proper audit trails.

5. Zero Trust Security

Every service authenticates every request. No implicit trust based on network location.

6. API-First Design

All services expose well-documented OpenAPI/AsyncAPI contracts before implementation begins.

7. Configuration as Code

All infrastructure and configuration stored in Git. No manual changes to production.

8. Observability by Default

Every service ships with logs, metrics, and traces. No deployment without proper observability.

9. Graceful Degradation

Services must handle downstream failures gracefully with circuit breakers and fallbacks.

10. Data Residency Compliance

User data stays within regional boundaries. Explicit data residency tags on all PII.

11. Independent Deployability

Services deployable and scalable independently. No coordinated releases required.

12. Test Automation First

No code merges without automated tests. Coverage thresholds enforced in CI.

13. Documentation as Code

Architecture decisions (ADRs), API specs, and runbooks versioned alongside code.

14. Continuous Improvement

20% of each sprint dedicated to tech debt, tooling, and developer experience.


πŸ“ˆ DORA Metrics & Engineering Excellence

Elite Performance Targets

MetricElite TargetPayU Target
Deployment FrequencyOn-demand (multiple/day)β‰₯ 1 per day
Lead Time for Changes< 1 day< 4 hours
Mean Time to Recovery< 1 hour< 30 minutes
Change Failure Rate< 15%< 10%

Measuring DORA in Practice

# prometheus/dora-metrics.yaml
groups:
  - name: dora-metrics
    rules:
      # Deployment Frequency
      - record: dora:deployment_frequency:7d
        expr: |
          count(argocd_app_sync_total{status="Succeeded"}) by (application)
          / 7
      
      # Lead Time (commit to deploy)
      - record: dora:lead_time_hours:avg
        expr: |
          avg(tekton_pipelinerun_duration_seconds{status="succeeded"}) / 3600
      
      # Change Failure Rate
      - record: dora:change_failure_rate:7d
        expr: |
          sum(argocd_app_sync_total{status="Failed"})
          / sum(argocd_app_sync_total)

Grafana Dashboard

{
  "title": "DORA Metrics Dashboard",
  "panels": [
    {
      "title": "Deployment Frequency (7d avg)",
      "type": "stat",
      "targets": [
        {"expr": "dora:deployment_frequency:7d"}
      ],
      "thresholds": {
        "mode": "absolute",
        "steps": [
          {"color": "red", "value": 0},
          {"color": "yellow", "value": 0.5},
          {"color": "green", "value": 1}
        ]
      }
    }
  ]
}

πŸ“ Architecture Decision Records (ADR)

ADR Template

# ADR-{number}: {title}

## Status
{Proposed | Accepted | Deprecated | Superseded by ADR-xxx}

## Context
What is the issue we're facing? What forces are at play?

## Decision
What is the change we're proposing and/or doing?

## Consequences
What becomes easier or more difficult because of this change?

### Positive
- ...

### Negative
- ...

### Neutral
- ...

## Compliance
- [ ] Security Review
- [ ] Privacy Review
- [ ] Architecture Review

## References
- Related ADRs: ADR-xxx
- External docs: ...

ADR Index Example

# Architecture Decision Records

| # | Title | Status | Date |
|:--|:------|:------:|:----:|
| 001 | Use Hexagonal Architecture for Core Services | βœ… Accepted | 2025-01 |
| 002 | Adopt Kafka for Inter-Service Events | βœ… Accepted | 2025-01 |
| 003 | PostgreSQL as Primary Database | βœ… Accepted | 2025-01 |
| 004 | React Native for Mobile Apps | βœ… Accepted | 2025-02 |
| 005 | Next.js 15 for Web Applications | βœ… Accepted | 2025-03 |
| 006 | OpenShift 4.x as Container Platform | βœ… Accepted | 2025-03 |
| 007 | Replace REST with gRPC for internal APIs | 🟑 Proposed | 2026-01 |

🎯 Technology Radar

Radar Ring Definitions

RingDefinition
ADOPTProven in production, recommended for new projects
TRIALWorth pursuing, used in specific projects
ASSESSWorth exploring with the goal of understanding
HOLDProceed with caution, legacy or risky

PayU Technology Radar (2026)

Languages & Frameworks

TechnologyRingNotes
Java 21 + Spring Boot 3.4ADOPTCore banking services
TypeScript 5.xADOPTAll frontend/BFF
Python 3.12 + FastAPIADOPTAI/ML services
KotlinTRIALNew Android modules
GoASSESSHigh-performance utilities

Platforms & Infrastructure

TechnologyRingNotes
OpenShift 4.20+ADOPTContainer platform
ArgoCDADOPTGitOps
TektonADOPTCI/CD pipelines
Istio Service MeshADOPTTraffic management
Serverless/KnativeTRIALEvent-driven workloads

Data & Messaging

TechnologyRingNotes
PostgreSQL 16ADOPTPrimary RDBMS
Redis 7ADOPTCaching, sessions
Kafka (Strimzi)ADOPTEvent streaming
TimescaleDBTRIALTime-series analytics
MongoDBHOLDAvoid for new services

Frontend & Mobile

TechnologyRingNotes
Next.js 15ADOPTWeb applications
React Native 0.76+ADOPTMobile apps
Expo SDK 52+ADOPTMobile tooling
Tailwind CSSADOPTStyling
Vue.jsHOLDLegacy only

πŸ—ΊοΈ C4 Architecture Modeling

Level 1: System Context

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                           PAYU DIGITAL BANK                          β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                      β”‚
β”‚    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚    β”‚ Customer │───────▢│   PayU Platform  │◀───────│  Partner β”‚    β”‚
β”‚    β”‚  (Mobile)β”‚        β”‚                  β”‚        β”‚   Banks  β”‚    β”‚
β”‚    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜        β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β”‚                                 β”‚                                    β”‚
β”‚    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                 β”‚                   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚    β”‚ Customer │──────────────────                   β”‚ BI/LKPP  β”‚    β”‚
β”‚    β”‚   (Web)  β”‚                 β”‚                   β”‚ Regulatorβ”‚    β”‚
β”‚    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                 β–Ό                   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β”‚                        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                             β”‚
β”‚                        β”‚ Back Office  β”‚                             β”‚
β”‚                        β”‚   Staff      β”‚                             β”‚
β”‚                        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                             β”‚
β”‚                                                                      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Level 2: Container Diagram

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                         PayU Platform                                β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                      β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                 β”‚
β”‚  β”‚   Mobile    β”‚  β”‚   Web App   β”‚  β”‚  Backoffice β”‚                 β”‚
β”‚  β”‚    App      β”‚  β”‚  (Next.js)  β”‚  β”‚    Portal   β”‚                 β”‚
β”‚  β”‚(React Native)  β”‚             β”‚  β”‚             β”‚                 β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜                 β”‚
β”‚         β”‚                β”‚                β”‚                         β”‚
β”‚         β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                         β”‚
β”‚                          β–Ό                                          β”‚
β”‚                  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                                  β”‚
β”‚                  β”‚  API Gateway  β”‚                                  β”‚
β”‚                  β”‚   (Kong/KIC)  β”‚                                  β”‚
β”‚                  β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜                                  β”‚
β”‚                          β”‚                                          β”‚
β”‚    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                   β”‚
β”‚    β”‚                     β”‚                     β”‚                    β”‚
β”‚    β–Ό                     β–Ό                     β–Ό                    β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”              β”‚
β”‚ β”‚ Account β”‚        β”‚   Wallet    β”‚       β”‚  Trans. β”‚              β”‚
β”‚ β”‚ Service β”‚        β”‚   Service   β”‚       β”‚ Service β”‚              β”‚
β”‚ β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜        β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜       β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜              β”‚
β”‚      β”‚                    β”‚                   β”‚                    β”‚
β”‚      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                    β”‚
β”‚                           β–Ό                                         β”‚
β”‚                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                                  β”‚
β”‚                    β”‚   Kafka     β”‚                                  β”‚
β”‚                    β”‚  (Events)   β”‚                                  β”‚
β”‚                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                                  β”‚
β”‚                                                                      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

C4 Tooling

# Generate C4 diagrams from code
# Structurizr DSL -> PNG/SVG

workspace {
    model {
        customer = person "Customer" "PayU Digital Bank user"
        payuSystem = softwareSystem "PayU Platform" "Digital banking platform" {
            webapp = container "Web App" "Next.js 15" "React"
            mobileApp = container "Mobile App" "React Native" "Expo"
            apiGateway = container "API Gateway" "Kong" "OpenShift"
            walletService = container "Wallet Service" "Spring Boot 3.4" "Java 21"
        }
        
        customer -> webapp "Uses"
        customer -> mobileApp "Uses"
        webapp -> apiGateway "Calls"
        mobileApp -> apiGateway "Calls"
        apiGateway -> walletService "Routes to"
    }
    
    views {
        systemContext payuSystem {
            include *
            autolayout lr
        }
        container payuSystem {
            include *
            autolayout lr
        }
    }
}

πŸ”§ Technical Debt Management

Debt Classification

TypeDescriptionExample
DeliberateConscious trade-off for speedSkip tests for MVP
AccidentalUnintentional, discovered laterMemory leak
Bit RotDegradation over timeOutdated dependencies
Tech ObsolescenceTechnology becoming obsoleteJava 8 services

Debt Tracking Template

# tech-debt/wallet-service.yaml
service: wallet-service
owner: wallet-team
debts:
  - id: TD-001
    title: Migrate from Java 17 to Java 21
    type: tech-obsolescence
    impact: medium
    effort: small
    priority: P2
    status: planned
    sprint: 2026-Q1-S2
    
  - id: TD-002
    title: Replace Lombok with Java Records
    type: deliberate
    impact: low
    effort: medium
    priority: P3
    status: backlog
    
  - id: TD-003
    title: Add missing integration tests for transfer flow
    type: deliberate
    impact: high
    effort: medium
    priority: P1
    status: in-progress

20% Rule Implementation

## Sprint Planning Template

### Capacity Allocation
- Feature Work: 60%
- Bug Fixes: 15%
- Tech Debt: 20%
- On-call Buffer: 5%

### Tech Debt Selection Criteria
1. Blocks other work (highest priority)
2. Security vulnerabilities
3. Performance degradation
4. Developer experience impact
5. Dependency updates

πŸ€– Orchestration Map (Master Skills)

DomainMaster SkillDescription
Backend (Java)@core-banking-engineerSpring Boot 3.4, Hexagonal, Resilience
Events@integration-architectSagas, Event Sourcing, Kafka
API@api-architectREST API standards, OpenAPI, Versioning
AI@ai-engineerIntelligent Systems, FastAPI, GenAI
Security@cybersecurity-architectZero Trust, Auth, Compliance
Data@data-architectPostgreSQL, Flyway, CQRS
QA@quality-engineerTDD, E2E, Financial Recon
Design@product-designerPremium UI, Atomic Design
Frontend@frontend-architectNext.js 15+, React, Web Perf
Mobile@mobile-architectReact Native, Expo, Security
Platform & SRE@platform-engineerDevOps, SRE, Observability, OpenShift
DX@dx-engineerGit, Conventional Commits, Tooling
Arch & Docs@principal-architectStrategy, ADRs, C4, Documentation

πŸ” Strategic Architecture Checklist

Design Review

  • Follows 14 Immutable Laws
  • ADR documented for significant decisions
  • C4 diagrams updated
  • API contracts reviewed

Quality Gates

  • Security review completed
  • Performance baseline established
  • Observability configured
  • DR plan documented

Metrics & KPIs

  • DORA metrics tracking enabled
  • SLIs/SLOs defined
  • Cost monitoring configured
  • Tech debt quantified

πŸ“š References


Last Updated: January 2026

Skills Info
Original Name:principal-architectAuthor:fajjarnr