# Normalize Japanese Addresses with Public ABR Data

Japanese addresses contain inconsistent numerals and omitted administrative names. This skill uses public ABR masters to identify address components and codes while preserving the remaining text.

## Install

```bash
npx skillstore add tahodev/address-normalize
```

## Metadata

- Status: approved
- Slug: tahodev-address-normalize
- Skillstore revision: r1
- Version status: missing
- Tree hash: e8b493e94a50780fefb28b6142cfcc3c14e188c297ad42b5ef09ee47dfaf52ff
- Author: tahodev
- GitHub username: tahodev
- License: MIT
- Repository: https://github.com/tahodev/kurashi-skill/tree/09cb7f9eac85f0c85633cce08328a1a57854a94f/address-normalize
- Ref: 7f17813fb6af1acc7d8fd3fb5f05480f5be52783
- Supported tools: Claude, Codex, Claude Code
- Audit status: complete
- Agent install advisory: allowed
- Manual install advisory: allowed
- Artifact signature: available
- Audit attestation: unavailable
- Human verification: not\_verified
- Risk factors: network, filesystem, external\_commands
- Quality score: 74
- Public page: https://skillstore.pages.dev/skills/tahodev-address-normalize
- Manifest: https://skillstore.pages.dev/api/skills/tahodev-address-normalize/manifest

## Capabilities

- Split an address into prefecture, municipality, town, and remaining address text using longest-prefix matching.
- Return municipality codes, town identifiers, and available town kana and romanized names from ABR records.
- Normalize character width and spaces, and compare supported Arabic and kanji chome numeral variants.
- Try municipality names without county prefixes and infer a missing prefecture from the selected municipality.
- List town records by prefecture and filter their labels using a keyword.
- Download public master ZIP files without API credentials, cache their CSV contents, and refresh them on request.

## Use Cases

- Prepare customer address records: Separate administrative components and identifiers before reviewing unmatched or ambiguous customer addresses.
- Explore municipal town masters: List towns for a selected prefecture and compare keyword results with the published ABR records.
- Prototype an address import workflow: Use the Python helper to extract structured address fields before adding current-record filtering and application-specific validation.

## Prompt Templates

### Parse one address

```
Normalize 東京都千代田区内幸町1丁目1-1 with this skill. Present the prefecture, municipality, town, identifiers, and remaining text in plain language.
```

### Compare numeral variants

```
Compare 新宿区歌舞伎町一丁目4-1 and 新宿区歌舞伎町１丁目4-1. Show whether the town identifiers match and retain each remaining address portion.
```

### Find town candidates

```
List Tokyo town records with prefecture code 13 and keyword 歌舞伎. Present municipality codes, town identifiers, and labels without claiming delivery validation.
```

### Review an address import

```
Review these addresses: [address list]. Check ambiguous municipalities, abolished records, missing chome, and cache age. Separate reliable matches from unresolved entries.
```

## Limitations

- Street numbers, building details, and coordinates are outside the helper's normalization scope.
- Python 3 is required; initial downloads and refreshes need network access, and the cache has no automatic expiration.
- The helper does not filter abolished records, reject ambiguous municipality names, or apply --pref during address parsing.
- The helper does not implement the documented retry for omitted oaza prefixes or historical municipality reconstruction.

## Best Practices

- Refresh masters when freshness matters, then independently exclude abolished records and verify ambiguous municipality matches.
- Review unmatched results and remaining text before importing records or using them for operational decisions.
- Attribute the Digital Agency's Address Base Registry and follow the documented data licensing terms.

## Anti Patterns

- Treating a successful town match as proof that a street number exists or that an address is deliverable.
- Assuming --pref constrains address parsing or that omitted prefectures always produce an unambiguous municipality.
- Using cached or abolished records as current authoritative addresses without reviewing master dates and status fields.

## Security Audit

- Audited at: 2026-10-13T02:46:01.293\+00:00
- Summary: Most static alerts are false positives from Markdown, public data URLs, and scoped cache access. Three findings identify one unbounded download and ZIP decompression risk; a semantic finding identifies abolished-record acceptance. No evidence found of prompt injection, credential access, address exfiltration, or malicious intent.

## Stats

- Views: 0
- Downloads: 0
- Favorites: 0
- Popularity score: 0
