Skip to content
Automation
Skill

/income-tax

This skill should be used when the user needs to calculate their income tax (所得税), compute deductions, or import withholding slips. Trigger phrases include: "所得税を計算", "確定申告書を作成", "控除を計算", "源泉徴収票を取り込む", "所得税額", "納付額を計算", "還付額を計算", "第一表", "第二表", "申告書B", "所得控除", "税額控除".

From plugin
shinkoku
36024 skills
Install
$ npx -y skills add kazukinagata/shinkoku --skill income-tax --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/income-tax

Context preview

The summary Claude sees to decide when to auto-load this skill.

This skill should be used when the user needs to calculate their income tax (所得税), compute deductions, or import withholding slips. Trigger phrases include: "所得税を計算", "確定申告書を作成", "控除を計算", "源泉徴収票を取り込む", "所得税額", "納付額を計算", "還付額を計算", "第一表", "第二表", "申告書B", "所得控除", "税額控除".

SKILL.md

income-tax.SKILL.md
name: income-tax
description: >
  This skill should be used when the user needs to calculate their income tax
  (所得税), compute deductions, or import withholding slips. Trigger phrases
  include: "所得税を計算", "確定申告書を作成", "控除を計算",
  "源泉徴収票を取り込む", "所得税額", "納付額を計算", "還付額を計算",
  "第一表", "第二表", "申告書B", "所得控除", "税額控除".

所得税計算(Income Tax Calculation)

事業所得・各種控除から所得税額を計算するスキル。 settlement スキルで決算書の作成が完了していることを前提とする。 計算結果は `/e-tax` スキル(Claude in Chrome)で確定申告書等作成コーナーに入力する。

設定の読み込み(最初に実行)

1. `shinkoku.config.yaml` を Read ツールで読み込む 2. ファイルが存在しない場合は `/setup` スキルの実行を案内して終了する 3. 設定値を把握し、相対パスは CWD を基準に絶対パスに変換する:

  • `db_path`: CLI スクリプトの `--db-path` 引数に使用
  • `output_dir`: 進捗ファイル等の出力先ベースディレクトリ
  • 各ディレクトリ: ファイル参照時に使用

パス解決の例

config の `db_path` が `./shinkoku.db` で CWD が `/home/user/tax-2025/` の場合:

  • `shinkoku tax calc-income --input /home/user/tax-2025/output/income_input.json`

進捗情報の読み込み

設定の読み込み後、引継書ファイルを読み込んで前ステップの結果を把握する。

1. `.shinkoku/progress/progress-summary.md` を Read ツールで読み込む(存在する場合) 2. 以下の引継書を Read ツールで読み込む(存在する場合):

  • `.shinkoku/progress/06-settlement.md`
  • `.shinkoku/progress/02-assess.md`
  • `.shinkoku/progress/05-furusato.md`

3. 読み込んだ情報を以降のステップで活用する(ユーザーへの再質問を避ける) 4. ファイルが存在しない場合はスキップし、ユーザーに必要情報を直接確認する

基本方針

  • settlement スキルで青色申告決算書が完成しているか確認してから開始する
  • 所得の計算 → 控除の計算 → 税額の計算 の順序で進める
  • 各ステップの計算結果をユーザーに提示し、確認を得る
  • references/form-b-fields.md の各欄に正しく値を設定する
  • 端数処理ルールを厳守する:
  • 課税所得: 1,000円未満切捨て(国税通則法118条)
  • 復興特別所得税: 1円未満切捨て(復興財源確保法13条)
  • ㊺ 所得税及び復興特別所得税の額: 端数処理なし
  • 申告納税額(納付の場合のみ): 100円未満切捨て(国税通則法119条)
  • 還付金: 1円単位・切捨てなし(国税通則法120条)

前提条件の確認

所得税計算を開始する前に以下を確認する:

1. **青色申告決算書が完成しているか**: settlement スキルの出力を確認する 2. **納税者プロファイルの読み込み**: `uv run shinkoku profile --config {config_path}` で config から納税者情報を取得する

  • 氏名・住所・税務署名 → 確定申告書等作成コーナーへの入力に使用
  • 寡婦/ひとり親・障害者・勤労学生の状態 → 人的控除の計算に使用

3. **事業所得以外の所得**: 給与所得・雑所得・配当所得・一時所得等がある場合は情報を収集する 4. **源泉徴収票**: 給与所得がある場合は取り込みを案内する 5. **各種控除の適用状況**: 適用可能な控除を網羅的に確認する 6. **予定納税額**: assess で確認済みの予定納税額を取得する

  • 未確認の場合は、前年の確定申告書(㊺欄)から判定する
  • 予定納税額は源泉徴収税額とは別に管理する

7. **分離課税の確認**: 株式・FX の分離課税(第三表)は対象外。該当する場合は税理士への相談を案内する

必須確認チェックリスト(スキップ不可)

所得税計算を開始する前に、以下の項目が**すべて確認済み**であることを検証する。 config・引継書に記載がない項目は、ユーザーに直接確認してから先に進む。

  • [ ] **家族構成**: 配偶者の有無・扶養親族の有無を確認済みか?
  • 未確認 → ユーザーに確認し、ステップ1.5 で詳細を登録する
  • 確認済み(該当なし)→ ステップ1.5 をスキップ可
  • [ ] **住宅ローン控除**: 適用有無を確認済みか?
  • 未確認 → ユーザーに確認する
  • 適用あり(初年度)→ ステップ3.7 で明細書を作成する
  • [ ] **予定納税**: 有無・金額を確認済みか?
  • 未確認 → 前年の確定申告書(㊺欄)から判定するようユーザーに確認する
  • 金額未確定 → `estimated_tax_payment` パラメータに正しい値を設定できるまで進まない

ステップ1: 源泉徴収票の取り込み

給与所得がある場合、源泉徴収票からデータを取り込む。

`import_data.py import-withholding` の呼び出し

shinkoku import import-withholding --input withholding_input.json

入力 JSON:

{
  "file_path": "path/to/withholding_slip.pdf"
}

出力:

{
  "payer_name": "支払者名",
  "payment_amount": 5000000,
  "deduction_amount": 3560000,
  "income_tax_withheld": 100000,
  "social_insurance": 700000,
  "life_insurance": 50000,
  "spouse_deduction": 0
}

画像ファイルの場合: OCR 読み取り

`extracted_text` が空の場合(画像ファイルまたはスキャン PDF)、画像の読み取りは `/reading-withholding` スキルを使用する。 スキルの指示に従い、デュアル検証(2つの独立した読み取り結果の照合)を行って結果を取得する。

**結果照合:** 両方の読み取り結果から `payment_amount`, `withheld_tax`, `social_insurance` を比較する

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

**不一致の場合:** ユーザーに元画像パスと両方の結果を提示し、正しい方を選択してもらう:

  • 差異のあるフィールドを明示する
  • A を採用 / B を採用 / 手動入力 の3択を AskUserQuestion で提示する

**取り込み後の検算(必須):**

OCR 結果の整合性を検証するため、「所得控除の額の合計額」と各内訳の合計を照合する:

検算: 所得控除の額の合計額 ≟ 社会保険料等の金額          ← 小規模企業共済等掛金を含む(内数)
                            + 生命保険料の控除額
                            + 地震保険料の控除額
                            + 配偶者(特別)控除の額
                            + 扶養控除額                ← 人数×単価から算出(特定63万/老人48万or58万/その他38万)
                            + 障害者控除                ← 人数×単価から算出(一般27万/特別40万/同居特別75万)
                            + 寡婦控除(27万)またはひとり親控除(35万) ← 該当時
                            + 勤労学生控除(27万)       ← 該当時
                            + 基礎控除の額              ← 源泉徴収票の記載額を使用。未記載なら所得と年度から算出

注意:

  • 「(うち小規模企業共済等掛金の額)」は社会保険料等の金額の**内数**。別途加算すると二重計上になる
  • 扶養控除・障害者控除は金額欄ではなく人数欄で記載されるため、人数×単価で算出する
  • 基礎控除の額は源泉徴収票に記載があればその値を使う。未記載の場合は合計所得と年分に応じて算出する(令和7年分: 58万+加算で最大95万、令和8・9年分: 62万+加算で最大104万、令和10年分以後: 62万+加算は132万以下のみ99万)
  • **一致の場合:** 各フィールドの OCR 精度が確認できたものとして採用する
  • **不一致の場合:** 差額を明示し、どのフィールドが誤読の可能性があるかユーザーに提示する。元画像と突き合わせて修正する

**その他の確認事項:**

1. 複数の勤務先がある場合は各社分を取り込む 2. 年末調整済みの控除を確認し、追加控除の有無を判定する

ステップ1.5: 扶養親族・配偶者情報の確認

所得控除の計算前に、扶養親族の情報を収集する。 まず DB に登録済みのデータを確認し、不足があれば追加入力する。

DB からの読み込み

1. `ledger.py get-spouse --db-path DB_PATH` で配偶者情報を取得する(登録済みの場合) 2. `ledger.py list-dependents --db-path DB_PATH` で扶養親族のリストを取得する(登録済みの場合)

未登録の場合の確認項目

1. **配偶者**: 配偶者の有無と年間所得金額を確認する

  • 所得48万円以下 → 配偶者控除(38万円)
  • 所得48万円超133万円以下 → 配偶者特別控除(段階的)
  • 納税者の所得が1,000万円超 → 配偶者控除なし
  • 確認後 `ledger.py set-spouse --db-path DB_PATH --input spouse.json` で DB に登録する

2. **扶養親族**: 以下の情報を収集する

  • 氏名、続柄、生年月日、年間所得、障害の有無、同居の有無
  • 16歳未満: 扶養控除なし(児童手当対象)
  • 16歳以上: 一般扶養38万円
  • 19歳以上23歳未満: 特定扶養63万円
  • 70歳以上: 老人扶養48万円(同居58万円)
  • 確認後 `ledger.py add-dependent --db-path DB_PATH --input dependent.json` で各人を DB に登録する

3. **マイナンバーの収集**(申告書B第二表に記載が必要):

  • 配偶者のマイナンバー(12桁)
  • 扶養親族(16歳以上)全員のマイナンバー
  • 16歳未満の子供のマイナンバー(住民税に関する事項の記載に必要)
  • 取扱注意: DB に保存するが、ツール出力やログには表示しない

4. **事業専従者の確認**:

  • 配偶者が青色事業専従者として給与を受けている場合 → 配偶者控除の対象外
  • 扶養親族が青色事業専従者・白色事業専従者の場合 → 扶養控除の対象外
  • 該当する場合は控除計算から除外し、ユーザーに明示する

5. **障害者控除**: 扶養親族に障害がある場合

  • 一般障害者: 27万円、特別障害者: 40万円、同居特別障害者: 75万円

**重要: 16歳未満の扶養親族も必ず登録する**

16歳未満の子供は扶養控除の対象外だが、以下の理由で申告書への記載が必要:

  • 住民税の非課税限度額の判定(扶養人数に16歳未満も含む)
  • 住民税の均等割の非課税判定
  • 申告書B第二表「住民税に関する事項 - 16歳未満の扶養親族」欄への記載

`ledger.py add-dependent` で登録する際、16歳未満でもスキップせずに登録すること。

ステップ1.6: iDeCo・小規模企業共済の確認

掛金払込証明書がある場合は `import_data.py import-deduction-certificate` で取り込むことができる。

1. iDeCo(個人型確定拠出年金)の年間掛金を確認する

  • 小規模企業共済等掛金払込証明書から金額を確認
  • 全額が所得控除(上限: 自営業者は年額81.6万円)

2. 小規模企業共済の掛金がある場合も同様に確認する

画像ファイルの場合: OCR 読み取り

`extracted_text` が空の場合(画像ファイルまたはスキャン PDF)、画像の読み

Read more
Ships withshinkoku

確定申告を自動化する AI コーディングエージェント向けプラグイン。個人事業主・会社員の所得税・消費税の確定申告を、帳簿の記帳から確定申告書等作成コーナーへの入力代行までエンドツーエンドで支援します。 Claude Code Plugin として動作するほか、SKILL.md オープン標準 に準拠した Agent Skills パッケージとして、Claude Code / Cursor / Windsurf / GitHub Copilot / Gemini CLI / Codex / Cline / Roo

Get the whole plugin
Stats
360
Stars
34
Forks
Active
Maintenance
Python
Language
MIT
License
8d ago
Last commit
7mo ago
Created

Repo: kazukinagata/shinkoku

Other skills on shinkoku.

e-bookkeeping-compliance
Skill

e-bookkeeping-complian…

優良な電子帳簿の要件チェック・コンプライアンス診断を実行する。 「優良な電子帳簿」「電帳法対応」「電子帳簿の要件確認」 「税務調査の準備」「75万円控除の条件」「帳簿の要件を満たしているか」 「e-bookkeeping compliance」で起動。

e-tax
Skill

e-tax

This skill should be used when the user wants to file their tax return electronically via the 確定申告書等作成コーナー (NTA Tax Return Preparation Corner) using Claude in…