zipcode-lookuplisted
Install: claude install-skill tahodev/kurashi-skill
# zipcode-lookup
日本郵便が公開する郵便番号データ(UTF-8版 KEN_ALL)をダウンロードして、郵便番号⇄住所をローカル検索するスキル。APIキー不要。約12万件の全データを手元に持つので、件数制限なく繰り返し検索できる。
**実測日: 2026-09-12。本文のコマンド・構造は実測で確認したものを収録(個所ごとの日付は各所の記載を参照)。**
## 基本の流れ
### 1. データをダウンロードする
ダウンロードページはここ(2026-09-11にページ構造を確認):
```bash
curl -sm 30 -L -o utf-zip.html https://www.post.japanpost.jp/zipcode/dl/utf-zip.html
```
ページ内の「全国一括」のリンク(2026-09-11時点で `utf/zip/utf_ken_all.zip`)を取り出してダウンロードする。
```bash
href=$(grep -oE 'utf/zip/utf_ken_all\.zip' utf-zip.html | head -1)
curl -sm 120 -L -o utf_ken_all.zip "https://www.post.japanpost.jp/zipcode/dl/${href}"
unzip -o utf_ken_all.zip # KEN_ALL.CSV (UTF-8) が出てくる
```
**直リンクを推測で書かない。** 必ずページを経由して、そのとき記載されているリンクを使う。
**データセンター系IPからはzipをダウンロードできない(重要)。** 2026-09-11と2026-09-12の実測では、データセンター系IPからのアクセスではzipが(ページから取り出した正規リンク・ブラウザ相当のUser-Agentでも)すべて404を返した。ダウンロードページ自体は200で見えるので「ページは開けるのにzipだけ404」なら、このIP制限にかかっている可能性が高い。クラウド上のエージェント実行環境はだいたいデータセンターIPなので、この環境ではダウンロード自体が成立しないことに注意。その場合の代替:
1. ユーザーに自分のPC(住宅回線)で `utf_ken_all.zip` をダウンロードしてもらい、ファイルを渡してもらう。
2. ユーザー側のマシンでこのスキルの手順を実行してもらう。
3. どちらも無理なら「この実行環境のIPからは日本郵便のデータを取得できない」と明示し、推測の値を答えない。
差分だけ欲しい場合は、同じページに「更新データ(追加・廃止・変更)」の月次zipがある。
### 2. 検索する
```bash
# 郵便番号 → 住所 (ハイフンなし7桁で検索)
grep '"1000001",' KEN_ALL.CSV # 千代田区千代田(皇居)
# 住所 → 郵便番号 (部分一致)
grep '丸の内' KEN_ALL.CSV
```
## 読み方(CSVの列)
1行15列。文字列フィールドはすべてダブルクォートで囲まれている(郵便番号は `"1000001"` の形)。主要な列は: 1列目=全国地方公共団体コード、3列目=郵便番号(7桁)、7列目=都道府県名、8列目=市区町村名、9列目=町域名(4〜6列目はそれぞれのカナ表記)。
- 町域名が「以下に掲載がない場合」の行は、その市区町村で町域の記載がない地域すべて