Community라이팅 & 에디팅github.com

SyntaxFear/bog-banking-skill

BOG 뱅킹 스킬(읽기 전용) — AI 코딩 에이전트(Claude Code, Codex 등 SKILL.md 호환 에이전트)와 대화하며 Bank of Georgia(비즈니스 온라인) 계좌의 잔액, 명세서, 지출, 환율을 확인할 수 있습니다.

bog-banking-skill란 무엇인가요?

이 스킬은 은행 계좌 데이터를 안전하게 조회할 수 있는 읽기 전용 도구입니다. 사용자가 Bank of Georgia 비즈니스 온라인 계좌의 잔액, 거래 명세서, 일일 활동, 환율을 대화를 통해 확인할 수 있도록 설계되었습니다. Claude Code, Codex 등 SKILL.md 규격을 지원하는 모든 AI 에이전트에서 사용할 수 있으며, Python 스크립트(`scripts/bog.py`)를 통해 데이터를 가져오고 분석합니다. 스킬은 절대 송금이나 지불을 실행하지 않으며, 사용자 인증 정보를 안전하게 처리합니다. 초기 설정 시 사용자에게 클라이언트 ID와 시크릿을 안내하고, IBAN을 추가하여 계좌를 등록한 후 잔액 조회, 거래 내역 확인, 환율 조회 등의 명령을 실행할 수 있습니다. 모든 결과는 JSON 형태로 반환되며, AI 에이전트가 이를 분석하여 자연스러운 언어로 요약 또는 보고합니다. 모의 모드도 지원하여 실제 인증 전에 기능을 미리 체험할 수 있습니다.

지원 대상✓Claude Code✓Codex CLI~Cursor
npx skills add SyntaxFear/bog-banking-skill

Installed? Explore more 라이팅 & 에디팅 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

BOG 뱅킹 스킬 (읽기 전용)

사용자가 Bank of Georgia 비즈니스 온라인 계좌를 대화를 통해 이해하고 관리할 수 있도록 도와줍니다. 번들 도구(scripts/bog.py)가 데이터에 접근하여 JSON을 출력하면, 여러분(AI 에이전트)이 분석(분류, 합계, 조정, 이상 징후 표시)을 수행합니다. SKILL.md를 지원하는 모든 에이전트(Claude Code, Codex 등)에서 작동합니다.

엄격한 규칙

  1. 항상 읽기 전용. 여기에 나열된 bog.py 명령어만 실행하세요. 절대로 지불, 송금, 문서 서명, 또는 쓰기 엔드포인트를 호출하지 마세요. 해당 기능은 없습니다. 자금 이동을 요청받으면 이 스킬은 읽기 전용이며 사용자가 직접 BOG 앱에서 처리해야 한다고 말하세요(준비 작업은 도와줄 수 있습니다).
  2. 재무 데이터는 신중하게 다루고, 요청이 없으면 원시 테이블을 덤프하지 말고 요약하세요.
  3. 자격 증명을 요청할 때 클라이언트 시크릿을 절대 응답에 포함하지 말고, 출력하지 마세요. 도구가 로컬에 저장합니다.

도구 실행

python3 scripts/bog.py <명령어> [옵션]

실행할 때마다 하나의 JSON 객체(command, mode(live/mock), ok, data 또는 error+message)가 출력됩니다. 이를 파싱한 후 일반 언어로 답변하세요.

매 세션: 먼저 상태 확인

데이터가 필요한 작업을 하기 전에 다음을 실행하세요:

python3 scripts/bog.py whoami
  • ok: true이고 data.accounts_configured > 0 → 완전히 설정됨; 바로 사용자 요청으로 이동하세요. 저장된 자격 증명이나 IBAN을 다시 묻지 마세요.
  • ok: true이지만 accounts_configured가 0 → 키는 작동하지만 계좌가 없음 → 온보딩 6단계(IBAN 추가)를 수행하세요.
  • error: "no_keys" → 완전히 새로운 사용자 → 아래 첫 설정을 실행하세요.
  • error: "invalid_credentials" → 키 거부됨 → 아래 5단계를 참조하세요.

첫 설정 (온보딩) — 한 번만 사용자 안내

친근하게 한 단계씩 진행하세요. 전체 클릭별 버전(정확한 BOG 화면 및 링크 포함)은 reference/getting-credentials.md에 있습니다 — 자신의 말로 전달하고 아래 링크를 사용자에게 제공하세요.

1단계 — 설명 및 안심. 이 스킬이 읽기 전용(절대 자금을 이동할 수 없음)이며, Bank of Georgia에서 클라이언트 ID와 클라이언트 시크릿 두 가지가 필요하다고 알리세요.

2단계 — 로그인. 사용자에게 **https://bonline.bog.ge/**에서 비즈니스 온라인 자격 증명으로 로그인하도록 요청하세요.

3단계 — API 키 생성. **https://bonline.bog.ge/admin/api**를 열고 새로 추가를 클릭하도록 안내하세요:

  • 통합 유형 — 클라이언트 자격 증명 흐름(클라이언트 ID + 클라이언트 시크릿으로 자동 인증하며, 사용자 이름이나 비밀번호가 필요 없는 유형)을 선택하세요.
  • API 클라이언트 이름 — 아무 이름(예: 인터넷 뱅킹 사용자명, Banking Assistant)을 입력하세요.
  • **일회용 코드(OTP)**로 확인하세요.

4단계 — 키 복사. BOG에서 클라이언트 ID와 클라이언트 시크릿을 표시합니다(일부 화면에서는 공개 키 / 비밀 키로 표시됨 — 동일한 값). 사용자에게 둘 다 붙여넣고 저장하도록 요청하세요. 명령줄에 시크릿이 노출되지 않도록 stdin에 JSON을 파이프하세요:

python3 scripts/bog.py save-credentials <<'JSON'
{"client_id":"<클라이언트 ID>","client_secret":"<클라이언트 시크릿>"}
JSON

클라이언트 시크릿을 다시 출력하지 마세요.

5단계 — 로그인 확인. whoami를 다시 실행하세요.

  • ok: true → 키가 작동합니다. 6단계로 계속하세요.
  • error: "invalid_credentials" → 키가 잘못되었거나 사용자의 BOG 비즈니스 뱅커가 API 접근을 아직 활성화하지 않은 경우입니다. 두 가지 가능성을 모두 알리고 다시 입력하도록 제안하세요(필요하면 먼저 초기화: python3 scripts/bog.py forget-credentials).

6단계 — 첫 계좌 추가. 하나의 계좌 IBAN(예: GE..BG...)을 요청하세요. 명세서와 BOG 앱에서 확인할 수 있으며 비밀 정보가 아닙니다. 통화는 묻지 마세요. 그런 다음:

python3 scripts/bog.py add-account --iban <IBAN>
python3 scripts/bog.py discover --account <IBAN>

discover는 해당 IBAN이 보유한 통화(GEL/USD/EUR/GBP)를 자동 감지합니다.

7단계 — 첫 실시간 결과. balance를 실행하고 결과를 보기 좋게 표시하세요(결과 표시 참조). 설정 완료를 축하하고, 다른 계좌를 추가할지 또는 원래 질문에 답변할지 물어보세요.

키가 준비되기 전에 데모를 원하시나요? python3 scripts/bog.py --mock balance는 은행 접근 없이 현실적인 샘플 데이터를 반환합니다(항상 샘플 데이터라고 말하세요).

계좌 설정 / 추후 관리

BOG는 회사 계좌 목록을 제공할 수 없으므로 사용자로부터 IBAN을 하나씩 수집합니다. 추가는 항상 병합됩니다(기존 IBAN 유지). IBAN은 저장되며 이후 호출에서 재사용됩니다 — whoami가 ok인 경우 저장된 자격 증명이나 IBAN을 다시 묻지 마세요.

  • "다른 계좌 GE.. 추가" → add-account --iban <IBAN> 후 discover --account <IBAN> (그리고 또 추가할지 물어보세요)
  • "계좌 GE.. 제거 / 잊기" → remove-account --iban <IBAN> (사용자가 명시적으로 요청할 때만)
  • "어떤 계좌가 있나요?" → accounts

읽기 전용 명령어

명령어반환값
whoami자격 증명 존재 여부 및 작동 여부
add-account --iban GE.. [--currency GEL]IBAN 추가 (병합됨; 제거될 때까지 유지)
remove-account --iban GE.. [--currency GEL]IBAN 제거 (또는 특정 통화만 제거)
discover [--account IBAN] [--currencies GEL,USD]저장된 IBAN의 통화 탐색 및 저장
accounts저장된 IBAN 및 해당 통화
balance [--account IBAN] [--currency GEL]사용 가능 잔액 + 현재 잔액
statement [--account IBAN] [--currency GEL] [--from YYYY-MM-DD] [--to YYYY-MM-DD]기간 내 거래 내역 (자동 페이지 매김)
today [--account IBAN] [--currency GEL]오늘의 장중 활동
rates [--currency USD]NBG 공식 환율 + BOG 상업 매수/매도

기본값 = 모두. --account/--currency를 전달하지 않으면 명령어는 자동으로 설정된 모든 IBAN과 해당 통화를 포함합니다(자동 통화 감지). 사용자가 특정 요청을 할 때만 --account 및/또는 --currency를 전달하세요("내 USD 잔액", "계좌 GE..123"). 이 명령어들은 목록(IBAN+통화당 하나의 항목)을 반환하며, 항목에 해당 계좌가 보유하지 않은 통화에 대한 error가 포함될 수 있습니다 — 그냥 건너뛰세요.

집계할 때 다른 통화의 금액을 절대 합산하지 마세요 — 각 통화를 별도로 보고하세요(예: GEL 합계와 USD 합계).

예시

  • "내 잔액은 얼마인가요?" → balance (모든 계좌 + 통화 포함)
  • "내 USD 잔액은?" → balance --currency USD
  • "지난달 거래 내역" → statement --from 2026-05-01 --to 2026-05-31
  • "<공급업체>에 얼마를 지불했나요?" → statement 실행 후 직접 필터/합계.
  • "특이한 점 있나요?" → statement 실행 후 중복, 반올림된 숫자, 새 거래 상대, 예상보다 큰 금액을 표시하세요.
  • "USD 환율?" → rates --currency USD

모의 모드

--mock를 전달하거나 BOG_MOCK=1을 설정하면 은행 접근 없이 현실적인 샘플 데이터를 반환합니다 — 사용자 자격 증명이 준비되기 전에 스킬을 시연하는 데 유용합니다. 결과가 샘플 데이터일 때는 항상 사용자에게 알리세요.

결과 표시

  • 금액은 천 단위 구분 기호 + 소수점 2자리로 포맷하세요(예: 18,430.75 GEL).
  • 답변을 먼저 제시하고, 간단한 분석을 덧붙이며, 그룹화 가정을 명시하세요.
  • 조정 시 가능한 중복, 비정상적으로 큰 금액, 새로운/알 수 없는 거래 상대, 반올림된 지불을 명시적으로 표시하세요.

전체 자격 증명 안내는 reference/getting-credentials.md를, 기본 BOG 엔드포인트는 reference/endpoints.md를 참조하세요.

관련 스킬