デジタル庁 アドレス・ベース・レジストリ(ABR)の公式マスタ(都道府県・市区町村・町字)で日本の住所文字列を分解・正規化する。全国47都道府県・1,918市区町村・町字レコードを使い、住所から都道府県・市区町村(全国地方公共団体コード)・町字(町字ID)・番地を切り出す。表記ゆれ(漢数字/全角/半角の丁目、郡名省略、都道府県名省略)を吸収。APIキー・ログイン不要。住居表示の番地・号の正規化やジオコーディング(緯度経度)は対象外。
aozora
青空文庫の全作品カタログ(公式公開CSV)で著作権切れの文学作品を検索し、本文をプレーンテキストで取得する。タイトル部分一致・著者名・作品IDでの検索に対応し、作品ID・タイトル(読み)・著者・文字遣い種別・著作権フラグ・初出・図書カードURLを返す。APIキー・ログイン不要。
書誌の網羅検索はndl-books、図書館の蔵書はcalil-booksを使う。現行の書籍の購入・在庫は対象外。
含まれるファイル(6)
- SKILL.md5.5 KB
- lookup.py8.2 KB
- tests/fixtures/card789.html8.9 KB
- tests/fixtures/list_sample_utf8.csv2.7 KB
- tests/fixtures/text789_sample.html607 B
- tests/test_lookup.py2.7 KB
SKILL.md(原文)
インストールする前に、エージェントに与えられる指示の中身を確認できます。
aozora
青空文庫(著作権の切れた文学作品を無償公開する電子図書館)の公式カタログCSVと図書カードを読み、作品検索と本文取得を行うスキル。公式APIは存在しないが、全作品の一覧がCSVで公開されており、APIキー・ログイン・ユーザー登録は一切不要。
実測日: 2026-09-30。以下のURL・構造・件数はすべて当日の実測で確認。
青空文庫は「存在する本の書誌」ではなく「今すぐ全文読める本文」を提供する。書誌の網羅検索は ndl-books、図書館の蔵書は calil-books と棲み分ける。
データソース
| データ | URL | 形式 |
|---|---|---|
| 全作品一覧(拡張) | https://www.aozora.gr.jp/index_pages/list_person_all_extended_utf8.zip | zip内CSV (UTF-8, BOM付き) |
| 図書カード | https://www.aozora.gr.jp/cards/{person_id}/card{work_id}.html | HTML (UTF-8) |
| 本文(XHTML) | カードページ内のリンク files/{work_id}_{serial}.html | XHTML (Shift_JIS) |
使い方(ヘルパー)
python3 aozora/lookup.py --title 吾輩は猫である # タイトル部分一致
python3 aozora/lookup.py --author 夏目漱石 # 著者の作品一覧
python3 aozora/lookup.py --work-id 000789 # カードのリンク一覧
python3 aozora/lookup.py --text 000789 --max-chars 500 # 本文をテキスト抽出
python3 aozora/lookup.py --stats # カタログ件数サマリ
ヘルパーはCSVを ~/.cache/aozora/ に24時間キャッシュする(2.1MBのzipを毎回取りに行かない)。
実測で確認したこと (2026-09-30)
- 拡張CSV: zip 2,092,746バイト、19,502行。distinct作品は17,840、人物は1,335。著作権フラグ「あり」の作品が928件混ざっている(著作者の許諾を得て公開中のもの。
--statsで確認できる)。 - 著者別の作品数1位は夏目漱石(113)でも太宰治(274)でもなく宮本百合子(1,186)。2位は岸田国士(641)。
- 文字遣い種別の内訳: 新字新仮名 12,130行 / 新字旧仮名 4,856 / 旧字旧仮名 2,377 / 旧字新仮名 109 / その他 30。
- 2026年に公開された作品は71件。最終更新は2026-08-20のスナップショット(zipのLast-Modified 2026-08-21)。一覧はリアルタイムではなく不定期更新のスナップショット。
実測で確認した罠
- 本文URLは作品IDから推測できない。
card789.htmlの本文はfiles/789_14547.html— 後ろの通し番号は作品IDと無関係。必ず図書カードのHTMLを取りに行ってfiles/リンクを拾う(ヘルパーがやる)。 - 文字コードがページで違う。 図書カードはUTF-8、本文XHTMLはShift_JIS。ヘッダのcharsetを見て切り替える(ヘルパーは自動判定)。
- CSVはBOM付きUTF-8。 素の
utf-8で読むと先頭列名にBOMが混入する。utf-8-sigで読む。 - 1作品=複数行。 翻訳物は著者+翻訳者で2行になる(ウェストミンスター寺院=アーヴィング著/高津春繁訳)。行数(19,502)は作品数(17,840)ではない。作品単位で数えるときは作品IDで畳む。
- ルビは
<ruby><rb><rt><rp>構造。 テキスト化するときは<rt>(読み)と<rp>(括弧)を要素ごと落とさないと「吾輩()は猫である」のように空の括弧が残る。
失敗時の対応
- 作品が見つからない: タイトルは正確な表記(旧字体・旧仮名遣いのまま登録されている場合あり)。著者検索は「夏目漱石」のように姓名をスペースなしで連結する。CSVが古い可能性があるのでキャッシュを削除して再取得する(
rm -rf ~/.cache/aozora)。 - 文字化け: 本文を直接
curlした場合、ターミナルがUTF-8だと文字化けする。Shift_JISなのでiconv -f shift_jis -t utf-8を通すか、ヘルパーの--textを使う。 - 取得したHTMLに本文がない: 青空文庫には図書カードがあっても本文未入力(入力中)の作品がある。カードの「本文」リンクの有無で判断する。
English summary
Searches Aozora Bunko (Japan's public-domain digital library) using its official full-catalog CSV — no API key or login. Finds works by title (partial match) or author, then fetches the book-card page to locate the full text (the text URL contains a serial number that cannot be derived from the work ID). Extracts plain text from the Shift_JIS XHTML, stripping ruby annotations (keeps base characters only). Returns work ID, title (with kana reading), author, orthography type, copyright flag, first-publication info, and card URL. The catalog is a snapshot (19,502 rows / 17,840 works / 1,335 persons as of 2026-08-21, measured 2026-09-30), not a live API. For exhaustive bibliography use ndl-books; for library holdings use calil-books.
レビュー
まだレビューはありません。使ってみた感想をお寄せください。
同じリポジトリのスキル
概要と使いどころ
環境省の大気汚染物質広域監視システム(AEROS・そらまめくん)から、PM2.5・光化学オキシダントなどの測定値(速報値)を取得する。全国約1,600測定局の最新1時間値・測定局ごとの今日/7日分・都道府県ごとの月次履歴に対応。「今のPM2.5」「空気が悪い?」の質問に答える。APIキー・ログイン不要。確定値(過去の公式統計)は対象外。
気象庁の雨雲レーダー(解析雨量・降水ナウキャスト)タイルから、今の雨の強さとこの後30〜60分の見通しを調べる。今雨降ってる、雨雲、あとどれくらいで雨、降水ナウキャストの質問に対応。APIキー・ログイン不要。明日以降の天気はjma-weather、警報・地震・津波はbosai-alertを使う。
気象庁のアメダス(地域気象観測システム)最新観測値を取得する。今の気温・湿度・風・降水量・気圧を全国約1,300観測所から調べる。「今の気温」「今の雨量」「今の風」の質問に対応。APIキー・ログイン不要。予報はjma-weather、雨雲の動きはamagumo、警報はbosai-alertを使う。
気象庁の防災情報(地震速報・震度詳細、気象警報・注意報、津波情報)を公開JSONから取得する。地震、震度、警報、注意報、津波の確認に対応。APIキー・ログイン不要。ふだんの天気予報は対象外(jma-weatherを使う)。
気象庁の台風情報JSONで現在発生中の台風の有無と情報を確認する。台風、台風何号、台風接近、進路の質問に対応。APIキー・ログイン不要。地震・津波・気象警報はbosai-alert、天気予報はjma-weather、雨雲はamagumoを使う。