# Reading Payment Statement

> >

- **Type:** Skill
- **Install:** `agentstack add skill-kazukinagata-shinkoku-reading-payment-statement`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [kazukinagata](https://agentstack.voostack.com/s/kazukinagata)
- **Installs:** 0
- **Category:** [Finance & Payments](https://agentstack.voostack.com/c/finance-and-payments)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [kazukinagata](https://github.com/kazukinagata)
- **Source:** https://github.com/kazukinagata/shinkoku/tree/main/skills/reading-payment-statement

## Install

```sh
agentstack add skill-kazukinagata-shinkoku-reading-payment-statement
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# 支払調書 画像読み取り

支払調書（報酬、料金、契約金及び賞金の支払調書）の画像を読み取り、構造化データとして返すスキル。

## PDF ファイルの場合

ファイルが PDF（`.pdf`）の場合、画像 OCR の前にテキスト抽出を試みる。

1. `shinkoku pdf extract-text --file-path ` を実行する
2. 抽出テキストに必要な情報（支払金額・源泉徴収税額等）が含まれていれば、テキストから構造化データを生成する
3. テキストが不十分（スキャン PDF 等）の場合は `shinkoku pdf to-image --file-path  --output-dir ` で PNG に変換し、以下の画像読み取りフローに進む

## 画像読み取り方法

### 推奨: デュアル検証（並列2コンテキスト）

精度を高めるため、同じ画像を2つの独立したコンテキストで並列に読み取り、結果を照合する。

1. **2つの独立した読み取りを実行する:**
   サブエージェントが使える環境では、2つのサブエージェントを並列で起動し、それぞれ独立に画像を読み取る。
   各サブエージェントには以下の「基本ルール」と「出力フォーマット」をプロンプトとして渡し、画像ファイルパスを指定する。

2. **結果照合:** 両方の読み取り結果から主要フィールド（金額等）を比較する。

3. **一致の場合:** そのまま採用。「2つの独立した読み取りで結果が一致しました」と報告する。

4. **不一致の場合:** ユーザーに元画像パスと両方の結果を提示し、正しい方を選択してもらう:
   - 差異のあるフィールドを明示する
   - A を採用 / B を採用 / 手動入力 の3択を提示する

### フォールバック（サブエージェント非対応の場合）

サブエージェントが利用できない環境では、以下の手順で読み取る:

1. 画像ファイルを直接 Read ツールで読み取る
2. 以下の「基本ルール」と「出力フォーマット」に従ってデータを抽出する
3. 抽出結果をユーザーに提示し、**必ず目視確認を依頼する**

⚠ デュアル検証が利用できないため、必ずユーザーに目視確認を依頼してください。

## 基本ルール

- 画像ファイルは Read ツールで読み取る（Claude Vision が自動的に画像を認識する）
- 金額は必ず int（円単位の整数）で返す。カンマや「円」は除去する
- 日付は YYYY-MM-DD 形式で返す
- 和暦は西暦に変換する（令和7年 → 2025、令和6年 → 2024、平成31年 → 2019）
- 読み取れないフィールドは UNKNOWN（文字列）または 0（金額）とする
- 複数ファイルを渡された場合は全て順に処理してまとめて返す

## 出力フォーマット

画像を読み取り、以下の形式で返す:

```
---PAYMENT_STATEMENT_DATA---
payer_name: 支払者名
category: 区分（報酬/料金/契約金/賞金）
gross_amount: 支払金額（int）
withholding_tax: 源泉徴収税額（int）
---END---
```

## 抽出のポイント

- 「支払金額」欄を最優先で抽出する
- 「源泉徴収税額」欄を正確に読み取る
- 支払者の名称を抽出する
- 区分（報酬、料金、契約金、賞金のいずれか）を確認する
- 「報酬、料金、契約金及び賞金の支払調書」というタイトルを確認する
- 支払を受ける者の情報（住所・氏名）も読み取れれば確認用に含める

## 複数ファイルの処理

複数のファイルパスが指示された場合:

1. Glob ツールでファイル一覧を取得する（パターンが指示された場合）
2. 各ファイルを Read ツールで順に読み取る
3. 全ファイルの結果をまとめて返す（各結果の前にファイル名を記載する）

```
## file1.jpg
---PAYMENT_STATEMENT_DATA---
...
---END---

## file2.jpg
---PAYMENT_STATEMENT_DATA---
...
---END---
```

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [kazukinagata](https://github.com/kazukinagata)
- **Source:** [kazukinagata/shinkoku](https://github.com/kazukinagata/shinkoku)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-kazukinagata-shinkoku-reading-payment-statement
- Seller: https://agentstack.voostack.com/s/kazukinagata
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
