Not in the top 1,000 by GitHub stars
Boom-Vitt/claude-thai-skills
ทักษะ Claude Code สำหรับคนไทย — แปล, แคปชั่น, เรซูเม่, จดหมายราชการ, PDPA, ใบกำกับภาษี, PromptPay, เลขบัตร ปชช., วันที่ พ.ศ. — 12 skills
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
skills/thai-address/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → f584fb4cf420
No earlier version was observed for comparison.
skills/thai-customer-service/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → f584fb4cf420
No earlier version was observed for comparison.
skills/thai-date-format/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → f584fb4cf420
No earlier version was observed for comparison.
skills/thai-festival-card/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → f584fb4cf420
No earlier version was observed for comparison.
skills/thai-government-form/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → f584fb4cf420
No earlier version was observed for comparison.
skills/thai-id-validate/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → f584fb4cf420
No earlier version was observed for comparison.
skills/thai-invoice/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → f584fb4cf420
No earlier version was observed for comparison.
skills/thai-pdpa/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → f584fb4cf420
No earlier version was observed for comparison.
skills/thai-resume/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → f584fb4cf420
No earlier version was observed for comparison.
skills/thai-social-caption/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → f584fb4cf420
No earlier version was observed for comparison.
skills/thai-text-processing/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → f584fb4cf420
No earlier version was observed for comparison.
skills/thai-translate/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → f584fb4cf420
No earlier version was observed for comparison.
template/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → f584fb4cf420
No earlier version was observed for comparison.
Verified commit f584fb4cf420107c0e8feff63b412e7a88988927
git clone --filter=blob:none --no-checkout https://github.com/Boom-Vitt/claude-thai-skills.git .hotskills/boom-vitt-claude-thai-skills && git -C .hotskills/boom-vitt-claude-thai-skills checkout --detach f584fb4cf420107c0e8feff63b412e7a88988927
# Copy each selected skill directory from .hotskills/boom-vitt-claude-thai-skills into .claude/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/Boom-Vitt/claude-thai-skills.git .hotskills/boom-vitt-claude-thai-skills && git -C .hotskills/boom-vitt-claude-thai-skills checkout --detach f584fb4cf420107c0e8feff63b412e7a88988927
# Copy each selected skill directory from .hotskills/boom-vitt-claude-thai-skills into .agents/skills/<skill-name>/Heat
2.8- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
- thai-address
skills/thai-address - thai-customer-service
skills/thai-customer-service - thai-date-format
skills/thai-date-format - thai-festival-card
skills/thai-festival-card - thai-government-form
skills/thai-government-form - thai-id-validate
skills/thai-id-validate - thai-invoice
skills/thai-invoice - thai-pdpa
skills/thai-pdpa - thai-resume
skills/thai-resume - thai-social-caption
skills/thai-social-caption - thai-text-processing
skills/thai-text-processing - thai-translate
skills/thai-translate - thai-your-skill-name
template
How it works
thai-address
When your agent uses it
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 ตำบล/แขวง/อำเภอ/เขต/จังหวัด.
What it loads into context
Frontmatter
131 tokensAlways available to the agent
SKILL.md
1,505 tokensWhen the skill is activated
Reference documents
46,951 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- When to use
- Example prompts
- Field ordering (สำคัญ!)
- Bangkok vs provincial vocabulary
- Transliteration cheatsheet
- Quick reference
- Implementation
- Common mistakes
Scripts executed separately
parse.pyparse.ts../thai-date-format/convert.py../thai-date-format/convert.ts../thai-id-validate/validate.py../thai-id-validate/validate.ts../thai-invoice/calc.py../thai-text-processing/examples/normalize.py../thai-text-processing/examples/segmentation.py
Files
../../.claude-plugin/marketplace.jsonasset6,177 bytes../../.claude-plugin/plugin.jsonasset1,012 bytes.claude-plugin/plugin.jsonasset392 bytesSKILL.mdcore6,965 bytesSKILL.mdcore6,965 bytesparse.pyruns14,390 bytesparse.tsruns11,760 bytesprovinces.jsonasset8,798 bytes../thai-customer-service/.claude-plugin/plugin.jsonasset523 bytes../thai-customer-service/SKILL.mddoc18,232 bytes../thai-date-format/.claude-plugin/plugin.jsonasset441 bytes../thai-date-format/SKILL.mddoc9,302 bytes../thai-date-format/convert.pyruns7,905 bytes../thai-date-format/convert.tsruns6,059 bytes../thai-festival-card/.claude-plugin/plugin.jsonasset413 bytes../thai-festival-card/SKILL.mddoc25,931 bytes../thai-government-form/.claude-plugin/plugin.jsonasset454 bytes../thai-government-form/SKILL.mddoc27,232 bytes../thai-government-form/letter-template.mddoc8,556 bytes../thai-id-validate/.claude-plugin/plugin.jsonasset417 bytes../thai-id-validate/SKILL.mddoc12,206 bytes../thai-id-validate/validate.pyruns9,370 bytes../thai-id-validate/validate.tsruns7,082 bytes../thai-invoice/.claude-plugin/plugin.jsonasset384 bytes../thai-invoice/SKILL.mddoc12,183 bytes../thai-invoice/calc.pyruns5,038 bytes../thai-invoice/templates/quotation.mddoc4,412 bytes../thai-invoice/templates/tax-invoice-full.mddoc3,622 bytes../thai-invoice/templates/wht-certificate.mddoc5,569 bytes../thai-pdpa/.claude-plugin/plugin.jsonasset420 bytes../thai-pdpa/SKILL.mddoc18,744 bytes../thai-pdpa/templates/consent-banner.mddoc9,315 bytes../thai-pdpa/templates/privacy-notice-th.mddoc11,217 bytes../thai-resume/.claude-plugin/plugin.jsonasset361 bytes../thai-resume/SKILL.mddoc18,738 bytes../thai-resume/template-bilingual.mddoc4,463 bytes../thai-social-caption/.claude-plugin/plugin.jsonasset389 bytes../thai-social-caption/SKILL.mddoc16,997 bytes../thai-text-processing/.claude-plugin/plugin.jsonasset494 bytes../thai-text-processing/SKILL.mddoc12,609 bytes../thai-text-processing/examples/normalize.pyruns5,303 bytes../thai-text-processing/examples/segmentation.pyruns3,245 bytes../thai-translate/.claude-plugin/plugin.jsonasset382 bytes../thai-translate/SKILL.mddoc13,105 bytes
Read SKILL.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 อยู่จังหวัดอะไร"View the complete source on GitHubthai-customer-service
When your agent uses it
Use this skill for any task involving Thai customer service messaging — replies, apologies, status updates, refund/return scripts, and auto-replies on LINE OA, Facebook Page, Shopee, Lazada, Instagram DM, TikTok Shop, and similar channels. Trigger whenever the user asks to: reply to a Thai customer, draft an apology, write a refund or return message, write an auto-reply, de-escalate an angry customer, or send a shipping/status update in Thai. Also trigger for requests like "ตอบลูกค้า", "reply LINE OA", "ตอบแชท", "Shopee reply", "ข้อความขอโทษลูกค้า", "customer service Thai", "เขียน auto reply", "ตอบ inbox", or any variation. If the output is a Thai message from a business to a customer, use this skill.
What it loads into context
Frontmatter
180 tokensAlways available to the agent
SKILL.md
3,181 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- When to use
- Core conventions
- Examples
- บทตอบกรณีปัญหาการจัดส่ง (Shipping-issue scripts)
- Common mistakes
Files
.claude-plugin/plugin.jsonasset523 bytesSKILL.mdcore18,232 bytes
Read SKILL.md
# ตอบลูกค้า (Thai Customer Service Replies)
## Overview
การตอบลูกค้าไทยต้องอ่อนน้อม รวดเร็ว และใช้สรรพนามให้ถูกต้องตามอายุ/ความสัมพันธ์. Thai CS is conversational politeness layered on transactional speed — every reply needs a particle (ค่ะ/ครับ), a clear next step, and zero defensiveness even when the customer is wrong.
## When to use
- ตอบแชท LINE OA, Facebook Page Inbox, IG DM
- ตอบคำถามใน Shopee, Lazada, TikTok Shop
- เขียนข้อความขอโทษ คืนเงิน เปลี่ยนสินค้า
- เขียน auto-reply / canned responses
- ตอบลูกค้าโมโห หรือ complaint
## Core conventions
View the complete source on GitHubthai-date-format
When your agent uses it
Use this skill for any task involving Thai date formatting, Buddhist Era (พ.ศ.) ↔ Gregorian (ค.ศ.) year conversion, or Arabic ↔ Thai numeral conversion. Trigger whenever the user asks to: convert พ.ศ. to ค.ศ. or vice versa, format a date in Thai government / business / casual style, parse a Thai date string with full or abbreviated month names, or convert digits between 0123456789 and ๐๑๒๓๔๕๖๗๘๙. Also trigger for requests like "แปลง พ.ศ. เป็น ค.ศ.", "จัดรูปแบบวันที่ไทย", "วันที่แบบราชการ", "เปลี่ยนเป็นเลขไทย", or any variation involving Thai calendar dates.
What it loads into context
Frontmatter
161 tokensAlways available to the agent
SKILL.md
2,360 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- When to use
- Example prompts
- Quick reference
- Implementation
- ปฏิทินจันทรคติ (Lunar calendar — ขึ้น/แรม)
- รูปแบบเวลา (Thai time format)
- Common mistakes
Scripts executed separately
convert.pyconvert.ts
Files
.claude-plugin/plugin.jsonasset441 bytesSKILL.mdcore9,302 bytesconvert.pyruns7,905 bytesconvert.tsruns6,059 bytes
Read SKILL.md
# Thai Date Format (แปลงวันที่ไทย พ.ศ./ค.ศ.)
## Overview
แปลงระหว่าง พ.ศ. กับ ค.ศ. (`BE = CE + 543`), จัดรูปแบบวันที่ไทยตามสไตล์ราชการ / ธุรกิจ / กันเอง / สั้น, และสลับเลขอารบิก ↔ เลขไทย. Handles full month names (มกราคม) and abbreviations (ม.ค.).
## When to use
- รายงาน/หนังสือราชการที่ต้องการ พ.ศ.
- Parse วันที่จากเอกสาร PDF/Excel ที่ใช้ภาษาไทย
- แสดงผลในแอปสำหรับผู้ใช้ไทย (ทั้งเลขไทยและ พ.ศ.)
- DO NOT use for pre-1941 historical documents where the Thai fiscal year started 1 April; this module assumes Gregorian-aligned years.
## Example prompts
- "แปลง วันที่ 16 พฤษภาคม พ.ศ. 2569 เป็น ISO date"
- "Format วันนี้แบบราชการพร้อมเลขไทย"View the complete source on GitHubthai-festival-card
When your agent uses it
Use this skill for any task involving Thai festival greetings, condolences, wedding cards, royal-occasion messages, or seasonal cards. Trigger whenever the user asks to: write a Songkran/Loy Krathong/New Year greeting, draft a condolence message, write a wedding card, compose a Mother's/Father's Day message, write a royal-occasion blessing, or pick auspicious wording for a Thai card. Also trigger for requests like "อวยพรปีใหม่", "การ์ดสงกรานต์", "ข้อความลอยกระทง", "คำไว้อาลัย", "การ์ดแต่งงาน", "อวยพรวันแม่", "อวยพรวันพ่อ", "ทรงพระเจริญ", "ตรุษจีน", or any festival/ceremonial greeting in Thai.
What it loads into context
Frontmatter
174 tokensAlways available to the agent
SKILL.md
4,920 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- When to use
- Conventions / Rules
- Templates / Examples
- Common mistakes
Files
.claude-plugin/plugin.jsonasset413 bytesSKILL.mdcore25,931 bytes
Read SKILL.md
# การ์ดอวยพร & คำไว้อาลัยไทย (Thai Festival & Ceremonial Cards)
## Overview
การเลือกใช้ถ้อยคำให้เหมาะกับโอกาส, สถานะของผู้รับ, และวัฒนธรรมไทยเป็นหัวใจของการ์ดและคำอวยพร — ผิดน้ำเสียงหรือผิดสีอาจกลายเป็นการลบหลู่. Choosing tone, recipient status, and culturally-appropriate wording is the heart of Thai cards — wrong tone or wrong color can become offensive.
## When to use
- ผู้ใช้ขออวยพรเทศกาล (ปีใหม่, สงกรานต์, ลอยกระทง, ตรุษจีน, วันแม่/พ่อ, วันสำคัญทางศาสนา)
- ผู้ใช้เขียนคำไว้อาลัย, แสดงความเสียใจ, หรือข้อความงานศพ
- ผู้ใช้ทำการ์ดงานแต่งงาน, ขึ้นบ้านใหม่, รับปริญญา
- ผู้ใช้ทำข้อความเกี่ยวกับสถาบันพระมหากษัตริย์/พระบรมวงศานุวงศ์
## Conventions / Rules
### ปฏิทินวันสำคัญ (Calendar of major occasions)View the complete source on GitHubthai-government-form
When your agent uses it
Use this skill for any task involving Thai government letters, official correspondence, formal petitions, authorization letters, leave requests, or ราชการ forms. Trigger whenever the user asks to: write หนังสือราชการ, draft a คำร้อง, write an authorization (หนังสือมอบอำนาจ), submit a leave form (ใบลา), petition a government agency, or write a formal letter to a Thai official. Also trigger for requests like "เขียนหนังสือราชการ", "ยื่นเรื่อง", "คำร้อง", "หนังสือถึงราชการ", "ทำหนังสือถึง", "ใบลา", "หนังสือมอบอำนาจ", "official Thai letter", or any formal ราชการ document task.
What it loads into context
Frontmatter
159 tokensAlways available to the agent
SKILL.md
4,549 tokensWhen the skill is activated
Reference documents
1,470 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- When to use
- Conventions / Rules
- Templates / Examples
- e-Saraban (สารบรรณอิเล็กทรอนิกส์)
- Common mistakes
Files
.claude-plugin/plugin.jsonasset454 bytesSKILL.mdcore27,232 bytesletter-template.mddoc8,556 bytes
Read SKILL.md
# หนังสือราชการไทย (Thai Government Letters)
## Overview
หนังสือราชการต้องเป็นไปตาม **ระเบียบสำนักนายกรัฐมนตรีว่าด้วยงานสารบรรณ พ.ศ. 2526** (และฉบับแก้ไขเพิ่มเติม) — โครงสร้าง, คำขึ้นต้น, คำลงท้าย, และตำแหน่งของส่วนประกอบทุกอย่างถูกกำหนดไว้ตายตัว. Thai official letters follow ระเบียบสารบรรณ 2526; every block, salutation, and closing phrase has a prescribed form and incorrect rank-of-address can cause the letter to be returned without action.
## When to use
- ผู้ใช้ต้องเขียนหนังสือถึงหน่วยงานราชการ/รัฐวิสาหกิจ
- ผู้ใช้ต้องร่างคำร้อง, หนังสือมอบอำนาจ, ใบลา, หนังสือรับรอง, หรือหนังสือเชิญ
- ผู้ใช้ต้องเลือกคำขึ้นต้น (เรียน/กราบเรียน/กราบบังคมทูล) ให้ถูกต้องตามยศ/ตำแหน่งของผู้รับ
## Conventions / Rules
### โครงสร้างหนังสือภายนอก (External letter format — per ระเบียบสารบรรณ 2526)
View the complete source on GitHubthai-id-validate
When your agent uses it
Use this skill for any task involving Thai national ID, tax ID, phone number, or PromptPay QR code validation, normalization, or generation. Trigger whenever the user asks to: validate a Thai citizen ID, check a tax ID checksum, normalize Thai phone numbers between +66 and 0X formats, or build a PromptPay QR payload. Also trigger for requests like "ตรวจเลขบัตรประชาชน", "เช็คเลขผู้เสียภาษี", "แปลงเบอร์โทร +66", "สร้าง PromptPay QR", "ทำคิวอาร์พร้อมเพย์", or any variation involving 13-digit Thai IDs or Thai phone formats.
What it loads into context
Frontmatter
141 tokensAlways available to the agent
SKILL.md
2,402 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- When to use
- Example prompts
- Quick reference
- Implementation
- เลขหลักแรกของบัตรประชาชน (First-digit prefix)
- Slip QR (QR บนสลิปโอนเงิน)
- Common mistakes
Scripts executed separately
validate.pyvalidate.ts
Files
.claude-plugin/plugin.jsonasset417 bytesSKILL.mdcore12,206 bytesvalidate.pyruns9,370 bytesvalidate.tsruns7,082 bytes
Read SKILL.md
# Thai ID / Phone / PromptPay (ตรวจเลขบัตร เบอร์ พร้อมเพย์)
## Overview
ตรวจสอบ checksum ของเลขบัตรประชาชนไทย / เลขประจำตัวผู้เสียภาษี (13 หลัก), แปลงเบอร์โทรระหว่างรูป `+66` กับ `0X`, และสร้าง payload สำหรับ PromptPay QR (รูปแบบ EMVCo TLV). Algorithm and TLV layout follow the official Thai Revenue Department and ITMX PromptPay specifications.
## When to use
- ตรวจ checksum เลขบัตรประชาชน 13 หลัก (citizen ID / individual tax ID share the same algorithm)
- Normalize เบอร์โทร: ผู้ใช้ป้อน `+66 81 234 5678` แต่ระบบเก็บ `0812345678`
- สร้าง QR สำหรับรับเงิน PromptPay จากเบอร์มือถือหรือเลขบัตรประชาชน
- DO NOT use for company tax IDs that follow non-standard formats, or for verifying that an ID belongs to a real person (checksum only proves format, not existence).
## Example prompts
- "ตรวจเลขบัตร 1-1017-00230-70-X ให้หน่อย"
- "เบอร์ 081-234-5678 แปลงเป็น E.164 ให้ที"View the complete source on GitHubthai-invoice
When your agent uses it
Use this skill for any task involving Thai tax invoices, receipts, quotations, or withholding-tax certificates. Trigger whenever the user asks to: draft a Thai tax invoice (ใบกำกับภาษี), receipt (ใบเสร็จ), quotation (ใบเสนอราคา), credit/debit note (ใบลดหนี้/ใบเพิ่มหนี้), or WHT certificate (ภ.ง.ด.3/53). Also trigger for requests like "ออกใบกำกับภาษี", "ใบเสร็จ", "ใบเสนอราคา", "Thai tax invoice", "VAT 7%", "ภาษีหัก ณ ที่จ่าย", or any variation. If the context involves Thai accounting documents under Revenue Code §86/4, use this skill.
What it loads into context
Frontmatter
162 tokensAlways available to the agent
SKILL.md
2,913 tokensWhen the skill is activated
Reference documents
3,168 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- When to use
- Required fields — full tax invoice (Revenue Code §86/4)
- VAT
- Withholding tax (ภาษีหัก ณ ที่จ่าย)
- Numbering, credit/debit notes, quotation
- e-Tax Invoice & e-Receipt (ใบกำกับภาษีอิเล็กทรอนิกส์)
- Filing returns — ภ.พ.30 (VAT) and ภ.ง.ด.1/3/53 (WHT)
- Common mistakes
- Templates
- Calculator
Scripts executed separately
calc.py
Files
.claude-plugin/plugin.jsonasset384 bytesSKILL.mdcore12,183 bytesSKILL.mdcore12,183 bytescalc.pyruns5,038 bytestemplates/quotation.mddoc4,412 bytestemplates/tax-invoice-full.mddoc3,622 bytestemplates/wht-certificate.mddoc5,569 bytes
Read SKILL.md
# Thai Tax Documents (ใบกำกับภาษี / ใบเสร็จ / ใบเสนอราคา / WHT)
## Overview
This skill drafts Thai tax invoices compliant with Revenue Code §86/4, plus quotations, receipts, credit/debit notes, and withholding-tax certificates (ภ.ง.ด.3/53). It applies the correct VAT 7% and WHT rates per category and matches Revenue Department wording. Use it whenever you need bookkeeping-grade Thai accounting documents — never improvise the legal phrasing or VAT/WHT math; pull from this skill.
## When to use
- ออกใบกำกับภาษีให้ลูกค้านิติบุคคล / individual buyers
- บันทึก ภ.ง.ด.3 (หัก ณ ที่จ่ายบุคคลธรรมดา) or ภ.ง.ด.53 (นิติบุคคล)
- เขียนใบเสนอราคา / ใบลดหนี้ / ใบเพิ่มหนี้
- Drafting English-Thai bilingual invoices for foreign buyers
- Calculating VAT-inclusive vs VAT-exclusive totals
- Computing withholding tax to deduct from a supplier payment
## Required fields — full tax invoice (Revenue Code §86/4)View the complete source on GitHubthai-pdpa
When your agent uses it
Use this skill for tasks involving Thailand's PDPA (พ.ร.บ. คุ้มครองข้อมูลส่วนบุคคล พ.ศ. 2562). Trigger whenever the user asks to: draft a Thai privacy notice, write a PDPA consent banner, prepare a data subject rights notice, draft a 72-hour breach notification to the PDPC, decide if a DPO is required, list lawful bases, handle cross-border transfers, or audit a notice against PDPA. Also trigger for "เขียน privacy policy", "PDPA", "ขอความยินยอม", "นโยบายความเป็นส่วนตัว", "consent banner ไทย", "Thai privacy notice", "PDPA compliance", "DPO Thailand", "ประกาศการละเมิดข้อมูล", or any variation. If the task involves Thai personal data law, consent, or notice drafting, use this skill.
What it loads into context
Frontmatter
191 tokensAlways available to the agent
SKILL.md
4,069 tokensWhen the skill is activated
Reference documents
3,992 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- When to use
- PDPA vs GDPR — what changes when drafting
- Required elements of a privacy notice (Section 23)
- Consent banner rules (Section 19 + PDPC consent guidance)
- Breach notification (Section 37)
- DPO appointment triggers (Section 41)
- Penalties cheat sheet
- Cross-border transfers (Section 28 / 29) and standard contractual clauses
- DPIA — risk assessment (no codified DPIA section)
- Sectoral overlays
- Controller, processor, and "joint controllers" (Section 6)
- Common mistakes
Files
.claude-plugin/plugin.jsonasset420 bytesSKILL.mdcore18,744 bytestemplates/consent-banner.mddoc9,315 bytestemplates/privacy-notice-th.mddoc11,217 bytes
Read SKILL.md
# PDPA ไทย (Thailand Personal Data Protection Act drafting)
## Overview
พ.ร.บ. คุ้มครองข้อมูลส่วนบุคคล พ.ศ. 2562 (PDPA, effective 1 June 2022) ใกล้เคียงกับ GDPR แต่ไม่เหมือนกัน. Copy-pasting a GDPR notice into Thai is the #1 reason notices fail audits — references to "Article 6 GDPR" make the notice non-compliant on its face. Always re-anchor citations to PDPA sections.
## When to use
- ร่างนโยบายความเป็นส่วนตัว (privacy notice) สำหรับเว็บไซต์ / แอป
- ออกแบบ cookie / consent banner ที่ผ่านเกณฑ์ PDPA
- ร่างหนังสือแจ้งสิทธิ์เจ้าของข้อมูล (data subject rights notice)
- แจ้งเหตุการละเมิดข้อมูล (data breach notification) ภายใน 72 ชั่วโมงต่อ PDPC
- ประเมินว่าต้องแต่งตั้ง DPO หรือไม่
- ตรวจสอบ template ที่แปลมาจาก GDPR ว่าใช้ได้กับ PDPA หรือไม่
## PDPA vs GDPR — what changes when draftingView the complete source on GitHubthai-resume
When your agent uses it
Use this skill for any task involving Thai-language or bilingual (TH/EN) resumes and CVs. Trigger whenever the user asks to: write a Thai resume, draft a CV in Thai, build a bilingual Thai-English resume, format an application for a Thai employer, choose between พ.ศ. and ค.ศ. dates in a CV, or tailor a resume for ราชการ, MNC, or tech startups in Thailand. Also trigger for requests like "เขียนเรซูเม่", "เขียน CV ภาษาไทย", "เรซูเม่สองภาษา", "สมัครงาน ราชการ", "เขียนเรซูเม่ภาษาไทย", or any variation involving Thai job applications.
What it loads into context
Frontmatter
150 tokensAlways available to the agent
SKILL.md
3,416 tokensWhen the skill is activated
Reference documents
1,004 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- When to use
- Conventions / Rules
- Templates / Examples
- Common mistakes
Files
.claude-plugin/plugin.jsonasset361 bytesSKILL.mdcore18,738 bytestemplate-bilingual.mddoc4,463 bytes
Read SKILL.md
# เรซูเม่ภาษาไทย (Thai Resume)
## Overview
เรซูเม่ภาษาไทยที่ดีต้องสะท้อนทั้งโครงสร้างที่ผู้ว่าจ้างไทยคาดหวัง (รูปถ่าย, คำนำหน้าชื่อ, ลำดับการศึกษา) และปรับโทนตามอุตสาหกรรม (ราชการ, MNC, สตาร์ทอัพ). A great Thai resume balances the structural expectations of Thai employers (photo, title prefix, education-first ordering) with industry-specific tone (formal for ราชการ, bilingual for MNCs, English-first for tech).
## When to use
- ผู้ใช้ขอให้เขียน/แก้/แปลเรซูเม่หรือ CV เป็นภาษาไทยหรือสองภาษา
- ผู้ใช้สมัครงานในประเทศไทย ไม่ว่าจะภาคเอกชน, ราชการ, รัฐวิสาหกิจ, หรือบริษัทข้ามชาติ
- ผู้ใช้ต้องตัดสินใจระหว่างรูปแบบ พ.ศ./ค.ศ., รูปถ่าย/ไม่มีรูปถ่าย, หรือคำนำหน้าชื่อ
## Conventions / Rules
### โครงสร้างพื้นฐาน (Section order)
1. **ข้อมูลส่วนตัว / Personal Information** — ชื่อ-นามสกุล (พร้อมคำนำหน้า), รูปถ่าย, วัน/เดือน/ปีเกิด, ที่อยู่, เบอร์โทร, อีเมลView the complete source on GitHubthai-social-caption
When your agent uses it
Use this skill for any task involving writing Thai-language social media captions, posts, or short-form copy. Trigger whenever the user asks to: write a caption for Facebook, Instagram, TikTok, Threads, X (Twitter), Pantip, or LINE TIMELINE in Thai, draft a Thai social post, write a Thai product/review/giveaway post, pick hashtags for a Thai audience, or adapt copy for a Thai social channel. Also trigger for requests like "เขียนแคปชั่น", "caption ภาษาไทย", "เขียน TikTok caption", "โพสต์ Facebook", "ลงไอจี", "caption social media Thai", "เขียนรีวิว", or any variation. If the output is a short Thai post designed to be published on a social platform, use this skill.
What it loads into context
Frontmatter
170 tokensAlways available to the agent
SKILL.md
3,543 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- When to use
- Core conventions
- Examples
- LINE VOOM (LINE Timeline rebranded 2022)
- Live-stream captions (FB Live / TikTok Live / Shopee Live / IG Live)
- Common mistakes
Files
.claude-plugin/plugin.jsonasset389 bytesSKILL.mdcore16,997 bytes
Read SKILL.md
# แคปชั่นโซเชียลไทย (Thai Social Caption)
## Overview
แต่ละแพลตฟอร์มมีโทน ความยาว และ hashtag ที่ต่างกัน เขียนผิดแพลตฟอร์ม = ยอดไม่มา. Each Thai social platform has its own dialect — Facebook ≠ Threads ≠ TikTok. Pick the platform's tone before writing a single word.
## When to use
- เขียนแคปชั่นโพสต์ลง FB, IG, TikTok, Threads, X, Pantip, LINE TL
- เขียนรีวิวสินค้า ร้านอาหาร คาเฟ่
- โพสต์ขายของ giveaway โปรโมชั่น
- โพสต์มูเตลู เลขเด็ด ขอพร
- เลือก hashtag ที่คนไทยใช้จริง
## Core conventions
View the complete source on GitHubthai-text-processing
When your agent uses it
Use this skill for any task involving Thai text in code — word segmentation, Unicode normalization, sorting/collation, search indexing, romanization, truncation, or database/Elasticsearch configuration for Thai. Trigger whenever the user asks to: tokenize / segment Thai (no spaces between words), normalize Thai text (NFC vs decomposed), sort Thai strings correctly, transliterate to roman / Latin, build a Thai search index, fix Thai text that breaks length limits or renders broken glyphs, or pick a Thai NLP library. Also trigger for requests like "ตัดคำภาษาไทย", "Thai word segmentation", "Thai NLP", "ค้นหาภาษาไทย", "Thai romanization", "PyThaiNLP", "Thai sort", "ICU Thai", "Thai collation", "Thai search index", "Thai full text search", or any variation. If the task involves processing Thai text in software, use this skill.
What it loads into context
Frontmatter
197 tokensAlways available to the agent
SKILL.md
3,251 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- When to use
- 1. The core problem: no spaces
- 2. Word segmentation toolkit
- 3. Unicode normalization (NFC)
- 4. Romanization standards
- 5. Sorting / collation
- 6. Truncation safety
- 7. Database / Elasticsearch indexing
- 8. LLM tokenizers and Thai text
- 9. TIS-620 encoding (legacy)
- Common mistakes
Scripts executed separately
examples/normalize.pyexamples/segmentation.py
Files
.claude-plugin/plugin.jsonasset494 bytesSKILL.mdcore12,609 bytesSKILL.mdcore12,609 bytesSKILL.mdcore12,609 bytesSKILL.mdcore12,609 bytesexamples/normalize.pyruns5,303 bytesexamples/segmentation.pyruns3,245 bytes
Read SKILL.md
# Thai Text Processing (ประมวลผลข้อความภาษาไทยในโค้ด)
## Overview
Thai is written without spaces between words, uses combining tone marks, and does not sort by codepoint. Naive code that works for English silently corrupts Thai: `"ฉันกินข้าว".split(" ")` returns one token, `ORDER BY name` puts vowels in the wrong place, and `LEFT(name, 20)` may chop a syllable mid-character and render `◌`. This skill is the checklist of things to fix.
## When to use
- ตัดคำภาษาไทย (segmentation) สำหรับ search, autocomplete, n-grams
- Unicode normalization (NFC) ก่อนเก็บ / เทียบสตริง
- จัดเรียง (sort / collate) ชื่อภาษาไทยใน DB หรือ list
- ทำ romanization สำหรับ slug, passport-style spelling, academic citation
- ตั้งค่า full-text search index ใน ES / Postgres / MySQL
- ตัดข้อความ (truncate) แบบไม่ทำให้ glyph แตก
- เลือกไลบรารี: PyThaiNLP vs ICU vs nlpO3 vs Lucene Thai analyzer
View the complete source on GitHubthai-translate
When your agent uses it
Use this skill for any task involving English-Thai or Thai-English translation, localization, or rewording. Trigger whenever the user asks to: translate text between Thai and English, localize content for a Thai audience, render English idioms in Thai (or vice versa), pick the right pronouns and register, choose between keeping a term in English vs ทับศัพท์, or fix awkward translations. Also trigger for requests like "แปลเป็นไทย", "แปลอังกฤษเป็นไทย", "ช่วยแปลหน่อย", "localize Thai", "translate this", "Thai version", or any variation. If the task involves moving meaning between Thai and English at any level — word, sentence, document — use this skill.
What it loads into context
Frontmatter
154 tokensAlways available to the agent
SKILL.md
2,713 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- When to use
- Core conventions
- Examples
- Common mistakes
- ราชาศัพท์ minimum (Royal vocabulary basics)
- Scope note — when NOT to use this skill
Files
.claude-plugin/plugin.jsonasset382 bytesSKILL.mdcore13,105 bytes
Read SKILL.md
# แปลไทย-อังกฤษ (Thai ⇄ English Translation)
## Overview
แปลภาษาไม่ใช่แค่เปลี่ยนคำ แต่ต้องเลือกระดับภาษา สรรพนาม และคำทับศัพท์ให้เหมาะกับผู้อ่าน. Translation is register selection first, word selection second — Thai forces you to commit to a social relationship before you finish the sentence.
## When to use
- แปลเอกสาร อีเมล โพสต์ บทความ ระหว่างไทย-อังกฤษ
- Localizing UI, marketing copy, contracts for a Thai audience
- เลือกสรรพนาม "I/you" ที่เหมาะกับบริบท
- ตัดสินใจว่าจะทับศัพท์ คำไหน หรือเก็บภาษาอังกฤษไว้
- แก้คำแปลที่ "อ่านแล้วรู้ว่าแปลมา" ให้เป็นธรรมชาติ
## Core conventions
View the complete source on GitHubthai-your-skill-name
When your agent uses it
Use this skill for any task involving REPLACE-WITH-THE-THAI-CONTEXT (e.g. parsing some Thai data format, drafting a specific kind of Thai document, validating a Thai-specific identifier). Trigger whenever the user asks to PRIMARY-TASK in Thai or English, or when the prompt contains REPLACE-WITH-THAI-TRIGGER-PHRASES like "REPLACE", "REPLACE", "REPLACE". Also trigger for English variants such as "REPLACE" or "REPLACE". Make sure to use this skill whenever the request touches the Thai-specific edge case described above, even if the user does not explicitly name the skill.
What it loads into context
Frontmatter
144 tokensAlways available to the agent
SKILL.md
1,019 tokensWhen the skill is activated
Reference documents
3,579 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- When to use
- When NOT to use
- Core knowledge
- Examples
- Pitfalls
- ถ้ามีโค้ดประกอบ / If this skill ships code
- วิธีใช้ template นี้ / How to use this template
Scripts executed separately
../scripts/test-all.sh../scripts/validate-skills.py
Files
../CONTRIBUTING.mddoc20,428 bytes../scripts/test-all.shruns3,635 bytes../scripts/validate-skills.pyruns7,115 bytesSKILL.mdcore5,257 bytes
Read SKILL.md
# REPLACE-WITH-THAI-TITLE (English subtitle in parentheses)
## Overview
อธิบายสั้นๆ ว่า skill นี้ทำอะไร และทำไม Claude ที่ไม่มี skill ตัวนี้ถึงพลาดเรื่องนี้บ่อย. เขียนสองภาษา — ภาษาไทยก่อน ตามด้วยประโยคอังกฤษ.
Briefly explain what this skill does and why Claude without this skill tends to get it wrong. Two languages, Thai first then English.
## When to use
* ตัวอย่างเคสที่ต้องใช้ skill นี้ (เป็นกระสุนภาษาไทย)
* อีกตัวอย่างหนึ่ง
* Bullet in English for the equivalent case
* Edge case that Claude is likely to miss without this skillView the complete source on GitHubSkills included
- thai-address
- thai-customer-service
- thai-date-format
- thai-festival-card
- thai-government-form
- thai-id-validate
- thai-invoice
- thai-pdpa
- thai-resume
- thai-social-caption
- thai-text-processing
- thai-translate
- thai-your-skill-name
Repository facts
- License
- MIT
- Created
- May 16, 2026
- Last pushed
- Oct 22, 2026
- Forks
- 5
- Open issues
- 0
- Project activity
- Active
Before you install
Local scriptsAutomated signals, not a guarantee
Checked Nov 6, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 5 notes
skills/thai-address/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/thai-invoice/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/thai-text-processing/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/thai-text-processing/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/thai-text-processing/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- No dangerous shell commands
- 146 network referencesin 19 files: skills/thai-customer-service/.claude-plugin/plugin.json:5 skills/thai-date-format/.claude-plugin/plugin.json:5 skills/thai-festival-card/.claude-plugin/plugin.json:5 and 16 more
- 2 obfuscation signalsin 1 file: skills/thai-text-processing/SKILL.md:207
- No instruction overrides
- 18 executable scriptsin 11 files: skills/thai-date-format/convert.py:1 skills/thai-date-format/convert.ts:1 skills/thai-id-validate/validate.py:1 and 8 more
- 2 references to secretsin 1 file: skills/thai-pdpa/templates/privacy-notice-th.md:33
- No requests to vote in Hot
Show all 168 signals by file
.claude-plugin/marketplace.json
.claude-plugin/plugin.json
- Network accessline 5
"author": { "name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" - Network accessline 6
"name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" }, - Network accessline 7
"url": "https://github.com/Boom-Vitt" - Network accessline 8
}, "homepage": "https://github.com/Boom-Vitt/claude-thai-skills", "license": "MIT", - Network accessline 9
"homepage": "https://github.com/Boom-Vitt/claude-thai-skills",
CONTRIBUTING.md
- Network accessline 37
git clone https://github.com/Boom-Vitt/claude-thai-skills.git
scripts/test-all.sh
- Executable scriptline 1
#!/usr/bin/env bash
scripts/validate-skills.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/thai-address/.claude-plugin/plugin.json
- Network accessline 5
"author": { "name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" - Network accessline 6
"name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" }, - Network accessline 7
"url": "https://github.com/Boom-Vitt" - Network accessline 8
}, "homepage": "https://github.com/Boom-Vitt/claude-thai-skills", "license": "MIT", - Network accessline 9
"homepage": "https://github.com/Boom-Vitt/claude-thai-skills",
skills/thai-address/parse.py
- Executable scriptline 1
Executable file
skills/thai-address/parse.ts
- Executable scriptline 1
Executable file
skills/thai-customer-service/.claude-plugin/plugin.json
- Network accessline 5
"author": { "name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" - Network accessline 5
"author": { "name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" - Network accessline 6
"name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" }, - Network accessline 6
"name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" }, - Network accessline 7
"url": "https://github.com/Boom-Vitt" - Network accessline 7
"url": "https://github.com/Boom-Vitt" - Network accessline 8
}, "homepage": "https://github.com/Boom-Vitt/claude-thai-skills", "license": "MIT", - Network accessline 8
}, "homepage": "https://github.com/Boom-Vitt/claude-thai-skills", "license": "MIT", - Network accessline 9
"homepage": "https://github.com/Boom-Vitt/claude-thai-skills", - Network accessline 9
"homepage": "https://github.com/Boom-Vitt/claude-thai-skills",
skills/thai-date-format/.claude-plugin/plugin.json
- Network accessline 5
"author": { "name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" - Network accessline 5
"author": { "name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" - Network accessline 6
"name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" }, - Network accessline 6
"name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" }, - Network accessline 7
"url": "https://github.com/Boom-Vitt" - Network accessline 7
"url": "https://github.com/Boom-Vitt" - Network accessline 8
}, "homepage": "https://github.com/Boom-Vitt/claude-thai-skills", "license": "MIT", - Network accessline 8
}, "homepage": "https://github.com/Boom-Vitt/claude-thai-skills", "license": "MIT", - Network accessline 9
"homepage": "https://github.com/Boom-Vitt/claude-thai-skills", - Network accessline 9
"homepage": "https://github.com/Boom-Vitt/claude-thai-skills",
skills/thai-date-format/convert.py
skills/thai-date-format/convert.ts
skills/thai-festival-card/.claude-plugin/plugin.json
- Network accessline 5
"author": { "name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" - Network accessline 5
"author": { "name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" - Network accessline 6
"name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" }, - Network accessline 6
"name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" }, - Network accessline 7
"url": "https://github.com/Boom-Vitt" - Network accessline 7
"url": "https://github.com/Boom-Vitt" - Network accessline 8
}, "homepage": "https://github.com/Boom-Vitt/claude-thai-skills", "license": "MIT", - Network accessline 8
}, "homepage": "https://github.com/Boom-Vitt/claude-thai-skills", "license": "MIT", - Network accessline 9
"homepage": "https://github.com/Boom-Vitt/claude-thai-skills", - Network accessline 9
"homepage": "https://github.com/Boom-Vitt/claude-thai-skills",
skills/thai-government-form/.claude-plugin/plugin.json
- Network accessline 5
"author": { "name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" - Network accessline 5
"author": { "name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" - Network accessline 6
"name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" }, - Network accessline 6
"name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" }, - Network accessline 7
"url": "https://github.com/Boom-Vitt" - Network accessline 7
"url": "https://github.com/Boom-Vitt" - Network accessline 8
}, "homepage": "https://github.com/Boom-Vitt/claude-thai-skills", "license": "MIT", - Network accessline 8
}, "homepage": "https://github.com/Boom-Vitt/claude-thai-skills", "license": "MIT", - Network accessline 9
"homepage": "https://github.com/Boom-Vitt/claude-thai-skills", - Network accessline 9
"homepage": "https://github.com/Boom-Vitt/claude-thai-skills",
skills/thai-id-validate/.claude-plugin/plugin.json
- Network accessline 5
"author": { "name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" - Network accessline 5
"author": { "name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" - Network accessline 6
"name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" }, - Network accessline 6
"name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" }, - Network accessline 7
"url": "https://github.com/Boom-Vitt" - Network accessline 7
"url": "https://github.com/Boom-Vitt" - Network accessline 8
}, "homepage": "https://github.com/Boom-Vitt/claude-thai-skills", "license": "MIT", - Network accessline 8
}, "homepage": "https://github.com/Boom-Vitt/claude-thai-skills", "license": "MIT", - Network accessline 9
"homepage": "https://github.com/Boom-Vitt/claude-thai-skills", - Network accessline 9
"homepage": "https://github.com/Boom-Vitt/claude-thai-skills",
skills/thai-id-validate/validate.py
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 91
# PromptPay QR (EMVCo TLV) # --------------------------------------------------------------------------- # Reference: https://github.com/dtinth/promptpay-qr - Network accessline 91
# PromptPay QR (EMVCo TLV) # --------------------------------------------------------------------------- # Reference: https://github.com/dtinth/promptpay-qr - Network accessline 92
# --------------------------------------------------------------------------- # Reference: https://github.com/dtinth/promptpay-qr # Top-level tags used: - Network accessline 92
# --------------------------------------------------------------------------- # Reference: https://github.com/dtinth/promptpay-qr # Top-level tags used: - Network accessline 93
# Reference: https://github.com/dtinth/promptpay-qr - Network accessline 93
# Reference: https://github.com/dtinth/promptpay-qr
skills/thai-id-validate/validate.ts
skills/thai-invoice/.claude-plugin/plugin.json
- Network accessline 5
"author": { "name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" - Network accessline 5
"author": { "name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" - Network accessline 6
"name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" }, - Network accessline 6
"name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" }, - Network accessline 7
"url": "https://github.com/Boom-Vitt" - Network accessline 7
"url": "https://github.com/Boom-Vitt" - Network accessline 8
}, "homepage": "https://github.com/Boom-Vitt/claude-thai-skills", "license": "MIT", - Network accessline 8
}, "homepage": "https://github.com/Boom-Vitt/claude-thai-skills", "license": "MIT", - Network accessline 9
"homepage": "https://github.com/Boom-Vitt/claude-thai-skills", - Network accessline 9
"homepage": "https://github.com/Boom-Vitt/claude-thai-skills",
skills/thai-invoice/calc.py
skills/thai-pdpa/.claude-plugin/plugin.json
- Network accessline 5
"author": { "name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" - Network accessline 5
"author": { "name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" - Network accessline 6
"name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" }, - Network accessline 6
"name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" }, - Network accessline 7
"url": "https://github.com/Boom-Vitt" - Network accessline 7
"url": "https://github.com/Boom-Vitt" - Network accessline 8
}, "homepage": "https://github.com/Boom-Vitt/claude-thai-skills", "license": "MIT", - Network accessline 8
}, "homepage": "https://github.com/Boom-Vitt/claude-thai-skills", "license": "MIT", - Network accessline 9
"homepage": "https://github.com/Boom-Vitt/claude-thai-skills", - Network accessline 9
"homepage": "https://github.com/Boom-Vitt/claude-thai-skills",
skills/thai-pdpa/templates/privacy-notice-th.md
- Access to secretsline 33
[Credential-related source omitted] - Access to secretsline 33
[Credential-related source omitted] - Network accessline 123
**สำนักงานคณะกรรมการคุ้มครองข้อมูลส่วนบุคคล (Personal Data Protection Committee, PDPC)** เว็บไซต์: https://www.pdpc.or.th - Network accessline 123
**สำนักงานคณะกรรมการคุ้มครองข้อมูลส่วนบุคคล (Personal Data Protection Committee, PDPC)** เว็บไซต์: https://www.pdpc.or.th - Network accessline 124
เว็บไซต์: https://www.pdpc.or.th - Network accessline 124
เว็บไซต์: https://www.pdpc.or.th
skills/thai-resume/.claude-plugin/plugin.json
- Network accessline 5
"author": { "name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" - Network accessline 5
"author": { "name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" - Network accessline 6
"name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" }, - Network accessline 6
"name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" }, - Network accessline 7
"url": "https://github.com/Boom-Vitt" - Network accessline 7
"url": "https://github.com/Boom-Vitt" - Network accessline 8
}, "homepage": "https://github.com/Boom-Vitt/claude-thai-skills", "license": "MIT", - Network accessline 8
}, "homepage": "https://github.com/Boom-Vitt/claude-thai-skills", "license": "MIT", - Network accessline 9
"homepage": "https://github.com/Boom-Vitt/claude-thai-skills", - Network accessline 9
"homepage": "https://github.com/Boom-Vitt/claude-thai-skills",
skills/thai-social-caption/.claude-plugin/plugin.json
- Network accessline 5
"author": { "name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" - Network accessline 5
"author": { "name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" - Network accessline 6
"name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" }, - Network accessline 6
"name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" }, - Network accessline 7
"url": "https://github.com/Boom-Vitt" - Network accessline 7
"url": "https://github.com/Boom-Vitt" - Network accessline 8
}, "homepage": "https://github.com/Boom-Vitt/claude-thai-skills", "license": "MIT", - Network accessline 8
}, "homepage": "https://github.com/Boom-Vitt/claude-thai-skills", "license": "MIT", - Network accessline 9
"homepage": "https://github.com/Boom-Vitt/claude-thai-skills", - Network accessline 9
"homepage": "https://github.com/Boom-Vitt/claude-thai-skills",
skills/thai-text-processing/.claude-plugin/plugin.json
- Network accessline 5
"author": { "name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" - Network accessline 5
"author": { "name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" - Network accessline 6
"name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" }, - Network accessline 6
"name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" }, - Network accessline 7
"url": "https://github.com/Boom-Vitt" - Network accessline 7
"url": "https://github.com/Boom-Vitt" - Network accessline 8
}, "homepage": "https://github.com/Boom-Vitt/claude-thai-skills", "license": "MIT", - Network accessline 8
}, "homepage": "https://github.com/Boom-Vitt/claude-thai-skills", "license": "MIT", - Network accessline 9
"homepage": "https://github.com/Boom-Vitt/claude-thai-skills", - Network accessline 9
"homepage": "https://github.com/Boom-Vitt/claude-thai-skills",
skills/thai-text-processing/SKILL.md
- Possible obfuscationline 207
- Forgetting that `<U+200B>` (zero-width space, U+200B) is sometimes injected by CMSs for word break hints — strip on input or normalize - Possible obfuscationline 207
- Forgetting that `<U+200B>` (zero-width space, U+200B) is sometimes injected by CMSs for word break hints — strip on input or normalize
skills/thai-text-processing/examples/normalize.py
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 6
References (verify against current docs): https://docs.python.org/3/library/unicodedata.html - Network accessline 6
References (verify against current docs): https://docs.python.org/3/library/unicodedata.html - Network accessline 7
https://docs.python.org/3/library/unicodedata.html - Network accessline 7
https://docs.python.org/3/library/unicodedata.html - Network accessline 8
https://pypi.org/project/regex/ (provides \\X grapheme cluster matcher) - Network accessline 8
https://pypi.org/project/regex/ (provides \\X grapheme cluster matcher) - Network accessline 9
https://pythainlp.org/docs/ (transliterate.romanize) - Network accessline 9
https://pythainlp.org/docs/ (transliterate.romanize)
skills/thai-text-processing/examples/segmentation.py
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 6
References (verify against current PyThaiNLP docs): https://pythainlp.org/docs/ - Network accessline 6
References (verify against current PyThaiNLP docs): https://pythainlp.org/docs/ - Network accessline 7
https://pythainlp.org/docs/ - Network accessline 7
https://pythainlp.org/docs/
skills/thai-translate/.claude-plugin/plugin.json
- Network accessline 5
"author": { "name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" - Network accessline 5
"author": { "name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" - Network accessline 6
"name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" }, - Network accessline 6
"name": "Vittawat (Boom-Vitt)", "url": "https://github.com/Boom-Vitt" }, - Network accessline 7
"url": "https://github.com/Boom-Vitt" - Network accessline 7
"url": "https://github.com/Boom-Vitt" - Network accessline 8
}, "homepage": "https://github.com/Boom-Vitt/claude-thai-skills", "license": "MIT", - Network accessline 8
}, "homepage": "https://github.com/Boom-Vitt/claude-thai-skills", "license": "MIT", - Network accessline 9
"homepage": "https://github.com/Boom-Vitt/claude-thai-skills", - Network accessline 9
"homepage": "https://github.com/Boom-Vitt/claude-thai-skills",
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Signal confidence: 45 facts
- Network access in code of documentationCONTRIBUTING.md:37Low confidence
- Executable script in code of a file that runsscripts/test-all.sh:1High confidence
- Executable script in code of a file that runsscripts/validate-skills.py:1High confidence
- Executable script in prose of a file that runsthai-address/parse.py:1Low confidence
- Executable script in a comment of a file that runsthai-address/parse.ts:1Low confidence
- Executable script in prose of a file that runsskills/thai-date-format/convert.py:1Low confidence
- Executable script in prose of a file that runsthai-date-format/convert.py:1Low confidence
- Executable script in a comment of a file that runsskills/thai-date-format/convert.ts:1Low confidence
- Executable script in a comment of a file that runsthai-date-format/convert.ts:1Low confidence
- Executable script in prose of a file that runsskills/thai-id-validate/validate.py:1Low confidence
- Executable script in prose of a file that runsthai-id-validate/validate.py:1Low confidence
- Network access in a comment of a file that runsskills/thai-id-validate/validate.py:91Low confidence
- Network access in a comment of a file that runsthai-id-validate/validate.py:91Low confidence
- Network access in a comment of a file that runsskills/thai-id-validate/validate.py:92Low confidence
- Network access in a comment of a file that runsthai-id-validate/validate.py:92Low confidence
- Network access in a comment of a file that runsskills/thai-id-validate/validate.py:93Low confidence
- Network access in a comment of a file that runsthai-id-validate/validate.py:93Low confidence
- Executable script in a comment of a file that runsskills/thai-id-validate/validate.ts:1Low confidence
- Executable script in a comment of a file that runsthai-id-validate/validate.ts:1Low confidence
- Executable script in prose of a file that runsskills/thai-invoice/calc.py:1Low confidence
- Executable script in prose of a file that runsthai-invoice/calc.py:1Low confidence
- Access to secrets in prose of documentationskills/thai-pdpa/templates/privacy-notice-th.md:33Low confidence
- Access to secrets in prose of documentationthai-pdpa/templates/privacy-notice-th.md:33Low confidence
- Network access in prose of documentationskills/thai-pdpa/templates/privacy-notice-th.md:123Low confidence
- Network access in prose of documentationthai-pdpa/templates/privacy-notice-th.md:123Low confidence
- Network access in prose of documentationskills/thai-pdpa/templates/privacy-notice-th.md:124Low confidence
- Network access in prose of documentationthai-pdpa/templates/privacy-notice-th.md:124Low confidence
- Possible obfuscation in prose of the SKILL.mdskills/thai-text-processing/SKILL.md:207Low confidence
- Possible obfuscation in prose of the SKILL.mdthai-text-processing/SKILL.md:207Low confidence
- Executable script in prose of a file that runsskills/thai-text-processing/examples/normalize.py:1Low confidence
- Executable script in prose of a file that runsthai-text-processing/examples/normalize.py:1Low confidence
- Network access in prose of a file that runsskills/thai-text-processing/examples/normalize.py:6Low confidence
- Network access in prose of a file that runsthai-text-processing/examples/normalize.py:6Low confidence
- Network access in prose of a file that runsskills/thai-text-processing/examples/normalize.py:7Low confidence
- Network access in prose of a file that runsthai-text-processing/examples/normalize.py:7Low confidence
- Network access in prose of a file that runsskills/thai-text-processing/examples/normalize.py:8Low confidence
- Network access in prose of a file that runsthai-text-processing/examples/normalize.py:8Low confidence
- Network access in prose of a file that runsskills/thai-text-processing/examples/normalize.py:9Low confidence
- Network access in prose of a file that runsthai-text-processing/examples/normalize.py:9Low confidence
- Executable script in prose of a file that runsskills/thai-text-processing/examples/segmentation.py:1Low confidence
- Executable script in prose of a file that runsthai-text-processing/examples/segmentation.py:1Low confidence
- Network access in prose of a file that runsskills/thai-text-processing/examples/segmentation.py:6Low confidence
- Network access in prose of a file that runsthai-text-processing/examples/segmentation.py:6Low confidence
- Network access in prose of a file that runsskills/thai-text-processing/examples/segmentation.py:7Low confidence
- Network access in prose of a file that runsthai-text-processing/examples/segmentation.py:7Low confidence
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/marketplace.json | .claude/skills/<skill-name>/ |
| Codex | Native | Manifest AGENTS.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md skills/thai-address/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md skills/thai-address/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md skills/thai-address/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md skills/thai-address/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.