Skip to content

คำสั่ง ​

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

สำหรับรูปแบบการทำงานและคำแนะนำว่าควรใช้คำสั่งใดเมื่อใด โปรดดูที่ Workflows สำหรับคำสั่ง CLI โปรดดูที่ CLI

หน้าเอกสารเหล่านี้ใช้ /opsx:<command> เป็นชื่อมาตรฐาน อย่างไรก็ตาม เครื่องมือบางตัวอาจสะกดแตกต่างกัน — เช่น Cursor และ GitHub Copilot ลงทะเบียน /opsx-propose ส่วน Codex ใช้ $openspec-propose — ดังนั้นโปรดตรวจสอบ How To Invoke สำหรับเครื่องมือของคุณ ไฟล์ที่ OpenSpec สร้างขึ้นจะใช้รูปแบบที่ถูกต้องอยู่แล้ว

การอ้างอิงอย่างรวดเร็ว ​

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

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

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

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

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

Command Reference ​

/opsx:propose ​

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

Syntax:

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

Arguments:

ArgumentRequiredDescription
change-name-or-descriptionNoชื่อแบบ kebab-case หรือคำอธิบายการเปลี่ยนแปลงด้วยภาษาธรรมดา

What it does:

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

Example:

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.

Tips:

  • ใช้คำสั่งนี้สำหรับเส้นทาง end-to-end ที่เร็วที่สุด
  • หากต้องการควบคุมเอกสารทีละขั้นตอน ให้เปิดใช้งาน expanded workflows และใช้ /opsx:new + /opsx:continue

/opsx:explore ​

เริ่มที่นี่เมื่อคุณไม่แน่ใจ Explore คือคู่คิดที่ไม่มีความเสี่ยง: อ่านโค้ดเบสของคุณ เปรียบเทียบตัวเลือก และขัดเกลาไอเดียที่คลุมเครือให้เป็นแผนที่เป็นรูปธรรมก่อนที่การเปลี่ยนแปลงใดๆ จะเกิดขึ้น มีอยู่ในโปรไฟล์เริ่มต้น สำหรับกรณีศึกษาเต็มรูปแบบและตัวอย่างเพิ่มเติม ดูคู่มือ Explore First

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

Syntax:

/opsx:explore [topic]

Arguments:

ArgumentRequiredDescription
topicNoสิ่งที่คุณต้องการสำรวจหรือตรวจสอบ

What it does:

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

Example:

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.

Tips:

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

/opsx:new ​

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

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

Syntax:

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

Arguments:

ArgumentRequiredDescription
change-nameNoชื่อโฟลเดอร์การเปลี่ยนแปลง (จะถามหากไม่ได้ระบุ)
--schemaNoWorkflow schema ที่จะใช้ (ค่าเริ่มต้น: จาก config หรือ spec-driven)

What it does:

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

What it creates:

openspec/changes/<change-name>/
└── .openspec.yaml    # Change metadata (schema, created date)

Example:

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.

Tips:

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

/opsx:continue ​

สร้างเอกสารถัดไปในห่วงโซ่การพึ่งพา สร้างทีละหนึ่งเอกสารเพื่อพัฒนาแบบขั้นบันได

Syntax:

/opsx:continue [change-name]

Arguments:

ArgumentRequiredDescription
change-nameNoการเปลี่ยนแปลงที่จะดำเนินการต่อ (จะอนุมานจากบริบทหากไม่ได้ระบุ)

What it does:

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

Example:

You: /opsx:continue

AI:  Change: add-dark-mode

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

     Creating specs...

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

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

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

Tips:

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

/opsx:ff ​

ข้ามไปข้างหน้าในการสร้างเอกสาร สร้างเอกสารวางแผนทั้งหมดในครั้งเดียว

Syntax:

/opsx:ff [change-name]

Arguments:

ArgumentRequiredDescription
change-nameNoการเปลี่ยนแปลงที่จะข้ามไปข้างหน้า (จะอนุมานจากบริบทหากไม่ได้ระบุ)

What it does:

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

Example:

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.

Tips:

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

/opsx:apply ​

นำงานจาก change ไปปฏิบัติ ทำงานผ่านรายการงาน เขียนโค้ดและทำเครื่องหมายรายการที่เสร็จแล้ว

Syntax:

/opsx:apply [change-name]

Arguments:

ArgumentRequiredDescription
change-nameNoการเปลี่ยนแปลงที่จะนำไปใช้ (จะอนุมานจากบริบทหากไม่ได้ระบุ)

What it does:

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

Example:

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
     ...

Tips:

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

/opsx:update ​

แก้ไขเอกสารวางแผนที่มีอยู่ของการเปลี่ยนแปลงและรักษาความสอดคล้องกัน เอกสารวางแผนเท่านั้น - ไม่แก้ไขโค้ดเลย

Syntax:

text
/opsx:update [change-name]

Arguments:

ArgumentRequiredDescription
change-nameNoการเปลี่ยนแปลงที่จะอัปเดต (จะอนุมานจากบริบทหากไม่ได้ระบุ)

What it does:

  • อ่านเอกสารของการเปลี่ยนแปลงผ่าน openspec status --change <name> --json
  • นำการแก้ไขที่คุณร้องขอไปใช้ หรือตรวจสอบเอกสารว่ามีข้อขัดแย้งหากไม่ได้ระบุ
  • ปรับเอกสารอื่นๆ ที่มีอยู่ให้สอดคล้องกันในทุกทิศทาง (การแก้ไข design อาจส่งผลย้อนกลับไปยัง proposal)
  • ยืนยันการแก้ไขทุกครั้งกับคุณก่อนเขียน ทีละเอกสาร
  • ปิดท้ายด้วยการแนะนำขั้นตอนถัดไป: /opsx:continue (เอกสารยังขาด), /opsx:apply (นำแผนที่ถูกแก้ไขไปใช้กับโค้ด), หรือ /opsx:archive (เสร็จสิ้นทั้งหมด)

Example:

text
You: /opsx:update add-dark-mode - we're storing the theme in a cookie now, not localStorage

AI:  Reading add-dark-mode artifacts...

     The design references localStorage in two places; tasks 1.3 covers
     localStorage persistence; the proposal doesn't mention storage.

     Proposed revisions:
     1. design.md - swap localStorage decision for cookie storage
     2. tasks.md - reword task 1.3 to cookie persistence

     Apply revision 1? (design.md)

Tips:

  • จะไม่สร้างเอกสารที่ขาดหาย - นั่นคือหน้าที่ของ /opsx:continue
  • หากการเปลี่ยนแปลงถูกนำไปใช้แล้ว ให้ตามด้วย /opsx:apply เพื่อให้โค้ดตรงกับแผนที่ถูกแก้ไข
  • หากการแก้ไขของคุณเปลี่ยน เจตนา ของการเปลี่ยนแปลง ให้เริ่มใหม่ด้วยการเปลี่ยนแปลงใหม่แทน (ดู When to Update vs. Start Fresh)

/opsx:verify ​

ตรวจสอบว่า implementation ตรงกับเอกสารการเปลี่ยนแปลงของคุณ ตรวจสอบความครบถ้วน ความถูกต้อง และความสอดคล้อง

Syntax:

/opsx:verify [change-name]

Arguments:

ArgumentRequiredDescription
change-nameNoการเปลี่ยนแปลงที่จะตรวจสอบ (จะอนุมานจากบริบทหากไม่ได้ระบุ)

What it does:

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

Verification dimensions:

DimensionWhat it validates
Completenessงานทั้งหมดเสร็จสิ้น ข้อกำหนดทั้งหมดถูกนำไปใช้ สถานการณ์ครอบคลุม
CorrectnessImplementation ตรงกับเจตนาของ spec กรณีขอบเขตได้รับการจัดการ
Coherenceการตัดสินใจด้าน design สะท้อนในโค้ด รูปแบบสอดคล้องกัน

Example:

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

Tips:

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

/opsx:sync ​

คำสั่งทางเลือก รวม delta specs จาก change เข้ากับ main specs Archive จะถามให้ sync หากจำเป็น ดังนั้นคุณมักไม่จำเป็นต้องรันคำสั่งนี้ด้วยตนเอง

Syntax:

/opsx:sync [change-name]

Arguments:

ArgumentRequiredDescription
change-nameNoการเปลี่ยนแปลงที่จะ sync (จะอนุมานจากบริบทหากไม่ได้ระบุ)

What it does:

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

Example:

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.

When to use manually:

ScenarioUse sync?
การเปลี่ยนแปลงระยะยาว ต้องการ specs ใน main ก่อน archiveYes
การเปลี่ยนแปลงขนานหลายรายการต้องการ base specs ที่อัปเดตแล้วYes
ต้องการ preview/ทบทวนการ merge แยกต่างหากYes
การเปลี่ยนแปลงรวดเร็ว ไป archive ตรงๆNo (archive จัดการให้)

Tips:

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

/opsx:archive ​

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

Syntax:

/opsx:archive [change-name]

Arguments:

ArgumentRequiredDescription
change-nameNoการเปลี่ยนแปลงที่จะ archive (จะอนุมานจากบริบทหากไม่ได้ระบุ)

What it does:

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

Example:

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.

Tips:

  • Archive จะไม่บล็อกหากงานไม่เสร็จ แต่จะเตือน
  • Delta specs สามารถ sync ระหว่าง archive หรือก่อนหน้าได้
  • การเปลี่ยนแปลงที่ถูก archive จะถูกเก็บไว้เพื่อประวัติศาสตร์
  • ใช้ /opsx:verify ก่อนเพื่อจับปัญหา

/opsx:bulk-archive ​

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

Syntax:

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

Arguments:

ArgumentRequiredDescription
change-namesNoการเปลี่ยนแปลงเฉพาะที่จะ archive (จะถามให้เลือกหากไม่ได้ระบุ)

What it does:

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

Example:

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

Tips:

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

/opsx:onboard ​

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

Syntax:

/opsx:onboard

What it does:

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

Phases:

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

Example:

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)

Tips:

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

Command Syntax by AI Tool ​

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

ไฟล์คำสั่งของเครื่องมือคุณตัวอย่าง syntaxตัวอย่างเครื่องมือ
.../commands/opsx/<id>.*/opsx:propose, /opsx:applyClaude Code, Gemini CLI, Crush
.../opsx-<id>.*/opsx-propose, /opsx-applyCursor, Devin Desktop, Copilot (IDE), Trae, Oh My Pi
ไม่มี — ใช้เฉพาะ skills/openspec-propose, /openspec-apply-changeCodeArts, ForgeCode, Hermes, MiniMax Code, Mistral Vibe, Zed Agent, shared .agents
ไม่มี — Kimi Code/skill:openspec-proposeKimi Code
ไม่มี — Codex CLI$openspec-proposeCodex

Devin Desktop vs Devin Local: ไฟล์ .devin/workflows/opsx-*.md จะให้ Devin Desktop ใช้ /opsx-propose ได้ ส่วน Devin Local ไม่มี workflows — ให้ใช้ skills ที่ OpenSpec เขียนลง .devin/skills/ เช่น /openspec-propose ซึ่งใช้ได้กับทั้งสอง agent

เจตนาของคำสั่งเหมือนกันทุกเครื่องมือ แต่รูปแบบการแสดงผลคำสั่งอาจแตกต่างกันตามการเชื่อมต่อ How To Invoke มีรายการเครื่องมือที่รองรับทั้งหมด ตารางนี้แสดงเฉพาะตัวอย่างของแต่ละรูปแบบ

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


Legacy Commands ​

คำสั่งเหล่านี้ใช้ workflow แบบ "ทำทั้งหมดในครั้งเดียว" แบบเก่า ยังใช้งานได้ตามปกติ แต่แนะนำให้ใช้คำสั่ง OPSX แทน

คำสั่งหน้าที่
/openspec:proposalสร้าง artifacts ทั้งหมดในครั้งเดียว (proposal, specs, design, tasks)
/openspec:applyดำเนินการ implement การเปลี่ยนแปลง
/openspec:archiveจัดเก็บการเปลี่ยนแปลง

เมื่อไหร่ควรใช้คำสั่ง legacy:

  • โปรเจกต์เดิมที่ใช้ workflow แบบเก่า
  • การเปลี่ยนแปลงง่ายๆ ที่ไม่จำเป็นต้องสร้าง artifacts ทีละขั้น
  • ชอบแนวทางแบบ all-or-nothing

การย้ายไปใช้ OPSX: การเปลี่ยนแปลงแบบ legacy สามารถดำเนินการต่อด้วยคำสั่ง OPSX ได้ โครงสร้าง artifacts เป็นที่เข้ากันได้


Troubleshooting ​

"Change not found" ​

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

วิธีแก้ไข:

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

"No artifacts ready" ​

artifacts ทั้งหมดเสร็จสมบูรณ์แล้วหรือถูกบล็อกด้วย dependencies ที่ขาดหาย

วิธีแก้ไข:

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

"Schema not found" ​

schema ที่ระบุไม่มีอยู่จริง

วิธีแก้ไข:

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

Commands not recognized ​

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

วิธีแก้ไข:

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

Artifacts not generating properly ​

AI สร้าง artifacts ที่ไม่สมบูรณ์หรือไม่ถูกต้อง

วิธีแก้ไข:

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

Next Steps ​

  • Workflows - รูปแบบการใช้งานทั่วไปและเมื่อไหร่ควรใช้แต่ละคำสั่ง
  • CLI - คำสั่งเทอร์มินัลสำหรับการจัดการและตรวจสอบความถูกต้อง
  • Customization - สร้าง schema และ workflow แบบ custom