E

e-tax

by @kazukinagatav
4.1(20)

Facilitates electronic tax return filing via the NTA Tax Return Preparation Corner using Claude in Chrome, Antigravity Browser Sub-Agent, or Playwright CLI, guiding browser-based data input.

e-taxtax-declarationfinancial-compliancedigital-tax-filingtax-softwareGitHub
Installation
npx skills add kazukinagata/shinkoku --skill e-tax
compare_arrows

Before / After Comparison

1
Before

Users manually input a large amount of tax data on the National Tax Agency's '確定申告書等作成コーナー' (Tax Return Preparation Corner) website. This process is cumbersome, time-consuming, and prone to inaccurate filings due to manual input errors.

After

With the 'e-tax' skill, Claude can guide users through the input of electronic filing data in the Chrome browser. The skill intelligently recognizes and populates data, reducing manual operations and significantly improving filing efficiency and accuracy.

SKILL.md

e-Tax 電子申告 — ブラウザ自動化による確定申告書等作成コーナー入力

shinkoku で計算した確定申告データを、確定申告書等作成コーナー(https://www.keisan.nta.go.jp/)に Claude in Chrome を使ってブラウザ上で入力・提出するためのスキル。

前提条件

  • /income-tax スキルで所得税の計算が完了していること
  • /settlement スキルで決算書(PL/BS)の作成が完了していること
  • /consumption-tax スキルで消費税の計算が完了していること(該当者のみ)
  • shinkoku.config.yaml が設定済みであること
  • ブラウザ自動化ツールがいずれか利用可能であること(下記「ブラウザ自動化方式の選択」参照)

ブラウザ自動化方式の選択

確定申告書等作成コーナーへの入力には、以下の3つの方式がある。

方式 A: Claude in Chrome(推奨)

項目内容
対象環境Windows / macOS のネイティブ Chrome
前提Claude in Chrome 拡張機能がインストール済み
利点OS 検出の問題なし。追加設定不要

方式 B: Antigravity Browser Sub-Agent

項目内容
対象環境Windows / macOS / Linux(Antigravity IDE)
前提Antigravity IDE がインストール済みで browser_subagent ツールが利用可能
利点ネイティブ Chrome を使用するため OS 偽装不要。Linux でも動作

方式 C: Playwright CLI(フォールバック)

項目内容
対象環境WSL / Linux、または Claude in Chrome・Antigravity が利用できない環境
前提@playwright/cli + Playwright CLI スキル + etax-stealth.js(OS 偽装スクリプト)
制限headed モード必須(QR コード認証に物理操作が必要)

判定ロジック

1. Claude in Chrome のツール(browser_navigate 等)が利用可能か?
   → はい: 方式 A を使用
   → いいえ: 次へ

2. Antigravity の browser_subagent ツールが利用可能か?
   → はい: 方式 B を使用
   → いいえ: 次へ

3. Bash ツールで `playwright-cli` コマンドが利用可能か?
   → はい: 方式 C を使用(headed モードで起動)
   → いいえ: エラー表示

   エラーメッセージ:
   「確定申告書等作成コーナーへの入力には、Claude in Chrome、
    Antigravity Browser Sub-Agent、または Playwright CLI が必要です。
    セットアップ方法は README.md の『ブラウザ自動化』セクションを参照してください。」

方式 B 使用時の操作方法

Antigravity の browser_subagent は高レベルなタスク記述で操作する。 各ステップの入力操作を自然言語で記述し、browser_subagent に委任する。

例:

※ Antigravity はネイティブ Chrome を使用するため、etax-stealth.js による OS 偽装は不要。

方式 C 使用時のセッション開始手順

Playwright CLI でブラウザを開く際の手順:

  1. 環境変数を設定: PLAYWRIGHT_MCP_INIT_SCRIPT=skills/e-tax/scripts/etax-stealth.js
  2. ブラウザ起動: playwright-cli -s=etax open <url> --headed --browser=chrome
  3. 以降のコマンドは -s=etax セッション指定で実行

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

  1. shinkoku.config.yaml を Read ツールで読み込む
  2. ファイルが存在しない場合は /setup スキルの実行を案内して終了する
  3. 設定値を把握する:
    • 納税者プロファイル(氏名・住所・マイナンバー等)
    • 事業情報(屋号・業種等)
    • 申告方法(e-Tax/郵送/窓口)

進捗情報の読み込み

  1. .shinkoku/progress/progress-summary.md を Read ツールで読み込む(存在する場合)
  2. 以下の引継書を Read ツールで読み込む(存在する場合):
    • .shinkoku/progress/06-settlement.md — 決算結果(PL/BS データ)
    • .shinkoku/progress/07-income-tax.md — 所得税計算結果
    • .shinkoku/progress/08-consumption-tax.md — 消費税計算結果
    • .shinkoku/progress/02-assess.md — 課税判定結果
  3. .shinkoku/progress/10-etax.mdstatus を確認する:
    • status: interrupted の場合 → 下記「中断・再開プロトコル」の 再開手順 に従う
    • status: completed の場合 → ユーザーに完了済みである旨を伝え、再実行の意図を確認する
  4. 計算結果がまだ存在しない場合は、先に /income-tax/settlement の実行を案内する

中断・再開プロトコル

全ステップ共通のルール。ユーザーが中断を要求した場合(「中断したい」「今日はここまで」「また続きから」等)、以下の手順に従う。

中断手順

  1. 現在のステップの入力内容を確認する — 未保存の入力がないか確認
  2. .data ファイルのダウンロードを案内する — AskUserQuestion で以下を表示:
作成コーナーの入力データを .data ファイルとして保存することを推奨します。
画面上部の「入力データの一時保存」ボタン(またはページ下部の「ここまでの入力データを保存する」リンク)
をクリックし、ファイルをダウンロードしてください。

ダウンロードが完了したら「ダウンロード済み」を選択してください。
  • 選択肢: 「ダウンロード済み」 / 「スキップ(保存しない)」
  • 「スキップ」が選ばれた場合は、次回は最初からやり直しになる可能性がある旨を警告する
  1. 進捗ファイルを記録する.shinkoku/progress/10-etax.md に以下の形式で Write ツールで出力:
---
step: 10
skill: e-tax
status: interrupted
last_completed_step: "{最後に完了したステップ番号(例: 3)}"
last_url: "{中断時のブラウザURL}"
data_file_saved: {true/false}
interrupted_at: "{当日日付 YYYY-MM-DD}"
fiscal_year: {tax_year}
---

# e-Tax 電子申告(中断)

## 中断時点の状況

- 最後に完了したステップ: ステップ{N}
- 中断時のURL: {URL}
- .data ファイル保存: {済/未}

## 次回の再開方法

1. `/e-tax` スキルを再実行する
2. .data ファイルがある場合は「保存データを利用して作成」から再開する
3. .data ファイルがない場合はステップ0からやり直す
  1. ユーザーに中断完了を報告 — 次回の再開方法を案内して終了する

再開手順

.shinkoku/progress/10-etax.mdstatus: interrupted を検出した場合:

  1. 中断時の情報(last_completed_step, data_file_saved)を読み取る
  2. AskUserQuestion で以下を表示:
前回の e-Tax 入力はステップ{N}で中断されています。

再開方法を選択してください。
  • 選択肢:
    • 「.data ファイルから再開する」(data_file_saved: true の場合のみ表示)
    • 「最初からやり直す」
    • 「中断記録を破棄して終了する」
  1. .data ファイルから再開する場合:

    • 確定申告書等作成コーナーのトップページにアクセス
    • 「保存データを利用して作成」→「作成再開」を選択
    • .data ファイルのアップロードを案内
    • 読み込み完了後、last_completed_step の次のステップから再開する
  2. 最初からやり直す場合:

    • ステップ0 から通常通り開始する

ステップ0: 必須データの検証

確定申告書等作成コーナーへの入力に必要なデータが揃っているか検証する。

検証項目

[1] 税額計算済み
    - .shinkoku/progress/07-income-tax.md が存在し、status: completed であること

[2] プロファイル完備
    - 氏名(姓・名)が登録されているか
    - 住所が登録されているか
    - 所轄税務署名が登録されているか

[3] 決算書データ
    - PL/BS の計算結果が取得可能であること

[4] 消費税(該当者のみ)
    - .shinkoku/progress/08-consumption-tax.md が存在し、status: completed であること

[5] サニティチェック
    - `tax_calc.py sanity-check` を実行する
    - error > 0 の場合: 入力を中止し、`/income-tax` スキルで修正を促す
    - warning > 0 の場合: ユーザーに確認してから続行する

画面遷移フロー全体像

┌─────────────────────────────────────────────────────┐
│ CC-AA-010 税務署への提出方法の選択                      │
│   マイナンバーカード: はい → スマホ: はい               │
│   → 「スマートフォンを使用する」                        │
└──────────────┬──────────────────────────────────────┘
               ▼
┌─────────────────────────────────────────────────────┐
│ CC-AE-090 作成する申告書等の選択                        │
│   「決算書・収支内訳書(+所得税)」を選択              │
│   → doSubmitCMW0900(2,'25')                           │
│                                                         │
│   ※ 消費税のみ別途作成する場合:                        │
│   → doSubmitCMW0900(3,'25')                           │
└──────────────┬──────────────────────────────────────┘
               ▼
┌─────────────────────────────────────────────────────┐
│ CC-AE-600 マイナポータル連携の選択                      │
│   → 「マイナポータル連携を利用しない」                  │
└──────────────┬──────────────────────────────────────┘
               ▼
┌─────────────────────────────────────────────────────┐
│ CC-AA-024 e-Taxを行う前の確認                           │
│   → 「利用規約に同意して次へ」                          │
└──────────────┬──────────────────────────────────────┘
               ▼
┌─────────────────────────────────────────────────────┐
│ CC-AA-440 QRコード認証                                  │
│   ★ ユーザーの物理的認証が必要                         │
│   スマートフォンでQRコード読み取り                      │
│   → マイナンバーカード認証完了後、自動遷移              │
└──────────────┬──────────────────────────────────────┘
               ▼
       ┌───────┴───────┐
       ▼               ▼
  決算書コーナー    所得税コーナー
  (事業所得あり)    (給与のみ等)

決算書コーナーのフロー

/kessan/ac/r7/top → ac0300(種類選択)→ aa0200(P/L入力)
  → aa0100(青色特別控除)→ preAoiroCalc(B/S入力)
  → aa0700(所得確認)→ ac0500(住所氏名)→ 印刷/保存
  → 所得税コーナーへ遷移

所得税コーナーのフロー

SS-AA-010a(所得選択)→ SS-AA-050(収入入力ハブ)
  → SS-CA-010(給与入力) / SS-CB-xxx(事業所得) / 雑所得
  → SS-AA-070a(控除1/2)→ SS-AA-080(控除2/2)
  → SS-AA-090(計算結果確認)
  → SS-AC-010a(納付方法)→ SS-AC-020a(住民税等)
  → SS-AC-030(基本情報)→ SS-AC-040(マイナンバー)
  → ステップ5.5(意思決定ゲート)→ ステップ6(電子署名・送信プロトコル)

消費税コーナーのフロー(所得税完了後)

所得税完了 → 「消費税の申告書作成はこちら」

2割特例:
  ac0100(条件判定) → ac0250(所得区分選択) → 売上入力hub → 売上入力detail
  → 売上入力hub → 中間納付 → ac0300(計算結果) → 納税地等
  → ステップ6.5(電子署名・送信プロトコル)

簡易課税:
  ac0100(条件判定) → ac0250(所得区分・事業区分選択) → 売上入力hub → 売上入力detail
  → 売上入力hub → ak2140(仕入税額控除方式選択)※ → 中間納付 → ac0300(計算結果)
  → 納税地等 → ステップ6.5(電子署名・送信プロトコル)
  ※ 2種以上の事業がある場合のみ

一般課税:
  ac0100(条件判定) → ac0250(所得区分選択) → 売上・仕入入力hub → 売上入力detail
  → ai3610(決算額テーブル)※ → 売上・仕入入力hub → 中間納付 → ac0300(計算結果)
  → 納税地等 → ステップ6.5(電子署名・送信プロトコル)
  ※ 積上げ計算選択時のみ

ステップ1: 確定申告書等作成コーナーへのアクセス

開始URL

https://www.keisan.nta.go.jp/kyoutu/ky/sm/top_web#bsctrl

CC-AA-010: 税務署への提出方法の選択

画面番号: CC-AA-010

  1. 「マイナンバーカードをお持ちですか」→ 「はい」 ラジオボタンをクリック
  2. 「マイナンバーカード読み取りに対応したスマートフォン又はICカードリーダライタをお持ちですか」→ 「はい」 をクリック
  3. 「スマートフォンを使用する」 をクリック
    • JS: doSubmitCSW0100('1','3','/ky/sm/csw0100_myno_qr')

CC-AE-090: 作成する申告書等の選択

画面番号: CC-AE-090

選択肢(令和7年分):

  • 所得税doSubmitCMW0900(1,'25')
  • 決算書・収支内訳書(+所得税)doSubmitCMW0900(2,'25') ← 事業所得ありの場合
  • 消費税doSubmitCMW0900(3,'25')
  • 贈与税doSubmitCMW0900(4,'25')

判断基準:

  • 事業所得あり → 「決算書・収支内訳書(+所得税)」
  • 事業所得なし(給与のみ等)→ 「所得税」
  • 消費税は所得税完了後に別途作成

CC-AE-600: マイナポータル連携の選択

「マイナポータル連携を利用しない」 をクリック

CC-AA-024: e-Taxを行う前の確認

「利用規約に同意して次へ」 をクリック

※ 環境チェック termnalInfomationCheckOS_myNumberLinkage() が実行される。 Windows/macOS の Chrome/Edge であれば問題なし。

CC-AA-440: QRコード認証

★ ユーザー操作待ち — ブラウザ操作を一時停止

この画面ではエージェントがブラウザを操作してはならない。 AskUserQuestion ツールで一時停止し、ユーザーが認証完了を報告するまで絶対に次のステップに進まないこと。

AskUserQuestion で以下を表示する:

QRコード認証画面が表示されました。
スマートフォンのマイナポータルアプリでQRコードを読み取り、
マイナンバーカードで認証してください。

認証が完了したら「認証完了」を選択してください。
  • 選択肢: 「認証完了」 / 「QRコードが表示されない」
  • 「QRコードが表示されない」が選ばれた場合は下記の ⚠️ Playwright CLI 使用時の注意 を参照して対処する
  • ユーザーが「認証完了」を選択するまで、一切のブラウザ操作・画面遷移を行わない

認証完了後、自動的に次の画面に遷移する。

⚠️ Playwright CLI 使用時の注意: PLAYWRIGHT_MCP_INIT_SCRIPT 環境変数で etax-stealth.js を指定することで サーバーベイク関数パッチが自動適用されるが、QR コードが表示されない場合はコンソールで getClientOS() の 戻り値を確認し、'Windows' でなければ以下を手動実行する:

window.getClientOS = function() { return 'Windows'; };
displayQrcode();

ステップ2: 青色申告決算書の入力(事業所得がある場合)

⚠️ ネイティブダイアログ注意: 「次へ」クリック後に画面が遷移しない場合、ネイティブダイアログ(alert/confirm)が表示されている可能性がある。技術的な知見の「ネイティブダイアログの検知と対処」を参照。

/kessan/ac/pre/ac0300: 決算書の種類選択

ラジオボタン:

  • 青色申告決算書 ← 青色申告の場合
  • 収支内訳書(白色申告の場合)
  • 青色申告決算書(現金主義用)

/kessan/ac/aa0200: 損益計算書(P/L)の入力

URL: https://www.keisan.nta.go.jp/kessan/ac/aa0200#bsctrl

期間の入力

フィールドnameデフォルト
開始月sonekiKeisansyoFromMonth1
開始日sonekiKeisansyoFromDay1
終了月sonekiKeisansyoToMonth12
終了日sonekiKeisansyoToDay31

売上(収入)金額

「入力」ボタン → /kessan/ac/aa0201 売上仕入月別入力サブページに遷移。

aa0201 のフィールド:

  • uriageKingaku1uriageKingaku12: 月別売上
  • siireKingaku1siireKingaku12: 月別仕入
  • kajisyohi: 家事消費等
  • zatusyunyu: 雑収入

合計: uriageKingakuGokei, siireKingakuGokei

経費(行8〜31)

科目name(直接入力)備考
8租税公課sozeiKoka
9荷造運賃nidukuriUntin
10水道光熱費suidoKonetuhi
11旅費交通費ryohiKotuhi
12通信費tusinhi
13広告宣伝費kokokuSendenhi
14接待交際費settaiKosaihi
15損害保険料songaiHokenryo
16修繕費syuzenhi
17消耗品費syomohinhi
18減価償却費「入力」→ /kessan/ac/init/aa0203
19福利厚生費fukuriKoseihi
20給料賃金「入力」→ /kessan/ac/aa0205
21外注工賃gaichukotin
22利子割引料「入力」→ /kessan/ac/aa0206
23地代家賃「入力」→ /kessan/ac/aa0207
24貸倒金kasidaorekin
25税理士等の報酬keihiNiniKingaku1科目名: keihiNiniKamoku1
26震災関連経費keihiNiniKingaku2科目名: keihiNiniKamoku2
27-30任意科目keihiNiniKingaku36科目名: keihiNiniKamoku36
31雑費zappi

集計 hidden フィールド: keihiSannyugakuGokei, kyuryoTinginTotalGokei, risiWaribikiryoGokei, tidaiYatinGokei

繰戻額等

  • kurimodosiNiniKamoku1/kurimodosiNiniKingaku1
  • kurimodosiNiniKamoku2/kurimodosiNiniKingaku2

専従者給与

  • senjusyaKyuyoTotalGokei (hidden、「入力」ボタンで別画面)
  • kasidaoreKuriireGokei (hidden)

計算結果(自動)

  • disp_aoiroKojomaeSyotokuKingaku = 売上 - 売上原価 - 経費 + 繰戻額 - 専従者給与等

/kessan/ac/submit/aa0100: 青色申告特別控除

Q&A形式で控除額を選択:

選択肢value条件
10万円2
55万円3
65万円1e-Tax送信が必須。書面提出ではエラー KS-E10089

フィールド: aoiroTokubetuKojoSentakugaku

65万円を選択する場合、電子帳簿保存または e-Tax 送信が条件。

⚠️ ネイティブダイアログ注意: 65万円を選択して次へ進むと、書面提出の場合は KS-E10089(e-Tax送信が必要)のネイティブダイアログが表示される。画面が遷移しない場合はダイアログの有無をユーザーに確認すること。

貸借対照表(B/S)の入力

URL: /kessan/ac/preAoiroCalc

資産の部

配列形式: sisannobuTaisyohyoDetailDataList[N].kisyuKingaku / .kimatuKingaku

index勘定科目
0現金
1当座預金
2定期預金
3その他の預金
4受取手形
5売掛金
6有価証券
7棚卸資産
8前払金
9貸付金
10建物
11建物附属設備
12機械装置
13車両運搬具
14工具器具備品
15土地
16-23任意科目

負債・資本の部

配列形式: fusainobuTaisyohyoDetailDataList[N].kisyuKingaku / .kimatuKingaku

index勘定科目
0支払手形
1買掛金
2借入金
3未払金
4前受金
5預り金
6貸倒引当金
7-15任意科目
16元入金
17事業主借
18事業主貸
19青色申告特別控除前の所得金額(P/Lから自動)

重要: 資産期末合計 = 負債期末合計 が必須(KS-E40003)

⚠️ ネイティブダイアログ注意: 資産期末合計と負債期末合計が一致しない状態で「次へ」を押すと、KS-E40003 のネイティブダイアログが表示される。画面が遷移しない場合はダイアログの有無をユーザーに確認すること。

/kessan/ac/ac0500: 住所・氏名等の入力

フィールドname
郵便番号jitakuZip
都道府県jitakuPrefectureId
市区町村以下jitakuAddress
事業所住所(該当者)jimusyoAddress
提出先税務署zeimusyoName
氏名漢字(姓)nameKanjiSei
氏名漢字(名)nameKanjiMei
業種名gyosyuName
屋号yago
提出年月日teisyutuYear/teisyutuMonth/teisyutuDay

決算書完了 → 所得税コーナーへ

印刷・データ保存画面(/kessan/ac/submit/ac0600)の 「所得税の申告書作成はこちら」ボタンで所得税コーナーに遷移(住所氏名引継ぎ)。

⚠️ ネイティブダイアログ注意: このボタンをクリックすると KS-W10035(印刷を確認したか)のネイティブダイアログが表示される場合がある。画面が遷移しない場合はダイアログの有無をユーザーに確認し、「OK」をクリックするよう案内すること。


ステップ3: 所得税の申告書入力

⚠️ ネイティブダイアログ注意: 「次へ」クリック後に画面が遷移しない場合、ネイティブダイアログ(alert/confirm)が表示されている可能性がある。技術的な知見の「ネイティブダイアログの検知と対処」を参照。

SS-AA-010a: 申告する所得の選択等

URL: https://www.keisan.nta.go.jp/r7/syotoku/taM010a40_doInitialDisplay#bbctrl

生年月日

フィールドname
inOutDto.shnkkBirthymdYy
inOutDto.shnkkBirthymdMm
inOutDto.shnkkBirthymdDd

所得種類の選択(チェックボックス)

所得name典型的な選択
給与inOutDto.kyuy会社員: checked
事業(営業等)inOutDto.jgyoEgyoTo個人事業主: checked
事業(農業)inOutDto.jgyoNogyo
不動産inOutDto.fdosn
雑(業務・その他)inOutDto.ztsGyomSnt暗号資産等: checked
公的年金等inOutDto.kotkNnknKgyoNnknEtc
退職金inOutDto.tasyku
株式等inOutDto.hatoKbshkJyotRsh
先物取引inOutDto.skmnTrhk
一時inOutDto.ichj

shinkoku 対象の典型パターン:

  • 会社員+副業(事業所得): kyuy + jgyoEgyoTo + ztsGyomSnt(暗号資産あれば)
  • 給与所得のみ: kyuy

SS-AA-050: 収入・所得の入力ハブ

選択した所得種類ごとに入力リンクが表示される。各リンクをクリックして個別入力画面へ遷移。

SS-CA-010: 給与所得の源泉徴収票の入力

物理的な源泉徴収票との対応: 年末調整済みと年末調整未済で別フォーム・別ラベル体系。 年末調整済み = A〜L(12項目)、年末調整未済 = A〜E(5項目)。 物理的な源泉徴収票の「給与所得控除後の金額」「所得控除の額の合計額」欄は、 年末調整済みフォームでは入力不要だが、年末調整未済フォームでは B(自動)・C(入力) として存在する。

年末調整済みフォーム

URL: https://www.keisan.nta.go.jp/r7/syotoku/taS510a10_doAdd_nncyzm#bbctrl

主要入力フィールド
ラベルname備考
A: 支払金額inOutDto.shhraKngk必須
B: 源泉徴収税額inOutDto.gnsnTyosyuZegk2段記載時は下段
E: 社会保険料等の金額inOutDto.sykaHknryoToKngk
K: 支払者の住所inOutDto.shhrasyJysyKysyOrSyzach28文字以内
L: 支払者の氏名又は名称inOutDto.shhrasyNameOrMesyo28文字以内
ラジオボタン(記載有無の選択)
フィールドラベルname
控除対象配偶者の記載CinOutDto.kojyTashoHagsyKsaUm1(あり)/2(なし)
控除対象扶養親族の記載DinOutDto.kojyTashoFyoShnzkKsaUm1(あり)/2(なし)
生命

...

User Reviews (0)

Write a Review

Effect
Usability
Docs
Compatibility

No reviews yet

Statistics

Installs296
Rating4.1 / 5.0
Version
Updated2026年5月22日
Comparisons1

User Rating

4.1(20)
5
40%
4
50%
3
10%
2
0%
1
0%

Rate this Skill

0.0

Compatible Platforms

🔧Claude Code
🔧OpenClaw
🔧OpenCode
🔧Codex
🔧Gemini CLI
🔧GitHub Copilot
🔧Amp
🔧Kimi CLI

Timeline

Created2026年3月17日
Last Updated2026年5月22日