สร้าง Custom Slash Commands
Custom slash command ให้คุณบันทึก workflow ที่ใช้บ่อยเป็นคำสั่งสั้นๆ เช่น /review, /deploy แล้วเรียกใช้ได้ทุกเมื่อ
เมื่อเรียนจบบทนี้ คุณจะ…
- สร้างคำสั่งพิเศษ (Custom Slash Commands) ของตัวเองได้
- กำหนดให้คำสั่งทำงานตามที่เราต้องการได้
- ใช้ข้อมูลเพิ่มเติมกับคำสั่งที่สร้างขึ้นได้

ทำไมต้องมี Custom Slash Commands?
ลองนึกภาพว่าคุณกำลังทำงานซ้ำๆ เดิมๆ ทุกวัน เช่น ตรวจสอบโค้ด, สร้างโปรเจกต์ หรือแม้แต่การ Deploy (ติดตั้งโปรแกรมขึ้นเซิร์ฟเวอร์) กระบวนการเหล่านี้อาจมีหลายขั้นตอนและต้องพิมพ์คำสั่งยาวๆ บ่อยครั้งใช่ไหมครับ?
Custom Slash Commands คือตัวช่วยที่จะทำให้ชีวิตคุณง่ายขึ้นมากครับ! มันเหมือนกับการสร้าง 'ทางลัด' หรือ 'สูตรสำเร็จ' สำหรับงานที่คุณทำบ่อยๆ แทนที่จะพิมพ์คำสั่งยาวๆ หลายบรรทัด คุณก็แค่พิมพ์คำสั่งสั้นๆ เช่น /review หรือ /deploy แล้ว Claude Code ก็จะจัดการงานทั้งหมดให้คุณทันที
ประโยชน์คือช่วยให้คุณทำงานได้เร็วขึ้น ลดโอกาสเกิดข้อผิดพลาดจากการพิมพ์ผิด และทำให้ทุกคนในทีมทำงานได้มาตรฐานเดียวกัน เหมือนมีผู้ช่วยส่วนตัวที่รู้ใจและทำงานได้เป๊ะตามที่คุณสั่งเลยครับ
เริ่มต้นสร้าง Custom Command ง่ายๆ
การสร้าง Custom Command ไม่ได้ยากอย่างที่คิดครับ! หลักการคือเราจะสร้างไฟล์ข้อความธรรมดาๆ ไฟล์หนึ่ง แล้วเขียน 'คำสั่ง' หรือ 'สิ่งที่เราอยากให้ Claude ทำ' ลงไปในไฟล์นั้น
Claude Code จะมองหาไฟล์เหล่านี้ในโฟลเดอร์พิเศษที่ชื่อว่า .claude/commands/ ครับ ดังนั้นสิ่งแรกที่เราต้องทำคือสร้างโฟลเดอร์นี้ขึ้นมาในโปรเจกต์ของคุณ
สมมติว่าคุณอยากให้ Claude ช่วยรีวิวโค้ด คุณก็จะสร้างไฟล์ชื่อ review.md แล้วเขียนคำสั่งรีวิวลงไปในนั้น เวลาคุณเรียกใช้ /review Claude ก็จะอ่านคำสั่งจากไฟล์นี้และทำงานให้คุณทันที
- สร้างโฟลเดอร์ชื่อ
.claudeในโปรเจกต์ของคุณ (ถ้ายังไม่มี) - ภายในโฟลเดอร์
.claudeให้สร้างโฟลเดอร์ย่อยชื่อcommands - สร้างไฟล์ใหม่ในโฟลเดอร์
commandsเช่นreview.md(ชื่อไฟล์นี้จะกลายเป็นชื่อ command ของคุณ) - เปิดไฟล์
review.mdแล้วเขียน Prompt (คำสั่งที่คุณต้องการให้ Claude ทำงาน) ลงไป เช่น:Review การเปลี่ยนแปลงล่าสุด มองหา bug, security, performance แล้วสรุปเป็นภาษาไทย เรียงตามความสำคัญ
.md สำคัญนะ เหมือนเป็นชื่อเรียกคำสั่งของคุณเลย เช่น review.md ก็จะกลายเป็น /reviewทำให้ Command ฉลาดขึ้นด้วยการรับข้อมูล (Arguments)
บางครั้งเราก็อยากให้ Command ของเรายืดหยุ่นมากขึ้นใช่ไหมครับ? เช่น เราอยากให้ Claude อธิบายโค้ด แต่เราอยากระบุว่าให้อธิบายไฟล์ไหน ไม่ใช่ทุกไฟล์ในโปรเจกต์
ตรงนี้แหละครับที่ 'Arguments' เข้ามามีบทบาท Arguments คือข้อมูลเพิ่มเติมที่เราส่งให้กับ Command ของเรา ทำให้ Command นั้นๆ สามารถทำงานได้หลากหลายและเฉพาะเจาะจงมากขึ้น
ใน Claude Code เราสามารถรับ Arguments ได้ง่ายๆ โดยการใช้คำว่า $ARGUMENTS ใน Prompt ของเราครับ เวลาคุณพิมพ์ /explain src/auth.ts เจ้า src/auth.ts นี่แหละคือ Argument ที่จะไปแทนที่ $ARGUMENTS ในไฟล์ Command ของคุณ
- เปิดไฟล์ command ที่คุณต้องการให้รับข้อมูล เช่น
explain.md - ในเนื้อหาของไฟล์ ให้พิมพ์
$ARGUMENTSตรงตำแหน่งที่คุณต้องการให้ Claude นำข้อมูลที่ผู้ใช้ป้อนมาใส่ เช่น:อธิบายโค้ดในไฟล์ $ARGUMENTS แบบละเอียดเป็นภาษาไทย
$ARGUMENTS จะถูกแทนที่ด้วยข้อมูลที่คุณพิมพ์หลังชื่อ command เท่านั้น! ถ้าไม่ใส่ข้อมูลอะไรหลังชื่อ command, $ARGUMENTS ก็จะว่างเปล่าตัวอย่างการนำไปใช้จริง: Command สำหรับ Deploy โปรเจกต์
มาลองสร้าง Command ที่ซับซ้อนขึ้นอีกนิดกันครับ สมมติว่าทีมของคุณมีขั้นตอนการ Deploy โปรเจกต์ขึ้น Production (เซิร์ฟเวอร์จริง) ที่ต้องทำหลายขั้นตอน เช่น รัน Test ก่อน, ถ้า Test ผ่านค่อย Build โปรเจกต์, แล้วค่อยส่งไฟล์ขึ้น Production และสุดท้ายก็แจ้งผลลัพธ์
แทนที่จะต้องจำและพิมพ์คำสั่งเหล่านี้ทีละขั้น เราสามารถรวมทุกอย่างไว้ใน Custom Command เดียวได้ครับ! เราจะสร้างไฟล์ deploy.md แล้วใส่ Prompt ที่บอกขั้นตอนทั้งหมดนี้ให้ Claude ทำงาน
การทำแบบนี้ช่วยให้มั่นใจได้ว่าทุกครั้งที่ Deploy กระบวนการจะเหมือนเดิมทุกประการ ลดความผิดพลาด และประหยัดเวลาได้มหาศาลเลยครับ
- สร้างไฟล์ใหม่ชื่อ
deploy.mdในโฟลเดอร์.claude/commands/ - เขียน Prompt ที่ละเอียดและเป็นลำดับขั้นตอนลงในไฟล์
deploy.mdเช่น: รัน Test ทั้งหมดในโปรเจกต์ ถ้า Test ผ่าน ให้ Build โปรเจกต์สำหรับ Production จากนั้น Deploy ไฟล์ที่ Build แล้วขึ้นสู่ Production Server พร้อมทั้งแจ้งผลลัพธ์การ Deploy ว่าสำเร็จหรือไม่
แชร์ Custom Command ให้เพื่อนร่วมทีม
Custom Commands จะทรงพลังยิ่งขึ้นเมื่อทุกคนในทีมสามารถใช้งานร่วมกันได้ครับ! ลองคิดดูว่าถ้าทุกคนใช้ Command เดียวกันในการ Deploy หรือ Review โค้ด มันจะช่วยให้การทำงานเป็นมาตรฐานเดียวกันขนาดไหน
เนื่องจากไฟล์ Custom Commands ของเราอยู่ในโฟลเดอร์ .claude/commands/ ซึ่งเป็นส่วนหนึ่งของโปรเจกต์ คุณสามารถแชร์ Command เหล่านี้ให้เพื่อนร่วมทีมได้ง่ายๆ ผ่านระบบควบคุมเวอร์ชัน (Version Control System) อย่าง Git ครับ
เมื่อคุณสร้างหรือแก้ไข Command แล้ว เพียงแค่ Commit (บันทึกการเปลี่ยนแปลง) และ Push (ส่งโค้ดขึ้นไปบนคลังส่วนกลาง) เพื่อนร่วมทีมที่ Pull (ดึงโค้ดลงมา) ก็จะสามารถใช้ Command เดียวกันกับคุณได้ทันที ทำให้การทำงานร่วมกันราบรื่นและมีประสิทธิภาพมากขึ้นครับ
- หลังจากสร้างหรือแก้ไขไฟล์ command ในโฟลเดอร์
.claude/commands/แล้ว - บันทึกการเปลี่ยนแปลง (Stage) ไฟล์เหล่านั้น
- คอมมิต (Commit) การเปลี่ยนแปลงเข้าสู่ระบบ Git ของโปรเจกต์
- พุช (Push) โค้ดขึ้นไปยังคลังเก็บโค้ดส่วนกลาง (เช่น GitHub, GitLab, Bitbucket) ที่ทีมใช้ร่วมกัน
- สร้างไฟล์ใน .claude/commands/
- ใช้ $ARGUMENTS รับค่า
- commit ให้ทีมใช้ร่วม