Spec-Driven Development

Tulis Spec Sebelum Memberi Prompt ke AI Coding Agent

Spec Kit adalah proyek open-source milik GitHub sendiri. Panduan ini independen dan tidak berafiliasi dengan atau didukung oleh GitHub.

Sebagian besar rasa frustrasi terhadap AI coding agent berakar pada hal yang sama: permintaan yang samar menghasilkan hasil yang samar, dan Anda baru tahu apa yang sebenarnya Anda inginkan setelah membaca kode yang tidak sesuai. Spec memperbaiki urutan kerjanya. Sebelum mengirim satu prompt pun, Anda menulis tiga hal singkat dalam bahasa sehari-hari: apa yang harus dilakukan, untuk siapa, dan pemeriksaan spesifik yang menandakan pekerjaan sudah selesai. Tidak satu pun dari itu menuntut Anda bisa menulis kode. Spec Kit dari GitHub, toolkit open-source yang dikelola di repositori GitHub sendiri, membangun proses terstruktur dan berulang untuk coding agent justru di sekitar kebiasaan ini, lengkap dengan alat baris perintahnya sendiri dan urutan langkah bernama yang berjalan dari prinsip dasar proyek sampai build yang berfungsi. Panduan ini membahas spec tiga bagian yang bisa Anda tulis sendiri dalam lima menit, bagaimana alur kerja Spec Kit menjadikan gagasan yang sama sebagai perintah-perintah terpisah, dan kapan memasang toolkit lengkapnya layak dilakukan dibandingkan menulis spec sendiri saja.

Spec adalah brief singkat berbahasa sehari-hari yang Anda tulis sebelum meminta coding agent membangun sesuatu: apa yang dilakukannya, untuk siapa, dan kriteria selesai yang membuktikan pekerjaannya tuntas. Spec Kit dari GitHub, toolkit open-source yang dibangun di repositori GitHub sendiri, menjadikan kebiasaan itu alur kerja yang berulang dengan perintah-perintahnya sendiri untuk menetapkan prinsip, menulis spec, membuat rencana, memecah rencana menjadi tugas, mengimplementasikan, dan melakukan konvergensi. Dokumentasinya menyebut agent yang bisa dihubungkan, termasuk Claude Code dari Anthropic dan GitHub Copilot. Anda tidak perlu toolkit itu untuk mendapat manfaatnya: mengetik brief tiga bagian yang sama sebagai pesan pertama bisa dipakai di coding agent apa pun yang sudah Anda gunakan.

Diterbitkan

Pelajaran gratis · tanpa akunKenalan dengan ClaudeMengapa Claude?6 mntMulai pelajaran gratis

Poin Penting

  • Spec adalah tiga hal yang ditulis sebelum prompt pertama: apa yang harus dibangun agent, untuk siapa, dan kriteria selesai yang membuktikan pekerjaannya tuntas.
  • Spec Kit dari GitHub adalah toolkit open-source gratis, berlisensi MIT menurut repositorinya sendiri, yang menjadikan kebiasaan ini enam perintah bernama: konstitusi, spec, rencana, daftar tugas, implementasi, lalu konvergensi.
  • Anda tidak perlu Spec Kit untuk mendapat manfaat dari spec. Mengetik brief tiga bagian yang sama sebagai pesan pertama bisa dipakai di Claude Code, Codex dari OpenAI, Copilot, Cursor dari Anysphere, atau coding agent lain.
  • Dokumentasi pemasangan Spec Kit sendiri menyebut coding agent yang bisa dihubungkan lewat kunci integrasi, termasuk Claude Code dan GitHub Copilot, serta menyediakan jalur untuk menambahkan yang lain.
  • Melewatkan kriteria selesai adalah cara paling umum sebuah spec gagal tanpa terasa: tanpa kriteria itu, Anda maupun agent tidak bisa memastikan tugasnya benar-benar selesai.

Salin dan tempel

Prompt yang bisa Anda pakai hari ini

Spec tiga bagian untuk membuka obrolan pertama Anda

Berikut spec untuk apa yang ingin saya minta Anda bangun. APA YANG DILAKUKAN: sebuah skrip yang memilah file di folder Downloads saya ke subfolder bertanggal berdasarkan jenis file. UNTUK SIAPA: hanya untuk saya, dijalankan manual dari terminal, tanpa pengguna lain. SELESAI JIKA: saat dijalankan pada folder uji berisi 20 file contoh, setiap file masuk ke subfolder yang benar, tidak ada yang di luar folder itu tersentuh, dan saya bisa membatalkan seluruh proses dengan satu perintah. Tanyakan apa pun yang Anda perlukan sebelum mulai membangun.

Tempel ini sebagai pesan pertama Anda, sebelum ada diskusi bolak-balik tentang cara kerjanya.

Meminta agent mengubah ide yang masih samar menjadi spec

Saya ingin membangun sesuatu, tetapi ide saya masih samar. Kira-kira yang saya bayangkan: tuliskan ide kasar Anda dalam satu atau dua kalimat di sini. Sebelum menulis kode apa pun, ajukan pertanyaan kepada saya sampai Anda bisa menyampaikan kembali, dalam tiga bagian singkat, apa yang dilakukannya, untuk siapa, dan bagaimana kita berdua tahu pekerjaannya sudah selesai. Jangan mulai membangun sebelum saya mengonfirmasi ketiga bagian itu secara tegas.

Berguna saat Anda sudah tahu bentuk masalahnya tetapi belum menentukan detailnya.

Memeriksa kriteria selesai sebelum menyetujui build

Sebelum Anda mulai mengimplementasikan, daftarkan pemeriksaan spesifik yang akan Anda jalankan untuk membuktikan pekerjaan ini selesai: apa yang akan diuji, hasil yang diharapkan untuk tiap pemeriksaan, dan apa yang dianggap gagal. Jika ada pemeriksaan yang membutuhkan sesuatu yang tidak bisa Anda verifikasi sendiri dari dalam sesi ini, katakan sekarang, jangan berasumsi semuanya akan berjalan nanti.

Agent yang baik seharusnya bisa menjawab ini secara rinci sebelum menulis satu baris kode pun.

Kebiasaan Inti

Mengapa Spec Datang Sebelum Prompt

Mengetik permintaan langsung ke coding agent terasa lebih cepat daripada menulis sesuatu dulu, dan untuk tugas yang benar-benar sepele memang sering begitu. Masalah muncul pada apa pun yang punya lebih dari satu tafsiran yang masuk akal: agent memilih satu, membangun ke arah itu, dan Anda baru tahu pilihannya keliru setelah membaca kode yang sudah jadi. Setiap putaran bolak-balik sesudahnya memakan lebih banyak waktu daripada beberapa menit yang diperlukan untuk menulis spec.

Spec mengubah urutan kerja. Sebelum kode apa pun ditulis, Anda menuliskan tiga hal dalam bahasa sehari-hari: apa yang harus dilakukan, untuk siapa, dan kriteria selesai yang membuktikan semuanya berfungsi. Ini bukan dokumen teknis. Lebih mirip catatan yang Anda tinggalkan untuk asisten cakap yang belum pernah bertemu Anda: cukup rinci sehingga ia tidak perlu menebak bagian yang penting.

Alasannya sederhana. Agent berhenti mengisi celah dalam permintaan Anda dengan asumsinya sendiri, karena celah yang tersisa lebih sedikit. Dan Anda berhenti menemukan apa yang sebenarnya Anda inginkan lewat membaca hasil kerja agent setelah kejadian, karena Anda sudah menuliskannya sebelum meminta apa pun.

Semua ini tidak khusus untuk satu alat. Claude Code, Codex, Copilot, Cursor, dan coding agent lain bekerja dengan cara dasar yang sama: instruksi berbahasa sehari-hari masuk, kode dan perintah keluar. Spec mengubah apa yang masuk, sehingga mengubah apa yang kembali, dengan agent mana pun yang Anda ajak bicara.

Spec Tiga Bagian

Isi Spec yang Bisa Anda Tulis dalam Lima Menit

Empat bagian singkat, dalam bahasa sehari-hari. Tidak ada yang menuntut Anda bisa menulis kode.

Apa yang Dilakukan

Satu atau dua kalimat yang menjelaskan perilakunya, bukan implementasinya. "Memilah file menurut jenis ke folder bertanggal," bukan uraian tentang fungsi atau library yang dipakai.

Untuk Siapa

Hanya Anda, dijalankan manual? Rekan kerja yang belum pernah melihat proyeknya? Jawabannya mengubah apa yang sebenarnya perlu dibangun, sering kali lebih besar pengaruhnya daripada deskripsi fitur.

Kriteria Selesai

Kondisi spesifik yang bisa diuji dan membuktikan build sudah tuntas. Ini bagian yang paling sering dilewatkan, dan paling penting saat ada yang salah.

Batasan

Opsional, tetapi layak ditambahkan saat taruhannya nyata: apa yang tidak boleh dilakukan agent, misalnya menyentuh file di luar satu folder atau mengirim apa pun secara otomatis.

Struktur Open-Source untuk Ini

Cara Spec Kit dari GitHub Mengubah Spec Menjadi Alur Kerja

Spec Kit dari GitHub adalah toolkit open-source yang dikelola di repositori GitHub sendiri di bawah lisensi MIT, dibuat untuk memberi AI coding agent proses terstruktur, template yang bisa dipakai ulang, dan hasil yang terdokumentasi, bukan percakapan sekali pakai. Toolkit ini dipasang lewat alat baris perintahnya sendiri, dan README-nya menggambarkannya sebagai toolkit untuk memulai spec-driven development, atau proses terstruktur lain yang ingin Anda minta diikuti oleh agent.

Alur kerja spec-driven inti, menurut dokumentasi proyeknya sendiri, berjalan lewat urutan enam perintah bernama: satu menetapkan prinsip dasar proyek, satu menulis spec itu sendiri, satu mengubah spec menjadi rencana teknis, satu memecah rencana menjadi daftar tugas berurutan, satu menjalankan tugas-tugas itu dan menulis kodenya, dan yang terakhir memeriksa seberapa dekat hasilnya konvergen dengan spec. Panduan proyek sendiri menyarankan menjalankannya satu per satu, meninjau tiap hasil sebelum lanjut, dan mengulang langkah implementasi dan konvergensi sampai konvergensi melaporkan pekerjaan sudah konvergen, bukan menyerahkan seluruh pekerjaan ke agent sekaligus.

Toolkit ini juga menyertakan ekstensi terpisah yang Anda tambahkan di atas alur kerja inti, lagi-lagi menurut dokumentasinya sendiri: satu set perintah yang berpusat pada menilai dan memperbaiki bug tertentu, dan satu lagi yang berpusat pada membawa ide kasar melewati riset dan pendefinisian sebelum memutuskan apakah akan dibangun sama sekali.

Soal agent yang bisa dihubungkan, dokumentasi pemasangan Spec Kit sendiri menyebut beberapa lewat kunci integrasi yang Anda berikan saat pemasangan, termasuk Claude Code dan GitHub Copilot, dan merujuk ke dokumentasinya sendiri yang terpisah untuk menghubungkan agent lain di luar yang disebut langsung. Anggap daftar agent apa pun, termasuk yang ini, sebagai gambaran sesaat: periksa dokumentasi terbaru Spec Kit sebelum berasumsi suatu alat didukung atau tidak saat ini.

Alur Kerja, Perintah demi Perintah

Enam Perintah Inti Spec Kit

Menurut README proyeknya sendiri, alur kerja spec-driven berjalan lewat enam langkah ini secara berurutan, dengan dua langkah terakhir diulang sampai hasilnya konvergen.

Tetapkan Konstitusi

Perintah yang mencatat prinsip tingkat proyek yang harus dihormati agent untuk semua pekerjaan berikutnya, ditulis sekali dan dipakai ulang di pekerjaan selanjutnya.

Tulis Spec

Perintah yang menghasilkan dokumen spec itu sendiri, brief berbahasa sehari-hari yang sama seperti dibahas di atas, kini tersimpan sebagai file yang bisa dipakai ulang, bukan pesan sekali pakai.

Rencanakan Pendekatannya

Perintah yang mengubah spec menjadi rencana teknis, memilih pendekatan sebelum kode apa pun ditulis, sehingga keputusan desain tidak terkubur di dalam implementasi.

Pecah Menjadi Tugas

Perintah yang membagi rencana menjadi daftar tugas yang konkret dan berurutan, masing-masing cukup kecil untuk diperiksa sendiri.

Implementasikan

Perintah yang menjalankan daftar tugas dan menulis kodenya, memakai semua hasil dari langkah-langkah sebelumnya sebagai pedoman, bukan memulai dari nol.

Konvergensi

Perintah yang memeriksa seberapa dekat hasilnya dengan spec. Menurut panduan proyek sendiri, Anda mengulang implementasi dan konvergensi bersama-sama sampai konvergensi melaporkan pekerjaan sudah konvergen.

Tanpa Memasang Apa Pun

Menulis Spec Sendiri, Tanpa Toolkit

Bagi non-developer yang membangun satu hal kecil, menjalankan alur kerja Spec Kit secara penuh bisa lebih banyak seremoni daripada yang dibutuhkan tugasnya. Spec tiga bagian saja, diketik sebagai pesan pertama ke agent mana pun yang sudah Anda pakai, sudah menyelesaikan sebagian besar pekerjaan intinya, tanpa perlu memasang apa pun.

Tempel spec-nya, lalu biarkan agent mengajukan pertanyaan klarifikasi sebelum menulis apa pun. Agent yang cakap akan bertanya saat ada yang tidak jelas, dan spec memberinya sesuatu yang konkret untuk ditanyakan, bukan diam-diam menebak dan membangun hal yang salah dengan penuh percaya diri.

Versi sederhana dari kebiasaan ini bisa dibawa ke mana saja. Brief tiga bagian yang sama berlaku baik Anda berbicara dengan Claude Code, Codex, Copilot, Cursor, atau coding agent lain, karena tidak ada bagiannya yang bergantung pada fitur satu alat tertentu. Ini kebiasaan yang Anda bangun, bukan plugin yang Anda pasang.

Di Mana Hal Ini Bisa Keliru

Kesalahan yang Merusak Spec

Menulis spec memberi manfaat lebih kecil dari seharusnya jika salah satu dari ini menyelinap masuk.

Tanpa Kriteria Selesai

Spec tanpa cara memverifikasi ketuntasan hanya memindahkan tebak-tebakan dari prompt ke tahap tinjauan, tempat masalah lebih sulit ditangkap.

Tercampur Detail Implementasi

Menentukan bahasa pemrograman atau algoritma tertentu sebelum memutuskan apakah fiturnya memang dibutuhkan mengubah spec menjadi desain yang terlalu dini.

Ditulis Setelah Kejadian

Spec yang disusun untuk menyesuaikan kode yang sudah ada hanya mendokumentasikan apa yang terbangun. Ia tidak bisa menangkap masalah yang ia tulis untuk disetujui.

Satu Spec, Banyak Tugas

Spec yang mencakup lebih dari satu tugas nyata mengubur tugas yang benar-benar penting. Batasi tiap spec pada satu pekerjaan yang bisa diperiksa.

Kapan Memakai Toolkit

Spec Biasa atau Spec Kit Penuh: Memilih Salah Satu

Untuk satu build kecil, spec tiga bagian biasa yang diketik langsung ke obrolan sudah cukup, dan lebih cepat daripada memasang apa pun. Sebagian besar contoh dalam panduan ini ditulis untuk kasus seperti itu.

Spec Kit mulai sepadan dengan biaya pemasangannya ketika Anda mengulang hal ini di proyek yang sama, ingin prinsip-prinsipnya ditegakkan otomatis di setiap fitur baru, atau ingin memakai struktur ekstensi perbaikan bug atau penilaian ide miliknya, bukan membuat versi sendiri setiap kali.

Dengan cara mana pun, keterampilan intinya sama: nyatakan apa yang dilakukannya, untuk siapa, dan bagaimana Anda tahu pekerjaannya selesai, sebelum satu baris kode pun ditulis. Toolkit hanya mengotomatiskan penulisannya agar konsisten, setelah kebiasaan ini cukup sering Anda pakai sehingga layak diotomatiskan.

Berlatih Menulis Spec Sebelum Membangun

Menulis spec yang jelas, dan memberi AI coding agent instruksi proyek yang berlaku tetap, adalah keterampilan yang berlaku di setiap alat dalam panduan ini. Pelajaran gratis Nightschool AI tentang file instruksi proyek membahas persis hal itu, dengan Claude Code sebagai contoh.

Pertanyaan yang Sering Diajukan

Apa sebenarnya spec dalam konteks ini?

Brief singkat berbahasa sehari-hari yang Anda tulis sebelum meminta coding agent membangun sesuatu. Minimal isinya mencakup apa yang harus dilakukan, untuk siapa, dan kriteria selesai yang membuktikan pekerjaannya tuntas. Ini bukan dokumen teknis dan tidak menuntut Anda bisa menulis kode.

Apakah saya perlu bisa membuat kode untuk menulisnya?

Tidak. Spec menjelaskan perilaku dan hasil dalam bahasa sehari-hari, bukan implementasi. Menjelaskan apa yang harus dilakukan sebuah alat dan bagaimana Anda tahu alat itu berfungsi tidak membutuhkan pengetahuan pemrograman, meskipun agent yang membangunnya akan menulis kode sungguhan.

Apa itu Spec Kit dari GitHub?

Toolkit open-source berlisensi MIT yang dikelola di repositori GitHub sendiri. Toolkit ini memberi AI coding agent proses terstruktur dan berulang yang dibangun di sekitar spec-driven development, dengan alat baris perintahnya sendiri dan urutan enam perintah bernama dari prinsip dasar proyek sampai implementasi dan konvergensi.

Dengan coding agent apa saja Spec Kit bisa bekerja?

Menurut dokumentasi pemasangannya sendiri, Anda menghubungkan agent saat pemasangan dengan kunci integrasi; dokumentasinya menyebut beberapa agent dengan cara ini, termasuk Claude Code dan GitHub Copilot, serta menautkan ke dokumentasinya sendiri untuk menghubungkan yang lain. Periksa dokumentasi terbaru Spec Kit untuk daftar lengkap yang mutakhir sebelum berasumsi alat tertentu didukung.

Apakah panduan ini berafiliasi dengan GitHub?

Tidak. Ini panduan edukasi independen, tidak diterbitkan atau didukung oleh GitHub. Spec Kit dan GitHub adalah proyek dan merek dagang milik GitHub, disebut di sini hanya untuk menggambarkannya secara akurat.

Apa bedanya spec dengan sekadar prompt yang lebih panjang?

Prompt yang lebih panjang tetap satu pesan yang menjelaskan tugas. Spec adalah brief terstruktur dengan tiga bagian khusus, apa yang dilakukan, untuk siapa, dan kriteria selesai, yang dimaksudkan untuk dibaca, dikonfirmasi, dan dipakai ulang, bukan diketik sekali lalu dilupakan.

Apa sebenarnya yang dimaksud kriteria selesai?

Kondisi yang bisa diuji dan membuktikan sebuah build sudah tuntas: apa yang akan Anda periksa, hasil yang diharapkan untuk tiap pemeriksaan, dan apa yang dianggap gagal. Tanpa itu, tidak ada cara yang disepakati untuk menilai apakah agent benar-benar menyelesaikan tugas atau hanya berhenti.

Apakah saya perlu memasang Spec Kit untuk mendapat manfaat dari kebiasaan ini?

Tidak. Mengetik spec tiga bagian yang sama sebagai pesan pertama ke coding agent mana pun, Claude Code, Codex, Copilot, Cursor, atau lainnya, sudah memberi sebagian besar manfaatnya tanpa memasang apa pun. Spec Kit adalah struktur yang berulang untuk melakukannya secara rutin, bukan syarat untuk melakukannya sama sekali.

Apakah Spec Kit gratis?

Ya. Ini proyek open-source yang dirilis di bawah lisensi MIT, menurut repositorinya sendiri, dan dipasang lewat alat baris perintahnya sendiri yang gratis.

Apa yang sebenarnya dihasilkan perintah penulisan spec di Spec Kit?

Menurut dokumentasi proyeknya sendiri, perintah itu menghasilkan dokumen spec itu sendiri, brief berbahasa sehari-hari yang sama seperti yang dijelaskan di seluruh panduan ini, disimpan sebagai file yang bisa dipakai ulang di proyek Anda, bukan diketik baru ke obrolan setiap kali.

Ubah Spec Menjadi AI Agent Pertama Anda

Nyatakan apa yang dilakukannya, untuk siapa, dan bagaimana Anda tahu pekerjaannya selesai, lalu bangun.

Nightschool AI adalah platform pembelajaran independen dan tidak berafiliasi dengan, didukung oleh, atau disponsori oleh Anthropic. Claude adalah merek dagang dari Anthropic, PBC. Mencari Claude Academy resmi dari Anthropic? Kunjungi academy.claude.com.