คำสั่ง
นี่คือคำอ้างอิงสำหรับคำสั่งแบบสลัดของ 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สิ่งที่ทำ:
- เดินผ่านรอบเวิร์กโฟลว์ที่สมบูรณ์พร้อมคำอธิบาย
- สแกนฐานรหัสของคุณเพื่อหาโอกาสในการปรับปรุงที่แท้จริง
- สร้างการเปลี่ยนแปลงจริงด้วยสิ่งประดิษฐ์จริง
- ดำเนินงานจริง (การเปลี่ยนแปลงเล็กน้อย ปลอดภัย)
- เก็บถาวรการเปลี่ยนแปลงที่เสร็จสมบูรณ์
- อธิบายแต่ละขั้นตอนเมื่อดำเนินการ
ขั้นตอน:
- ต้อนรับและวิเคราะห์ฐานรหัส
- ค้นหาโอกาสในการปรับปรุง
- สร้างการเปลี่ยนแปลง (
/opsx:new) - เขียนข้อเสนอ
- สร้างข้อกำหนด
- เขียนการออกแบบ
- สร้างงาน
- ดำเนินงาน (
/opsx:apply) - ตรวจสอบการนำไปใช้
- เก็บถาวรการเปลี่ยนแปลง
- สรุปและขั้นตอนถัดไป
ตัวอย่าง:
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 และเวิร์กโฟลว์ที่กำหนดเอง