---
url: /houki-hub/skills/houki-research.md
description: houki-hub family の MCP を横断して使うときの手順・引用書式・エラー契約・業法独占規定の注意喚起を定めた Claude Skill
---

# houki-research Skill

日本の法規（法律・政令・省令・通達・判例・裁決・行政解釈）を横断して調べるときに、
LLM が **どの MCP をどの順に呼び、出典をどう書き、どこで注意を促すか** を定めた Skill です。
MCP サーバーは資料を返すだけで、順序や書式や注意喚起は決めません。それらの正典がこの Skill です。

* リポジトリ: [shuji-bonji/houki-research-skill](https://github.com/shuji-bonji/houki-research-skill)（0.8.1）
* 配布: claude-plugins marketplace の plugin `houki-research`（v0.7.0 から `houki-egov-mcp` と `houki-nta-mcp` を `dependencies` に宣言しており、この plugin を入れれば 2 つの MCP も入ります）、または `skills/houki-research/` をプロジェクトの `.claude/skills/` に置く
* 対象分野: 税務に限らず日本の全法規。現時点で MCP が揃っているのが税務なので、例は税務が中心です

## 4 つの責務

```mermaid
graph TB
  user[利用者の問い] --> skill[houki-research]
  skill --> R1["① 業法独占規定への注意喚起<br>税理士法 52 条 / 弁護士法 72 条 / 司法書士法 3 条 / 社労士法 27 条"]
  skill --> R2["② 横断の手順<br>略称解決 → 法律 → 政令・省令 → 通達 → 改正 → 添付 PDF"]
  skill --> R3["③ citation の書式<br>階層ラベル付きで出典を並べる"]
  skill --> R4["④ error contract<br>エラーコードごとに LLM が取る行動"]
```

### ① 業法独占規定への注意喚起

問いが「私の確定申告で」「うちの会社の決算で」「この契約書の条項は」のように **個別の事案への当てはめ** を求めていると見えたら、
回答の冒頭で「条文・通達の引用と一般的な説明は行うが、事案への適用判断は資格者に相談してほしい」と伝えます。
文献調査・制度の概観・条文の引用・改正履歴の説明は、その後で通常どおり行います。

v0.3.0 から、このときに返すものと返さないものを表で定めています。

| | 内容 |
| --- | --- |
| 返すもの | 条文・通達・裁決の提示（出典付き）、制度の概観と改正履歴、論点の列挙、何が事実認定に依存するかの明示、`legal_status` の階層 |
| 返さないもの | 結論（該当する・しない）、可否の判定、金額・税額の確定、書類の起案・文案、推測 |

::: warning 返さないもの
返さないものは、注意喚起を添えても返しません。理由は精度ではなく業法の独占規定です（[免責事項と利用範囲](/guide/disclaimer)）。
:::

### ② 横断の手順

手順は **問いの形** で選びます（v0.8.0 から）。利用者が名乗る立場ではなく、問いの形で選ぶので、同じ人の問いが途中で別の行に移ったら手順も変わります。

| 問いの形 | 手順 |
| --- | --- |
| この仕様は法令のどこに触れるか / この機能の法令上の要件は | `workflows/feasibility-check.md` — 仕様の語を法令の語に置き換え、条文 → 施行令・施行規則 → 施行日まで揃えて、仕様の要素ごとの表で返します。「適法か」には答えません |
| この取扱いの根拠と、今も有効か（通達・Q\&A から入る） | `workflows/tax-research.md` — 下の 1〜6 |
| 私の場合はどうなるか（個別の事案） | 鉄則 1 の応答型 — 条文・通達・論点までを返し、結論・可否・金額は返しません |
| この改正はいつから、何が変わるか | `revision-tracking.md`（予定）。それまでは `get_law_revisions` と下の 4 |

MCP を組み込む開発者は問いを投げる利用者ではなく契約を読む利用者なので、手順ではなく `docs/ARCHITECTURE.md` / `ERROR-CODES.md` と各 MCP の `tools/list` を参照します。

#### feasibility-check で呼ぶ順

仕様が法令のどこに触れるかを確かめるときに、Skill を読み込んだ LLM がツールを呼ぶ順です（番号は workflow のステップ）。全体の手順は [feasibility-check の仕様書ページ](/specs/houki-research/feasibility-check) にあります。

```mermaid
sequenceDiagram
  participant L as LLM
  participant E as egov-mcp
  participant N as nta-mcp
  L->>L: ② 仕様の語を<br/>法令の語にする
  L->>E: ③ search_law /<br/>search_fulltext
  E-->>L: 法令名と law_id
  L->>E: ④ get_toc<br/>→ get_law
  E-->>L: 条・項・号
  L->>E: ⑤ get_related_laws<br/>→ get_article_references<br/>→ get_law
  E-->>L: 施行令・施行規則<br/>と委任先の条
  opt 税に関わる仕様
    L->>N: ⑤' 通達・Q&A
    N-->>L: 通達と<br/>next_actions
  end
  L->>E: ⑥ get_law_revisions
  E-->>L: 施行日と<br/>未施行の改正
```

図で呼ぶツールのページ: [`search_law`](/reference/mcp/houki-egov/search_law)・[`search_fulltext`](/reference/mcp/houki-egov/search_fulltext)・[`get_toc`](/reference/mcp/houki-egov/get_toc)・[`get_law`](/reference/mcp/houki-egov/get_law)・[`get_related_laws`](/reference/mcp/houki-egov/get_related_laws)・[`get_article_references`](/reference/mcp/houki-egov/get_article_references)・[`get_law_revisions`](/reference/mcp/houki-egov/get_law_revisions)

#### tax-research で呼ぶ順

以下は通達・Q\&A から根拠条文へ戻る手順（`tax-research.md`）です。ツールを呼ぶ順は次のとおりです（番号は下の手順の番号）。全体の手順は [tax-research の仕様書ページ](/specs/houki-research/tax-research) にあります。

```mermaid
sequenceDiagram
  participant L as LLM
  participant E as egov-mcp
  participant N as nta-mcp
  L->>N: 1. resolve_abbreviation
  N-->>L: 正式名と<br/>担当 MCP
  L->>E: 2. get_law
  E-->>L: 条文と URL
  L->>N: 3. nta_search_tsutatsu<br/>→ nta_get_tsutatsu
  N-->>L: 通達・legal_status<br/>・next_actions
  L->>E: 3. next_actions の<br/>get_law
  L->>E: 4. get_law_revisions
  L->>N: 4. nta_search_kaisei_tsutatsu<br/>→ nta_inspect_pdf_meta
  N-->>L: PDF の読み方と<br/>保存したパス
```

図で呼ぶツールのページ: [`resolve_abbreviation`](/reference/mcp/houki-nta/resolve_abbreviation)・[`get_law`](/reference/mcp/houki-egov/get_law)・[`nta_search_tsutatsu`](/reference/mcp/houki-nta/nta_search_tsutatsu)・[`nta_get_tsutatsu`](/reference/mcp/houki-nta/nta_get_tsutatsu)・[`get_law_revisions`](/reference/mcp/houki-egov/get_law_revisions)・[`nta_search_kaisei_tsutatsu`](/reference/mcp/houki-nta/nta_search_kaisei_tsutatsu)・[`nta_inspect_pdf_meta`](/reference/mcp/houki-nta/nta_inspect_pdf_meta)。質疑応答事例から入るときは [`nta_search_qa`](/reference/mcp/houki-nta/nta_search_qa)・[`nta_get_qa`](/reference/mcp/houki-nta/nta_get_qa) を使います（下の 3 の 3 つ目）。

1. 略称（「消基通」「インボイス」「労基法」）が含まれていれば、まず `resolve_abbreviation` で正式名と担当 MCP（`source_mcp_hint`）を確かめます
2. 法律本文を houki-egov-mcp で引きます。政令・省令があれば続けて引きます
3. 通達・Q\&A を houki-nta-mcp で引きます。応答の `legal_status` を見て、通達が国民を拘束しないことを回答に残します
   * 通達から先に引いた場合は、応答の `next_actions` に従って houki-egov-mcp の `get_law` で法律本文へ戻ります。条番号は通達の本文の「法第N条」「令第N条」から補います（v0.4.0 から。houki-nta-mcp 0.11.0 以上が前提）
   * `next_actions[].example` に入っている `mcp` と `tool` は、どの MCP のどの tool を呼ぶかを示すもので引数ではありません。この 2 つを除いた残りを引数として渡します。そのまま渡すと、houki-egov-mcp 0.6.0 以上・houki-nta-mcp 0.14.0 以上では `INVALID_ARGUMENT` になります（v0.5.1 から）
   * 質疑応答事例から先に引いた場合は、`nta_get_qa` を `format: "json"` で呼び、`related_laws` / `related_tsutatsu` と `next_actions` に従って法律本文と通達へ戻ります。条・項・号まで入っているので、本文から補う必要はありません。質疑応答事例は「参考情報（拘束力なし）」に置き、作成基準日（`qa.basisDate`）と国税庁の注記（`qa.notice`）を残します（v0.5.0 から。houki-nta-mcp 0.12.0 以上が前提）
4. 改正の経緯が要るときは `get_law_revisions` と改正通達を引きます。新旧対照表の PDF は `nta_inspect_pdf_meta` を `kind: "comparison", save: true` で呼び、pdf-reader-mcp があれば `next_actions` の例をそのまま `extract_tables` に渡し、無ければ `saved[].path` を手元の PDF 読み取りツールに渡して `layout_note` のとおり左右 2 列の表として読みます。左右どちらが改正後かは見出し行で確かめます（v0.13.0 から。houki-nta-mcp 0.19.0 以上が前提）
5. 応答の `freshness` が古ければ、DB の再取得を促してから答えます
6. 検索結果や取得した文書に `index_status: "removed_from_index"` が付いていたら、それは国税庁の索引から外れた文書です。過去の課税期間の判断では引けますが、**現在の取扱いの根拠にはしません**。同じ論点の現行の文書を探し直し、見つからなければ断定しません（v0.6.0 から。houki-nta-mcp 0.17.0 以上が前提）
   * `freshness` とは別のことを指します。`freshness` は「最後に取得してから日が経った」、`index_status` は「国税庁の索引から外れた」です。ローカル DB が新しくても印は付きます
   * 取得ツールの応答の `source` が `"db"` なら、`fetchedAt` はローカル DB に取り込んだ日時です。呼び出した時刻ではないので、citation にはその値をそのまま書きます（houki-nta-mcp 0.16.0 以上）

### ③ citation の書式

回答の末尾に、階層ラベルを付けて出典を並べます。

```text
## Sources
### 法律（国会制定・国民を拘束）
- 消費税法 第 57 条の 2「適格請求書発行事業者の登録」 — e-Gov の URL
### 政令 / 省令
- 消費税法施行令 第 70 条の 5
### 行政解釈（通達。税務職員を拘束、国民・裁判所は拘束しない）
- 消費税法基本通達 1-7-2「登録番号の構成」 — 国税庁の URL
### 参考情報（拘束力なし）
- タックスアンサー No.6498
```

PDF から表を抽出して引用した場合は、どのツールでどう抽出したか（`extract_tables` で Markdown 化、など）を注釈として添えます。

### ④ error contract

family の全 MCP は、エラーを `isError: true` と `code` で返します。Skill は `code` ごとに LLM の行動を定めています。

| 分類 | 代表的な `code` | LLM が取る行動 |
| --- | --- | --- |
| 引数の問題 | `INVALID_ARGUMENT` / `INVALID_ARTICLE_NUM` / `OUT_OF_SCOPE` | 引数を直して呼び直す。`OUT_OF_SCOPE` なら案内された MCP に切り替える |
| 見つからない | `LAW_NOT_FOUND` / `ARTICLE_NOT_FOUND` / `TSUTATSU_NOT_FOUND` / `ABBREVIATION_NOT_FOUND` | 別の名前・条番号で探す。見つからないことを利用者に伝え、推測で本文を作らない |
| ローカル DB に無い | `DOC_NOT_FOUND` / `TSUTATSU_NOT_FOUND` で `next_actions` が `cli_bulk_download`（検索ツールと、取得ツールでその種別の文書が 1 件も無いとき） | 「該当なし」と答えない。探し直さず、投入コマンドと DB のパスを利用者に伝える（v0.5.0 から） |
| docId が誤っている | 取得ツールの `DOC_NOT_FOUND` / `TSUTATSU_NOT_FOUND` に `available_doc_ids` が付く | 投入は案内しない。`available_doc_ids` から選ぶか、案内された検索ツールで docId を探し直す（v0.5.1 から。houki-nta-mcp 0.14.1 以上が前提） |
| 取得元の問題 | `SOURCE_TIMEOUT` / `SOURCE_RATE_LIMITED` / `SOURCE_UNAVAILABLE` / `SOURCE_API_ERROR` | 間を置いて再試行する。続くなら取得できなかったことを明示する |
| PDF の問題 | `INVALID_PDF` / `ENCRYPTED_PDF` / `UNSUPPORTED_PDF_FEATURE` | その PDF は読めなかったと申告し、本文だけで答える |
| 内部 | `UNKNOWN_TOOL` / `INTERNAL_ERROR` | 再試行せず、利用者に報告する |

## 同梱している文書

| ファイル | 内容 |
| --- | --- |
| `SKILL.md` | 鉄則（注意喚起を回答前に行う、略称は最初に解決する、法律 → 通達 → 改正 → PDF の順で引く） |
| `docs/BUSINESS-LAW.md` | 業法独占規定の条文と、問いの見分け方 |
| `docs/CITATION.md` | 引用書式と、階層ラベルと `legal_status` の対応表 |
| `docs/ERROR-HANDLING.md` / `docs/ERROR-CODES.md` | error contract の正典。各 MCP はこの語彙に合わせて実装する |
| `docs/ARCHITECTURE.md` | family の中での Skill の位置づけ |
| `workflows/feasibility-check.md` | 実装前に、仕様が法令のどこに触れるかを条文で確かめる手順書（v0.8.0 から） |
| `workflows/tax-research.md` | 通達・Q\&A から根拠条文へ戻る税務調査の手順書 |
| `examples/` | インボイス登録要件の調査例、エラーからの復帰例、領収書 PDF の保存機能の実現可能性調査（feasibility-check の実測、v0.8.1） |

## 次の版で予定していること

* workflow の追加: 改正追跡（`revision-tracking`）。MCP の追加を待たずに書けます
* examples の追加: 相続税の改正（電子帳簿保存法は v0.8.1 で追加済み）
* 労務・民事・知財の workflow は、houki-mhlw-mcp / houki-court-mcp / houki-saiketsu-mcp が揃ってから

v0.2.0（2026-09-07）では、MCP 側の更新に追随して例文の引数名を `tools/list` の `inputSchema` と一致させ、`search_fulltext` を法律本文の入口に加え、`INVALID_ARGUMENT` の対処に `detail.issues[].path` を明記しました。`ARCHITECTURE.md` の配布形態も plugin 化後の状態に更新済みです。
