Khám phá "Superpowers": Khi một bộ Skill dạy AI cả một quy trình kỹ thuật phần mềm
Hầu hết các repo skill hiện nay chỉ cho bạn một đống công cụ rời rạc. obra/superpowers thì làm một điều hoàn toàn khác biệt: nó dạy cho coding agent một phương pháp luận hoàn chỉnh — và cưỡng chế agent đó phải tuân theo bằng được.
Bài này sẽ mổ xẻ chi tiết cách nó hoạt động và cách triển khai thẳng vào workflow của bạn.
1. Superpowers là gì?
Superpowers là một agentic skills framework do Jesse Vincent (obra) và Prime Radiant xây dựng. Thay vì là một danh mục skill để bạn nhặt lẻ, nó là một quy trình phát triển phần mềm khép kín, lắp ghép từ khoảng 15 skill composable (ghép được với nhau).
Triết lý của framework này gói gọn trong một câu ngay tại repo:
"The agent checks for relevant skills before any task. Mandatory workflows, not suggestions." (Agent kiểm tra skill liên quan trước mọi tác vụ. Quy trình bắt buộc, không phải gợi ý.)
Đây chính là điểm khiến nó đáng để chúng ta khám phá: nó không chỉ thêm khả năng, nó thay đổi hành vi mặc định của agent.
2. Cơ chế cốt lõi: "Skill dispatch" bắt buộc
Trước hết cần hiểu về progressive disclosure — cơ chế chung của skill: Claude tự quyết định nạp skill khi thấy phù hợp, thay vì nạp sẵn mọi thứ vào context để đỡ tốn token. Superpowers đẩy ý tưởng này đi xa hơn bằng một skill "điều phối" tên là using-superpowers, biến việc kiểm tra skill từ tuỳ chọn thành nghĩa vụ.
Nội dung cốt lõi của cơ chế cưỡng chế này:
- Kiểm tra skill TRƯỚC mọi hành động: Before cả khi hỏi lại bạn hay mở file ra xem, agent phải rà xem có skill nào áp dụng được không.
- Ngưỡng kích hoạt cực thấp — Quy tắc 1%: Chỉ cần 1% khả năng một skill phù hợp → bắt buộc phải gọi. Đây là thủ pháp chống lại xu hướng "lười" tự nhiên của model (bỏ qua quy trình để trả lời cho nhanh).
- Thứ tự ưu tiên: Process trước, Implementation sau: Cái gì thuộc về quy trình (
brainstorming) phải chạy trước, xác lập cách tiếp cận xong xuôi thì các skill hiện thực hoá mới được vào việc. - Vạch trần "Red flags" (Lời nguỵ biện của AI): Skill liệt kê sẵn khoảng 12 mẫu suy nghĩ báo hiệu agent đang định trốn bước check skill, ví dụ: "đây chỉ là câu hỏi đơn giản", "cần thêm ngữ cảnh đã", "làm thế này thấy có tiến độ hơn" — tất cả bị coi là nguỵ biện và bị phủ nhận ngay.
- Thứ bậc ghi đè (Override hierarchy):
Chỉ thị người dùng (CLAUDE.md, yêu cầu trực tiếp)
▼ ghi đè
Skills
▼ ghi đè
Hành vi mặc định
Skill chỉ bị bỏ qua khi con người ra lệnh rõ ràng.
💡 Insight: Đây là ví dụ điển hình cho việc dùng chính văn bản của skill để "lập trình" hành vi agent. Không có code cưỡng chế nào cả — chỉ là chỉ dẫn được viết đủ mạnh, đủ tuyệt đối để model tuân theo. Đó chính là "prompt engineering ở tầng quy trình".
3. Bộ skill này có những gì? (4 nhóm phân hoá)
Repo tổ chức skill thành 4 nhóm rõ rệt:
Testing
test-driven-development— Cưỡng chế vòng lặp RED → GREEN → REFACTOR: viết test thất bại trước, xác nhận nó fail, viết code tối thiểu cho pass, commit. Đáng chú ý: Skill này xoá luôn code nếu lỡ viết trước khi có test.
Debugging
systematic-debugging— Phân tích root-cause 4 pha, chống thói quen "sửa mò".verification-before-completion— Cấm tuyên bố "xong" nếu chưa đưa ra được bằng chứng kiểm chứng.
Collaboration (Nhóm lớn nhất)
brainstorming— Tinh chỉnh thiết kế kiểu Socratic: agent "lùi lại và hỏi bạn thực sự muốn gì", trình bày thiết kế theo từng khúc đủ ngắn để đọc và tiêu hoá.writing-plans— Chia việc thành task "bite-sized" (2–5 phút), kèm đường dẫn file chính xác, code đầy đủ, bước verify.executing-plans— Thực thi plan đã duyệt.subagent-driven-development— Giao từng task cho sub-agent, mỗi việc qua review 2 tầng (tuân thủ spec trước → chất lượng code sau).dispatching-parallel-agents/requesting-code-review/receiving-code-review— Chạy nhiều agent song song, quy trình review 2 chiều.using-git-worktrees/finishing-a-development-branch— Quản lý nhánh/worktree an toàn.
Meta
using-superpowers— Bộ điều phối tối cao (cơ chế mục 2).writing-skills— Meta-skill để tự viết skill mới (framework tự mở rộng chính nó).
4. Luồng làm việc điển hình trông sẽ như thế nào?
Ghép lại, một phiên làm việc "chuẩn Superpowers" trông sẽ nghiêm ngặt như thế này:
Bạn nêu yêu cầu
│
▼
[brainstorming] ── Đối thoại Socratic, chốt "thực sự cần gì"
│
▼
[writing-plans] ── Plan chia task 2–5 phút, có file path + code + verify
│ (bạn duyệt plan)
▼
[subagent-driven-development]
│ ├─ Mỗi task → 1 sub-agent thực thi
│ └─ Review 2 tầng: Spec-compliance → Code-quality
▼
[test-driven-development] ── RED → GREEN → REFACTOR trong lúc code
│
▼
[verification-before-completion] ── Kiểm chứng bằng bằng chứng rõ ràng
│
▼
[finishing-a-development-branch] ── Dọn nhánh, kết thúc
Mấu chốt: Đây không phải gợi ý — nhờ using-superpowers, agent bắt buộc đi qua các cửa này trừ khi bạn ra lệnh bỏ qua.
5. Cách triển khai
5.1. Trên Claude Code (Khuyến nghị)
Superpowers phân phối qua plugin marketplace. Có hai cách cài:
- Cách nhanh — Cài từ marketplace chính thức:
/plugin install superpowers@claude-plugins-official
- Cách chủ động — Đăng ký marketplace của tác giả rồi cài:
/plugin marketplace add obra/superpowers-marketplace
/plugin install superpowers
Sau khi cài, các skill nằm dưới cơ chế skill của Claude Code. Bạn kích hoạt chủ yếu bằng ngôn ngữ tự nhiên (agent tự dispatch — xem mục 6).
5.2. Trên các agent khác
Cùng một bộ skill, khác cách gọi lệnh cài:
| Agent | Lệnh cài |
|---|---|
| Antigravity | agy plugin install [https://github.com/obra/superpowers](https://github.com/obra/superpowers) (tự kích hoạt ở message đầu) |
| Cursor | /add-plugin superpowers trong Agent chat |
| Codex (App/CLI) | Có trong marketplace chính thức; CLI dùng /plugins để tìm & cài |
| Factory Droid | droid plugin marketplace add [https://github.com/obra/superpowers](https://github.com/obra/superpowers) → droid plugin install superpowers@superpowers |
| GitHub Copilot CLI | copilot plugin marketplace add obra/superpowers-marketplace → cài plugin |
| Kimi Code | /plugins install [https://github.com/obra/superpowers](https://github.com/obra/superpowers) |
| OpenCode | Theo hướng dẫn tại .opencode/INSTALL.md trong repo |
| Pi | pi install git:[github.com/obra/superpowers](https://github.com/obra/superpowers) (hoặc -e /path để dev local) |
5.3. Kiểm tra & dùng thử
Sau khi cài, thử giao một tác vụ có chủ đích để thấy cơ chế dispatch hoạt động:
"Thêm tính năng X"
Hãy quan sát xem agent có tự chạy brainstorming trước khi động vào code không. Nếu nhảy thẳng vào code, có thể plugin chưa active hoặc bị ghi đè bởi chỉ thị khác — kiểm tra lại bằng lệnh liệt kê plugin của agent tương ứng.
6. Ví dụ cụ thể: Superpowers hành xử thế nào trong thực tế?
⚠️ Cách dùng chuẩn là NÓI TỰ NHIÊN — không cần gõ lệnh gì cả. Nhờ skill
using-superpowers(quy tắc 1% + check skill trước), agent tự nhận diện và gọi đúng skill dựa trên ngữ nghĩa câu bạn nói. Bạn không phải nhớ tên lệnh slash bừa bãi làm gì.
Ví dụ 1 — Sự khác biệt "Trước / Sau"
Cùng một câu yêu cầu, hai thế giới khác hẳn nhau:
-
❌ Agent thường (Không có Superpowers):
-
Bạn: "Thêm chức năng export danh sách thiết bị ra Excel"
-
Agent: Ngay lập tức mở file, tạo endpoint, viết code, cài thư viện xlsx...
-
✅ Agent có Superpowers:
-
Bạn: "Thêm chức năng export danh sách thiết bị ra Excel"
-
Agent: (Tự động dispatch
brainstormingtrước khi động vào code):
"Trước khi bắt tay, mình cần hiểu rõ mục tiêu. Export này phục vụ ai dùng chính? (A) Admin tải toàn bộ inventory để đối soát (B) User xuất kết quả đang lọc/tìm trên màn hình (C) Báo cáo định kỳ tự động"
Điểm mấu chốt: Nhờ quy tắc gác cổng, agent không nhảy thẳng vào code mà chạy process-skill trước — mà bạn không cần ra lệnh gì đặc biệt.
Ví dụ 2 — Một phiên brainstorming đầy đủ
Skill này sẽ hỏi mỗi lần một câu, ưu tiên trắc nghiệm, rồi trình bày thiết kế theo từng khúc:
Bạn: Tôi muốn làm tính năng thông báo khi thiết bị sắp hết hạn bảo hành
Agent (Phase 1 - Context):
[đọc project files + commit gần đây trước]
"Đây chạm tới cả backend (job quét) lẫn frontend (hiển thị) — phạm vi hơi rộng. Mình sẽ tách nhỏ nhé."
Agent (Phase 2 - Hỏi từng câu):
"Thông báo gửi qua kênh nào?
(A) In-app (B) Email (C) Cả hai"
Bạn: C
Agent: "Ngưỡng 'sắp hết hạn' tính thế nào?
(A) Cố định 30 ngày (B) Cấu hình theo loại thiết bị"
Bạn: B
Agent (Phase 3 - Đề xuất hướng đi kèm trade-off):
"Mình đề xuất cron job hằng ngày + bảng cấu hình ngưỡng. So với việc tính real-time thì rẻ hơn và đủ dùng vì..."
Agent (Phase 4 - Trình bày thiết kế từng phần, hỏi sau mỗi phần):
"Đây là phần kiến trúc dữ liệu. Nhìn ổn chưa?"
...
Agent (Phase 5 - Viết spec ra file rồi CHẶN lại):
"Đã ghi spec vào docs/superpowers/specs/2026-07-08-warranty-alert-design.md
Bạn review giúp trước khi mình lập implementation plan nhé."
Điểm đáng chú ý:
- Kết quả không phải code, mà là một file spec commit vào git.
- Skill tự chặn (gate) — chỉ được chuyển sang duy nhất một skill kế tiếp là
writing-plans. Không có chuyện "hứng lên code luôn".
Ví dụ 3 — TDD được cưỡng chế (test-driven-development)
Đây là chỗ Superpowers "cứng rắn" nhất với Quy tắc Sắt (Iron Law):
"NO PRODUCTION CODE WITHOUT A FAILING TEST FIRST" (Lỡ viết code trước test? → "Delete it. Start over." — Xoá đi. Làm lại.)
Một chu kỳ thật sẽ diễn ra như thế này:
── RED ──────────────────────────────────
Agent: Viết 1 test tối thiểu cho hành vi cần có: "should mark device as expiring when within threshold"
Agent: Chạy để XÁC NHẬN nó FAIL (bắt buộc, không được bỏ qua):
$ npm test warranty.service.test.ts
✗ FAIL — vì hàm chưa tồn tại (đúng lý do mong đợi, không phải typo)
── GREEN ────────────────────────────────
Agent: Viết code TỐI THIỂU đủ để pass (không thêm thắt):
Agent: $ npm test warranty.service.test.ts
✓ PASS — và các test khác vẫn xanh
── REFACTOR ─────────────────────────────
Agent: Dọn code (bỏ trùng lặp, đổi tên rõ nghĩa) vừa làm vừa chạy lại test để giữ "xanh"
→ Quay lại RED cho hành vi tiếp theo
Khác biệt với agent thường: Nó bắt buộc phải thấy test fail trước (chống test giả luôn pass), và cấm viết thừa ngoài phạm vi test đang xét.
Ví dụ 4 — Gọi tường minh (Tuỳ chọn)
Khi bạn biết chính xác mình cần quy trình nào và muốn ép nó chạy luôn, có thể nêu thẳng tên skill:
Bạn: dùng systematic-debugging để tìm vì sao API /devices trả 500
Bạn: brainstorm lại luồng phê duyệt yêu cầu mượn thiết bị
Đây chỉ là lối tắt, không bắt buộc — kể cả khi bạn nói bình thường ("API /devices lỗi 500, tìm giúp"), agent vẫn tự gọi systematic-debugging.
Ví dụ 5 — Khi bạn muốn BỎ QUA quy trình
Nhớ thứ bậc ghi đè: Chỉ thị người dùng > skill. Với task vặt, bạn ra lệnh rõ ràng để thoát khỏi quy trình nặng:
Bạn: Chỉ sửa nhanh typo trong label button, KHÔNG cần brainstorm hay TDD
Agent: [Tuân theo — bỏ qua mọi process skill vì bạn chỉ thị rõ]
Đây là "van an toàn" để Superpowers không biến mọi việc nhỏ nhặt thành một nghi thức dài dòng.
Bảng tra nhanh: Câu nói tự nhiên ➔ Skill kích hoạt
| Bạn nói gì (không cần lệnh) | Skill nào tự chạy | Kết quả thu được |
|---|---|---|
| "Thêm tính năng X" | brainstorming → writing-plans |
Spec + plan chi tiết trước khi code |
| "Sửa bug Y / vì sao lỗi Z" | systematic-debugging |
Phân tích root-cause 4 pha |
| "Implement plan này" | subagent-driven-development |
Sub-agent chạy việc + review 2 tầng |
| (Trong lúc code bất kỳ) | test-driven-development |
Vòng lặp RED → GREEN → REFACTOR |
| "Xong chưa / merge được chưa" | verification-before-completion |
Kiểm chứng bằng bằng chứng thực tế |
| "Tạo skill mới cho quy trình đội" | writing-skills |
Tự sinh Skill đúng chuẩn |
7. Tự mở rộng: Viết skill riêng
Framework có sẵn meta-skill writing-skills để bạn tạo skill mới đúng chuẩn. Ý tưởng: Khi đội của bạn có một quy trình lặp đi lặp lại (ví dụ "quy trình review bảo mật nội bộ", "chuẩn tạo migration"), bạn đóng gói nó thành skill và nó sẽ tự động tham gia vào cơ chế dispatch chung.
Cấu trúc tối thiểu vẫn theo chuẩn Agent Skills:
my-skill/
└── SKILL.md # frontmatter (name, description) + hướng dẫn quy trình
description cần viết giàu từ khoá trigger để cơ chế dispatch (quy tắc 1%) bắt được đúng lúc bạn cần.
8. Phân biệt Superpowers với các cơ chế "họ hàng"
Rất dễ nhầm lẫn, nên chúng ta cần phân biệt rõ bản chất:
| Cơ chế | Bản chất | Khi nào dùng |
|---|---|---|
| Skill (Superpowers) | Cẩm nang kiến thức + quy trình, nạp theo nhu cầu | "Dạy" agent một cái nghề/quy trình lặp đi lặp lại |
| Sub-agent | Một agent con, context riêng, tự chạy đa bước | Uỷ thác việc lớn/song song, tránh phình context chính |
| MCP tool | Cầu nối tới hệ thống ngoài (Gmail, Figma, DB...) | Cần dữ liệu/hành động từ dịch vụ bên ngoài |
| Hook | Script tự chạy khi có sự kiện | Tự động hoá bắt buộc, không phụ thuộc agent "nhớ" |
| CLAUDE.md / Memory | Ngữ cảnh nền luôn có mặt | Quy ước dự án, sự thật cần nhớ lâu dài |
Superpowers là ví dụ điển hình cho thấy Skill hoàn toàn có thể điều phối cả sub-agent và quy trình — chứ không chỉ là mớ kiến thức tĩnh.
9. Đánh giá phê phán (Để dùng cho khôn)
Điểm mạnh:
- Biến "best practice" từ khẩu hiệu thành hành vi cưỡng chế — cực kỳ hợp với xu hướng thích "đi tắt" của model.
- Tách bạch rõ ràng process vs implementation → kiến trúc rõ ràng, dễ tự mở rộng.
- Tận dụng sub-agent + review 2 tầng → giảm lỗi tối đa mà không làm phình context chính.
Điểm cần cân nhắc:
- Chi phí token & thời gian: Brainstorm + plan + review 2 tầng cho mọi việc có thể là quá nặng với các task nhỏ. Quy tắc 1% rất dễ khiến agent bị "làm quá" (over-engineering).
- Ma sát với dự án sẵn có: Nhiều dự án đã có sẵn bộ rule + workflow riêng. Cài Superpowers vào dễ gây chồng lấn/xung đột quy trình → lúc đó phải tận dụng chỉ thị trong
CLAUDE.mdđể ép nó tuân thủ rule của bạn. - Bảo mật: Như mọi plugin bên thứ ba — hãy đọc kỹ script trước khi cài nhé.
10. Kết
Superpowers là một ca nghiên cứu tuyệt vời cho câu hỏi: "Skill có thể làm được đến đâu?" Câu trả lời của nó — skill không chỉ là kiến thức, mà có thể là cả một quy trình được cưỡng chế — cho thấy sức mạnh của việc "lập trình hành vi agent bằng văn bản". Cơ chế using-superpowers với quy tắc 1% và danh sách red-flag là minh hoạ sắc nét cho việc prompt ở tầng quy trình.
Và điều đẹp nhất: Bạn không phải học một bộ lệnh mới. Cứ nói chuyện tự nhiên như bình thường — agent tự biết khi nào cần brainstorm, khi nào cần viết test trước. Nếu bạn muốn một agent kỷ luật, đi từ hiểu-đúng-vấn-đề → plan → TDD → verify, Superpowers rất đáng để thử. Nhưng hãy triển khai có ý thức: Cân nhắc chi phí cho task nhỏ và giải quyết xung đột với quy trình sẵn có của dự án nhé!
👉 Repo: https://github.com/obra/superpowers
Nguồn tham khảo
All Rights Reserved