Blog

Cara Menyediakan Spec Kit dalam Claude Code pada 2026: Spesifikasi Menggantikan Arahan

Markdown

Cara menyediakan GitHub Spec Kit dalam Claude Code: 4 fasa—Specify, Plan, Tasks, Implement. Berikut ialah pengganti pengekodan vibe secara spontan.

Baca artikel penuh

Rumusan utama

Spec Kit ialah alat daripada GitHub yang membolehkan anda menulis spesifikasi tugas dalam bahasa semula jadi, kemudian Claude Code menyediakan pelan, memecahkannya kepada tugas dan menulis kod. Ini bukan teori: 107,000 bintang GitHub dalam 8 bulan, dan AWS menggunakan metodologi ini untuk membina projek penemuan ubat dalam 3 minggu berbanding beberapa bulan. Panduan ini merangkumi pemasangan, templat, 4 fasa aliran kerja dengan semakan akhir, serta cara menghubungkannya dengan CLAUDE.md anda.

Dokumentasi Ailoot — bahan rujukan tentang penggunaan perkhidmatan ini.

Apakah yang berlaku kepada pengekodan vibe pada Mei 2026?

Rumusan utama

Dalam tempoh 8 bulan, GitHub Spec Kit mengumpulkan 107,000 bintang, dan AWS menerbitkan kajian kes yang melaporkan penjimatan lebih 80 jam untuk satu ciri. Trend minggu itu pada bulan Mei: spesifikasi sebagai pengganti improvisasi.

Setahun kemudian, pada 4 Februari 2026, beliau menerbitkan bebenang retrospektif:

Dalam ucapannya di Sequoia Ascent 2026, beliau menyatakannya dengan lebih tepat: “Pengekodan vibe meningkatkan tahap minimum—sejauh mana semua orang boleh melakukan sesuatu dalam perisian. Kejuruteraan agentik mengekalkan tahap maksimum—piawaian kualiti pembangunan profesional.” Di pentas yang sama, beliau mengungkapkan kata-kata yang menjadi sebahagian daripada leksikon industri: “Anda tidak boleh menyebabkan kerentanan atas alasan pengekodan vibe. Anda tetap bertanggungjawab terhadap perisian anda, seperti sebelum ini.”

Dua perkara berlaku serentak. Pada September 2025, GitHub menerbitkan alat Spec Kit—alat itu mengumpulkan 107,000 bintang dalam 8 bulan. Pada Februari 2026, AWS menerbitkan kajian kes terperinci tentang penemuan ubat yang melaporkan “95% logik perniagaan dijana daripada spesifikasi, menjimatkan lebih 80 jam.”

Menjelang akhir Mei 2026, kata sepakat telah terbentuk dalam ruang maklumat berbahasa Inggeris: pengekodan vibe sebagai kaedah kerja ialah tahap pemula. Pembangunan Berpandukan Spesifikasi datang selepas itu. Panduan ini menerangkan cara memasang dan menggunakan pendekatan tersebut.

Apakah Spec Kit dan Pembangunan Berpandukan Spesifikasi?

Rumusan utama

Pembangunan Berpandukan Spesifikasi (SDD) menterbalikkan pendekatan biasa terhadap ejen AI. Dahulu, kod ialah sumber kebenaran dan spesifikasi hanyalah dokumen sokongan. Kini, spesifikasi ialah sumber kebenaran, manakala kod menjadi langkah terakhirnya—pelaksanaannya. Spec Kit ialah alat CLI daripada GitHub yang menukarkan 4 fasa (Specify, Plan, Tasks, Implement) dan satu semakan akhir Converge kepada arahan sedia digunakan dalam Claude Code, Cursor, Copilot dan lebih 30 ejen lain.

Idea teras metodologi ini dirumuskan dalam satu ayat daripada dokumentasi rasmi GitHub:

Pembangunan Berpandukan Spesifikasi mengubah hierarki: spesifikasi bukan berkhidmat kepada kod—kod berkhidmat kepada spesifikasi. Spesifikasi menjadi artifak utama, manakala kod ialah ungkapannya dalam bahasa dan rangka kerja tertentu.

— Dokumentasi GitHub Spec Kit, https://github.com/github/spec-kit/blob/main/spec-driven.md

Dalam amalan, proses ini berlangsung dalam 4 fasa (Spec Kit menambah satu lagi, iaitu fasa sifar—perlembagaan, yang diterangkan di bawah):

  1. Specify - tulis spesifikasi tentang perkara yang anda mahukan dalam bahasa semula jadi. APA yang perlu dilakukan dan MENGAPA. Bukan BAGAIMANA.
  2. Plan - ejen mengambil spesifikasi itu dan menyediakan pelan teknikal: teknologi yang digunakan, seni bina dan komponen.
  3. Tasks - ejen memecahkan pelan itu kepada tugas khusus yang boleh disahkan, berserta kebergantungan.
  4. Implement - ejen (atau subejennya) melaksanakan tugas dan menulis kod.

Selepas Implement, versi Spec Kit semasa mempunyai langkah pengesahan bernama Converge: ejen menyemak kod yang telah siap berdasarkan spesifikasi, pelan dan tugas, kemudian menambah apa-apa yang tertinggal ke dalam tasks.md. Jalankan Implement dan Converge berulang kali sehingga Converge memberikan respons “Converged.”

Setiap fasa ialah fail markdown yang berasingan dalam repo. Setiap fasa ialah arahan slash yang berasingan dalam Claude Code: /speckit-specify, /speckit-plan, /speckit-tasks, /speckit-implement, manakala semakannya ialah /speckit-converge. Dokumentasi Spec Kit menulis arahan yang sama dengan titik (/speckit.specify), tetapi dalam Claude Code, Spec Kit memasangnya sebagai skills, dan arahan itu dipanggil menggunakan tanda sempang. Jika berlaku masalah pada mana-mana langkah, edit fail markdown dan jalankan semula fasa seterusnya.

Spec Kit ialah pelaksanaan khusus SDD. Pada Mei 2026, ia sudah mempunyai lebih 30 penyepaduan dengan pelbagai ejen AI. Dalam satu repo, Spec Kit berfungsi dengan cara yang sama menggunakan Claude Code, Cursor, GitHub Copilot, Codex CLI, Windsurf, Qwen, Tabnine, Amazon Q, Gemini, Goose dan sedozen lagi.

Fasa Spec KitArahan slashArtifak dalam repo
Constitution/speckit-constitution.specify/memory/constitution.md
Specify/speckit-specifyspecs/###-feature/spec.md
Clarify (pilihan)/speckit-clarifysuntingan dalam spec.md
Plan/speckit-planspecs/###-feature/plan.md
Checklist (pilihan)/speckit-checklistsenarai semak kualiti keperluan
Tasks/speckit-tasksspecs/###-feature/tasks.md
Analyze (pilihan)/speckit-analyzelaporan tentang spec, plan dan tasks
Implement/speckit-implementkod dalam projek
Converge/speckit-convergekeputusan “Converged” atau tugas baharu dalam tasks.md

Jadi, selepas satu kitaran, repo anda mengandungi bukan sahaja kod, tetapi juga spesifikasi, pelan dan tugasnya. Sebulan kemudian, anda boleh kembali kepada projek itu, membaca spec.md dan memahami perkara yang telah dilakukan serta sebabnya. Ini bukan lagi “pengekodan vibe yang melupakan kewujudan kod”—ini ialah ingatan kerja projek.

Mengapa pengekod vibe yang tidak menulis kod memerlukan ini?

Rumusan utama

Masalah utama bagi pengekod vibe ialah ketidakjangkaan. Hari ini ejen membina ciri berfungsi untuk anda dalam masa 20 minit; esok, untuk tugas serupa, hasilnya menjadi kod berselirat. Spec Kit menghapuskan punca ketidakjangkaan ini—tugas yang ditulis secara samar. Apabila anda menulis spesifikasi menggunakan templat, ejen bekerja secara konsisten kerana ia mempunyai sumber kebenaran yang tidak samar. Selain itu, anda mendapat artifak kekal dalam repo yang boleh anda rujuk semula sebulan kemudian.

Spec Kit memformalkan perancangan merentas langkah berasingan dengan 4 arahan slash. Logiknya: asingkan “memikirkannya dengan teliti” daripada “melaksanakannya” supaya kedua-duanya berlaku dalam tetingkap konteks yang berlainan. Setiap peringkat mendapat konteks bersih yang belum dipenuhi kandungan daripada fasa sebelumnya.

Tiga manfaat konkrit untuk pengekod vibe:

  • Kebolehramalan. Apabila anda memberitahu ejen “buat borang pendaftaran dengan pengesahan e-mel,” ejen itu meneka 10 butiran sendiri—dan tiga daripadanya berbeza daripada apa yang anda maksudkan. Apabila anda mempunyai spec.md yang mengandungi User Stories, Acceptance Scenarios dan penanda [NEEDS CLARIFICATION] pada setiap perkara yang tidak pasti, tiada apa yang perlu diteka.
  • Ingatan projek. Sebulan kemudian, anda tidak akan ingat perkara yang dibincangkan dengan ejen dalam sembang. Tetapi spec.md, plan.md dan tasks.md ada dalam repo, dalam folder specs/###-feature/ bersama kod. Fail-fail itu menunjukkan bukan sahaja perkara yang dilakukan, tetapi juga sebabnya.
  • Skala. Untuk ciri yang melibatkan 1-2 fail, perbezaannya hampir tidak ketara. Bagi ciri yang melibatkan 20 fail dan 5 entiti data, perbezaannya ialah antara “menulis semula semuanya selepas 4 jam” dengan “semuanya sudah masuk ke cabang utama selepas 4 jam.” AWS Kiro menunjukkan automasi 95% logik perniagaan daripada spesifikasi dalam projek TargetID.

Ilusi utama pengekodan vibe ialah ia kelihatan lebih pantas pada awalnya. Setengah jam, dan prototaip sudah ada. Tetapi menjelang minggu pertama, prototaip itu rosak, lalu membuangnya menjadi pilihan lebih mudah. Pembangunan Berpandukan Spesifikasi mengambil sedikit masa tambahan pada awalnya (sejam berbanding setengah jam), tetapi seminggu kemudian anda masih bekerja dalam repo yang sama.

Cara memasang Spec Kit dalam Claude Code (4 langkah)

Rumusan utama

Spec Kit dipasang melalui uv, pengurus pakej Python daripada Astral. Arahannya hanya satu baris. Selepas pemasangan, pergi ke repo anda, jalankan specify init dengan bendera --integration claude (atau pilih Claude Code daripada senarai ejen), dan anda akan mendapat struktur sedia guna dengan templat perlembagaan, spec, plan dan tasks, serta set arahan /speckit-* terus dalam Claude Code. Pemasangan mengambil masa 5 minit jika uv sudah dipasang, dan 10 minit jika anda memasangnya dari awal.

Langkah 1. Pasang uv. Anda hanya perlu melakukannya sekali; uv akan kekal pada sistem anda.

# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Semak sama ada uv telah dipasang:

uv --version

Langkah 2. Pasang Spec Kit. Satu arahan:

uv tool install specify-cli --from git+https://github.com/github/spec-kit.git

Semak:

specify --version

Langkah 3. Mulakan repo. Pergi ke folder projek anda (atau cipta folder baharu) dan jalankan:

specify init --here --integration claude

Bendera --integration claude memilih Claude Code secara langsung. Tanpanya, Spec Kit meminta anda memilih ejen daripada senarai interaktif, dan mungkin juga meminta jenis skrip (untuk macOS dan Linux, biarkannya sebagai sh). Jika folder itu tidak kosong, Spec Kit akan memberi amaran bahawa failnya akan digabungkan dengan fail anda: komit kerja anda dahulu, kemudian jalankan semula arahan dengan bendera --force.

Selepas itu, kandungan berikut akan muncul dalam repo:

.specify/
  memory/
    constitution.md        # peraturan projek, diisi oleh /speckit-constitution
  scripts/
  templates/
    spec-template.md
    plan-template.md
    tasks-template.md
.claude/
  skills/
    speckit-constitution/SKILL.md
    speckit-specify/SKILL.md
    speckit-clarify/SKILL.md
    speckit-plan/SKILL.md
    speckit-checklist/SKILL.md
    speckit-tasks/SKILL.md
    speckit-analyze/SKILL.md
    speckit-implement/SKILL.md
    speckit-converge/SKILL.md
    speckit-taskstoissues/SKILL.md

Langkah 4. Buka Claude Code dan semak arahan slash. Jalankan ini dalam folder yang sama:

claude

Dalam sesi itu, taip /speckit—arahan speckit-* sepatutnya muncul dalam cadangan. Jika tidak, mulakan semula Claude Code supaya ia membaca semula .claude/skills/. Jika anda sudah mempunyai CLAUDE.md di akar projek, Spec Kit tidak mengubahnya—ia berfungsi bersama fail itu, dalam .specify/memory/constitution.md.

Spec Kit juga berfungsi tanpa Claude Code (ia menyokong lebih 30 ejen), tetapi panduan ini khusus tentang persediaan dengan Claude. Jika anda mahu memasang dua alat sekali gus, lihat panduan berasingan tentang menyediakan CLAUDE.md dan Plan Mode dalam Claude Code.

Spec Kit ialah blok binaan pertama dalam “kontrak pekerjaan ejen.” Persediaan lengkap mengandungi ketiga-tiga komponen: klon AI (metodologi anda dalam bentuk Skills dan subagen), Second Brain (struktur business/ yang dirujuk ejen setiap kali), dan kejuruteraan konteks (Spec Kit, Plan Mode, /compact). Inilah tiga tonggak yang tanpanya AI berhalusinasi.

Cara menulis spesifikasi pertama anda (Specify)

Rumusan utama

Spec Kit meminta anda menerangkan ciri secara bebas, kemudian mengembangkan penerangan itu menjadi fail spec.md menggunakan templat: User Stories dengan keutamaan P1/P2/P3, Acceptance Scenarios dalam format Given/When/Then, Functional Requirements (FR-001, FR-002 dan seterusnya), serta Success Criteria dengan hasil yang boleh diukur. Di mana-mana bahagian yang tidak pasti, ejen memasukkan penanda [NEEDS CLARIFICATION: ...]—dan anda menjawabnya sebelum beralih kepada Plan.

Dalam Claude Code, taip:

/speckit-specify

Kemudian ejen akan meminta penerangan tentang ciri tersebut. Pada langkah ini, gunakan bahasa biasa tanpa jargon teknikal:

I want a registration form in my app. The user enters an email
and password, receives a confirmation email, and after confirming
lands on the dashboard. Confirmation expires after 48 hours. If the
email is still unconfirmed, delete the account within 5 minutes after
that deadline; never delete a confirmed account.

Dalam contoh ilustrasi ini, toleransi pemadaman dijelaskan sebagai 5 minit selepas tarikh akhir 48 jam. Untuk produk sebenar, sahkan toleransi sebelum Plan; tarikh akhir tepat 48 jam memerlukan reka bentuk dan ujian yang menguatkuasakan syarat lebih kuat itu. Ejen akan menyediakan specs/001-registration/spec.md. Buka fail dan lihat struktur seperti ini:

# Feature Specification: User Registration

**Feature Branch**: `001-registration`
**Created**: 2026-05-31
**Status**: Draft
**Input**: User Description: "I want a registration form..."

## User Scenarios & Testing *(mandatory)*

### Primary User Story
As a new user, I want to register an account with email confirmation,
so that I can access the dashboard with a verified identity.

### Acceptance Scenarios
1. **Given** I am on the registration page,
   **When** I submit valid email and password,
   **Then** I receive a confirmation email within 1 minute.
2. **Given** I clicked the confirmation link within 48 hours,
   **When** I land on the dashboard,
   **Then** I see my email confirmed in profile.
3. **Given** I have not confirmed at the 48-hour deadline,
   **When** cleanup runs within the next 5 minutes,
   **Then** my account is deleted and email is freed for re-registration.
4. **Given** my account is just under 48 hours old or already confirmed,
   **When** cleanup runs,
   **Then** the account is not deleted.

## Requirements *(mandatory)*

### Functional Requirements
- **FR-001**: System MUST accept registration via [NEEDS CLARIFICATION:
  email/password only, or also SSO/OAuth?]
- **FR-002**: System MUST send confirmation email within 60 seconds
- **FR-003**: Confirmation MUST expire at 48 hours; the system MUST
  delete still-unconfirmed accounts no later than 5 minutes after that
  deadline and MUST NOT delete confirmed accounts
- **FR-004**: System MUST log all registration attempts for [NEEDS
  CLARIFICATION: how long do we retain logs - 30 days, 90 days, forever?]

### Key Entities
- User: email, password_hash, email_verified_at, created_at, deleted_at
- ConfirmationToken: token, user_id, expires_at, used_at

## Success Criteria *(mandatory)*
- **SC-001**: 95% of confirmation emails delivered within 60 seconds (p95)
- **SC-002**: 0 accidental deletions of confirmed accounts
- **SC-004**: No deletion before 48 hours; every eligible unconfirmed
  account is deleted by age 48 hours 5 minutes under the tested workload
- **SC-003**: Registration completion rate > 60% (from form open to dashboard)

Berikan perhatian kepada penanda [NEEDS CLARIFICATION: ...]. Spec Kit sengaja memasukkannya pada mana-mana bahagian yang tidak mendapat jawapan jelas daripada teks anda. Sebelum beralih ke fasa Plan, anda mesti menjawabnya sendiri dalam spec.md atau jalankan /speckit-clarify, kemudian ejen akan menyemak perkara yang tidak jelas dan mengemukakan soalan dalam dialog.

Dalam Spec Kit, arahan terbina dalam /speckit-clarify menggantikan permintaan lisan “tanya saya soalan.” Kesannya sama: anda tidak beralih kepada Plan sehingga tiada lagi penanda [NEEDS CLARIFICATION] dalam spec.md.

Tidak sepatutnya ada teknologi dalam spec.md. Jangan sebut React, Postgres, Prisma atau Redis. Spesifikasi menerangkan perkara yang dilakukan oleh sistem dari perspektif pengguna dan perniagaan. Timbunan teknologi datang pada fasa seterusnya.

Apakah yang dilakukan Claude dalam fasa Plan?

Rumusan utama

Arahan /speckit-plan mengambil spesifikasi yang telah siap dan menyediakan pelan teknikal: teknologi yang akan digunakan, seni bina, modul, entiti data dan kontrak API. Pelan ditulis ke specs/###-feature/plan.md, kontrak dieksport ke folder contracts/ berasingan, dan model data dimasukkan ke dalam data-model.md. Pada langkah ini, Claude sudah mengetahui timbunan teknologi anda daripada CLAUDE.md dan perlembagaan, jadi pelan itu sesuai dengan projek sedia ada dan tidak mencadangkan “mari tulis semula semuanya dalam Rust.”

Apabila spec.md sudah sedia, jalankan:

/speckit-plan

Jika mahu, sertakan petunjuk teknologi terus dalam arahan:

/speckit-plan Next.js App Router, Prisma, PostgreSQL, Resend for email

Claude membaca tiga sumber: spec.md, CLAUDE.md anda (atau memory/constitution.md), dan kod sedia ada dalam repo. Hasilnya ialah plan.md dengan struktur lebih kurang seperti ini:

# Implementation Plan: User Registration

## Technical Context
- Framework: Next.js 14 App Router
- Database: PostgreSQL via Prisma
- Email: Resend (single transport)
- Validation: Zod schema in shared lib
- Auth: NextAuth.js with credentials provider

## Architecture Decisions

### 1. Token storage
Tokens stored in DB (table ConfirmationToken), not in JWT.
Reason: need server-side revoke on email re-register.

### 2. Email delivery
Async via cron `/api/cron/send-confirmation` triggered immediately
after registration. Retries handled by Resend.

### 3. Auto-delete cron
Run `/api/cron/cleanup-unconfirmed` every minute. Delete rows only where
created_at <= NOW() - INTERVAL '48 hours' AND email_verified_at IS NULL.
The clarified example allows at most 5 minutes of deletion delay.
Verify scheduler lag and completion time against that bound; report
a missed bound as a failure, not a successful daily cleanup.

## Data Model
See data-model.md

## API Contracts
See contracts/
- POST /api/auth/register
- POST /api/auth/confirm
- GET /api/auth/resend-confirmation

## Implementation Phases
1. Database migration (Prisma schema + migration file)
2. API routes (3 endpoints)
3. UI: registration form + confirmation success page
4. Cron jobs (send + cleanup)
5. Email template
6. Integration tests

data-model.md menerangkan entiti dan hubungannya. contracts/ mengandungi rangka kontrak API (sama ada YAML OpenAPI atau jenis permintaan/respons TypeScript). Ini bukan kod—ini ialah niat yang kemudiannya akan ditukarkan Claude menjadi laluan sebenar.

Kelebihan utama fasa Plan ialah konteks yang bersih. Claude tidak cuba mengingati spesifikasi dan pelaksanaan serentak. Ia memikirkan semuanya dahulu, merekodkan keputusan dalam fail, kemudian meneruskan kerja.

Seterusnya, terdapat arahan pilihan /speckit-analyze. Arahan ini dijalankan selepas fasa Tasks dan sebelum Implement: ia menyemak set spec.md + plan.md + tasks.md untuk mencari percanggahan dan memastikan semua keperluan spesifikasi diliputi oleh pelan dan tugas. Arahan ini tidak menyunting fail; ia hanya menghasilkan laporan. Pada asasnya, ini ialah semakan kewarasan rasmi sebelum pelaksanaan.

Cara memecahkan kerja kepada tugas (Tasks)

Rumusan utama

Arahan /speckit-tasks memecahkan pelan kepada tugas konkrit. Setiap tugas merangkumi kebergantungan, anggaran dan penanda yang menyatakan “boleh dijalankan secara selari” atau “mesti dijalankan mengikut turutan.” Hasilnya ialah tasks.md, dengan tugas dalam format senarai semak [ ] T-001: .... Kemudian, anda boleh menyerahkan tugas ini untuk pelaksanaan menggunakan /speckit-implement atau menukarkannya kepada GitHub Issues menggunakan /speckit-taskstoissues—dan mengagihkannya kepada pasukan atau beberapa sesi Claude Code yang berjalan serentak.

Setelah anda mempunyai spec.md dan plan.md, jalankan:

/speckit-tasks

Claude mengembangkan pelan itu menjadi tasks.md:

# Tasks: User Registration

## Phase 1: Database (no dependencies)
- [ ] T-001: Add User model to prisma/schema.prisma (parallel-safe)
- [ ] T-002: Add ConfirmationToken model to prisma/schema.prisma (after T-001)
- [ ] T-003: Generate migration `add-user-registration` (after T-002)

## Phase 2: API contracts (no dependencies)
- [ ] T-004: Create Zod schemas in shared/validation/auth.ts
- [ ] T-005: Define TypeScript types in shared/types/auth.ts (after T-004)

## Phase 3: Routes (depends on Phase 1+2)
- [ ] T-006: Implement POST /api/auth/register
- [ ] T-007: Implement POST /api/auth/confirm
- [ ] T-008: Implement GET /api/auth/resend-confirmation

## Phase 4: UI (parallel with Phase 3)
- [ ] T-009: Build /register page with form
- [ ] T-010: Build /register/confirm/[token] page
- [ ] T-011: Build /register/success page

## Phase 5: Cron + integration (depends on Phase 3+4)
- [ ] T-012: Cron /api/cron/send-confirmation
- [ ] T-013: Cron /api/cron/cleanup-unconfirmed
- [ ] T-014: Email template registration-confirmation.tsx
- [ ] T-015: Integration tests (Playwright), including cleanup just
  before 48h, exactly at 48h, deletion by 48h 5m, delayed-job failure,
  and protection of confirmed accounts

## Notes
- T-001, T-004, T-009-T-011 are parallel-safe (different files)
- T-002 conflicts with T-001 (same file: schema.prisma) - run sequentially
- T-006 needs T-003 (migration applied) and T-005 (types)

Perhatikan penanda parallel-safe dan after T-NNN. Itulah graf kebergantungan yang kemudiannya membolehkan anda menjalankan beberapa fasa secara selari. Seluruh pendekatan pecutan Spec Kit bergantung pada mekanisme ini: sesetengah tugas boleh diserahkan kepada lima sesi Claude Code berbeza pada masa yang sama, manakala tugas lain mesti dilaksanakan mengikut turutan.

Spec Kit melakukan semua ini secara automatik dengan satu arahan sahaja, terus daripada awal.

Arahan pilihan /speckit-taskstoissues mengambil tasks.md dan mencipta GitHub Issues daripada senarai itu, setiap satunya dengan pautan kembali ke spec.md. Ini berguna jika anda bekerja dalam pasukan atau mahu menjejak kemajuan melalui GitHub Projects.

Cara melaksanakan dengan subejen (Implement)

Rumusan utama

Fasa akhir /speckit-implement memulakan pelaksanaan. Claude melaksanakan tasks.md dari atas ke bawah dan menandakan tugas [x] apabila selesai. Anda boleh menjalankan beberapa sesi Claude Code serentak—satu fasa bagi setiap sesi. Dalam setiap sesi, Claude melancarkan subejen untuk pelbagai jenis kerja: penyemak kod, penguji untuk pemeriksaan dan penulis dokumentasi untuk README. Inilah “1000 subejen selari” yang ditulis Anthropic tentangnya semasa Opus 4.8 dilancarkan—dalam Spec Kit, ia sekadar mod kerja, bukannya produk berasingan.

/speckit-implement

Claude bermula dengan tugas pertama dalam tasks.md. Setiap tugas melalui kitaran ringkas: membaca fail berkaitan, menulis diff, menjalankan ujian dan menandakan [x]. Subejen dipanggil secara automatik apabila perlu: satu untuk semakan kod, satu lagi untuk menjalankan linter, dan satu lagi untuk menyemak regresi.

Dan secara berasingan, tentang peraturan:

Dalam Spec Kit, kitaran ini diformalkan. Anda mempunyai spec.md sebagai sumber kebenaran, plan.md untuk keputusan teknikal, dan tasks.md sebagai senarai semak. Jika Claude tersasar pada mana-mana langkah, anda kembali kepada spesifikasi dan berkata, “Itu tidak selaras dengan FR-003; buat semula.” Tiada arahan panjang yang mengatakan “ingat perkara yang kita bincangkan...” — seluruh sejarah ada dalam fail.

Jika anda telah menghubungkan Aliran Kerja Dinamik dalam Opus 4.8, anda boleh meletakkan Spec Kit dalam mod automasi penuh: satu arahan /speckit-implement sahaja dan Claude menjalankan kerja secara selari, menyatukan hasil dan menyemaknya. Hadnya ialah 1000 subejen pada satu masa. Bagi kebanyakan ciri, 10-30 sudah memadai.

Apabila semua kotak [x] ditandakan dan semakan di bahagian seterusnya memberikan respons “Converged,” anda menyemak PR (atau beberapa PR jika terdapat banyak tugas) lalu menggabungkannya. Artifak—spec.md, plan.md, tasks.md—kekal dalam repo sebagai dokumentasi ciri itu. Setahun kemudian, anda tidak perlu membuat kejuruteraan songsang untuk memahami logiknya daripada kod.

Cara menyemak sama ada ejen tertinggal sesuatu (Converge)

Rumusan utama

Selepas Implement, versi Spec Kit semasa mempunyai langkah semakan bernama /speckit-converge. Ejen membandingkan kod yang telah siap dengan spec.md, plan.md dan tasks.md. Jika semuanya sepadan, ejen memberikan respons “Converged” dan membiarkan fail tanpa perubahan. Jika ejen menemui perkara yang tertinggal, ia menambahkannya sebagai tugas baharu di hujung tasks.md. Kemudian anda menjalankan /speckit-implement sekali lagi, diikuti /speckit-converge sekali lagi, sehingga anda mendapat respons “Converged.”

/speckit-converge

Mula-mula ejen memberikan ringkasan penemuannya berserta tahap keterukan, kemudian salah satu daripada dua hasil. “Converged” bermaksud tiada perkara tertinggal, tasks.md kekal sama bait demi bait, dan anda boleh meneruskan semakan. “Tasks appended” bermaksud perkara yang tertinggal telah ditemui dan ditambah ke bahagian Convergence dalam tasks.md, lalu ejen memberitahu jumlahnya.

Converge tidak menyunting atau memadam kod; satu-satunya penulisannya ialah tugas baharu dalam tasks.md. Jadi, anda boleh menjalankannya tanpa bimbang, tetapi hanya selepas /speckit-implement selesai melaksanakan kandungan tasks.md semasa. Setiap pusingan berikutnya menemui semakin sedikit perkara yang tertinggal.

Apakah perbezaan Spec Kit berbanding CLAUDE.md dan Plan Mode?

Rumusan utama

Soalan ini lazim ditanya apabila membandingkan alat-alat ini. Jawapan ringkasnya: CLAUDE.md ialah “kontrak pekerjaan” ejen, satu sumber kebenaran untuk seluruh projek. Plan Mode ialah perancangan sekali sebelum permintaan tertentu. Spec Kit ialah keseluruhan kitaran hayat satu ciri: daripada penerangan hingga pelaksanaan, dengan artifak dalam repo. Ketiga-tiganya tidak saling menggantikan; sebaliknya digabungkan menjadi sistem tiga lapisan: konteks global (CLAUDE.md) → konteks projek (perlembagaan Spec Kit) → konteks ciri (spec.md + plan.md + tasks.md).

Bandingkan ketiga-tiganya berdasarkan 5 ciri:

CiriCLAUDE.mdPlan ModeSpec Kit
Masa ia dijalankanSetiap sesiAtas permintaan (Shift+Tab atau /plan)Melalui arahan slash /speckit-*
Jangka hayatSeluruh projekSatu sesiSatu ciri
LokasiAkar repoDalam konteks Claudespecs/###-feature/*
KandunganTimbunan teknologi, peraturan, glosariPelan dan pemerhatian semasaspec + plan + tasks + contracts
TemplatBentuk bebas (peraturan repo)TiadaMarkdown berstruktur
Peranan terbaikPeraturan projek dan timbunan teknologiSemakan kedua sebelum perubahan besarKitaran ciri lengkap: daripada APA hingga KOD

Dalam istilah Spec Kit, fail ini ialah .specify/memory/constitution.md. Semasa pemulaan, Spec Kit boleh menggunakan CLAUDE.md sedia ada sebagai asas perlembagaan atau mencipta fail berasingan di sebelahnya. Saya biasanya mengekalkan CLAUDE.md sebagai “kontrak” global (timbunan teknologi, glosari, protokol pelancaran), dan menggunakan perlembagaan Spec Kit untuk peraturan khusus ciri—contohnya, “semua borang disahkan melalui Zod; tiada pemeriksaan manual.”

Hubungan dengan Plan Mode lebih mudah. Plan Mode ialah mod pantas “merancang sebelum menulis kod” dalam satu sesi. Mod ini sesuai untuk perubahan kecil (membaiki pepijat, memfaktor semula fungsi). Untuk ciri besar, Plan Mode kurang sesuai kerana tetingkap konteks dalam satu sesi terlalu kecil untuk pelan 3000 baris—seperti yang saya terangkan secara langsung dalam sesi itu:

Spec Kit ialah alat kejuruteraan konteks yang konkrit. Ia memindahkan “hamparan seni bina” daripada sembang ke dalam fail. Spec.md kekal dalam repo dan setiap sesi Claude baharu membacanya semula—anda tidak perlu mengulang perkara yang sama.

Persediaan untuk projek besar:

  1. CLAUDE.md - timbunan teknologi, glosari, perkara yang tidak boleh dilakukan. Fail ini berada di akar.
  2. .specify/memory/constitution.md untuk Spec Kit—peraturan khusus bagi aliran kerja ini.
  3. specs/001-feature-A/spec.md, plan.md, tasks.md - ciri pertama.
  4. specs/002-feature-B/spec.md, plan.md, tasks.md - ciri kedua.
  5. Untuk kerja harian, gunakan sama ada /speckit-implement (untuk tugas sedia ada) atau /plan (semakan pantas sebelum perubahan).

Kes dunia sebenar yang manakah berjaya?

Rumusan utama

Pendekatan Spec Kit dan SDD sudah menghasilkan keputusan yang boleh diukur di syarikat besar. AWS dalam projek penemuan ubat: 95% logik perniagaan dijana daripada spesifikasi, menjimatkan lebih 80 jam untuk satu ciri. Rackspace Technology: kerja 52 minggu dipadatkan menjadi 3 minggu, peningkatan kecekapan sebanyak 90%. Spec Kit sendiri mengumpulkan 107,000 bintang GitHub dalam 8 bulan.

Kes khusus:

  • AWS Kiro - ejen penemuan ubat. Dalam catatan blog AWS Industries bertarikh 18 Februari 2026, pasukan itu menerangkan projek TargetID. Tiga pembangun, tiga minggu, satu ejen penemuan ubat. Angka dalam artikel: Kiro menjana lebih 95% kod logik perniagaan, menjimatkan lebih 80 jam pembangunan. Selain itu: “Dokumentasi README yang ditulis Kiro menjimatkan anggaran 8 jam” dan “40% lebih sedikit kitaran arahan pembaikan berulang.”
  • Rackspace Technology. Dalam catatan blog AWS yang sama, Rackspace melaporkan: “menyelesaikan kerja yang dianggarkan mengambil masa 52 minggu hanya dalam 3 minggu,” “peningkatan kecekapan sebanyak 90%.” Ini bukan lagi ciri kecil—ini projek perusahaan sepenuhnya.
  • Pertumbuhan GitHub Spec Kit. Pada 7 Mei 2026, repo itu mempunyai 93,000 bintang; menjelang 31 Mei, jumlahnya mencapai 107,000. Itu bersamaan +14,000 bintang dalam tiga minggu. Kadar pertumbuhan ini jelas menunjukkan pendekatan tersebut semakin menguasai bahagian pasaran.

Bagi pembaca, ini bermakna pendekatan tersebut bukan teori: pasukan yang serius sudah menggunakannya dalam pengeluaran.

Bilakah Spec Kit TIDAK sesuai?

Rumusan utama

Spec Kit tidak sesuai untuk semua keadaan. Terdapat tiga keadaan yang jelas tidak sesuai: suntingan kecil (membaiki pepijat, menamakan semula pemboleh ubah), eksperimen dan prototaip (apabila anda sendiri belum tahu apa yang diingini—itulah tujuan pengekodan vibe), serta kod legasi dengan keadaan yang rumit (spesifikasi menjadi lapuk lebih pantas daripada masa yang diperlukan untuk menyiapkannya). Terdapat kritikan serius tentang kes-kes ini. Hujah yang menimbulkan soalan ini wajar dipertimbangkan supaya anda tidak membuang masa menyediakan spesifikasi yang tidak membantu.

Tidak sesuai #1 - suntingan kecil. Jika tugasnya “menamakan semula pemboleh ubah,” “membaiki kesilapan taip dalam teks,” atau “menambah log,” melalui Specify → Plan → Tasks akan mengambil masa lebih lama daripada suntingan itu sendiri. Untuk suntingan kecil, Plan Mode atau arahan langsung dalam Claude Code lebih pantas.

Tidak sesuai #2 - eksperimen langsung. Apabila anda belum tahu apa yang diingini dan perlu “meneroka” antara muka atau memasang prototaip dengan cepat untuk melihat “sama ada ia menjadi,” spesifikasi tidak berguna. Nilainya terletak pada hakikat bahawa anda sedang berimprovisasi. Pada tahap “mencuba sesuatu idea,” pengekodan vibe memang pendekatan yang berkesan, bukannya spesifikasi.

Tidak sesuai #3 - kod legasi dengan keadaan yang rumit. Realiti berubah lebih pantas daripada spesifikasi. Contohnya, pasukan menerangkan kitaran pengebilan dan peraturan cukai, kemudian seminggu selepas itu bahagian Kewangan meminta VAT Eropah—spesifikasi sudah lapuk sebelum keluaran. Apabila logik perniagaan berkembang dengan pantas, mengekalkan spesifikasi menjadi beban.

Risiko tambahan ialah timbulnya rasa kawalan yang palsu: strukturnya kemas, tetapi ejen sering mengabaikan arahan atau, sebaliknya, mengikuti templat secara terlalu literal. Hasilnya ialah kod yang betul dari segi struktur tetapi tidak sesuai dengan repo khusus anda—spesifikasi tidak menjamin bahawa ejen memahaminya seperti yang anda maksudkan.

Pada April 2026, penganalisis industri memberi amaran tentang pendekatan air terjun: menulis spesifikasi besar sebelum kod ialah laluan yang pernah menjerumuskan industri dahulu, pada zaman keperluan 200 halaman. Jurutera berhati-hati terhadap pendekatan ini sejak itu, dan sikap berhati-hati tersebut wajar.

Apa yang patut dilakukan. Saya mencadangkan peraturan mudah: bandingkan saiz ciri dengan masa untuk menulis spesifikasinya. Jika ciri itu mengambil masa kurang daripada 2 jam untuk dilaksanakan, jangan tulis spesifikasi—Plan Mode lebih pantas. Jika ciri itu mengambil masa seminggu, gunakan Spec Kit; penjimatan masa akan membayar balik masa sejam untuk menyediakan spesifikasi sebanyak lima kali ganda. Antara 2 jam dengan seminggu, gunakan pertimbangan anda, walaupun saya sendiri menulis spesifikasi walaupun untuk ciri yang mengambil masa setengah hari kerana artifak dalam repo lebih bernilai daripada 30 minit yang dijimatkan.

Seterusnya: cara menyepadukan Spec Kit ke dalam projek anda?

Rumusan utama

Langkah pertama yang paling mudah ialah mencuba Spec Kit pada ciri kecil yang baharu, bukan pada keseluruhan projek sedia ada. Pasangnya, mulakan dalam repo, jalankan /speckit-specify untuk satu ciri dan lihat artifaknya. Dalam masa satu atau dua minggu, anda akan mendapat intuisi tentang bila perlu menggunakannya dan bila wajar menggunakan arahan pantas sahaja. Metodologi lengkap menggabungkan CLAUDE.md + Spec Kit + Skills + subejen.

Pelan konkrit untuk 7 hari berikutnya:

  • Hari 1. Pasang uv dan Spec Kit (5-10 minit). Semak sama ada arahan /speckit-* muncul dalam Claude Code. Jangan cuba menggunakannya pada projek sedia ada—mulakan dengan projek baharu.
  • Hari 2. Pilih ciri sebenar yang anda rancang untuk bina. Jalankan /speckit-specify dengan penerangan bebas. Buka spec.md, baca dan jawab setiap [NEEDS CLARIFICATION]. Jangan tergesa-gesa beralih ke Plan.
  • Hari 3. Jalankan /speckit-plan dengan petunjuk tentang timbunan teknologi anda. Baca plan.md, khususnya bahagian Architecture Decisions. Jika ada yang tidak sesuai, sunting secara manual.
  • Hari 4-5. Jalankan /speckit-tasks, kemudian /speckit-analyze untuk menyemak set spec, plan dan tasks sekali lagi, kemudian /speckit-implement. Perhatikan cara Claude menandakan [x] dalam tasks.md. Claude mungkin tersekat pada sesuatu—itu perkara biasa. Kembali kepada spec.md, jelaskan keperluan itu dan mulakan semula /speckit-implement dengan tugas khusus. Setelah semua tugas ditutup, jalankan /speckit-converge dan ulangi urutan Implement dan Converge sehingga arahan itu memberikan respons “Converged.”
  • Hari 6-7. Semak PR (atau beberapa PR). Gabungkannya. Baca spec.md dan plan.md anda—itulah dokumentasi ciri untuk tahun yang akan datang.

Bahan yang saya cadangkan untuk dibaca serentak:

Aliran kerja konteks lengkap: klon AI + Second Brain + Kejuruteraan Konteks.

Lebih banyak bahan tersedia di Ailoot.

Butiran lanjut

Soalan lazim: Cara Menyediakan Spec Kit dalam Claude Code pada 2026: Spesifikasi Menggantikan Arahan

Mengapakah tugas pembersihan harian tidak mencukupi untuk syarat pemadaman 48 jam?

Akaun mencapai tarikh akhir sejurus selepas pelaksanaan harian boleh menunggu hampir sehari lagi. Jelaskan kelewatan pemadaman boleh diterima dalam spesifikasi, pilih jadual sesuai dan uji ambang 48 jam serta kelewatan maksimum.

Apakah yang patut dilakukan apabila plan.md bercanggah dengan spec.md?

Kembali kepada keperluan dan selesaikan percanggahan sebelum pelaksanaan. Kemas kini spesifikasi, pelan, tugasan serta pemeriksaan penerimaan bersama-sama, kemudian gunakan Analyze dan pemeriksaan pelaksanaan untuk mengesahkan tingkah laku dipersetujui yang sama.

Semua artikel