boom-vitt/claude-thai-skills/thai-address
Claude Code and agent skill by boom-vitt/claude-thai-skills
- community
Checking that the SKILL.md file is still in the repository.
Use this skill for any task involving Thai postal address parsing, validation, formatting, or province/postcode lookup. Trigger whenever the user asks to: parse a Thai address into fields, validate a 5-digit Thai postcode, look up a province from its postcode, or format an address for a shipping label. Also trigger for requests like "แยกที่อยู่ไทย", "ตรวจรหัสไปรษณีย์", "แปลที่อยู่เป็นภาษาอังกฤษ", "ที่อยู่จัดส่ง", or any variation involving Thai addresses with ตำบล/แขวง/อำเภอ/เขต/จังหวัด.
Install
npx vskill@latest install boom-vitt/claude-thai-skills/thai-addressSKILL.md
Thai Address (แยก/ตรวจที่อยู่ไทย)
Overview
แยกที่อยู่ไทย (บ้านเลขที่ หมู่ ซอย ถนน ตำบล/แขวง อำเภอ/เขต จังหวัด รหัสไปรษณีย์) เป็น structured dict, ตรวจ postcode 5 หลัก, ดูจังหวัดจาก 2 หลักแรกของ postcode, และ map ระหว่างชื่อไทย/อังกฤษของ 77 จังหวัด. รองรับชื่อถนนหลายคำ (เช่น ถนนพระราม 9, ถนนเลียบทางด่วน) และฟิลด์คอนโด/อพาร์ตเมนต์ (อาคาร, ชั้น, ห้อง) ด้วย.
When to use
- Parse ที่อยู่จากฟอร์ม, e-commerce, PDF
- ตรวจรหัสไปรษณีย์ก่อน submit
- แปลที่อยู่ไทย → English transliteration สำหรับฉลากพัสดุระหว่างประเทศ
- DO NOT use as a delivery-routing source of truth — postcode prefixes are many-to-one (Bangkok metro area shares prefix 10). For exact sub-district resolution, use a Thailand Post sub-district database.
Example prompts
- "แยกที่อยู่นี้ให้หน่อย: 123/45 ซอยสุขุมวิท 21 ถนนสุขุมวิท แขวงคลองเตยเหนือ เขตวัฒนา กรุงเทพ 10110"
- "รหัส 50200 อยู่จังหวัดอะไร"
Field ordering (สำคัญ!)
Thai postal addresses go small-to-large — the reverse of English convention. Always order fields like this on a shipping label:
Example (house):
Example (condo / apartment):
Bangkok vs provincial vocabulary
| Concept | Bangkok | Province | English | |
|---|---|---|---|---|
| Sub-district | แขวง | ตำบล (ต.) | Sub-district / Tambon / Khwaeng | |
| District | เขต | อำเภอ (อ.) | District / Amphoe / Khet | |
| Province | กรุงเทพมหานคร | จังหวัด (จ.) | Bangkok / Province / Changwat |
Never mix these. A Bangkok address must use แขวง/เขต; a provincial address must use ตำบล/อำเภอ. Mixing them is a strong "this address is wrong" signal.
Transliteration cheatsheet
| Thai | English / Roman | |
|---|---|---|
| บ้านเลขที่ / เลขที่ | No. | |
| หมู่ที่ / หมู่ / ม. | Moo / Mu | |
| ซอย / ซ. | Soi | |
| ถนน / ถ. | Road / Rd. | |
| อาคาร / ตึก / คอนโด | Building / Block / Condo | |
| ชั้น | Floor / Fl. | |
| ห้อง | Unit / Room | |
| ตำบล / ต. | Sub-district / Tambon | |
| อำเภอ / อ. | District / Amphoe | |
| แขวง | Sub-district / Khwaeng | |
| เขต | District / Khet | |
| จังหวัด / จ. | Province / Changwat | |
| รหัสไปรษณีย์ | Postcode |
Quick reference
| Function | Returns | |
|---|---|---|
parse_address(s) | dict with 11 keys (any may be None) | |
validate_postcode(pc) | bool | |
province_from_postcode(pc) | Thai province name or None |
parse_address return keys
house_no, moo, soi, road, building, floor, unit, subdistrict, district, province, postcode. Each is a str or None. building covers อาคาร / ตึก / คอนโด.
Multi-token road names are captured up to the next address keyword, so ถนนพระราม 9 แขวงห้วยขวาง … yields road = "พระราม 9". Thai numerals (๐-๙) and compound names (ถนนเลียบทางด่วน, ถนนสาทรเหนือ) are supported.
Postcode prefix map (selected)
| Prefix | Region | |
|---|---|---|
| 10 | กรุงเทพมหานคร & ปริมณฑล (sub-districts of Samut Prakan also fall here) | |
| 11 | นนทบุรี | |
| 12 | ปทุมธานี | |
| 20–27 | ภาคตะวันออก | |
| 30–49 | ภาคอีสาน | |
| 50–58 | ภาคเหนือ | |
| 60–67 | ภาคเหนือตอนล่าง | |
| 70–77 | ภาคกลาง/ตะวันตก | |
| 80–86 | ภาคใต้ตอนบน | |
| 90–96 | ภาคใต้ตอนล่าง |
Full 77-province table: `provinces.json`.
Implementation
- Python: `parse.py` —
python parse.pyruns self-tests - TypeScript: `parse.ts` —
npx tsx parse.tsruns self-tests
Common mistakes
- Field reversal. Writing
Bangkok 10110 Wattana Khwaeng…in English order on a Thai-side label confuses postmen. Always small-to-large in Thai. - Mixing แขวง with อำเภอ. Bangkok = แขวง/เขต. Everywhere else = ตำบล/อำเภอ. Never mix.
- Trusting postcode prefix alone. Prefix 10 spans Bangkok, Samut Prakan, parts of Nonthaburi and Pathum Thani. Use the full 5-digit code for routing.
- Dropping leading zeros from house numbers.
123/4and123/04may differ; preserve as the user wrote them. - Soi naming. Soi names are often the same as the parent road (
ซอยสุขุมวิท 21is offถนนสุขุมวิท). Don't merge them or you'll lose the sub-numbering.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/thai-address/SKILL.md
Popularity
- Repository stars
- 54
- Repository forks
- 4
- 7-day trend score
- 20
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 24 Oct 2026, 12 days ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/boom-vitt/claude-thai-skills/thai-address)