Một vấn đề tôi hay gặp khi làm việc với coding agent là nó có xu hướng bắt tay vào code ngay lập tức. Tôi đưa ra một yêu cầu mơ hồ, nó cũng hiểu theo cách của nó và bắt đầu viết. Kết quả là phải đi sửa lại nhiều hơn mức cần thiết, hoặc tệ hơn là nó đi sai hướng hoàn toàn mà tôi không hay biết cho đến khi quá muộn.
Superpowers là một dự án mã nguồn mở giải quyết đúng vấn đề này. Thay vì để agent tự xử lý theo bản năng, Superpowers cung cấp một bộ 14 "kỹ năng" (skills) có cấu trúc, buộc agent phải đi qua các bước bài bản trước khi chạm vào code.
Bộ quy trình 7 bước
Superpowers không phải là một tập hợp các lệnh rời rạc. Đó là một quy trình liên kết, trong đó mỗi skill là một mắt xích:
- Brainstorming — Trước khi làm bất cứ điều gì, agent phải hỏi, thảo luận, và đề xuất 2–3 hướng giải quyết để bạn chọn.
- Using git worktrees — Tạo môi trường làm việc riêng biệt, tránh làm bẩn nhánh chính.
- Writing plans — Lên kế hoạch chi tiết với các task nhỏ 2–5 phút, bao gồm đường dẫn file chính xác và bước kiểm tra.
- Subagent-driven development — Triển khai bằng cách dispatch các subagent độc lập cho từng task, kèm review hai tầng.
- Test-driven development — Bắt buộc theo chu trình RED–GREEN–REFACTOR: viết test trước, rồi mới viết code.
- Requesting code review — Review có hệ thống, phân loại mức độ nghiêm trọng của từng vấn đề.
- Finishing development branch — Kiểm tra toàn bộ, dọn dẹp branch, đề xuất merge hoặc tạo PR.
Điều quan trọng là quy trình này bắt buộc, không phải tuỳ chọn. Agent không thể bỏ qua bước nào.
Những chi tiết thú vị bên trong
Khi đọc vào từng skill, tôi mới thấy mức độ suy nghĩ kỹ lưỡng đằng sau từng quyết định thiết kế.
HARD-GATE trong Brainstorming
Skill brainstorming có một nguyên tắc cứng:
*"Do NOT invoke any implementation skill, write any code, scaffold any project, or take any implementation action until you have presented a design and the user has approved it. This applies to EVERY project regardless of perceived simplicity."*
Và nó còn xử lý trực tiếp cái tâm lý "task này quá đơn giản, không cần design":
*"Simple projects are where unexamined assumptions cause the most wasted work."*
Quy trình brainstorming bao gồm 9 bước từ khám phá project context, hỏi từng câu một (không hỏi nhiều câu cùng lúc), đề xuất 2–3 hướng tiếp cận, trình bày design theo từng phần để lấy phê duyệt, viết spec document, cho subagent review spec, rồi mới chuyển sang lên kế hoạch. Agent chỉ được phép chuyển sang writing-plans sau khi bạn đã approve spec.
Iron Law trong Debugging
Skill systematic-debugging gọi nguyên tắc của nó là "Iron Law":
NO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRSTQuy trình debug được chia thành 4 phase: điều tra nguyên nhân gốc rễ, phân tích pattern, đặt giả thuyết và kiểm tra, rồi mới implement fix. Điểm hay nhất là phần xử lý "3+ lần fix thất bại":
*"If 3+ fixes failed: Question the architecture — each fix reveals new shared state/coupling/problem in a different place. Stop and discuss with your human partner before attempting more fixes."*
Thay vì cứ thêm fix thứ 4, skill này yêu cầu agent dừng lại và đặt câu hỏi về kiến trúc. Đây là kinh nghiệm thực tế của người từng debug nhiều hơn là một quy tắc lý thuyết.
Skill còn liệt kê các "red flag" — những dấu hiệu cho thấy agent đang debug sai cách, ví dụ: "Quick fix for now, investigate later", "Just try changing X and see if it works", "I don't fully understand but this might work". Khi agent bắt đầu nghĩ như vậy, nó phải dừng lại và quay về Phase 1.
Kế hoạch viết cho người không biết gì
Skill writing-plans có một tiêu chuẩn rất cụ thể cho chất lượng của một bản kế hoạch:
*"Clear enough for an enthusiastic junior engineer with poor taste, no judgement, no project context, and an aversion to testing to follow."*
Mỗi task trong kế hoạch phải có đường dẫn file chính xác, code hoàn chỉnh (không phải "add validation" chung chung), lệnh chạy cụ thể kèm output mong đợi. Và mỗi task chỉ làm một việc — viết test, chạy test để xác nhận nó fail, viết code, chạy test để xác nhận nó pass, commit. Từng bước một.
Toàn bộ 14 skills
| Skill | Mục đích | |
|---|---|---|
| `brainstorming` | Khám phá ý tưởng và thiết kế trước khi code | [↗](https://github.com/obra/superpowers/tree/main/skills/brainstorming) |
| `writing-plans` | Lên kế hoạch chi tiết từng task nhỏ | [↗](https://github.com/obra/superpowers/tree/main/skills/writing-plans) |
| `executing-plans` | Thực thi kế hoạch theo từng bước | [↗](https://github.com/obra/superpowers/tree/main/skills/executing-plans) |
| `subagent-driven-development` | Dispatch subagent độc lập cho từng task | [↗](https://github.com/obra/superpowers/tree/main/skills/subagent-driven-development) |
| `dispatching-parallel-agents` | Chạy nhiều agent song song | [↗](https://github.com/obra/superpowers/tree/main/skills/dispatching-parallel-agents) |
| `test-driven-development` | Chu trình RED–GREEN–REFACTOR | [↗](https://github.com/obra/superpowers/tree/main/skills/test-driven-development) |
| `systematic-debugging` | Debug 4 phase có hệ thống | [↗](https://github.com/obra/superpowers/tree/main/skills/systematic-debugging) |
| `verification-before-completion` | Xác nhận kết quả trước khi khai báo xong | [↗](https://github.com/obra/superpowers/tree/main/skills/verification-before-completion) |
| `requesting-code-review` | Khởi tạo và cấu trúc code review | [↗](https://github.com/obra/superpowers/tree/main/skills/requesting-code-review) |
| `receiving-code-review` | Tiếp nhận và xử lý phản hồi review | [↗](https://github.com/obra/superpowers/tree/main/skills/receiving-code-review) |
| `using-git-worktrees` | Quản lý môi trường làm việc riêng biệt | [↗](https://github.com/obra/superpowers/tree/main/skills/using-git-worktrees) |
| `finishing-a-development-branch` | Hoàn tất và dọn dẹp sau khi xong | [↗](https://github.com/obra/superpowers/tree/main/skills/finishing-a-development-branch) |
| `writing-skills` | Viết thêm skill mới | [↗](https://github.com/obra/superpowers/tree/main/skills/writing-skills) |
| `using-superpowers` | Giới thiệu hệ thống cho agent | [↗](https://github.com/obra/superpowers/tree/main/skills/using-superpowers) |
Triết lý đằng sau
Superpowers không cố làm cho agent thông minh hơn. Nó làm cho agent có kỷ luật hơn. Bốn nguyên tắc cốt lõi của dự án là: test trước code, có hệ thống thay vì tự phát, đơn giản là mục tiêu hàng đầu, và bằng chứng thay vì tuyên bố.
Tôi thấy triết lý này quen thuộc — đây chính là những gì một senior developer kinh nghiệm làm tự nhiên. Superpowers chỉ đang encode những thói quen đó thành các rule để agent không được phép bỏ qua.
Có một câu trong README mà tôi thích: "It's not uncommon for Claude to be able to work autonomously for a couple hours at a time without deviating from the plan." Không phải vì agent trở nên thông minh hơn, mà vì nó có một bản đồ rõ ràng để đi theo.