📚 8 บทเรียนย่อย
⏱️ เวลาเรียนประมาณ 15 นาที
🎯 ระดับ: Developer & Prompt Engineer

Gemini Spark Skills: คู่มือเชิงลึกและ Framework การออกแบบคำสั่ง AI Agent

เรียนรู้วิธีการออกแบบระบบ Skills เพื่อเพิ่มประสิทธิภาพให้ AI Agent สามารถทำงานเฉพาะทางได้อย่างแม่นยำ ไม่สับสน และประหยัดพื้นที่ Context Window

Module 1

บทนำ: Gemini Spark Skills คืออะไร?

Gemini Spark Skills คือชุดคำสั่ง แนวทางปฏิบัติงาน (Instruction Guidelines) ข้อมูลบริบทเฉพาะทาง และทรัพยากรเสริม (เช่น สคริปต์ โค้ด หรือแม่แบบเอกสาร) ที่รวบรวมไว้เป็นโฟลเดอร์ เพื่อขยายขีดความสามารถของ AI Agent ให้สามารถประมวลผลกระบวนการทำงานซับซ้อนได้อย่างแม่นยำและสม่ำเสมอ

🎯 ความสม่ำเสมอ (Consistency)
ควบคุมให้ AI ปฏิบัติตามมาตรฐานเดียวกันทุกรอบ ลดการเดาคำตอบ (Hallucination)
⚡ ประหยัด Context Window
AI จะอ่านเพียง Frontmatter ก่อน และจะโหลดคำสั่งฉบับเต็มเมื่อมีการกระตุ้นใช้งานเท่านั้น
🧩 ขยายความสามารถไร้ขีดจำกัด
สามารถนำสคริปต์หรือคู่มืออ้างอิงขององค์กรบรรจุเข้าไปเพื่อให้ AI เรียกใช้รันงานได้ทันที
Module 2

โครงสร้างไฟล์ไดเรกทอรี (Directory Hierarchy)

ทุกๆ Skill จะถูกจัดเก็บไว้ในโฟลเดอร์ชื่อ skills/<kebab-case-name>/ โดยมีโครงสร้างมาตรฐานดังต่อไปนี้:

Directory Structure Multi-file Architecture
skills/<kebab-case-name>/
├── SKILL.md              # [จำเป็น] ไฟล์หลักเก็บ Metadata และคำสั่งปฏิบัติงาน
├── scripts/              # [ทางเลือก] สคริปต์/โค้ด executable สำหรับงานที่ต้องเป๊ะ 100%
├── references/           # [ทางเลือก] เอกสารอ้างอิง หรือคู่มือเชิงลึกเสริม
└── assets/               # [ทางเลือก] แม่แบบ Template รูปภาพ หรือไฟล์ตั้งค่า
💡 คำแนะนำจากผู้สอน (Instructor Tip)

หาก Skill มีเพียงคำสั่งข้อความอย่างเดียว สามารถสร้างเฉพาะไฟล์ SKILL.md ได้ แต่หากมีสคริปต์หรือไฟล์ตัวอย่างประกอบ แนะนำให้ใช้โครงสร้างแบบ Multi-file เพื่อความสะอาดและจัดการง่าย

Module 3

โครงสร้างภายในไฟล์ SKILL.md

ไฟล์ SKILL.md แบ่งออกเป็น 2 ส่วนสำคัญอย่างชัดเจน:

1. Frontmatter (YAML Header)

อยู่ด้านบนสุดของไฟล์ ทำหน้าที่เป็นส่วนสแกนหลักที่ AI ใช้พิจารณาว่าจะเรียกใช้ Skill นี้เมื่อใด

YAML Frontmatter Example
---
name: csv-data-analyst
description: วิเคราะห์และทำความสะอาดไฟล์ CSV/TSV ใช้เมื่อผู้ใช้ต้องการสรุปข้อมูล ตรวจสอบคุณภาพข้อมูล หรือขอทำ Data Profiling จากไฟล์ตาราง
allowed-tools: vm_shell google_drive
---

2. Markdown Body (เนื้อหาคำสั่ง)

เนื้อหาคำสั่งที่จะถูกโหลดเข้ามาประมวลผลทันทีเมื่อ Skill ถูกกระตุ้น ประกอบด้วย 5 ส่วนหลัก:

ส่วนประกอบ (Section) หน้าที่และคำอธิบาย
1. Title (# Skill Name) ชื่อหัวข้อหลักระดับ H1 ตรงกับ name ใน Frontmatter
2. Summary สรุปวัตถุประสงค์หลักและผลลัพธ์ใน 1-2 ประโยค
3. When to Use รายการสถานการณ์และเงื่อนไขการเรียกใช้อย่างเจาะจง
4. Core Workflow ขั้นตอนการทำงานทีละขั้น (1, 2, 3...) เขียนด้วยคำสั่งเชิงดำเนินการ (Imperative)
5. Gotchas & Fallbacks ข้อควรระวัง เคสพิเศษ และทางออกเมื่อเกิดข้อผิดพลาด
Module 4

ข้อกำหนดและขีดจำกัดสำคัญ (Technical Specs)

องค์ประกอบ ข้อกำหนดและขีดจำกัด (Specifications)
Skill Name • ความยาว 1-5 คำ (ไม่เกิน 64 ตัวอักษร)
• ใช้เฉพาะอักษรพิมพ์เล็ก a-z, ตัวเลข 0-9 และขีดกลาง - (Kebab-case)
• ห้ามขึ้นต้น/ลงท้ายด้วยขีดกลาง และห้ามมีเว้นวรรค
Description Length • ความยาวไม่เกิน 1,024 ตัวอักษร
• ต้องระบุทั้งหน้าที่ที่ทำได้ และคีย์เวิร์ดกระตุ้นการทำงาน
Body Length • แนะนำความยาวรวมไม่เกิน 500 บรรทัด เพื่อประหยัด Context Window
Formatting Rules • ห้ามใช้เครื่องหมาย Em-dash () ให้ใช้ Hyphen (-)
• ต้องเว้นบรรทัดว่าง (Blank line) ก่อนเริ่ม Bullet List ทุกครั้ง
Module 5

C-T-W-V Design Framework

กรอบการออกแบบคำสั่งสำหรับ AI Agent เพื่อให้ได้ผลลัพธ์ที่เป็นระบบ:

C - Core Intent
กำหนดเป้าหมายหลักให้ชัดเจนก่อนเริ่มเขียน พิจารณาว่างานนี้เป็นเวิร์กโฟลว์ซับซ้อนหรือไม่
T - Trigger Design
เขียน Description ให้มีลักษณะ "Pushy" โดยใส่คีย์เวิร์ดและบริบทพูดของผู้ใช้อย่างครอบคลุม
W - Workflow & Rules
เขียนขั้นตอนด้วยคำกริยานำหน้า (Imperative) และใส่เหตุผลเบื้องหลังคำสั่งเสมอ
V - Verification
สร้างเกณฑ์การตรวจสอบความสำเร็จ (Success Criteria) เพื่อให้ AI สามารถรีวิวผลลัพธ์ได้ด้วยตัวเอง
Module 6

เทคนิคขั้นสูงในการเขียนคำสั่ง (Best Practices)

1. Imperative + Reasoning (คำสั่ง + เหตุผลเบื้องหลัง)

AI จะปรับใช้คำสั่งได้ฉลาดและยืดหยุ่นขึ้นเมื่อเข้าใจเหตุผล ไม่ใช่เพียงการใช้กฎบังคับแข็งๆ

💡 ตัวอย่างเปรียบเทียบ

"ห้ามใช้ไลบรารีภายนอกเด็ดขาด"

"ใช้ Built-in Python Modules ในการแปลงไฟล์ เพื่อหลีกเลี่ยงปัญหาเรื่อง Dependency และช่วยให้โค้ดรันได้ทุกสภาพแวดล้อม"

2. Primary Path + Escape Hatch (ทางหลัก 1 ทาง + ทางออกสำรอง)

กำหนดวิธีหลัก 1 วิธี และใส่เงื่อนไขสลับวิธีเมื่อพบกรณีพิเศษเพื่อป้องกันการสับสนของ AI

ใช้ pdfplumber ในการดึงข้อความจาก PDF เป็นหลัก 
หากพบว่าเป็น PDF ที่สแกนมาและดึงข้อความไม่ได้ ให้สลับไปใช้ pdf2image ร่วมกับ pytesseract แทน
Module 7

Starter Blueprint Template

คัดลอกโครงสร้างแม่แบบนี้ไปเป็นไฟล์เริ่มต้นในการเขียนได้ทันที:

SKILL.md Starter Template
---
name: my-custom-skill
description: อธิบายหน้าที่ของ Skill อย่างกระชับ ใช้เมื่อผู้ใช้ต้องการ [งาน A], [งาน B] หรือสั่งให้ [คีย์เวิร์ด C]
allowed-tools: vm_shell
---

# My Custom Skill

สรุปเป้าหมายและผลลัพธ์ของ Skill ใน 1-2 ประโยค

## When to Use
- เมื่อผู้ใช้กล่าวถึง...
- เมื่อพบสถานการณ์ข้อมูลรูปแบบ...

## Core Workflow
1. **การเตรียมข้อมูล/ตรวจสอบเบื้องต้น**
   - ตรวจสอบรูปแบบไฟล์และโครงสร้างข้อมูล
   - เหตุผล: เพื่อป้องกันข้อผิดพลาดในขั้นตอนประมวลผล

2. **การประมวลผลหลัก**
   - ดำเนินการแปลงหรือวิเคราะห์ข้อมูลตามแนวทางหลัก
   - หากพบเคสพิเศษ X ให้สลับไปใช้แนวทาง Y

## Gotchas & Edge Cases
- ข้อควรระวังในการประมวลผลข้อมูล...

## Output Verification
- [ ] ผลลัพธ์มีความถูกต้องและครบถ้วนตามโครงสร้าง
Module 8

แบบทดสอบความเข้าใจ & QA Checklist

✅ Quality Assurance Checklist ก่อนนำไปใช้งาน (ติ๊กเพื่ออัปเดตความคืบหน้า)
Skill360