Skip to content

Keterampilan ​

Setiap keterampilan OpenSpec: argumen, apa yang dibuatnya, dan apa yang diresponsnya.

Keterampilan hadir dalam dua kelompok:

  • Inti: terpasang secara default, loop perencanaan utama.
  • Opsional: terpasang hanya saat Anda menambahkannya, melalui Profil.

Setiap keterampilan mengasumsikan proyek yang sudah menggunakan OpenSpec. Sebelum langkah pertamanya yang menulis apa pun, sebuah keterampilan memeriksa root yang telah di-resolve. Apa yang terjadi jika tidak ada bergantung pada bagaimana keterampilan tersebut diakses:

  • Dipilih otomatis: agen Anda memilih keterampilan itu sendiri, tanpa Anda menyebut OpenSpec. Ia mengabaikan OpenSpec dan menjawab permintaan Anda secara normal, seperti yang akan dilakukan jika OpenSpec tidak terpasang.
  • Permintaan OpenSpec eksplisit: Anda menyebut OpenSpec, menyebut keterampilan tersebut, atau menjalankan perintahnya. Ia berhenti sebelum menulis dan bertanya bagaimana melanjutkan: jalankan openspec init di sini, targetkan store dengan --store <id>, atau lanjutkan tanpa OpenSpec. Ia menunggu jawaban Anda.

Perintah selalu merupakan kasus kedua. Proyek yang openspec/config.yaml-nya menyebut store yang tidak dapat diselesaikan mesin ini (tidak terdaftar, atau baris store: yang salah format) tidak diperlakukan sebagai belum diinisialisasi: keterampilan berhenti dan menampilkan error store beserta perbaikannya. Tidak ada keterampilan yang membuat direktori openspec/ sendiri dalam kedua kasus tersebut. Entri di bawah menjelaskan apa yang dilakukan setiap keterampilan setelah root tersedia.

KeterampilanPekerjaanTipe
openspec-exploreMemikirkan sebuah ide sebelum menjadi proposal perubahanInti
openspec-proposeMembuat proposal perubahan dengan semua artefak perencanaannya dalam satu langkahInti
openspec-apply-changeMengimplementasikan tugas-tugas proposal perubahanInti
openspec-update-changeMerevisi rencana proposal perubahanInti
openspec-sync-specsMenggabungkan pembaruan spesifikasi proposal perubahan ke dalam specs/Inti
openspec-archive-changeMemindahkan proposal perubahan yang selesai ke arsipInti
openspec-new-changeMemulai proposal perubahan sebagai kerangka kosongOpsional
openspec-continue-changeMembuat artefak perencanaan berikutnya, satu per satuOpsional
openspec-ff-changeMembuat proposal perubahan dengan semua artefak yang dibutuhkan implementasi, dalam satu kali prosesOpsional
openspec-verify-changeMemeriksa apakah implementasi sesuai dengan rencanaOpsional
openspec-bulk-archive-changeMengarsipkan beberapa proposal perubahan sekaligusOpsional
openspec-onboardMempelajari alur kerja dengan mengerjakan satu proposal perubahan nyata dari awal hingga akhirOpsional

Setiap entri di bawah menyebut keterampilan yang memiliki langkah berikutnya. Ketika profil Anda tidak menyertakan keterampilan tersebut, file yang terpasang tidak pernah menyebutnya: serah terima menjadi perintah openspec yang setara, atau permintaan langsung kepada Anda, dan baris yang hanya ada untuk menunjuk keterampilan yang hilang tidak ditulis sama sekali. Jadi keterampilan yang Anda miliki selalu menyerahkan ke keterampilan yang Anda miliki. Kelompok mana yang Anda dapatkan adalah Profil.

openspec-explore ​

Pikirkan sebuah ide sebelum menjadi proposal perubahan.

ContractDescription
ArgumentsSebuah topik: sebuah ide, sebuah masalah, sebuah perbandingan, atau nama dari proposal perubahan yang sudah ada untuk dijelajahi dalam konteks. Jika tidak ada yang diberikan, ia masuk ke mode eksplorasi.
CreatesTidak ada secara default. Ia hanya membaca dan menyelidiki. Atas permintaan, ia menangkap wawasan: sebuah proposal perubahan baru di bawah openspec/changes/<name>/, atau pembaruan pada proposal, desain, spesifikasi, atau tugas yang sudah ada. Tidak pernah kode.
ResponsePercakapan terbuka tanpa keluaran yang diwajibkan. Ketika pemikiran mengkristal, ia merangkum masalah, pendekatan, pertanyaan terbuka, dan langkah selanjutnya, dan menawarkan untuk menangkapnya. Anda yang memutuskan. Implementasi tidak pernah dimulai di sini.

openspec-propose ​

Buat proposal perubahan dan hasilkan semua artefak perencanaannya dalam satu langkah.

ContractDescription
ArgumentsSebuah nama kebab-case (add-dark-mode) atau deskripsi biasa. Bertanya jika Anda tidak memberikan keduanya.
Createsopenspec/changes/<name>/ dengan setiap artefak yang didefinisikan skema, dalam urutan dependensi (berbasis spesifikasi: proposal, delta spesifikasi, desain, tugas). Tidak pernah kode.
ResponseArtefak yang dibuat, siap untuk ditinjau, dan langkah selanjutnya. Berhenti di sana; implementasi menunggu openspec-apply-change.

openspec-apply-change ​

Implementasikan tugas-tugas proposal perubahan, mengerjakan daftar hingga selesai atau terblokir.

ContractDescription
ArgumentsSebuah nama proposal perubahan (add-auth), opsional. Jika target ambigu, ia mendaftar proposal perubahan yang aktif dan meminta Anda untuk memilih.
CreatesKode: perubahan minimal yang diminta setiap tugas, dalam file proyek Anda. Dalam proposal perubahan, ia mencentang setiap tugas yang selesai (- [ ] ke - [x]) dalam file yang dilacak yang diidentifikasi oleh sourcePath dan line berbasis satu. Sebuah skema dapat melacak tugas di beberapa file.
ResponseKemajuan per tugas, lalu hitungan keseluruhan (N/M tugas selesai). Semua selesai: menyarankan openspec-archive-change. Diblokir oleh artefak yang hilang: mengarahkan ke openspec-continue-change, atau ke openspec status dan openspec instructions ketika keterampilan tersebut tidak terinstal (profil inti tidak menyertakannya). Tugas yang tidak jelas atau kesalahan: menjeda dan bertanya.

openspec-update-change ​

Revisi artefak perencanaan yang sudah ada dari proposal perubahan dan jaga agar tetap koheren satu sama lain.

ContractDescription
ArgumentsSebuah nama proposal perubahan, opsional, plus revisi yang Anda inginkan. Tanpa revisi yang dinyatakan, ia menjalankan tinjauan koherensi: artefak diperiksa satu sama lain untuk kontradiksi, kesenjangan, dan duplikasi.
CreatesMengedit file artefak yang sudah ada. Satu pengecualian: untuk artefak yang ditulis sebagai glob, seperti specs/**/*.md, yang sudah memiliki setidaknya satu file, ia dapat menambahkan file pendamping yang hilang setelah Anda mengonfirmasi jalurnya. Artefak tanpa file apa pun adalah tugas openspec-continue-change. Tanpa keterampilan tersebut (profil inti tidak menyertakannya), ia mengarahkan ke openspec status dan openspec instructions sebagai gantinya. Tidak pernah kode.
ResponseMenunjukkan setiap revisi yang diusulkan dan menulisnya hanya setelah Anda mengonfirmasi, satu artefak pada satu waktu. Berakhir dengan apa yang direvisi dan langkah selanjutnya; implementasi menunggu openspec-apply-change.

openspec-sync-specs ​

Gabungkan pembaruan spesifikasi dari proposal perubahan ke specs/ tanpa mengarsipkannya.

ContractDescription
ArgumentsSebuah nama proposal perubahan, opsional. Anda juga dapat menamai subset dari delta spesifikasinya, dan hanya yang itu yang disinkronkan.
CreatesMengedit atau membuat openspec/specs/<capability-path>/spec.md untuk setiap delta spesifikasi, menggabungkan persyaratan yang ditambahkan, dimodifikasi, dihapus, dan diganti nama ke dalam spesifikasi utama. Tidak pernah kode.
ResponseRingkasan per kemampuan dari persyaratan yang ditambahkan, dimodifikasi, dihapus, atau diganti nama, setelah spesifikasi yang diperbarui divalidasi. Proposal perubahan tetap aktif; pengarsipan menunggu openspec-archive-change.

openspec-archive-change ​

Pindahkan proposal perubahan yang telah selesai ke arsip.

ContractDescription
ArgumentsSebuah nama proposal perubahan, opsional.
CreatesMemindahkan folder proposal perubahan ke openspec/changes/archive/YYYY-MM-DD-<name>/ (tidak ada tanggal ditambahkan jika nama sudah dimulai dengan satu). Dengan persetujuan Anda, ia terlebih dahulu menyinkronkan delta spesifikasi yang tertunda. Ketika openspec-sync-specs terinstal, ia menjalankan alur kerja tersebut. Jika tidak, ia menggabungkan delta spesifikasi ke dalam spesifikasi utama sendiri. Tidak pernah kode.
ResponseMemperingatkan dan bertanya sebelum mengarsipkan dengan artefak atau tugas yang tidak lengkap, dan bertanya apakah akan menyinkronkan ketika delta spesifikasi ada. Berakhir dengan ringkasan: nama, skema, lokasi arsip, status sinkronisasi spesifikasi, dan peringatan apa pun.

openspec-new-change ​

Mulai proposal perubahan sebagai kerangka kosong.

ContractDescription
ArgumentsSebuah nama kebab-case (add-user-auth) atau deskripsi biasa, plus nama skema hanya untuk alur kerja non-default. Bertanya apa yang ingin Anda bangun jika Anda tidak memberikan keduanya.
Createsopenspec/changes/<name>/ sebagai kerangka kosong: belum ada artefak, tidak pernah kode.
ResponseNama dan lokasi kerangka, urutan artefak alur kerja, status (0/N selesai), dan template artefak pertama. Penyusunan artefak menunggu openspec-continue-change.

openspec-continue-change ​

Buat artefak perencanaan berikutnya dalam proposal perubahan, satu pada satu waktu.

ContractDescription
ArgumentsSebuah nama proposal perubahan, opsional. Jika masih ambigu, ia meminta Anda untuk memilih dari yang baru saja dimodifikasi.
CreatesArtefak siap berikutnya tunggal dalam urutan skema, ditulis ke dalam folder proposal perubahan. Satu artefak perjalanan, tidak pernah kode.
ResponseArtefak yang dibuat, kemajuan (N dari M selesai), dan artefak mana yang dibuka. Ketika perencanaan selesai, ia menyatakannya; implementasi berpindah ke openspec-apply-change.

openspec-ff-change ​

Buat proposal perubahan dan setiap artefak perencanaan yang diperlukan implementasi, dalam satu kali jalan.

ContractDescription
ArgumentsSebuah nama kebab-case atau deskripsi biasa. Bertanya jika Anda tidak memberikan keduanya. Jika proposal perubahan yang dinamai sudah ada, ia menyarankan melanjutkannya sebagai gantinya.
Createsopenspec/changes/<name>/ dan setiap artefak perencanaan yang diperlukan implementasi, dalam urutan dependensi (berbasis spesifikasi: proposal, spesifikasi, desain, tugas), hanya menghilangkan artefak yang ditandai dilewati atau kondisional. Tidak pernah kode.
ResponseNama dan lokasi proposal perubahan, setiap artefak yang dibuat, dan artefak kondisional apa pun yang dilewati dan mengapa. Berhenti di sana; implementasi menunggu openspec-apply-change.

openspec-verify-change ​

Periksa apakah implementasi cocok dengan artefak proposal perubahan.

ContractDescription
ArgumentsSebuah nama proposal perubahan, opsional. Ketika ambigu, ia bertanya, mendaftar proposal perubahan yang memiliki artefak tugas.
CreatesTidak ada. Ia membaca artefak proposal perubahan dan codebase. Verifikasi hanya laporan.
ResponseSebuah laporan: kartu skor untuk Kelengkapan, Kebenaran, dan Koherensi, lalu masalah KRITIS, PERINGATAN, dan SARAN dengan rekomendasi, dan penilaian kesiapan arsip akhir. Ia tidak mengubah apa pun dan tidak mengarsipkan.

openspec-bulk-archive-change ​

Arsipkan beberapa proposal perubahan sekaligus.

ContractDescription
ArgumentsTidak ada. Ia mendaftar proposal perubahan yang aktif dan meminta Anda untuk memilih sejumlah apa pun, dengan opsi untuk semua. Jika tidak ada yang aktif, ia menyatakannya dan berhenti.
Createsopenspec/changes/archive/YYYY-MM-DD-<name>/ per proposal perubahan yang diarsipkan (nama yang sudah ber tanggal mempertahankan prefiksnya). Delta spesifikasi masing-masing disinkronkan terlebih dahulu via openspec-sync-specs. Tidak pernah kode.
ResponseTabel status per proposal perubahan dan satu konfirmasi untuk seluruh batch, lalu ringkasan yang diarsipkan, dilewati, dan gagal, plus hasil sinkronisasi spesifikasi. Ketika dua proposal perubahan menyentuh spesifikasi yang sama, ia memeriksa codebase dan menyinkronkan delta yang diimplementasikan dari yang terlama terlebih dahulu.

openspec-onboard ​

Pelajari alur kerja dengan mengerjakan satu proposal perubahan nyata dari awal hingga akhir.

ContractDescription
ArgumentsTidak ada. Ia memindai codebase Anda untuk tugas pemula kecil dan meminta Anda untuk memilih satu atau mendeskripsikan milik Anda sendiri.
CreatesProposal perubahan nyata untuk tugas yang dipilih, satu artefak pada satu waktu, lalu kode nyata setelah Anda mengonfirmasi implementasi. Mengarsipkan proposal perubahan di akhir.
ResponseWalkthrough narasi dari siklus penuh dengan jeda untuk masukan Anda: eksplorasi, buat, bangun setiap artefak, implementasi, arsip. Berakhir dengan rekap dan petunjuk ke openspec-propose. Memakan waktu sekitar 15 hingga 20 menit.