К основному содержанию
скилл CX Codex

banking-expert — скилл для Claude Code: банковские системы и комплаенс

Даёт агенту справочник по core banking, KYC/AML, платежам и банковским регламентам. Пригодится, когда в задаче всплывают счета, переводы или проверка клиента.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add personamanagmentlayer/pcl --skill banking-expert -a claude-code
Открыть на GitHub

Что делает banking-expert

Скилл подключается, когда в разговоре появляются финансы, core banking, регламенты или платежи. Внутри — разбор банковских систем: управление счетами, обработка транзакций, кредиты, риск-менеджмент. Отдельные блоки про Basel III/IV, KYC, AML, GDPR, PSD2 и Dodd-Frank.

Примеры кода на Python показывают, как устроены типовые операции. Класс Account с методами deposit, withdraw и transfer держит баланс в Decimal и откатывает списание, если зачисление упало. KYCService собирает результат проверки личности, адреса, санкций и PEP в один словарь с уровнем риска. AMLMonitoring помечает крупные суммы, серии быстрых транзакций и переводы в страны высокого риска, после чего формирует отчёт о подозрительной активности.

Отдельно идёт обработка платежей: ACH с проверкой routing number и SWIFT MT103. Скиллу разрешены только Read, Write и Edit — запускать код он не станет, это стоит держать в голове, если ждёте от него прогон тестов. Порог в 10000 в примере мониторинга — иллюстрация, а не готовый лимит для вашей системы.

Какие задачи решает

  • разложить операции по счетам на депозит, списание и перевод с откатом при сбое
  • собрать проверку клиента из личности, адреса, санкций и PEP в один результат
  • пометить подозрительные транзакции и сформировать отчёт
  • разобраться, какие требования Basel III/IV и PSD2 касаются задачи
  • описать поток ACH-платежа или SWIFT-перевода

Примеры запросов агенту

  • Помоги спроектировать сервис переводов между счетами с откатом при ошибке зачисления
  • Какие проверки нужны в KYC перед открытием счёта, собери их в один результат
  • Разбери, как AML-мониторинг помечает крупные и частые транзакции

Как установить banking-expert

1Через Skills CLI (Vercel)

npx skills add personamanagmentlayer/pcl --skill banking-expert -a claude-code

2Вручную: положить файлы

~/.claude/skills/banking-expert/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/banking-expert/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора14

finance-expert Скилл для задач, где в коде появляется сумма денег: баланс, возврат, выплата, сверка, отчётность. Держит модель денег и двойную запись. CX Codex +1 6 400установок telecommunications-expert Скилл для агента, который разбирается в телеком-инфраструктуре: OSS/BSS, 5G, SDN/NFV, протоколы и тарификация. Пригодится, когда нужно спроектировать систему или посчитать биллинг. CX Codex +1 1 900установок insurance-expert Даёт агенту экспертизу по страховым системам: андеррайтинг, обработка заявлений, актуарный анализ, оценка рисков и выявление мошенничества. CX Codex +1 714установок data-science-expert Скилл для аналитики, статистики и визуализации: подключается, когда в задаче есть pandas, NumPy или разведочный анализ данных. CX Codex +1 573установок gcp-expert Скилл с рабочими примерами для GCP: Cloud Functions, BigQuery, Firestore, Pub/Sub и команды gcloud. Пригодится, когда агент пишет код под Google Cloud. CX Codex +1 547установок argocd-expert Скилл для работы с ArgoCD: развёртывание через GitOps, синхронизация приложений, AppProject и ApplicationSet. Пригодится, когда деплой описан в Git и надо навести порядок в кластере. CX Codex +1 509установок automotive-expert Скилл даёт агенту экспертизу по автомобильным системам: подключённые машины, телеметрия, ADAS, диагностика по кодам OBD-II. Пригодится, когда проект связан с автопарком или борттовым софтом. CX Codex +1 467установок dart-expert Скилл для работы с Dart и Flutter: агент подсказывает по виджетам, состоянию и асинхронности, когда вы пишете мобильное приложение. CX Codex +1 462установок

Похожие

fintech-engineer VoltAgent Community Субагент проектирует платежные системы, банковские интеграции и сервисы с соблюдением требований регуляторов. Пригодится при настройке шлюзов, расчетов и правил KYC. 518установок Invoice Automation Claude Office Skills Скилл для генерации счетов, отправки, отслеживания оплат и сверки с бухгалтерскими платформами. Пригодится, когда счета выставляются вручную. CX Codex +1 4 700установок plaid-fintech sickn33 Скилл задаёт паттерны интеграции Plaid API: генерацию Link token, сверку балансов, синхронизацию транзакций и настройку списаний ACH. CX Codex +1 956установок stripe-integration Seth Hobson Скилл помогает подключить Stripe: Checkout, подписки, вебхуки, возвраты и сохранение способов оплаты. Пригодится для платёжных сценариев в веб- и мобильных приложениях. CX Codex 13 404установок stripe Mindrally Правила интеграции Stripe для TypeScript, React и Next.js: приём платежей на сервере, подписки, вебхуки. Пригодится, когда агент пишет оплату в проекте. CX Codex +1 704установок

Рядом в теме «Финансы и бизнес»

Всё по теме «Финансы и бизнес» →

Вопросы о banking-expert

Как установить banking-expert в Claude?

Выполните npx skills add personamanagmentlayer/pcl --skill banking-expert -a claude-code. Файл скилла окажется по пути ~/.claude/skills/banking-expert/SKILL.md.

Что делает banking-expert?

Даёт агенту справочник по банковским системам, core banking, регламентам и платёжным технологиям, с примерами кода на Python для счетов, KYC/AML и платежей.

Какие инструменты доступны скиллу?

Только Read, Write и Edit. Код из примеров агент не запускает, поэтому проверять расчёты придётся вам.

Исходный текст

SKILL.md · Apache-2.0
---
name: banking-expert
version: 1.1.0
description: >-
  Expert-level banking systems, core banking, regulations, and banking technology. Use when
  the user mentions finance, core banking, regulations, or payments, or when the task
  involves Banking Systems or Key Technologies.
category: professional
tags: [banking, finance, core-banking, regulations, payments]
allowed-tools:
  - Read
  - Write
  - Edit
---

# Banking Expert

Expert guidance for banking systems, core banking platforms, regulatory compliance, and banking technology.

## Core Concepts

### Banking Systems

- Core banking systems (CBS)
- Account management
- Transaction processing
- Payment systems (ACH, SWIFT, SEPA)
- Loan management
- Risk management systems

### Regulations

- Basel III/IV capital requirements
- Know Your Customer (KYC)
- Anti-Money Laundering (AML)
- GDPR for banking
- PSD2 (Payment Services Directive)
- Dodd-Frank Act

### Key Technologies

- Real-time payment processing
- Mobile banking
- Open banking APIs
- Digital wallets
- Blockchain in banking
- AI for fraud detection

## Account Management

```python
from decimal import Decimal
from datetime import datetime
from enum import Enum

class AccountType(Enum):
    CHECKING = "checking"
    SAVINGS = "savings"
    CREDIT = "credit"
    LOAN = "loan"

class Account:
    def __init__(self, account_number: str, account_type: AccountType,
                 customer_id: str, balance: Decimal = Decimal('0')):
        self.account_number = account_number
        self.type = account_type
        self.customer_id = customer_id
        self.balance = balance
        self.status = "ACTIVE"
        self.created_at = datetime.now()

    def deposit(self, amount: Decimal) -> dict:
        """Deposit funds with validation"""
        if amount <= 0:
            raise ValueError("Amount must be positive")

        self.balance += amount

        return {
            "transaction_id": self.generate_transaction_id(),
            "type": "DEPOSIT",
            "amount": amount,
            "balance": self.balance,
            "timestamp": datetime.now()
        }

    def withdraw(self, amount: Decimal) -> dict:
        """Withdraw funds with balance check"""
        if amount <= 0:
            raise ValueError("Amount must be positive")

        if self.balance < amount:
            raise ValueError("Insufficient funds")

        self.balance -= amount

        return {
            "transaction_id": self.generate_transaction_id(),
            "type": "WITHDRAWAL",
            "amount": amount,
            "balance": self.balance,
            "timestamp": datetime.now()
        }

    def transfer(self, to_account: 'Account', amount: Decimal) -> dict:
        """Transfer funds between accounts"""
        # Withdraw from source
        withdrawal = self.withdraw(amount)

        try:
            # Deposit to destination
            deposit = to_account.deposit(amount)

            return {
                "transaction_id": self.generate_transaction_id(),
                "type": "TRANSFER",
                "from_account": self.account_number,
                "to_account": to_account.account_number,
                "amount": amount,
                "timestamp": datetime.now()
            }
        except Exception as e:
            # Rollback on failure
            self.deposit(amount)
            raise e
```

## KYC/AML Compliance

```python
class KYCService:
    def verify_customer(self, customer_data: dict) -> dict:
        """Perform KYC verification"""
        verification_results = {
            "identity_verified": False,
            "address_verified": False,
            "sanctions_clear": False,
            "pep_check_clear": False,
            "risk_level": "HIGH"
        }

        # Identity verification
        verification_results["identity_verified"] = self.verify_identity(
            customer_data["id_document"]
        )

        # Address verification
        verification_results["address_verified"] = self.verify_address(
            customer_data["proof_of_address"]
        )

        # Sanctions screening
        verification_results["sanctions_clear"] = self.screen_sanctions(
            customer_data["name"],
            customer_data["date_of_birth"]
        )

        # PEP (Politically Exposed Person) check
        verification_results["pep_check_clear"] = self.check_pep(
            customer_data["name"]
        )

        # Calculate risk level
        verification_results["risk_level"] = self.calculate_risk_level(
            verification_results
        )

        return verification_results

class AMLMonitoring:
    def monitor_transaction(self, transaction: dict) -> dict:
        """Monitor transaction for suspicious activity"""
        flags = []

        # Large transaction
        if transaction["amount"] > 10000:
            flags.append("LARGE_TRANSACTION")

        # Rapid succession of transactions
        if self.check_velocity(transaction["account_id"]):
            flags.append("HIGH_VELOCITY")

        # Unusual pattern
        if self.check_pattern(transaction):
            flags.append("UNUSUAL_PATTERN")

        # International transfer to high-risk country
        if transaction.get("international") and \
           self.is_high_risk_country(transaction.get("destination")):
            flags.append("HIGH_RISK_COUNTRY")

        if flags:
            self.file_suspicious_activity_report(transaction, flags)

        return {
            "flagged": len(flags) > 0,
            "flags": flags,
            "risk_score": self.calculate_aml_risk_score(flags)
        }
```

## Payment Processing

```python
class PaymentProcessor:
    def process_ach_payment(self, payment: dict) -> dict:
        """Process ACH payment"""
        # Validate routing and account numbers
        if not self.validate_routing_number(payment["routing_number"]):
            raise ValueError("Invalid routing number")

        # Create ACH file
        ach_batch = self.create_ach_batch([payment])

        # Submit to ACH network
        submission_result = self.submit_to_ach_network(ach_batch)

        return {
            "payment_id": payment["id"],
            "status": "PENDING",
            "expected_settlement": self.calculate_settlement_date(),
            "trace_number": submission_result["trace_number"]
        }

    def process_wire_transfer(self, wire: dict) -> dict:
        """Process SWIFT wire transfer"""
        # Generate SWIFT message
        swift_message = self.create_swift_mt103(wire)

        # Send via SWIFT network
        result = self.send_swift_message(swift_message)

        return {
            "wire_id": wire["id"],
            "status": "SENT",
            "swift_reference": result["reference"],
            "fee": self.calculate_wire_fee(wire["amount"])
        }
```

## Interest Calculation

```python
class InterestCalculator:
    @staticmethod
    def calculate_simple_interest(principal: Decimal, rate: Decimal,
                                  days: int) -> Decimal:
        """Calculate simple interest"""
        return principal * rate * days / 365

    @staticmethod
    def calculate_compound_interest(principal: Decimal, annual_rate: Decimal,
                                   years: int, compounds_per_year: int = 12) -> Decimal:
        """Calculate compound interest"""
        rate_per_period = annual_rate / compounds_per_year
        num_periods = years * compounds_per_year

        return principal * ((1 + rate_per_period) ** num_periods - 1)

    @staticmethod
    def calculate_loan_payment(principal: Decimal, annual_rate: Decimal,
                              months: int) -> Decimal:
        """Calculate monthly loan payment"""
        monthly_rate = annual_rate / 12

        payment = principal * (monthly_rate * (1 + monthly_rate) ** months) / \
                  ((1 + monthly_rate) ** months - 1)

        return payment.quantize(Decimal('0.01'))
```

## Best Practices

- Implement two-factor authentication
- Use encryption for sensitive data (at rest and in transit)
- Maintain complete audit trails
- Implement real-time fraud detection
- Ensure ACID compliance for transactions
- Regular security audits and penetration testing
- Implement rate limiting on APIs
- Use tokenization for sensitive data
- Maintain disaster recovery and business continuity plans
- Regular regulatory compliance reviews

## Anti-Patterns

❌ Storing sensitive data unencrypted
❌ No transaction logging/audit trail
❌ Synchronous payment processing
❌ Ignoring regulatory compliance
❌ No fraud detection mechanisms
❌ Using floats for money calculations
❌ No backup and recovery procedures

## Resources

- Basel Committee: https://www.bis.org/bcbs/
- SWIFT Standards: https://www.swift.com/standards
- PSD2: https://ec.europa.eu/info/law/payment-services-psd-2
- FFIEC: https://www.ffiec.gov/

© personamanagmentlayer · Apache-2.0 · personamanagmentlayer/pcl

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой