PR

法令を読みやすくするためのUIをClaude Codeで作ったよ【法見る君】

Uncategorized
この記事は約6分で読めます。

イントロダクション

e-Gov で法令を読んでいるとき、こんなことを思いました。

不満点1 参照先がわかりづらい

作者
作者

よし、薬局を開設するぞ、まずは許可申請に必要なものを法律で確認してみよう。

薬機法 第4条第2項(ざっくり引用)
(略)許可を受けようとする者は、(略)次に掲げる事項を記載した申請書を提出しなければならない。

一 氏名又は名称及び住所並びに法人にあつては、その代表者の氏名
(略)

六 次条第三号イからトまでに該当しない旨その他厚生労働省令で定める事項

作者
作者

この省令ってどこのことだ?

・・・数分後、薬機法施行規則の第1条の2に記載されていることが判明しました。このように、法令から省令へ読み進めていく場合、参照先が書いていないので、調べる手間がかかります。

不満点2 ()が多くて読みづらい

では、薬機法施行規則の第1条の2を読んでみましょう。

薬機法 施行規則の第1条の2(ざっくり引用)

2 法第四条第二項第六号の厚生労働省令で定める事項は、次のとおりとする。
・・・薬剤師不在時間(開店時間(営業時間のうち特定販売(その薬局又は店舗におけるその薬局又は店舗以外の場所にいる者に対する要指導医薬品(特定要指導医薬品を除く。)、一般用医薬品又は薬局製造販売医薬品(毒薬及び劇薬であるものを除く。第四項第二号ヘ、第十四条の二、第十四条の三第一項及び第二項、第十五条の六、第百五十八条の十第一項及び第三項、第二百十八条の三、別表第一の二第二並びに別表第一の三において同じ。)の販売又は授与をいう。以下同じ。)のみを行う時間を除いた時間をいう。以下同じ。)のうち、当該薬局において調剤に従事する薬剤師が当該薬局以外の場所においてその業務を行うため、やむを得ず、かつ、一時的に当該薬局において薬剤師が不在となる時間をいう。以下同じ。)の有無

作者
作者

()が多すぎてなんのことかよくわからない!

中には()が最大で4重にもなっており、読みにくい条文が存在します。

・・・こんな不便を解決するため、Claude Code に法令を読むためのUIを作ってもらいました


作ったもの:「法見る君」

githubはこちら

GitHub - yasusho0929/law-reference-ui: e-Gov の法令XMLをローカルブラウザで読むための静的なビューア
e-Gov の法令XMLをローカルブラウザで読むための静的なビューア. Contribute to yasusho0929/law-reference-ui development by creating an account on Git...

e-Gov からダウンロードした XML をブラウザで読み込むだけで、法律・施行令・施行規則を横断的に読めるローカル専用 UI です。サーバ不要、index.html をダブルクリックで動きます。


ポイント1:4分割で「法・令・規則・リンク管理」を並べる

画面は縦4分割。(AIは4ペインと名付けてました)

  • 左3つ:法律 / 施行令 / 施行規則 /通知 を自由に開くことができる。
  • 右端:作成したリンク一覧が常時表示

「第X条はこっちを見ろ」と言われても別タブで行き来しなくて済むのが、一番楽になったところです。


ポイント2:リンクを自動生成

ツールバーの 「リンク作成」 を押すと、本文中の

  • 法第X条 → 法律の第X条へ
  • 令第X条 → 施行令の第X条へ
  • 別表第一 → 同じ法令内 or 施行令の別表へ

を勝手にリンク化してくれます。しかもリンク先は別ペインで開くので、今読んでる条文が画面から消えません。


ポイント3:「この省令ってどこ?」を解決する逆リンク

冒頭で挙げたこれ↓

次条第三号イからトまでに該当しない旨その他厚生労働省令で定める事項

法律の中で「省令で定める」と書かれた該当部分を、施行規則側の具体的な条文にリンクする機能です。

ツールバーの 「逆リンク一括作成」 を押すと:

  1. 施行規則の中から「法第X条」と書いてある参照をスキャン
  2. 参照先(=法律の第X条)の本文に「省令」という語が含まれているか確認
  3. 含まれていれば、法律側の「省令」という文字に施行規則の該当条文へのリンクを作成

これで、法律を上から読んでいて「省令」という字が出てきたら、そのままワンクリックで根拠となる施行規則の条文に飛べるようになりました。

施行令についても同じ仕組みで「政令」→ 施行令の該当条文、のリンクを自動で張ります。


ポイント4:かっこ書きの色分け・折りたたみ

イントロで出した呪文のようなこれ↓

・・・薬剤師不在時間(開店時間(営業時間のうち特定販売(その薬局又は店舗における…

ネストされた ()「」深さごとに色分け、さらにクリックで折りたたみできます。折りたたむと「(…)」の塊として表示されるので、先にメインの文意を把握してから詳細に降りていけます。


ポイント5:リンクの編集機能

自動作成されたリンクは必ずしも正しいとは限りません。

作ったリンクは右端の「Link Manager」で一覧表示・編集できます。

  • Custom:手動で追加したリンク
  • Auto:「リンク作成」で自動生成されたリンク
  • Auto_R:「逆リンク一括作成」で自動生成された逆リンク
  • Import:同一法令内の 第X条 参照

各リンクの編集 / Delete / 逆編集 が行ごとにラジオ選択 → 上部のボタンで一括操作できます。


ポイント6:グループを JSON で保存できる

「薬機法一式(法 + 令 + 規則 + 通知)」のような組み合わせをグループとして保存しておけます。JSON には作ったリンク情報も含まれるので、次回開くときは XML だけ再登録すれば即座に参照を再開できます。


Claude Codeでの作成

Claude Code(CLI)に要件を投げて、対話しながらひたすら機能追加と修正をしてもらいました。所要:累計2〜3日程度(細切れ作業)。

技術スタック:

  • HTML / CSS / JavaScript(素のブラウザ API のみ)
  • バックエンドなし、Docker なし
  • 唯一の依存は DOMParser と localStorage

Claude Code 側への指示はほぼ自然言語で、「こういう挙動がほしい」「ここがバグってる」の繰り返しでした。


使い方

e-Gov 法令検索からXMLをダウンロード

まずは<a href=”https://laws.e-gov.go.jp/” target=”_blank”rel=”noopener”>e-Gov 法令検索</a>で読みたい法令を開き、右上の「XML」ボタンからダウンロードします。法律・施行令・施行規則をまとめて扱いたい場合は、3つとも個別にXMLを保存しておくと後でグループ化しやすいです。

XMLをwebにアップロード

法見る君を開き、左の3ペインのいずれかにXMLファイルをドラッグ&ドロップするか、ペイン上部の「Local File」ボタンから読み込みます。ファイルはブラウザ内で処理されるだけで、サーバにアップロードされることはありません。

「リンクを作成」ボタンをクリック

3つのペインに法令を読み込んだら、ツールバーの「リンク作成」を押します。本文中の「法第X条」「令第X条」「別表第一」などの参照が一括でリンク化され、クリックすると別ペインで該当条文にジャンプするようになります。読んでいる条文が画面から消えないのがポイントです。

「逆リンク一括作成」をクリック

次に「逆リンク一括作成」を押します。施行規則側の「法第X条」参照をスキャンし、法律側に出てくる「省令」という文字に施行規則の該当条文へのリンクを自動で張ってくれます。施行令がある場合は「政令」も同様にリンクされるので、法律を上から読むだけで根拠となる下位法令にワンクリックで飛べる状態になります。

グループを保存

最後に、メニューから「名前を付けて保存」で現在の状態を書き出しておきます。JSONには自動生成・手動編集したリンク情報も含まれるので、次回は同じXMLを読み込んでJSONをインポートするだけで、リンク入りの状態をそのまま復元できます。「薬機法一式」「建築基準法一式」のように案件ごとに保存しておくと便利です。

コメント

タイトルとURLをコピーしました