npx skills add https://github.com/kazukinagata/shinkoku --skill journalCSV、レシート、請求書からデータを取り込み、ユーザー確認のうえ仕訳を登録するスキル。帳簿の初期化、仕訳の検索・修正・削除も本スキルで対応する。
本スキルでは以下の CLI スクリプトを使用する:
shinkoku ledger <subcommand> [args]shinkoku import <subcommand> [args]すべてのコマンドは JSON を stdout に出力する。入力はコマンドライン引数または --input <json_file> で渡す。
shinkoku.config.yaml を Read ツールで読み込む/setup スキルの実行を案内して終了するdb_path: CLI スクリプトの 引数に使用广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
--db-pathoutput_dir: 進捗ファイル等の出力先ベースディレクトリconfig の db_path が ./shinkoku.db で CWD が /home/user/tax-2025/ の場合、CLI スクリプトには絶対パス /home/user/tax-2025/shinkoku.db を --db-path で渡す。init, journal-add, journal-batch-add, search, journal-update, journal-delete すべてに同じ絶対パスを使用する。
設定の読み込み後、引継書ファイルを読み込んで前ステップの結果を把握する。
.shinkoku/progress/progress-summary.md を Read ツールで読み込む(存在する場合).shinkoku/progress/01-setup.md仕訳入力を開始する前に以下を確認する:
init コマンドで初期化を案内する初回利用時、または新しい会計年度を開始する際に帳簿を初期化する。
init コマンドshinkoku ledger init \
--db-path /path/to/shinkoku.db \
--fiscal-year 2025
ユーザーが持つ取引データの形式に応じて適切なインポートツールを選択する。
csv コマンド)クレジットカード明細・銀行取引明細・会計ソフトのエクスポートデータ等を読み込む。
shinkoku import csv \
--file-path /path/to/transactions.csv
戻り値(JSON):
headers: 検出されたカラムヘッダ一覧rows: パースされた各行のデータencoding: 自動検出されたエンコーディングrow_count: 行数取り込み後の処理手順:
勘定科目の推定ルール:
receipt コマンド)紙のレシート・領収書の画像ファイルからOCRでデータを抽出する。
shinkoku import receipt \
--file-path /path/to/receipt.jpg
重要: 画像の読み取りは対応する reading- スキルに委任する。*
receipt コマンドでファイルの存在を確認する
画像ファイルの読み取りには /reading-receipt スキルを使用する。スキルの指示に従い、デュアル検証(2つの独立した読み取り結果の照合)を行って結果を取得する。
結果照合: 両方の読み取り結果から total_amount, date, vendor を比較する
一致の場合: そのまま採用。「2つの独立した読み取りで結果が一致しました」と報告
不一致の場合: ユーザーに元画像パスと両方の結果を提示し、正しい方を選択してもらう:
* 差異のあるフィールドを明示する
* A を採用 / B を採用 / 手動入力 の3択を AskUserQuestion で提示する
3. 読み取り結果の ---RECEIPT_DATA--- ブロックの内容を解析する
日付・金額・店舗名をユーザーに表示して正しいか確認する
品目から勘定科目を推定する
家事按分の必要性を確認する(自宅兼事務所の場合等)
確認後、仕訳データに変換する
Glob ツールでレシート画像の一覧を取得する(例: receipts/*.jpg, receipts/*.png)
receipt コマンドで各ファイルの存在を確認する
画像ファイルの読み取りには /reading-receipt スキルを使用する。スキルの指示に従い、デュアル検証(2つの独立した読み取り結果の照合)を行って結果を取得する。
結果照合: ファイル単位で両方の読み取り結果の total_amount, date, vendor を比較する
一致の場合: そのまま採用。「2つの独立した読み取りで結果が一致しました」と報告
不一致の場合: 不一致のファイルについてユーザーに元画像パスと両方の結果を提示し、正しい方を選択してもらう:
* 差異のあるフィールドを明示する
* A を採用 / B を採用 / 手動入力 の3択を AskUserQuestion で提示する
4. 各レシートの結果をまとめてユーザーに提示する
各レシートの勘定科目を推定し、一覧でユーザーに確認する
確認後、journal-batch-add コマンドで一括登録する
invoice コマンド)PDFの請求書からテキストを抽出する。
shinkoku import invoice \
--file-path /path/to/invoice.pdf
戻り値(JSON):
vendor: 請求元date: 請求日due_date: 支払期日amount: 請求金額tax_amount: 消費税額items: 明細行raw_text: 抽出生テキストextracted_text が空の場合(画像ファイルまたはスキャン PDF)、画像的読み取りは /reading-invoice スキルを使用する。スキルの指示に従い、デュアル検証(2つの独立した読み取り結果の照合)を行って結果を取得する。
結果照合: 両方の読み取り結果から total_amount, tax_amount, date, vendor を比較する
一致の場合: そのまま採用。「2つの独立した読み取りで結果が一致しました」と報告
不一致の場合: ユーザーに元画像パスと両方の結果を提示し、正しい方を選択してもらう:
取り込み後の処理手順:
CSVインポートのフローに重複チェックを組み込む:
ファイル重複チェック : check-imported コマンドでファイルのハッシュを確認
shinkoku import check-imported
--db-path DB --file-path /path/to/file.csv
仕訳登録時の自動チェック : journal-batch-add が自動的に重複を検出
--force を付けて再実行インポート記録 : 登録成功後、record-source コマンドでインポート履歴を記録する
shinkoku import record-source
--db-path DB --file-path /path/to/file.csv --source-type csv
決算処理の前に check-duplicates コマンドを実行し、重複の疑いのある仕訳ペアを一覧表示する。
shinkoku ledger check-duplicates \
--db-path DB --fiscal-year 2025
ユーザーに確認の上、不要な重複は journal-delete コマンドで削除する。
ユーザーが確認したデータを帳簿に登録する。
journal-add)# journal.json に JournalEntry を JSON で記述
shinkoku ledger journal-add \
--db-path DB --fiscal-year 2025 --input journal.json
journal.json の形式:
{
"date": "2025-01-15",
"description": "摘要テキスト",
"lines": [
{"side": "debit", "account_code": "5200", "amount": 1000},
{"side": "credit", "account_code": "1100", "amount": 1000}
]
}
journal-batch-add)CSV取り込み等で複数の仕訳を一度に登録する場合に使用する。
# entries.json に JournalEntry の配列を記述
shinkoku ledger journal-batch-add \
--db-path DB --fiscal-year 2025 --input entries.json [--force]
登録前の確認事項:
journal-batch-add を実行する以下を検証し、不備があれば登録前に警告する:
登録済みの仕訳を検索する。
search コマンド# search_params.json に JournalSearchParams を記述
shinkoku ledger search \
--db-path DB --input search_params.json
search_params.json の形式:
{
"fiscal_year": 2025,
"date_from": "2025-01-01",
"date_to": "2025-03-31",
"account_code": "5200",
"description_contains": "Amazon"
}
検索結果の表示:
journal-update)shinkoku ledger journal-update \
--db-path DB --fiscal-year 2025 --journal-id 42 --input updated.json
journal-delete)shinkoku ledger journal-delete \
--db-path DB --journal-id 42
借方: 売掛金(1010) / 貸方: 売上(4001) 金額: 110,000円 税率: 10%
摘要: ○○社 Webサイト制作費 請求書No.2025-001
借方: 消耗品費(5190) / 貸方: 普通預金(1002) 金額: 5,500円 税率: 10%
摘要: Amazon ワイヤレスキーボード
借方: 旅費交通費(5130) / 貸方: 事業主借(3010) 金額: 1,200円 税率: 10%
摘要: JR 新宿→渋谷 打ち合わせ往復
借方: 事業主貸(1200) / 貸方: 普通預金(1002) 金額: 50,000円
摘要: 生活費引き出し
仕訳入力が完了したら、以下を案内する:
settlement スキルで決算整理・決算書作成を行う
trial-balance コマンドで残高試算表を確認して仕訳漏れがないか検証する:
shinkoku ledger trial-balance \
--db-path DB --fiscal-year 2025
全取引の登録完了を確認してから決算処理に進む
サマリー提示後、以下のファイルを Write ツールで出力する。これにより、セッションの中断や Compact が発生しても次のステップで結果を引き継げる。
.shinkoku/progress/04-journal.md に以下の形式で出力する:
---
step: 4
skill: journal
status: completed
completed_at: "{当日日付 YYYY-MM-DD}"
fiscal_year: {tax_year}
---
# 仕訳入力・帳簿管理の結果
## インポート済みソース
| ソース名 | 件数 | インポート日 |
|---------|------|------------|
| {CSV名やレシート等} | {件数} | {日付} |
## 登録済み仕訳
- 総仕訳件数: {件数}件
## 主要勘定科目の残高(試算表スナップショット)
| 勘定科目 | コード | 残高 |
|---------|--------|------|
| {科目名} | {コード} | {残高}円 |
(売上、主要経費、現預金、売掛金、買掛金など主要科目を記載)
## 重複チェック結果
- チェック実施: {済み/未実施}
- 重複の疑い: {なし/あり(件数)}
## 未処理の項目
- {あれば記載、なければ「なし」}
## 次のステップ
/settlement で決算整理・決算書作成を行う
.shinkoku/progress/progress-summary.md を更新する(存在しない場合は新規作成):
ファイルを出力したらユーザーに以下を伝える:
.shinkoku/progress/ に保存しました。セッションが中断しても次のスキルで結果を引き継げます。」Weekly Installs
247
Repository
GitHub Stars
323
First Seen
Feb 22, 2026
Security Audits
Installed on
codex177
cursor174
opencode171
github-copilot170
gemini-cli167
amp167
CSV・レシート・請求書からデータを取り込み、ユーザー確認のうえ仕訳を登録するスキル。 帳簿の初期化、仕訳の検索・修正・削除も本スキルで対応する。
本スキルでは以下の CLI スクリプトを使用する:
shinkoku ledger <subcommand> [args]shinkoku import <subcommand> [args]すべてのコマンドは JSON を stdout に出力する。入力はコマンドライン引数または --input <json_file> で渡す。
shinkoku.config.yaml を Read ツールで読み込む/setup スキルの実行を案内して終了するdb_path: CLI スクリプトの --db-path 引数に使用output_dir: 進捗ファイル等の出力先ベースディレクトリconfig の db_path が ./shinkoku.db で CWD が /home/user/tax-2025/ の場合、CLI スクリプトには絶対パス /home/user/tax-2025/shinkoku.db を --db-path で渡す。init, journal-add, journal-batch-add, search, journal-update, journal-delete すべてに同じ絶対パスを使用する。
設定の読み込み後、引継書ファイルを読み込んで前ステップの結果を把握する。
.shinkoku/progress/progress-summary.md を Read ツールで読み込む(存在する場合).shinkoku/progress/01-setup.md仕訳入力を開始する前に以下を確認する:
init コマンドで初期化を案内する初回利用時、または新しい会計年度を開始する際に帳簿を初期化する。
init コマンドshinkoku ledger init \
--db-path /path/to/shinkoku.db \
--fiscal-year 2025
ユーザーが持つ取引データの形式に応じて適切なインポートツールを選択する。
csv コマンド)クレジットカード明細・銀行取引明細・会計ソフトのエクスポートデータ等を読み込む。
shinkoku import csv \
--file-path /path/to/transactions.csv
戻り値(JSON):
headers: 検出されたカラムヘッダ一覧rows: パースされた各行のデータencoding: 自動検出されたエンコーディングrow_count: 行数取り込み後の処理手順:
勘定科目の推定ルール:
receipt コマンド)紙のレシート・領収書の画像ファイルからOCRでデータを抽出する。
shinkoku import receipt \
--file-path /path/to/receipt.jpg
重要: 画像の読み取りは対応する reading- スキルに委任する。*
receipt コマンドでファイルの存在を確認する
画像ファイルの読み取りには /reading-receipt スキルを使用する。 スキルの指示に従い、デュアル検証(2つの独立した読み取り結果の照合)を行って結果を取得する。
結果照合: 両方の読み取り結果から total_amount, date, vendor を比較する
一致の場合: そのまま採用。「2つの独立した読み取りで結果が一致しました」と報告
不一致の場合: ユーザーに元画像パスと両方の結果を提示し、正しい方を選択してもらう:
* 差異のあるフィールドを明示する
* A を採用 / B を採用 / 手動入力 の3択を AskUserQuestion で提示する
3. 読み取り結果の ---RECEIPT_DATA--- ブロックの内容を解析する
日付・金額・店舗名をユーザーに表示して正しいか確認する
品目から勘定科目を推定する
家事按分の必要性を確認する(自宅兼事務所の場合等)
確認後、仕訳データに変換する
Glob ツールでレシート画像の一覧を取得する(例: receipts/*.jpg, receipts/*.png)
receipt コマンドで各ファイルの存在を確認する
画像ファイルの読み取りには /reading-receipt スキルを使用する。 スキルの指示に従い、デュアル検証(2つの独立した読み取り結果の照合)を行って結果を取得する。
結果照合: ファイル単位で両方の読み取り結果の total_amount, date, vendor を比較する
一致の場合: そのまま採用。「2つの独立した読み取りで結果が一致しました」と報告
不一致の場合: 不一致のファイルについてユーザーに元画像パスと両方の結果を提示し、正しい方を選択してもらう:
* 差異のあるフィールドを明示する
* A を採用 / B を採用 / 手動入力 の3択を AskUserQuestion で提示する
4. 各レシートの結果をまとめてユーザーに提示する
各レシートの勘定科目を推定し、一覧でユーザーに確認する
確認後、journal-batch-add コマンドで一括登録する
invoice コマンド)PDFの請求書からテキストを抽出する。
shinkoku import invoice \
--file-path /path/to/invoice.pdf
戻り値(JSON):
vendor: 請求元date: 請求日due_date: 支払期日amount: 請求金額tax_amount: 消費税額items: 明細行raw_text: 抽出生テキストextracted_text が空の場合(画像ファイルまたはスキャン PDF)、画像の読み取りは /reading-invoice スキルを使用する。 スキルの指示に従い、デュアル検証(2つの独立した読み取り結果の照合)を行って結果を取得する。
結果照合: 両方の読み取り結果から total_amount, tax_amount, date, vendor を比較する
一致の場合: そのまま採用。「2つの独立した読み取りで結果が一致しました」と報告
不一致の場合: ユーザーに元画像パスと両方の結果を提示し、正しい方を選択してもらう:
取り込み後の処理手順:
CSVインポートのフローに重複チェックを組み込む:
ファイル重複チェック : check-imported コマンドでファイルのハッシュを確認
shinkoku import check-imported \
--db-path DB --file-path /path/to/file.csv
仕訳登録時の自動チェック : journal-batch-add が自動的に重複を検出
--force を付けて再実行インポート記録 : 登録成功後、record-source コマンドでインポート履歴を記録する
shinkoku import record-source \
--db-path DB --file-path /path/to/file.csv --source-type csv
決算処理の前に check-duplicates コマンドを実行し、重複の疑いのある仕訳ペアを一覧表示する。
shinkoku ledger check-duplicates \
--db-path DB --fiscal-year 2025
ユーザーに確認の上、不要な重複は journal-delete コマンドで削除する。
ユーザーが確認したデータを帳簿に登録する。
journal-add)# journal.json に JournalEntry を JSON で記述
shinkoku ledger journal-add \
--db-path DB --fiscal-year 2025 --input journal.json
journal.json の形式:
{
"date": "2025-01-15",
"description": "摘要テキスト",
"lines": [
{"side": "debit", "account_code": "5200", "amount": 1000},
{"side": "credit", "account_code": "1100", "amount": 1000}
]
}
journal-batch-add)CSV取り込み等で複数の仕訳を一度に登録する場合に使用する。
# entries.json に JournalEntry の配列を記述
shinkoku ledger journal-batch-add \
--db-path DB --fiscal-year 2025 --input entries.json [--force]
登録前の確認事項:
journal-batch-add を実行する以下を検証し、不備があれば登録前に警告する:
登録済みの仕訳を検索する。
search コマンド# search_params.json に JournalSearchParams を記述
shinkoku ledger search \
--db-path DB --input search_params.json
search_params.json の形式:
{
"fiscal_year": 2025,
"date_from": "2025-01-01",
"date_to": "2025-03-31",
"account_code": "5200",
"description_contains": "Amazon"
}
検索結果の表示:
journal-update)shinkoku ledger journal-update \
--db-path DB --fiscal-year 2025 --journal-id 42 --input updated.json
journal-delete)shinkoku ledger journal-delete \
--db-path DB --journal-id 42
借方: 売掛金(1010) / 貸方: 売上(4001) 金額: 110,000円 税率: 10%
摘要: ○○社 Webサイト制作費 請求書No.2025-001
借方: 消耗品費(5190) / 貸方: 普通預金(1002) 金額: 5,500円 税率: 10%
摘要: Amazon ワイヤレスキーボード
借方: 旅費交通費(5130) / 貸方: 事業主借(3010) 金額: 1,200円 税率: 10%
摘要: JR 新宿→渋谷 打ち合わせ往復
借方: 事業主貸(1200) / 貸方: 普通預金(1002) 金額: 50,000円
摘要: 生活費引き出し
仕訳入力が完了したら、以下を案内する:
settlement スキルで決算整理・決算書作成を行う
trial-balance コマンドで残高試算表を確認して仕訳漏れがないか検証する:
shinkoku ledger trial-balance \
--db-path DB --fiscal-year 2025
全取引の登録完了を確認してから決算処理に進む
サマリー提示後、以下のファイルを Write ツールで出力する。 これにより、セッションの中断や Compact が発生しても次のステップで結果を引き継げる。
.shinkoku/progress/04-journal.md に以下の形式で出力する:
---
step: 4
skill: journal
status: completed
completed_at: "{当日日付 YYYY-MM-DD}"
fiscal_year: {tax_year}
---
# 仕訳入力・帳簿管理の結果
## インポート済みソース
| ソース名 | 件数 | インポート日 |
|---------|------|------------|
| {CSV名やレシート等} | {件数} | {日付} |
## 登録済み仕訳
- 総仕訳件数: {件数}件
## 主要勘定科目の残高(試算表スナップショット)
| 勘定科目 | コード | 残高 |
|---------|--------|------|
| {科目名} | {コード} | {残高}円 |
(売上、主要経費、現預金、売掛金、買掛金など主要科目を記載)
## 重複チェック結果
- チェック実施: {済み/未実施}
- 重複の疑い: {なし/あり(件数)}
## 未処理の項目
- {あれば記載、なければ「なし」}
## 次のステップ
/settlement で決算整理・決算書作成を行う
.shinkoku/progress/progress-summary.md を更新する(存在しない場合は新規作成):
ファイルを出力したらユーザーに以下を伝える:
.shinkoku/progress/ に保存しました。セッションが中断しても次のスキルで結果を引き継げます。」Weekly Installs
247
Repository
GitHub Stars
323
First Seen
Feb 22, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
codex177
cursor174
opencode171
github-copilot170
gemini-cli167
amp167
Skills CLI 使用指南:AI Agent 技能包管理器安装与管理教程
27,400 周安装