Itr Wala
karanb192/itr-wala
File Indian income tax returns (ITR) for FY 2025-26 / AY 2026-27.
This skill should be used when the user needs to calculate their income tax (所得税), compute deductions, or import withholding slips.
$ npx skills add kazukinagata/shinkoku --skill income-tax -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install kazukinagata/shinkoku income-tax --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/kazukinagata/shinkoku.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/income-tax .claude/skills/income-tax && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "income-tax" agent skill from https://github.com/kazukinagata/shinkoku/tree/main/skills/income-tax into .claude/skills/income-tax/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "income-tax", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/kazukinagata/shinkoku/tree/main/skills/income-taxType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add kazukinagata/shinkoku --skill income-tax -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install kazukinagata/shinkoku income-tax --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kazukinagata/shinkoku.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/income-tax .agents/skills/income-tax && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "income-tax" agent skill from https://github.com/kazukinagata/shinkoku/tree/main/skills/income-tax into .agents/skills/income-tax/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "income-tax", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add kazukinagata/shinkoku --skill income-tax -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install kazukinagata/shinkoku income-tax --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kazukinagata/shinkoku.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/income-tax .cursor/skills/income-tax && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "income-tax" agent skill from https://github.com/kazukinagata/shinkoku/tree/main/skills/income-tax into .cursor/skills/income-tax/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "income-tax", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/kazukinagata/shinkoku.git --path skills/income-tax--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add kazukinagata/shinkoku --skill income-tax -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install kazukinagata/shinkoku income-tax --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kazukinagata/shinkoku.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/income-tax .gemini/skills/income-tax && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "income-tax" agent skill from https://github.com/kazukinagata/shinkoku/tree/main/skills/income-tax into .gemini/skills/income-tax/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "income-tax", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install kazukinagata/shinkoku income-taxInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add kazukinagata/shinkoku --skill income-tax -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/kazukinagata/shinkoku.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/income-tax .github/skills/income-tax && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "income-tax" agent skill from https://github.com/kazukinagata/shinkoku/tree/main/skills/income-tax into .github/skills/income-tax/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "income-tax", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add kazukinagata/shinkoku --skill income-tax -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install kazukinagata/shinkoku income-tax --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kazukinagata/shinkoku.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/income-tax .opencode/skills/income-tax && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "income-tax" agent skill from https://github.com/kazukinagata/shinkoku/tree/main/skills/income-tax into .opencode/skills/income-tax/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "income-tax", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
income-taxThis skill should be used when the user needs to calculate their income tax (所得税), compute deductions, or import withholding slips.
Income Tax is an agent skill from kazukinagata/shinkoku. This skill should be used when the user needs to calculate their income tax (所得税), compute deductions, or import withholding slips. Trigger phrases include: "所得税を計算", "確定申告書を作成", "控除を計算", "源泉徴収票を取り込む", "所得税額", "納付額を計算", "還付額を計算", "第一表", "第二表", "申告書B", "所得控除", "税額控除".
Its SKILL.md is about 5.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `README.md`, `references/deduction-tables.md` and `references/form-b-fields.md`).
It sits in Business, Finance & HR, covering Tax preparation. The repository describes itself as: 確定申告自動化 AI エージェントプラグイン — 帳簿管理から e-Tax 入力代行まで. The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 607574d. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
uvFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use uv, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Income Tax loads about 5.7k tokens when it runs, and up to ~11k if it reads all its reference files. Until then it costs about 70 tokens; SKILL.md has 1,071 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from kazukinagata/shinkoku at commit 607574d, republished under its MIT licence (© kazukinagata). 1,071 words, ~5,701 tokens.
.claude/skills/income-tax/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.事業所得・各種控除から所得税額を計算するスキル。
settlement スキルで決算書の作成が完了していることを前提とする。
計算結果は /e-tax スキル(Claude in Chrome)で確定申告書等作成コーナーに入力する。
shinkoku.config.yaml を Read ツールで読み込む/setup スキルの実行を案内して終了する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設定の読み込み後、引継書ファイルを読み込んで前ステップの結果を把握する。
.shinkoku/progress/progress-summary.md を Read ツールで読み込む(存在する場合).shinkoku/progress/06-settlement.md.shinkoku/progress/02-assess.md.shinkoku/progress/05-furusato.md所得税計算を開始する前に以下を確認する:
uv run shinkoku profile --config {config_path} で config から納税者情報を取得する所得税計算を開始する前に、以下の項目がすべて確認済みであることを検証する。 config・引継書に記載がない項目は、ユーザーに直接確認してから先に進む。
estimated_tax_payment パラメータに正しい値を設定できるまで進まない給与所得がある場合、源泉徴収票からデータを取り込む。
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
}extracted_text が空の場合(画像ファイルまたはスキャン PDF)、画像の読み取りは /reading-withholding スキルを使用する。
スキルの指示に従い、デュアル検証(2つの独立した読み取り結果の照合)を行って結果を取得する。
結果照合: 両方の読み取り結果から payment_amount, withheld_tax, social_insurance を比較する
一致の場合: そのまま採用。「2つの独立した読み取りで結果が一致しました」と報告
不一致の場合: ユーザーに元画像パスと両方の結果を提示し、正しい方を選択してもらう:
取り込み後の検算(必須):
OCR 結果の整合性を検証するため、「所得控除の額の合計額」と各内訳の合計を照合する:
検算: 所得控除の額の合計額 ≟ 社会保険料等の金額 ← 小規模企業共済等掛金を含む(内数)
+ 生命保険料の控除額
+ 地震保険料の控除額
+ 配偶者(特別)控除の額
+ 扶養控除額 ← 人数×単価から算出(特定63万/老人48万or58万/その他38万)
+ 障害者控除 ← 人数×単価から算出(一般27万/特別40万/同居特別75万)
+ 寡婦控除(27万)またはひとり親控除(35万) ← 該当時
+ 勤労学生控除(27万) ← 該当時
+ 基礎控除の額 ← 源泉徴収票の記載額を使用。未記載なら所得と年度から算出注意:
「(うち小規模企業共済等掛金の額)」は社会保険料等の金額の内数。別途加算すると二重計上になる
扶養控除・障害者控除は金額欄ではなく人数欄で記載されるため、人数×単価で算出する
基礎控除の額は源泉徴収票に記載があればその値を使う。未記載の場合は合計所得と年分に応じて算出する(令和7年分: 58万+加算で最大95万、令和8・9年分: 62万+加算で最大104万、令和10年分以後: 62万+加算は132万以下のみ99万)
一致の場合: 各フィールドの OCR 精度が確認できたものとして採用する
不一致の場合: 差額を明示し、どのフィールドが誤読の可能性があるかユーザーに提示する。元画像と突き合わせて修正する
その他の確認事項:
所得控除の計算前に、扶養親族の情報を収集する。 まず DB に登録済みのデータを確認し、不足があれば追加入力する。
ledger.py get-spouse --db-path DB_PATH で配偶者情報を取得する(登録済みの場合)ledger.py list-dependents --db-path DB_PATH で扶養親族のリストを取得する(登録済みの場合)配偶者: 配偶者の有無と年間所得金額を確認する
ledger.py set-spouse --db-path DB_PATH --input spouse.json で DB に登録する扶養親族: 以下の情報を収集する
ledger.py add-dependent --db-path DB_PATH --input dependent.json で各人を DB に登録するマイナンバーの収集(申告書B第二表に記載が必要):
事業専従者の確認:
障害者控除: 扶養親族に障害がある場合
重要: 16歳未満の扶養親族も必ず登録する
16歳未満の子供は扶養控除の対象外だが、以下の理由で申告書への記載が必要:
ledger.py add-dependent で登録する際、16歳未満でもスキップせずに登録すること。
掛金払込証明書がある場合は import_data.py import-deduction-certificate で取り込むことができる。
extracted_text が空の場合(画像ファイルまたはスキャン PDF)、画像の読み取りは /reading-deduction-cert スキルを使用する。
スキルの指示に従い、デュアル検証(2つの独立した読み取り結果の照合)を行って結果を取得する。
結果照合: 両方の読み取り結果から annual_premium, certificate_type を比較する
一致の場合: そのまま採用。「2つの独立した読み取りで結果が一致しました」と報告
不一致の場合: ユーザーに元画像パスと両方の結果を提示し、正しい方を選択してもらう:
医療費控除を適用する場合、明細を集計する。
ledger.py list-medical-expenses --db-path DB_PATH --input query.json で登録済み医療費明細を取得するledger.py add-medical-expense --db-path DB_PATH --input medical.json で登録する:{
"fiscal_year": 2025,
"detail": {
"date": "2025-03-15",
"patient_name": "山田太郎",
"medical_institution": "ABC病院",
"amount": 150000,
"insurance_reimbursement": 0,
"description": null
}
}取引先から受け取った支払調書の情報を登録する。
import_data.py import-payment-statement --input payment_input.json で支払調書PDF/画像からデータを抽出するextracted_text が空の場合(画像ファイルまたはスキャン PDF)、画像の読み取りは /reading-payment-statement スキルを使用する。
スキルの指示に従い、デュアル検証(2つの独立した読み取り結果の照合)を行って結果を取得する。
結果照合: 両方の読み取り結果から gross_amount, withholding_tax, payer_name を比較する
一致の場合: そのまま採用。「2つの独立した読み取りで結果が一致しました」と報告
不一致の場合: ユーザーに元画像パスと両方の結果を提示し、正しい方を選択してもらう:
ledger.py add-business-withholding --db-path DB_PATH --input withholding.json で取引先別の源泉徴収情報を登録する:{
"fiscal_year": 2025,
"detail": {
"client_name": "取引先名",
"gross_amount": 1000000,
"withholding_tax": 102100
}
}ledger.py list-business-withholding --db-path DB_PATH --input query.json で登録済み情報を確認するbusiness_withheld_tax として所得税計算に使用する税理士・弁護士等に報酬を支払っている場合、報酬明細を登録する。
ledger.py list-professional-fees --db-path DB_PATH --input query.json で登録済みの税理士等報酬を確認するledger.py add-professional-fee --db-path DB_PATH --input fee.json で登録する:{
"fiscal_year": 2025,
"detail": {
"payer_address": "支払者住所",
"payer_name": "税理士名",
"fee_amount": 300000,
"expense_deduction": 0,
"withheld_tax": 30630
}
}business_withheld_tax に合算する前年以前に事業で損失が発生し、青色申告している場合、繰越控除を適用できる。
ledger.py list-loss-carryforward --db-path DB_PATH --input query.json で登録済みの繰越損失を確認するledger.py add-loss-carryforward --db-path DB_PATH --input loss.json で登録する:{
"fiscal_year": 2025,
"detail": {
"loss_year": 2023,
"amount": 500000
}
}loss_carryforward_amount として所得税計算に使用する事業所得・給与所得以外の総合課税の所得を確認・登録する。
公的年金等の収入がある場合、年金控除を計算して雑所得を求める。
uv run shinkoku tax calc-pension --input pension_input.json で公的年金等控除を計算する:uv run shinkoku tax calc-pension --input pension_input.json{
"pension_income": 2000000,
"is_over_65": true,
"other_income": 0
}{
"pension_income": 2000000,
"deduction_amount": 1100000,
"taxable_pension_income": 900000,
"other_income_adjustment": 0
}taxable_pension_income を雑所得として misc_income に加算する退職金を受け取った場合、退職所得を計算する。
uv run shinkoku tax calc-retirement --input retirement_input.json で退職所得を計算する:uv run shinkoku tax calc-retirement --input retirement_input.json{
"severance_pay": 10000000,
"years_of_service": 20,
"is_officer": false,
"is_disability_retirement": false
}{
"severance_pay": 10000000,
"retirement_income_deduction": 8000000,
"taxable_retirement_income": 1000000,
"half_taxation_applied": true
}副業の原稿料、暗号資産の売却益、その他の雑収入。
ledger.py list-other-income --db-path DB_PATH --input query.json で登録済み雑所得を確認するledger.py add-other-income --db-path DB_PATH --input other_income.json で登録する:{
"fiscal_year": 2025,
"detail": {
"income_type": "miscellaneous",
"description": "収入の内容",
"revenue": 500000,
"expenses": 50000,
"withheld_tax": 51050,
"payer_name": "支払者名"
}
}暗号資産の売却益は雑所得(総合課税)として申告する。
ledger.py list-crypto-income --db-path DB_PATH --input query.json で登録済み仮想通貨所得を確認するledger.py add-crypto-income --db-path DB_PATH --input crypto.json で取引所別に登録する:{
"fiscal_year": 2025,
"detail": {
"exchange_name": "取引所名",
"gains": 300000,
"expenses": 10000
}
}総合課税を選択した配当は配当控除(税額控除)の対象となる。
ledger.py list-other-income --db-path DB_PATH --input query.json で income_type: "dividend_comprehensive" を確認するledger.py add-other-income --db-path DB_PATH --input dividend.json で登録する保険満期金、懸賞金等の一時的な所得。
ledger.py list-other-income --db-path DB_PATH --input query.json で income_type: "one_time" を確認するledger.py add-other-income --db-path DB_PATH --input one_time.json で登録するcalc_income_tax への反映上記のその他所得は以下のパラメータで calc_income_tax に渡す:
misc_income: 雑所得合計(仮想通貨含む)dividend_income_comprehensive: 配当所得(総合課税選択分)one_time_income: 一時所得の収入金額(1/2 計算は内部で実施)other_income_withheld_tax: その他所得の源泉徴収税額合計分離課税(株式・FX の第三表)は対象外。該当する場合は税理士への相談を案内する。
所得控除の内訳書に種別ごとの記載が必要なため、社会保険料を種別別に登録する。
社会保険料の控除証明書がある場合は import_data.py import-deduction-certificate で取り込むことができる。
ledger.py list-social-insurance-items --db-path DB_PATH --input query.json で登録済み項目を確認するledger.py add-social-insurance-item --db-path DB_PATH --input insurance.json で種別ごとに登録する:{
"fiscal_year": 2025,
"detail": {
"insurance_type": "national_health",
"name": "保険者名",
"amount": 300000
}
}social_insurance として控除計算に使用する所得控除の内訳書に保険会社名の記載が必要なため、保険契約を登録する。
控除証明書の画像・PDFがある場合は import_data.py import-deduction-certificate で取り込むことができる。
取り込み後、抽出データに基づいて ledger.py add-insurance-policy で登録する。
ledger.py list-insurance-policies --db-path DB_PATH --input query.json で登録済み項目を確認するledger.py add-insurance-policy --db-path DB_PATH --input policy.json で登録する:{
"fiscal_year": 2025,
"detail": {
"policy_type": "life_general_new",
"company_name": "保険会社名",
"premium": 80000
}
}life_insurance_detail パラメータに、地震保険料は earthquake_insurance_premium に反映する政治活動寄附金、認定NPO法人、公益社団法人等への寄附金を確認する。
ledger.py list-donations --db-path DB_PATH --input query.json で登録済み寄附金を確認するledger.py add-donation --db-path DB_PATH --input donation.json で登録する:{
"fiscal_year": 2025,
"detail": {
"donation_type": "npo",
"recipient_name": "寄附先名",
"amount": 50000,
"date": "2025-06-01",
"receipt_number": null
}
}calc_deductions の donations パラメータに寄附金レコードのリストを渡すtax_calc.py calc-deductions の呼び出しshinkoku tax calc-deductions --input deductions_input.json入力 JSON:
{
"total_income": 5000000,
"social_insurance": 700000,
"life_insurance_premium": 80000,
"earthquake_insurance_premium": 30000,
"medical_expenses": 200000,
"furusato_nozei": 50000,
"housing_loan_balance": 0,
"spouse_income": null,
"ideco_contribution": 276000,
"dependents": [],
"fiscal_year": 2025,
"housing_loan_detail": null,
"donations": null
}出力 (DeductionsResult):
income_deductions: 所得控除の一覧(basic_deduction, social_insurance_deduction, life_insurance_deduction, earthquake_insurance_deduction, ideco_deduction, medical_deduction, furusato_deduction, donation_deduction, spouse_deduction, dependent_deduction, disability_deduction)tax_credits: 税額控除の一覧(housing_loan_credit, political_donation_credit, npo_donation_credit)total_income_deductions: 所得控除合計total_tax_credits: 税額控除合計各控除の確認事項:
fiscal_year で自動切替)life_insurance_detail パラメータで5区分の保険料を指定:general_new: 一般(新制度)、general_old: 一般(旧制度)medical_care: 介護医療(新制度のみ)annuity_new: 個人年金(新制度)、annuity_old: 個人年金(旧制度)old_long_term_insurance_premium パラメータで旧長期損害保険料を指定可能small_business_mutual_aid パラメータで小規模企業共済掛金を指定tax_calc.py calc-income の呼び出しshinkoku tax calc-income --input income_input.json入力 JSON (IncomeTaxInput):
{
"fiscal_year": 2025,
"salary_income": 5000000,
"business_revenue": 3000000,
"business_expenses": 1000000,
"blue_return_deduction": 650000,
"social_insurance": 700000,
"life_insurance_premium": 80000,
"earthquake_insurance_premium": 30000,
"medical_expenses": 0,
"furusato_nozei": 50000,
"housing_loan_balance": 0,
"spouse_income": null,
"ideco_contribution": 276000,
"withheld_tax": 100000,
"business_withheld_tax": 30000,
"estimated_tax_payment": 0,
"loss_carryforward_amount": 0
}出力 (IncomeTaxResult):
salary_income_after_deduction: 給与所得控除後の金額business_income: 事業所得total_income: 合計所得金額(繰越損失適用後)total_income_deductions: 所得控除合計taxable_income: 課税所得金額(1,000円未満切り捨て)income_tax_base: 算出税額total_tax_credits: 税額控除合計income_tax_after_credits: 税額控除後reconstruction_tax: 復興特別所得税(基準所得税額 x 2.1%)total_tax: 所得税及び復興特別所得税の額(端数処理なし)withheld_tax: 源泉徴収税額(給与分)business_withheld_tax: 事業所得の源泉徴収税額estimated_tax_payment: 予定納税額loss_carryforward_applied: 適用した繰越損失額tax_due: 申告納税額(= total_tax - withheld_tax - business_withheld_tax - estimated_tax_payment)寄附金控除の反映:
ふるさと納税以外の寄附金控除(ステップ1.14で登録)は、calc_deductions の結果に含まれている。
calc_income_tax は内部で calc_deductions を呼び出すため、以下のパラメータが正しく渡されていれば自動的に反映される:
furusato_nozei: ふるさと納税の寄附金合計calc_deductions の donations パラメータ経由で計算される所得税計算前に calc_deductions を個別に呼び出す場合は、donations パラメータにステップ1.14で登録した寄附金レコードのリストを必ず渡すこと。
青色申告特別控除の自動キャップ:
blue_return_deduction は config の値をそのまま渡してよい。計算エンジンが事業利益を上限として自動キャップする(租特法25条の2)。
結果の effective_blue_return_deduction と warnings を必ず確認すること。
計算結果の確認:
effective_blue_return_deduction を確認し、自動調整があれば warnings の内容を表示する所得税の速算表・配偶者控除テーブル・住宅ローン限度額等は references/deduction-tables.md を参照。
calc-income の結果を自動検証する。このステップはスキップ不可。
tax_calc.py sanity-check の呼び出しshinkoku tax sanity-check --input sanity_input.json入力 JSON:
{
"input": { ... },
"result": { ... }
}input: ステップ3で calc-income に渡した IncomeTaxInputresult: ステップ3で calc-income から返された IncomeTaxResult出力 (TaxSanityCheckResult):
passed: true/falseitems: チェック項目のリスト(severity, code, message)error_count: エラー件数warning_count: 警告件数住宅ローン控除(初年度)を適用する場合、詳細情報を DB に登録する。
ledger.py add-housing-loan-detail --db-path DB_PATH --input housing.json で住宅ローン控除の明細を登録する:{
"fiscal_year": 2025,
"detail": {
"housing_type": "new_custom",
"housing_category": "certified",
"move_in_date": "2024-03-15",
"year_end_balance": 30000000,
"is_new_construction": true,
"is_childcare_household": false,
"has_pre_r6_building_permit": false,
"purchase_date": "2024-01-20",
"purchase_price": 40000000,
"total_floor_area": 8000,
"residential_floor_area": 8000,
"property_number": null, // 不動産番号(13桁)を入力すると登記事項証明書の添付省略可(令和3年度改正)
"application_submitted": false
}
}住宅区分別の年末残高上限テーブルは references/deduction-tables.md を参照。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
所得税の計算結果(令和○年分)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 所得金額(総合課税)
事業所得: ○○○,○○○円
給与所得: ○○○,○○○円
雑所得: ○○○,○○○円(該当者のみ)
配当所得: ○○○,○○○円(総合課税分、該当者のみ)
一時所得: ○○○,○○○円(該当者のみ)
合計所得金額: ○○○,○○○円
■ 所得控除
社会保険料控除: ○○○,○○○円
生命保険料控除: ○○,○○○円
基礎控除: 480,000円
[その他の控除...]
所得控除合計: ○○○,○○○円
■ 税額計算
課税所得金額: ○○○,○○○円
算出税額: ○○○,○○○円
税額控除: ○○,○○○円
復興特別所得税: ○,○○○円
所得税及び復興特別所得税: ○○○,○○○円
源泉徴収税額: ○○○,○○○円
予定納税額: ○○,○○○円
---------------------------------
申告納税額: ○○,○○○円(納付 / 還付)
■ 次のステップ:
→ /consumption-tax で消費税の計算を行う
→ /e-tax で確定申告書等作成コーナーに入力する(Claude in Chrome)
→ /submit で提出準備を行う
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━サマリー提示後、以下のファイルを Write ツールで出力する。 これにより、セッションの中断や Compact が発生しても次のステップで結果を引き継げる。
.shinkoku/progress/07-income-tax.md に以下の形式で出力する:
---
step: 7
skill: income-tax
status: completed
completed_at: "{当日日付 YYYY-MM-DD}"
fiscal_year: {tax_year}
---
# 所得税計算・確定申告書作成の結果
## 所得金額の内訳
- 事業所得: {金額}円
- 給与所得: {金額}円
- 雑所得: {金額}円(該当者のみ、仮想通貨含む)
- 配当所得(総合課税): {金額}円(該当者のみ)
- 一時所得: {金額}円(該当者のみ)
- 合計所得金額: {金額}円
## 扶養親族・配偶者
- 配偶者控除/特別控除: {適用あり(控除額)/適用なし}
- 扶養控除: {適用あり(控除額、人数)/適用なし}
## iDeCo・小規模企業共済
- 小規模企業共済等掛金控除: {金額}円({iDeCo/小規模企業共済/なし})
## 医療費控除
- 適用: {あり/なし}
- 医療費控除額: {金額}円
## 事業所得の源泉徴収
- 源泉徴収税額(事業分): {金額}円
## 損失繰越控除
- 適用: {あり/なし}
- 繰越損失控除額: {金額}円
## 所得控除の内訳
| 控除項目 | 金額 |
|---------|------|
| 基礎控除 | {金額}円 |
| 社会保険料控除 | {金額}円 |
| 生命保険料控除 | {金額}円 |
| 地震保険料控除 | {金額}円 |
| 小規模企業共済等掛金控除 | {金額}円 |
| 医療費控除 | {金額}円 |
| 寄附金控除 | {金額}円 |
| 配偶者控除/特別控除 | {金額}円 |
| 扶養控除 | {金額}円 |
| 障害者控除 | {金額}円 |
| **所得控除合計** | **{金額}円** |
## 税額計算
- 課税所得金額: {金額}円
- 算出税額: {金額}円
- 税額控除(住宅ローン控除等): {金額}円
- 復興特別所得税: {金額}円
- 所得税及び復興特別所得税: {金額}円
- 源泉徴収税額(給与分): {金額}円
- 源泉徴収税額(事業分): {金額}円
- 予定納税額: {金額}円
- **申告納税額: {金額}円({納付/還付})**
## 次のステップ
/consumption-tax で消費税の計算を行う
/e-tax で確定申告書等作成コーナーに入力する(Claude in Chrome)
/submit で提出準備を行う.shinkoku/progress/progress-summary.md を更新する(存在しない場合は新規作成):
ファイルを出力したらユーザーに以下を伝える:
.shinkoku/progress/ に保存しました。セッションが中断しても次のスキルで結果を引き継げます。」詳細なテーブル・パラメータは以下を参照:
references/form-b-fields.md — 確定申告書B様式の各欄の対応references/deduction-tables.md — 所得税速算表、配偶者控除テーブル、基礎控除テーブル、住宅ローン限度額、生命保険料控除等© kazukinagata, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 4 other files (references) in skills/income-tax of kazukinagata/shinkoku.
Open the folder on GitHubat commit 607574d
Income Tax next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Income Tax this skillkazukinagata/shinkoku | 365 | — | ~5.7k | Automated safety check: Pass | MIT | |
| Itr Walakaranb192/itr-wala | 871 | — | ~3.6k | Automated safety check: Pass | MIT | |
| Tax Filingrobbalian/claude-tax-filing | 174 | — | ~2.5k | Automated safety check: Pass | None | |
| India Itr CopilotLoki200399/india-itr-copilot | 147 | — | ~2.4k | Automated safety check: Pass | MIT | |
| Beancount Optionsbex-co/beancount-io | 297 | — | ~3.7k | Automated safety check: Pass | MIT | |
| Invoice Organizerdavila7/claude-code-templates | 33k | 12 repos | ~2.9k | Automated safety check: Pass | MIT |
karanb192/itr-wala
File Indian income tax returns (ITR) for FY 2025-26 / AY 2026-27.
robbalian/claude-tax-filing
Prepare and fill federal and state tax return PDF forms. An agent skill from robbalian/claude-tax-filing.
Loki200399/india-itr-copilot
Documents-first copilot for preparing Indian Income Tax Returns (ITR-1/2/3/4, any assessment year).
bex-co/beancount-io
Record a described options trade or lifecycle event as validated Beancount transactions through bea, after review and confirmation.
davila7/claude-code-templates
Automatically organizes invoices and receipts for tax preparation by reading messy files, extracting key information, renaming them consistently, and sorting them into logical folders.
tradermonty/claude-trading-skills
Provide US dividend tax and account-location workflow for Kanchi-style income portfolios.
kazukinagata/shinkoku
This skill should be used when the user needs to calculate consumption tax (消費税) or determine their tax method (2割特例, 簡易課税, or 本則課税).
kazukinagata/shinkoku
This skill manages furusato nozei (hometown tax) donations. An agent skill from kazukinagata/shinkoku.
kazukinagata/shinkoku
法人成り(個人事業主から法人への移行)に関する相談。税額比較シミュレーション、 法人形態の選択、設立手続き、役員報酬戦略、社会保険の比較を支援する。
kazukinagata/shinkoku
This skill should be used when the user asks about the invoice system (インボイス制度), qualified invoices (適格請求書), registration numbers (登録番号), input tax credits (仕入税額控除), the 20% special measure (2割特例)…
kazukinagata/shinkoku
This skill should be used when the user wants to record bookkeeping entries (仕訳), import transaction data from CSV files, receipts, or invoices, or manage their general ledger.
kazukinagata/shinkoku
This skill should be used when the user needs to perform year-end closing adjustments (決算整理), review financial statements (決算書), compute depreciation, or review their trial balance.
Categories
This skill should be used when the user needs to calculate their income tax (所得税), compute deductions, or import withholding slips. Income Tax is an agent skill from kazukinagata/shinkoku. This skill should be used when the user needs to calculate their income tax (所得税), compute deductions, or import withholding slips.
Income Tax fits situations like: needs to calculate their income tax (所得税); compute deductions; import withholding slips; phrases include: 所得税を計算.
Run `npx skills add kazukinagata/shinkoku --skill income-tax -a claude-code`. Or copy the skill folder (skills/income-tax in kazukinagata/shinkoku) into .claude/skills/income-tax in your project. Claude Code loads it when a task matches its description.
Run `npx skills add kazukinagata/shinkoku --skill income-tax -a codex`. Or copy the skill folder (skills/income-tax in kazukinagata/shinkoku) into .agents/skills/income-tax in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add kazukinagata/shinkoku --skill income-tax -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/income-tax, .gemini/skills/income-tax, .github/skills/income-tax and .opencode/skills/income-tax in your project.
Going by SKILL.md and its folder, Income Tax needs the command-line tools its instructions call (uv).
SKILL.md contains no URLs. Its commands use uv, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Income Tax is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.7k tokens (SKILL.md is roughly 23k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 5.4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Income Tax: Itr Wala (karanb192/itr-wala, 871 stars), Tax Filing (robbalian/claude-tax-filing, 174 stars), India Itr Copilot (Loki200399/india-itr-copilot, 147 stars) and Beancount Options (bex-co/beancount-io, 297 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
kazukinagata (a GitHub user) maintains it in kazukinagata/shinkoku, which has 365 GitHub stars. The repository holds 24 skills in this directory. The repository was last updated on September 9, 2026.
Source: kazukinagata/shinkoku on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.