Ưu, nhược và chỗ chưa rõ
| Ưu | README ghi Spec Kit có sẵn ba quy trình: làm tính năng từ spec, sửa bug có ghi lại nguyên nhân và cách kiểm tra, và đánh giá một ý tưởng có nên làm hay không. Hai quy trình sau là extension, cài khi cần. | README, Choose your process |
|---|---|---|
| Ưu | Docs ghi specify init chạy được khi không có mạng, vì mẫu và script được đóng sẵn trong gói cài. Trong mã, file pyproject.toml đúng là đóng các thư mục templates và scripts vào gói. | docs/install/air-gapped.md |
| Ưu | Một bài so sánh của Hashrocket (2025-10-21) thấy Spec Kit hợp với nhóm cần tách vai người viết yêu cầu và người code, và với lập trình viên mới cần được dẫn từng bước. | Hashrocket, 2025-10-21 |
| Nhược | Cùng một việc nhỏ, bài của Hashrocket (2025-10-21, bản cũ hơn bản mình đọc) đếm được khoảng 800 dòng spec từ Spec Kit, so với khoảng 250 dòng từ OpenSpec; Spec Kit thêm 8 lệnh vào Claude Code, OpenSpec thêm 3. | Hashrocket, 2025-10-21 |
| Nhược | Spec Kit không có lệnh gốc để sửa một spec đã viết: /speckit-specify luôn tạo spec mới. Issue này được đóng ngày 2026-04-08 bằng cách thêm extension cộng đồng Spec Refine vào danh mục, chứ phần lõi vẫn không có lệnh đó. | Issue #1191 |
| Nhược | Bài hướng dẫn của Kevin Riedl (2026-08-14) viết Spec Kit thường quá nặng cho bản thử làm rồi bỏ hay một bản sửa nhỏ, và spec sẽ lệch khỏi code nếu nhóm không tự giữ cho khớp. | wavect.io, 2026-08-14 |
| Chưa rõ | Bản cài cho Claude Code bật sự kiện (event) theo mặc định và có thể ghi hook vào .claude/settings.json khi một extension khai báo hook. Mình chỉ đọc mã, không chạy specify init, nên chưa biết bản cài lõi có ghi hook nào hay không. Docs chỉ cách tắt bằng --integration-options="--events false". | docs/integrations/claude.md |
Khi nên dùng
- Bạn làm một tính năng lớn hoặc dự án mới, và muốn có đủ spec, kế hoạch, danh sách việc thành file để người khác duyệt từng bước trước khi agent code.
Khi không nên dùng
- Bạn sửa một bug nhỏ hay làm bản thử: lượng file Markdown và số bước sẽ tốn thời gian hơn chính việc cần làm. Khi đó OpenSpec nhẹ hơn.
Cách cài
uv tool install specify-cli --from git+https://github.com/github/[email protected] && specify init my-project --integration claudeTheo tài liệu của tác giảuv tool install specify-cli --from git+https://github.com/github/[email protected] && specify init my-project --integration codexTheo tài liệu của tác giảuv tool install specify-cli --from git+https://github.com/github/[email protected] && specify init my-project --integration copilotTheo tài liệu của tác giảNó chạm vào những gì
- File đọc và ghi
- specify init tạo thư mục .specify/ (mẫu spec, plan, tasks và script bash hoặc PowerShell) và với Claude Code thì ghi skill vào .claude/skills/speckit-<lệnh>/SKILL.md. Mỗi tính năng có một thư mục spec riêng. Bản cài cho Claude Code có thể ghi hook vào .claude/settings.json của dự án khi có extension khai báo hook.
- Gọi mạng
- specify init chạy không cần mạng, dùng mẫu đóng sẵn trong gói. Các lệnh specify extension, preset, integration, workflow khi tìm hoặc thêm thành phần thì tải danh mục từ raw.githubusercontent.com/github/spec-kit/main. Lệnh specify self check và self upgrade hỏi api.github.com để biết bản mới nhất.
- Script lúc cài
- Gói Python không có bước postinstall. Các script trong .specify/scripts/ do agent chạy trong lúc làm các lệnh /speckit-*, với quyền của tài khoản máy bạn.
- Tiến trình
- Workflow có thể gọi claude -p với prompt của bước đó. Extension git (tùy chọn, không bật mặc định) tạo branch và commit.
Đọc từ: pyproject.toml#L40-L41, air-gapped.md#L34, __init__.py#L67, __init__.py#L4448, _version.py#L34, claude.md#L62
Mục này chạy mã trên máy bạn với quyền của tài khoản bạn. Theo tài liệu Claude Code, hook và MCP server chạy ngoài sandbox. Đọc phần trên và file của tác giả trước khi cài. Tài liệu bảo mật plugin