From shinkoku
Reads furusato nozei receipt images, extracts donation data, registers to DB, computes tax deductions/limits, and summarizes records using shinkoku CLI.
npx claudepluginhub kazukinagata/shinkoku --plugin shinkokuThis skill uses the workspace's default tool permissions.
ふるさと納税の寄附金受領証明書を読み取り、寄附データを管理し、控除額を計算するスキル。
Calculates Japanese income tax from business income/deductions, imports withholding slips via shinkoku CLI, applies rounding rules, and prepares申告書B for e-tax input.
Advises on US taxes for W-2, 1099, S-Corp filers: identifies deductions, logs expenses to JSON, assesses audit risk, optimizes brackets, plans estimated payments, handles multi-state filing and life events.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Share bugs, ideas, or general feedback.
ふるさと納税の寄附金受領証明書を読み取り、寄附データを管理し、控除額を計算するスキル。
shinkoku.config.yaml を Read ツールで読み込む/setup スキルの実行を案内して終了するdb_path: CLI スクリプトの --db-path 引数に使用(CWD基準で絶対パスに変換)tax_year: 対象年度furusato_receipts_dir: 受領証明書の格納ディレクトリ(任意)設定の読み込み後、引継書ファイルを読み込んで前ステップの結果を把握する。
.shinkoku/progress/progress-summary.md を Read ツールで読み込む(存在する場合).shinkoku/progress/01-setup.mdimport_data.py furusato-receipt --file-path PATH でファイルの存在を確認する。
重要: 画像の読み取りは対応する reading- スキルに委任する。*
画像ファイルの読み取りには /reading-receipt スキルを使用する。
スキルの指示に従い、デュアル検証(2つの独立した読み取り結果の照合)を行って結果を取得する。
結果照合: 両方の読み取り結果から amount, date, municipality_name を比較する
一致の場合: そのまま採用。「2つの独立した読み取りで結果が一致しました」と報告
不一致の場合: ユーザーに元画像パスと両方の結果を提示し、正しい方を選択してもらう:
読み取り結果の ---FURUSATO_RECEIPT_DATA--- ブロックから以下の情報を取得する:
Glob ツールで受領証明書画像の一覧を取得する(例: furusato_receipts/*.jpg, furusato_receipts/*.png)
shinkoku import furusato-receipt --file-path PATH で各ファイルの存在を確認する
画像ファイルの読み取りには /reading-receipt スキルを使用する。
スキルの指示に従い、デュアル検証(2つの独立した読み取り結果の照合)を行って結果を取得する。
結果照合: ファイル単位で両方の読み取り結果の amount, date, municipality_name を比較する
一致の場合: そのまま採用。「2つの独立した読み取りで結果が一致しました」と報告
不一致の場合: 不一致のファイルについてユーザーに元画像パスと両方の結果を提示し、正しい方を選択してもらう:
各証明書の結果をまとめてユーザーに提示する
抽出した情報を一覧表示し、正しいか確認する。修正があればユーザーの入力を反映する。
確認が完了したら furusato.py add で登録する。
shinkoku furusato add --db-path DB --input FILE
入力 JSON ファイルのフォーマット:
{
"fiscal_year": 2025,
"municipality_name": "自治体名",
"amount": 30000,
"date": "2025-06-15",
"municipality_prefecture": "都道府県",
"receipt_number": "受領証明書番号",
"one_stop_applied": false
}
登録時に「ワンストップ特例を申請しましたか?」と確認する。
重要な注意: 副業で確定申告する場合、ワンストップ特例は無効化される。 確定申告時に全額を寄附金控除として申告する必要がある。
「他に受領証明書はありますか?」と確認し、あればステップ1~2を繰り返す。
すべての寄附データを登録したら furusato.py summary で集計する。
shinkoku furusato summary --db-path DB --fiscal-year YEAR [--estimated-limit N]
表示する情報:
所得情報が把握できている場合は tax_calc.py furusato-limit で上限を推定する。
shinkoku tax furusato-limit --input FILE
上限超過の場合は警告を表示: 「寄附合計額が推定上限を超えています。超過分は自己負担となります。」
以下を説明する:
| 質問カテゴリ | 参照ファイル |
|---|---|
| ふるさと納税の税制ルール・計算式 | references/furusato-tax-rules.md |
| 上限額・返礼品・タイミング・相談全般 | references/furusato-consultation-guide.md |
income-tax スキルで所得税の計算に進む(寄附金控除が自動反映される)サマリー提示後、以下のファイルを Write ツールで出力する。 これにより、セッションの中断や Compact が発生しても次のステップで結果を引き継げる。
.shinkoku/progress/05-furusato.md に以下の形式で出力する:
---
step: 5
skill: furusato
status: completed
completed_at: "{当日日付 YYYY-MM-DD}"
fiscal_year: {tax_year}
---
# ふるさと納税管理の結果
## 登録済み寄附一覧
| 自治体名 | 都道府県 | 金額 | 寄附日 | ワンストップ |
|---------|---------|------|--------|------------|
| {自治体名} | {都道府県} | {金額}円 | {日付} | {申請済み/未申請} |
## 集計
- 寄附先自治体数: {件数}
- 寄附合計額: {合計金額}円
- 控除額(合計 - 2,000円): {控除額}円
## 控除上限との比較
- 推定控除上限: {上限額}円(所得情報がある場合)
- 上限超過: {なし/あり(超過額: {金額}円)}
## 次のステップ
/income-tax で所得税の計算に進む
寄附がない場合(スキップ)は status を skipped とし、内容は「該当なし」と記載する。
.shinkoku/progress/progress-summary.md を更新する(存在しない場合は新規作成):
ファイルを出力したらユーザーに以下を伝える:
.shinkoku/progress/ に保存しました。セッションが中断しても次のスキルで結果を引き継げます。」