Skip to content

คำสั่ง

นี่คือคำอ้างอิงสำหรับคำสั่งแบบสลัดของ OpenSpec คำสั่งเหล่านี้จะถูกเรียกใช้ในอินเทอร์เฟซแชทของผู้ช่วยเขียนโค้ด AI ของคุณ (เช่น Claude Code, Cursor, Windsurf)

สำหรับรูปแบบเวิร์กโฟลว์และเวลาที่จะใช้คำสั่งแต่ละคำ ดูที่ เวิร์กโฟลว์ สำหรับคำสั่ง CLI ดูที่ CLI

สรุปด่วน

เส้นทางเริ่มต้นเร็ว (โปรไฟล์ core)

คำสั่งวัตถุประสงค์
/opsx:proposeสร้างการเปลี่ยนแปลงและสร้างสิ่งประดิษฐ์การวางแผนในขั้นตอนเดียว
/opsx:exploreคิดทบทวนแนวคิดก่อนที่จะตัดสินใจทำการเปลี่ยนแปลง
/opsx:applyดำเนินงานจากงานที่เปลี่ยนแปลง
/opsx:syncรวมข้อกำหนดเดลต้าเข้ากับข้อกำหนดหลัก
/opsx:archiveเก็บถาวรการเปลี่ยนแปลงที่เสร็จสมบูรณ์

คำสั่งเวิร์กโฟลว์แบบขยาย (การเลือกเวิร์กโฟลว์แบบกำหนดเอง)

คำสั่งวัตถุประสงค์
/opsx:newเริ่มโครงร่างการเปลี่ยนแปลงใหม่
/opsx:continueสร้างสิ่งประดิษฐ์ถัดไปตามการพึ่งพา
/opsx:ffเร็วไปข้างหน้า: สร้างสิ่งประดิษฐ์การวางแผนทั้งหมดพร้อมกัน
/opsx:verifyตรวจสอบว่าการดำเนินงานตรงกับสิ่งประดิษฐ์
/opsx:bulk-archiveเก็บถาวรการเปลี่ยนแปลงหลายรายการพร้อมกัน
/opsx:onboardบทช่วยสอนแบบมีคำแนะนำตลอดเวิร์กโฟลว์ที่สมบูรณ์

โปรไฟล์เริ่มต้นแบบทั่วไปคือ core หากต้องการเปิดใช้งานคำสั่งเวิร์กโฟลว์แบบขยาย ให้รัน openspec config profile เลือกเวิร์กโฟลว์ จากนั้นรัน openspec update ในโปรเจกต์ของคุณ


อ้างอิงคำสั่ง

/opsx:propose

สร้างการเปลี่ยนแปลงใหม่และสร้างสิ่งประดิษฐ์สำหรับการวางแผนในขั้นตอนเดียว นี่คือคำสั่งเริ่มต้นเริ่มต้นในโปรไฟล์ core

ไวยากรณ์:

text
/opsx:propose [change-name-or-description]

อาร์กิวเมนต์:

อาร์กิวเมนต์จำเป็นคำอธิบาย
change-name-or-descriptionไม่ชื่อในรูปแบบ kebab-case หรือคำอธิบายการเปลี่ยนแปลงในภาษาทั่วไป

สิ่งที่ทำ:

  • สร้าง openspec/changes/<change-name>/
  • สร้างสิ่งประดิษฐ์ที่จำเป็นก่อนการนำไปใช้ (สำหรับ spec-driven: ข้อเสนอ, ข้อกำหนด, การออกแบบ, งาน)
  • หยุดเมื่อการเปลี่ยนแปลงพร้อมสำหรับ /opsx:apply

ตัวอย่าง:

text
You: /opsx:propose add-dark-mode

AI:  Created openspec/changes/add-dark-mode/
     ✓ proposal.md
     ✓ specs/ui/spec.md
     ✓ design.md
     ✓ tasks.md
     Ready for implementation. Run /opsx:apply.

เคล็ดลับ:

  • ใช้คำสั่งนี้เพื่อเส้นทางที่เร็วที่สุดจากต้นจนจบ
  • หากคุณต้องการควบคุมสิ่งประดิษฐ์ทีละขั้น ให้เปิดใช้งานเวิร์กโฟลว์แบบขยายและใช้ /opsx:new + /opsx:continue

/opsx:explore

คิดทบทวนแนวคิด ตรวจสอบปัญหา และชี้แจงข้อกำหนดก่อนที่จะตัดสินใจทำการเปลี่ยนแปลง

ไวยากรณ์:

/opsx:explore [topic]

อาร์กิวเมนต์:

อาร์กิวเมนต์จำเป็นคำอธิบาย
topicไม่สิ่งที่คุณต้องการสำรวจหรือตรวจสอบ

สิ่งที่ทำ:

  • เปิดการสนทนาเชิงสำรวจโดยไม่ต้องมีโครงสร้างที่ตายตัว
  • ตรวจสอบฐานรหัสเพื่อตอบคำถาม
  • เปรียบเทียบตัวเลือกและแนวทาง
  • สร้างแผนภาพเพื่อชี้แจงความคิด
  • สามารถเปลี่ยนไปใช้ /opsx:propose (ค่าเริ่มต้น) หรือ /opsx:new (เวิร์กโฟลว์แบบขยาย) เมื่อความเข้าใจตกผลึก

ตัวอย่าง:

text
You: /opsx:explore

AI:  What would you like to explore?

You: How should we handle authentication for the mobile app?

AI:  Let me investigate your current auth setup...
     [Analyzes codebase]

     I see you're using session-based auth for the web app.
     For mobile, we have three main options:

     1. JWT tokens (stateless, works offline)
     2. OAuth2 (if you need third-party login)
     3. Extend current sessions (simpler, but requires connectivity)

     Your API already has CORS configured. Which direction interests you?

You: Let's go with JWT. Can we start a change for that?

AI:  Ready when you are. Run /opsx:propose add-jwt-auth to begin.

เคล็ดลับ:

  • ใช้เมื่อข้อกำหนดไม่ชัดเจนหรือคุณต้องการตรวจสอบ
  • ไม่มีการสร้างสิ่งประดิษฐ์ระหว่างการสำรวจ
  • เหมาะสำหรับการเปรียบเทียบหลายแนวทางก่อนตัดสินใจ
  • สามารถอ่านไฟล์และค้นหาฐานรหัสได้

/opsx:new

เริ่มโครงร่างการเปลี่ยนแปลงใหม่ สร้างโฟลเดอร์การเปลี่ยนแปลงและรอให้คุณสร้างสิ่งประดิษฐ์ด้วย /opsx:continue หรือ /opsx:ff

คำสั่งนี้เป็นส่วนหนึ่งของชุดเวิร์กโฟลว์แบบขยาย (ไม่รวมอยู่ในโปรไฟล์ core ค่าเริ่มต้น)

ไวยากรณ์:

/opsx:new [change-name] [--schema <schema-name>]

อาร์กิวเมนต์:

อาร์กิวเมนต์จำเป็นคำอธิบาย
change-nameไม่ชื่อสำหรับโฟลเดอร์การเปลี่ยนแปลง (จะถามหากไม่ได้ระบุ)
--schemaไม่โครงร่างเวิร์กโฟลว์ที่จะใช้ (ค่าเริ่มต้น: จากการกำหนดค่าหรือ spec-driven)

สิ่งที่ทำ:

  • สร้างไดเรกทอรี openspec/changes/<change-name>/
  • สร้างไฟล์ข้อมูลเมตา .openspec.yaml ในโฟลเดอร์การเปลี่ยนแปลง
  • แสดงเทมเพลตสิ่งประดิษฐ์แรกที่พร้อมสร้าง
  • ถามชื่อการเปลี่ยนแปลงและโครงร่างหากไม่ได้ระบุ

สิ่งที่สร้าง:

openspec/changes/<change-name>/
└── .openspec.yaml    # ข้อมูลเมตาการเปลี่ยนแปลง (โครงร่าง, วันที่สร้าง)

ตัวอย่าง:

You: /opsx:new add-dark-mode

AI:  Created openspec/changes/add-dark-mode/
     Schema: spec-driven

     Ready to create: proposal
     Use /opsx:continue to create it, or /opsx:ff to create all artifacts.

เคล็ดลับ:

  • ใช้ชื่อที่สื่อความหมาย: add-feature, fix-bug, refactor-module
  • หลีกเลี่ยงชื่อทั่วไป เช่น update, changes, wip
  • โครงร่างสามารถตั้งค่าในการกำหนดค่าโปรเจกต์ได้ (openspec/config.yaml)

/opsx:continue

สร้างสิ่งประดิษฐ์ถัดไปในห่วงโซ่การพึ่งพา สร้างทีละสิ่งประดิษฐ์เพื่อความคืบหน้าแบบค่อยเป็นค่อยไป

ไวยากรณ์:

/opsx:continue [change-name]

อาร์กิวเมนต์:

อาร์กิวเมนต์จำเป็นคำอธิบาย
change-nameไม่การเปลี่ยนแปลงใดที่จะดำเนินการต่อ (อนุมานจากบริบทหากไม่ได้ระบุ)

สิ่งที่ทำ:

  • สอบถามกราฟการพึ่งพาของสิ่งประดิษฐ์
  • แสดงว่าสิ่งประดิษฐ์ใดพร้อม vs ถูกบล็อก
  • สร้างสิ่งประดิษฐ์แรกที่พร้อม
  • อ่านไฟล์ที่พึ่งพาเพื่อเป็นบริบท
  • แสดงสิ่งที่พร้อมใช้งานหลังการสร้าง

ตัวอย่าง:

You: /opsx:continue

AI:  Change: add-dark-mode

     Artifact status:
     ✓ proposal    (done)
     ◆ specs       (ready)
     ◆ design      (ready)
     ○ tasks       (blocked - needs: specs)

     Creating specs...

     [Reads proposal.md, creates specs based on requirements]

     ✓ Created openspec/changes/add-dark-mode/specs/ui/spec.md

     Now available: tasks
     Run /opsx:continue to create the next artifact.

เคล็ดลับ:

  • ใช้เมื่อคุณต้องการตรวจสอบแต่ละสิ่งประดิษฐ์ก่อนดำเนินการต่อ
  • เหมาะสำหรับการเปลี่ยนแปลงที่ซับซ้อนที่คุณต้องการควบคุม
  • สิ่งประดิษฐ์หลายรายการอาจพร้อมใช้งานพร้อมกัน
  • คุณสามารถแก้ไขสิ่งประดิษฐ์ที่สร้างแล้วก่อนดำเนินการต่อ

/opsx:ff

กรอไปข้างหน้าอย่างรวดเร็วผ่านการสร้างสิ่งประดิษฐ์ สร้างสิ่งประดิษฐ์สำหรับการวางแผนทั้งหมดในครั้งเดียว

ไวยากรณ์:

/opsx:ff [change-name]

อาร์กิวเมนต์:

อาร์กิวเมนต์จำเป็นคำอธิบาย
change-nameไม่การเปลี่ยนแปลงใดที่จะกรอไปข้างหน้า (อนุมานจากบริบทหากไม่ได้ระบุ)

สิ่งที่ทำ:

  • สร้างสิ่งประดิษฐ์ทั้งหมดตามลำดับการพึ่งพา
  • ติดตามความคืบหน้าผ่านรายการสิ่งที่ต้องทำ
  • หยุดเมื่อสิ่งประดิษฐ์ที่ต้องใช้ apply-required ทั้งหมดเสร็จสมบูรณ์
  • อ่านการพึ่งพาแต่ละรายการก่อนสร้างสิ่งประดิษฐ์ถัดไป

ตัวอย่าง:

You: /opsx:ff add-dark-mode

AI:  Fast-forwarding add-dark-mode...

     ✓ Creating proposal.md
     ✓ Creating specs/ui/spec.md
     ✓ Creating design.md
     ✓ Creating tasks.md

     All planning artifacts complete!
     Ready for implementation. Run /opsx:apply to begin.

เคล็ดลับ:

  • ใช้เมื่อคุณมีภาพที่ชัดเจนว่ากำลังสร้างอะไร
  • เร็วกว่า /opsx:continue สำหรับการเปลี่ยนแปลงที่ตรงไปตรงมา
  • คุณยังสามารถแก้ไขสิ่งประดิษฐ์ได้ในภายหลัง
  • เหมาะสำหรับฟีเจอร์ขนาดเล็กถึงขนาดกลาง

/opsx:apply

นำงานจากการเปลี่ยนแปลงไปใช้ ดำเนินการตามรายการงาน เขียนโค้ด และทำเครื่องหมายรายการที่เสร็จสิ้น

ไวยากรณ์:

/opsx:apply [change-name]

อาร์กิวเมนต์:

อาร์กิวเมนต์จำเป็นคำอธิบาย
change-nameไม่การเปลี่ยนแปลงใดที่จะนำไปใช้ (อนุมานจากบริบทหากไม่ได้ระบุ)

สิ่งที่ทำ:

  • อ่าน tasks.md และระบุงานที่ยังไม่เสร็จ
  • ดำเนินงานทีละงาน
  • เขียนโค้ด สร้างไฟล์ รันเทสต์ตามความจำเป็น
  • ทำเครื่องหมายงานเสร็จสิ้นด้วยช่องทำเครื่องหมาย [x]

ตัวอย่าง:

You: /opsx:apply

AI:  Implementing add-dark-mode...

     Reading tasks.md:
     - [ ] 1.1 Create ThemeContext
     - [ ] 1.2 Add CSS custom properties
     - [ ] 1.3 Implement localStorage persistence

     Working on 1.1: Create ThemeContext...
     [Creates src/context/ThemeContext.tsx]

     ✓ 1.1 Complete

     Working on 1.2: Add CSS custom properties...
     [Updates src/styles/globals.css]

     ✓ 1.2 Complete
     ...

เคล็ดลับ:

  • สามารถกลับมาทำต่อจากจุดที่ค้างไว้หากถูกขัดจังหวะ
  • ใช้สำหรับการเปลี่ยนแปลงแบบขนานโดยระบุชื่อการเปลี่ยนแปลง
  • สถานะความสำเร็จถูกติดตามในช่องทำเครื่องหมายของ tasks.md

/opsx:verify

ตรวจสอบว่าการนำไปใช้ตรงกับสิ่งประดิษฐ์การเปลี่ยนแปลงของคุณ ตรวจสอบความสมบูรณ์ ความถูกต้อง และความสอดคล้อง

ไวยากรณ์:

/opsx:verify [change-name]

อาร์กิวเมนต์:

อาร์กิวเมนต์จำเป็นคำอธิบาย
change-nameไม่การเปลี่ยนแปลงใดที่จะตรวจสอบ (อนุมานจากบริบทหากไม่ได้ระบุ)

สิ่งที่ทำ:

  • ตรวจสอบสามมิติของคุณภาพการนำไปใช้
  • ค้นหาฐานรหัสเพื่อหาหลักฐานการนำไปใช้
  • รายงานปัญหาที่จัดหมวดหมู่เป็น CRITICAL, WARNING หรือ SUGGESTION
  • ไม่บล็อกการเก็บถาวร แต่แสดงปัญหา

มิติการตรวจสอบ:

มิติสิ่งที่ตรวจสอบ
ความสมบูรณ์งานทั้งหมดเสร็จสิ้น ข้อกำหนดทั้งหมดถูกนำไปใช้ ครอบคลุมสถานการณ์
ความถูกต้องการนำไปใช้ตรงกับเจตนาของข้อกำหนด จัดการกรณีขอบเขต
ความสอดคล้องการตัดสินใจออกแบบสะท้อนในโค้ด รูปแบบสอดคล้องกัน

ตัวอย่าง:

You: /opsx:verify

AI:  Verifying add-dark-mode...

     COMPLETENESS
     ✓ All 8 tasks in tasks.md are checked
     ✓ All requirements in specs have corresponding code
     ⚠ Scenario "System preference detection" has no test coverage

     CORRECTNESS
     ✓ Implementation matches spec intent
     ✓ Edge cases from scenarios are handled
     ✓ Error states match spec definitions

     COHERENCE
     ✓ Design decisions reflected in code structure
     ✓ Naming conventions consistent with design.md
     ⚠ Design mentions "CSS variables" but implementation uses Tailwind classes

     SUMMARY
     ─────────────────────────────
     Critical issues: 0
     Warnings: 2
     Ready to archive: Yes (with warnings)

     Recommendations:
     1. Add test for system preference detection
     2. Update design.md to reflect Tailwind usage, or refactor to use CSS variables

เคล็ดลับ:

  • รันก่อนเก็บถาวรเพื่อจับความไม่ตรงกันตั้งแต่เนิ่นๆ
  • คำเตือนไม่บล็อกการเก็บถาวร แต่บ่งชี้ปัญหาที่อาจเกิดขึ้น
  • เหมาะสำหรับตรวจสอบงานของ AI ก่อนตัดสินใจ
  • สามารถเผยให้เห็นความเบี่ยงเบนระหว่างสิ่งประดิษฐ์และการนำไปใช้

/opsx:sync

คำสั่งเสริม รวมข้อกำหนดเดลต้าจากการเปลี่ยนแปลงเข้ากับข้อกำหนดหลัก การเก็บถาวรจะแจ้งเตือนให้ซิงค์หากจำเป็น ดังนั้นโดยทั่วไปคุณไม่จำเป็นต้องรันคำสั่งนี้ด้วยตนเอง

ไวยากรณ์:

/opsx:sync [change-name]

อาร์กิวเมนต์:

อาร์กิวเมนต์จำเป็นคำอธิบาย
change-nameไม่การเปลี่ยนแปลงใดที่จะซิงค์ (อนุมานจากบริบทหากไม่ได้ระบุ)

สิ่งที่ทำ:

  • อ่านข้อกำหนดเดลต้าจากโฟลเดอร์การเปลี่ยนแปลง
  • แยกวิเคราะห์ส่วน ADDED/MODIFIED/REMOVED/RENAMED
  • รวมการเปลี่ยนแปลงเข้ากับไดเรกทอรี openspec/specs/ หลัก
  • รักษาเนื้อหาที่มีอยู่ซึ่งไม่ได้กล่าวถึงในเดลต้า
  • ไม่เก็บถาวรการเปลี่ยนแปลง (ยังคงใช้งานอยู่)

ตัวอย่าง:

text
You: /opsx:sync

AI:  Syncing add-dark-mode delta specs...

     Reading: openspec/changes/add-dark-mode/specs/ui/spec.md
     Target:  openspec/specs/ui/spec.md

     Changes to apply:
     ✓ ADDED: Theme Selection requirement (2 scenarios)
     ✓ ADDED: Accessibility requirement (1 scenario)

     Merging...
     ✓ openspec/specs/ui/spec.md updated

     Change remains active. Run /opsx:archive when ready to complete.

เมื่อใดควรใช้ด้วยตนเอง:

สถานการณ์ใช้ sync?
การเปลี่ยนแปลงที่ดำเนินมานาน ต้องการข้อกำหนดในส่วนหลักก่อนเก็บถาวรใช่
การเปลี่ยนแปลงแบบขนานหลายรายการต้องการข้อกำหนดฐานที่อัปเดตใช่
ต้องการแสดงตัวอย่าง/ตรวจสอบการรวมแยกต่างหากใช่
การเปลี่ยนแปลงแบบเร็ว ไปเก็บถาวรโดยตรงไม่ (การเก็บถาวรจัดการให้)

เคล็ดลับ:

  • การซิงค์เป็นแบบอัจฉริยะ ไม่ใช่การคัดลอก-วาง
  • สามารถเพิ่มสถานการณ์ในข้อกำหนดที่มีอยู่โดยไม่ทำซ้ำ
  • การเปลี่ยนแปลงยังคงใช้งานอยู่หลังซิงค์ (ไม่ถูกเก็บถาวร)
  • ผู้ใช้ส่วนใหญ่ไม่จำเป็นต้องเรียกใช้คำสั่งนี้โดยตรง—การเก็บถาวรจะแจ้งเตือนหากจำเป็น

/opsx:archive

เก็บถาวรการเปลี่ยนแปลงที่เสร็จสมบูรณ์ สรุปการเปลี่ยนแปลงและย้ายไปยังโฟลเดอร์เก็บถาวร

ไวยากรณ์:

/opsx:archive [change-name]

อาร์กิวเมนต์:

อาร์กิวเมนต์จำเป็นคำอธิบาย
change-nameไม่การเปลี่ยนแปลงใดที่จะเก็บถาวร (อนุมานจากบริบทหากไม่ได้ระบุ)

สิ่งที่ทำ:

  • ตรวจสอบสถานะความสมบูรณ์ของสิ่งประดิษฐ์
  • ตรวจสอบความสำเร็จของงาน (เตือนหากยังไม่เสร็จ)
  • เสนอให้ซิงค์ข้อกำหนดเดลต้ายังไม่ได้ซิงค์
  • ย้ายโฟลเดอร์การเปลี่ยนแปลงไปยัง openspec/changes/archive/YYYY-MM-DD-<name>/
  • รักษาสิ่งประดิษฐ์ทั้งหมดไว้เพื่อการตรวจสอบ

ตัวอย่าง:

text
You: /opsx:archive

AI:  Archiving add-dark-mode...

     Artifact status:
     ✓ proposal.md exists
     ✓ specs/ exists
     ✓ design.md exists
     ✓ tasks.md exists (8/8 tasks complete)

     Delta specs: Not yet synced
     → Sync now? (recommended)

You: Yes

AI:  ✓ Synced specs to openspec/specs/ui/spec.md
     ✓ Moved to openspec/changes/archive/2025-01-24-add-dark-mode/

     Change archived successfully.

เคล็ดลับ:

  • การเก็บถาวรจะไม่บล็อกงานที่ยังไม่เสร็จ แต่จะเตือน
  • ข้อกำหนดเดลต้าสามารถซิงค์ระหว่างการเก็บถาวรหรือล่วงหน้า
  • การเปลี่ยนแปลงที่เก็บถาวรจะถูกเก็บรักษาไว้เพื่อประวัติ
  • ใช้ /opsx:verify ก่อนเพื่อจับปัญหา

/opsx:bulk-archive

เก็บถาวรการเปลี่ยนแปลงที่เสร็จสมบูรณ์หลายรายการพร้อมกัน จัดการความขัดแย้งของข้อกำหนดระหว่างการเปลี่ยนแปลง

ไวยากรณ์:

/opsx:bulk-archive [change-names...]

อาร์กิวเมนต์:

อาร์กิวเมนต์จำเป็นคำอธิบาย
change-namesไม่การเปลี่ยนแปลงเฉพาะที่จะเก็บถาวร (จะถามให้เลือกหากไม่ได้ระบุ)

สิ่งที่ทำ:

  • แสดงรายการการเปลี่ยนแปลงที่เสร็จสมบูรณ์ทั้งหมด
  • ตรวจสอบแต่ละการเปลี่ยนแปลงก่อนเก็บถาวร
  • ตรวจจับความขัดแย้งของข้อกำหนดข้ามการเปลี่ยนแปลง
  • แก้ไขความขัดแย้งโดยตรวจสอบสิ่งที่นำไปใช้จริง
  • เก็บถาวรตามลำดับเวลา

ตัวอย่าง:

You: /opsx:bulk-archive

AI:  Found 3 completed changes:
     - add-dark-mode (8/8 tasks complete)
     - fix-login-bug (3/3 tasks complete)
     - update-footer (2/2 tasks complete)

     Checking for spec conflicts...
     ⚠ add-dark-mode and update-footer both touch specs/ui/

     Inspecting codebase to resolve...
     Both changes are implemented. Will merge in chronological order:
     1. add-dark-mode (created Jan 20)
     2. update-footer (created Jan 22)

     Archive all 3 changes?

You: Yes

AI:  ✓ Archived add-dark-mode
     ✓ Archived fix-login-bug
     ✓ Archived update-footer
     Specs merged: add-dark-mode → update-footer

เคล็ดลับ:

  • เหมาะสำหรับกระแสงานแบบขนาน
  • การแก้ไขความขัดแย้งเป็นแบบเอเจนต์ (ตรวจสอบฐานรหัส)
  • การเปลี่ยนแปลงถูกเก็บถาวรตามลำดับการสร้าง
  • แจ้งเตือนก่อนเขียนทับเนื้อหาข้อกำหนด

/opsx:onboard

การเริ่มต้นใช้งานแบบมีคำแนะนำผ่านเวิร์กโฟลว์ OpenSpec ที่สมบูรณ์ บทช่วยสอนแบบโต้ตอบโดยใช้ฐานรหัสจริงของคุณ

ไวยากรณ์:

/opsx:onboard

สิ่งที่ทำ:

  • เดินผ่านรอบเวิร์กโฟลว์ที่สมบูรณ์พร้อมคำอธิบาย
  • สแกนฐานรหัสของคุณเพื่อหาโอกาสในการปรับปรุงที่แท้จริง
  • สร้างการเปลี่ยนแปลงจริงด้วยสิ่งประดิษฐ์จริง
  • ดำเนินงานจริง (การเปลี่ยนแปลงเล็กน้อย ปลอดภัย)
  • เก็บถาวรการเปลี่ยนแปลงที่เสร็จสมบูรณ์
  • อธิบายแต่ละขั้นตอนเมื่อดำเนินการ

ขั้นตอน:

  1. ต้อนรับและวิเคราะห์ฐานรหัส
  2. ค้นหาโอกาสในการปรับปรุง
  3. สร้างการเปลี่ยนแปลง (/opsx:new)
  4. เขียนข้อเสนอ
  5. สร้างข้อกำหนด
  6. เขียนการออกแบบ
  7. สร้างงาน
  8. ดำเนินงาน (/opsx:apply)
  9. ตรวจสอบการนำไปใช้
  10. เก็บถาวรการเปลี่ยนแปลง
  11. สรุปและขั้นตอนถัดไป

ตัวอย่าง:

You: /opsx:onboard

AI:  Welcome to OpenSpec!

     I'll walk you through the complete workflow using your actual codebase.
     We'll find something small to improve, create a proper change for it,
     implement it, and archive it.

     Let me scan your codebase for opportunities...

     [Analyzes codebase]

     I found a few things we could work on:
     1. Add input validation to the contact form
     2. Improve error messages in the auth flow
     3. Add loading states to async buttons

     Which interests you? (or suggest something else)

เคล็ดลับ:

  • เหมาะที่สุดสำหรับผู้ใช้ใหม่ที่เรียนรู้เวิร์กโฟลว์
  • ใช้โค้ดจริง ไม่ใช่ตัวอย่างจำลอง
  • สร้างการเปลี่ยนแปลงจริงที่คุณสามารถเก็บไว้หรือทิ้ง
  • ใช้เวลา 15-30 นาทีในการทำให้เสร็จสมบูรณ์

รูปแบบคำสั่งตามเครื่องมือ AI

เครื่องมือ AI ต่างๆ ใช้รูปแบบคำสั่งที่แตกต่างกันเล็กน้อย ให้ใช้รูปแบบที่ตรงกับเครื่องมือของคุณ:

เครื่องมือตัวอย่างรูปแบบ
Claude Code/opsx:propose, /opsx:apply
Cursor/opsx-propose, /opsx-apply
Windsurf/opsx-propose, /opsx-apply
Copilot (IDE)/opsx-propose, /opsx-apply
Kimi CLIการเรียกใช้แบบ Skill-based เช่น /skill:openspec-propose, /skill:openspec-apply-change (ไม่มีไฟล์คำสั่ง opsx-* ที่สร้างขึ้น)
Traeการเรียกใช้แบบ Skill-based เช่น /openspec-propose, /openspec-apply-change (ไม่มีไฟล์คำสั่ง opsx-* ที่สร้างขึ้น)

เจตจำนงเหมือนกันในทุกเครื่องมือ แต่วิธีที่คำสั่งปรากฏอาจแตกต่างกันตามการผสานรวม

หมายเหตุ: คำสั่ง GitHub Copilot (.github/prompts/*.prompt.md) ใช้ได้เฉพาะในส่วนขยาย IDE (VS Code, JetBrains, Visual Studio) เท่านั้น GitHub Copilot CLI ปัจจุบันยังไม่รองรับไฟล์ prompt ที่กำหนดเอง — ดูรายละเอียดและวิธีแก้ไขปัญหาได้ที่ เครื่องมือที่รองรับ


คำสั่งรุ่นเก่า (Legacy Commands)

คำสั่งเหล่านี้ใช้เวิร์กโฟลว์แบบ "ทำทั้งหมดพร้อมกัน" รุ่นเก่า ยังคงใช้งานได้ แต่แนะนำให้ใช้คำสั่ง OPSX

คำสั่งหน้าที่
/openspec:proposalสร้างสิ่งประดิษฐ์ทั้งหมดพร้อมกัน (ข้อเสนอ, ข้อกำหนด, การออกแบบ, งาน)
/openspec:applyดำเนินการเปลี่ยนแปลง
/openspec:archiveเก็บถาวรการเปลี่ยนแปลง

เมื่อใดควรใช้คำสั่งรุ่นเก่า:

  • โครงการที่มีอยู่แล้วซึ่งใช้เวิร์กโฟลว์เดิม
  • การเปลี่ยนแปลงง่ายๆ ที่ไม่ต้องการสร้างสิ่งประดิษฐ์แบบทีละขั้นตอน
  • ชอบวิธีการแบบ "ทั้งหมดหรือไม่เลย"

การย้ายไปใช้ OPSX: การเปลี่ยนแปลงรุ่นเก่าสามารถดำเนินต่อได้ด้วยคำสั่ง OPSX โครงสร้างสิ่งประดิษฐ์เข้ากันได้


การแก้ไขปัญหา (Troubleshooting)

"ไม่พบการเปลี่ยนแปลง (Change not found)"

คำสั่งไม่สามารถระบุว่าจะทำงานกับการเปลี่ยนแปลงใด

วิธีแก้ไข:

  • ระบุชื่อการเปลี่ยนแปลงอย่างชัดเจน: /opsx:apply add-dark-mode
  • ตรวจสอบว่าโฟลเดอร์การเปลี่ยนแปลงมีอยู่: openspec list
  • ตรวจสอบว่าคุณอยู่ในไดเรกทอรีโครงการที่ถูกต้อง

"ไม่มีสิ่งประดิษฐ์ที่พร้อม (No artifacts ready)"

สิ่งประดิษฐ์ทั้งหมดเสร็จสมบูรณ์แล้วหรือถูกบล็อกโดยการพึ่งพาที่ขาดหายไป

วิธีแก้ไข:

  • รัน openspec status --change <name> เพื่อดูว่ามีอะไรบล็อกอยู่
  • ตรวจสอบว่าสิ่งประดิษฐ์ที่จำเป็นมีอยู่หรือไม่
  • สร้างสิ่งประดิษฐ์ที่ขาดหายไปก่อน

"ไม่พบ Schema (Schema not found)"

Schema ที่ระบุไม่มีอยู่

วิธีแก้ไข:

  • แสดงรายการ Schema ที่มี: openspec schemas
  • ตรวจสอบการสะกดชื่อ Schema
  • สร้าง Schema หากเป็นแบบกำหนดเอง: openspec schema init <name>

คำสั่งไม่ถูกรู้จัก

เครื่องมือ AI ไม่รู้จักคำสั่ง OpenSpec

วิธีแก้ไข:

  • ตรวจสอบว่า OpenSpec ถูกเริ่มต้นแล้ว: openspec init
  • สร้างทักษะใหม่: openspec update
  • ตรวจสอบว่าไดเรกทอรี .claude/skills/ มีอยู่ (สำหรับ Claude Code)
  • รีสตาร์ทเครื่องมือ AI ของคุณเพื่อรับทักษะใหม่

สิ่งประดิษฐ์ไม่สร้างอย่างถูกต้อง

AI สร้างสิ่งประดิษฐ์ที่ไม่สมบูรณ์หรือไม่ถูกต้อง

วิธีแก้ไข:

  • เพิ่มบริบทโครงการใน openspec/config.yaml
  • เพิ่มกฎสำหรับสิ่งประดิษฐ์แต่ละรายการเพื่อคำแนะนำเฉพาะ
  • ให้รายละเอียดเพิ่มเติมในคำอธิบายการเปลี่ยนแปลงของคุณ
  • ใช้ /opsx:continue แทน /opsx:ff เพื่อควบคุมได้มากขึ้น

ขั้นตอนถัดไป

  • เวิร์กโฟลว์ - รูปแบบทั่วไปและเมื่อใดควรใช้คำสั่งแต่ละคำสั่ง
  • CLI - คำสั่งเทอร์มินัลสำหรับการจัดการและการตรวจสอบ
  • การปรับแต่ง - สร้าง Schema และเวิร์กโฟลว์ที่กำหนดเอง