Bỏ qua điều hướng

mattpocock/skills: bộ skill Claude Code cho kỹ sư thực thụ

mattpocock/skills là bộ kỹ năng giúp Claude Code tuân thủ quy trình TDD, thiết kế kiến trúc và quản lý ticket theo phong cách một kỹ sư senior.

Tuan Tran Van
16 phút đọc
Mục lục (9 phần)
  1. mattpocock/skills là gì?
  2. Vì sao gọi là "skills cho kỹ sư thực thụ"?
  3. Luồng chính và những skill đáng dùng
  4. Cài đặt và thiết lập trong repo của bạn
  5. v1.1 thay đổi những gì?
  6. Giới hạn và cái giá phải trả
  7. Nên bắt đầu từ đâu?
  8. Bộ skill này đáng dùng khi nào?
  9. Tài liệu tham khảo

mattpocock/skills là bộ Agent Skills mã nguồn mở giúp các AI agent như Claude Code làm việc theo kỷ luật của một kỹ sư senior thay vì đoán mò.

Với hơn 177.000 sao trên GitHub, đây không phải một tập hợp câu lệnh nhắc (prompt) bóng bẩy để bạn copy-paste rồi hy vọng phép màu xảy ra. Nó là một hệ quy trình làm việc thực thụ, ép agent tuân thủ đúng những tiêu chuẩn kỹ thuật khắt khe mà kỹ sư senior vẫn áp dụng.

Rào cản lớn nhất khi lập trình cùng AI thường không phải khả năng viết code của mô hình, mà là sự thiếu hụt ngữ cảnh và quy trình. Bộ công cụ này đóng vai trò như những "runbook" hướng dẫn agent cách tiếp cận từng giai đoạn của phần mềm. Thay vì để agent tự do "vibe coding" — kiểu lập trình theo cảm hứng dễ biến dự án thành một đống rác không thể bảo trì — nó cung cấp các kịch bản hành vi có cấu trúc và giữ quyền kiểm soát trong tay bạn.

Triết lý của Matt Pocock, một chuyên gia TypeScript kỳ cựu, không phải là tạo ra một framework cồng kềnh chiếm quyền toàn bộ dự án. Các skill ở đây là những đơn vị công việc nhỏ, dễ đọc và cực kỳ linh hoạt: bạn cài chúng, đọc thẳng file Markdown để hiểu tư duy bên trong, rồi "hack" lại cho hợp với văn hóa đội mình. Nói ngắn gọn, nó biến agent từ một kẻ tự phụ hay làm sai thành một cộng sự làm việc có phương pháp.

Ảnh bìa: kỷ luật kỹ thuật giữ cương một AI agent lập trình với bộ mattpocock/skills

mattpocock/skills là gì?

Cơ chế tiết lộ lũy tiến của một tệp SKILL.md qua ba mức nạp: metadata, toàn bộ nội dung, tài nguyên liên kết

Về bản chất, mattpocock/skills là một bộ sưu tập các "Agent Skills" mà Matt Pocock — người đứng sau Total TypeScript — trích trực tiếp từ thư mục cấu hình .claude cá nhân dùng hằng ngày. Đừng nhìn nó như một thư viện code thông thường, mà hãy coi là một bộ quy tắc ứng xử dành cho AI. Mỗi "kỹ năng" thực chất là một thư mục chứa tệp SKILL.md theo chuẩn của Anthropic: phần metadata bằng YAML (tên, mô tả) và phần hướng dẫn thực thi chi tiết bằng ngôn ngữ tự nhiên bên dưới.

Điểm thông minh nhất của kiến trúc này là cơ chế tiết lộ lũy tiến (progressive disclosure). Thay vì nhồi hàng nghìn dòng chỉ dẫn vào cửa sổ ngữ cảnh ngay từ đầu — vừa tốn token vừa làm loãng sự tập trung của agent — hệ thống chỉ nạp phần metadata của mọi skill vào system prompt. Chỉ khi tác vụ bạn yêu cầu khớp với mô tả của một skill cụ thể, agent mới thực sự tải toàn bộ nội dung tệp SKILL.md vào bộ nhớ. Cách làm này vừa giảm hóa đơn token, vừa giúp agent giữ được độ chính xác cao nhất cho nhiệm vụ trước mắt.

Dù được tối ưu cho Claude Code, bộ skill mang tính mở và tương thích chéo rất cao. Nhờ dùng Markdown thuần và hướng dẫn bằng ngôn ngữ tự nhiên, bạn hoàn toàn có thể áp dụng chúng cho các công cụ khác như Codex CLI, Cursor hay Aider. Đây là lợi thế lớn cho những kỹ sư không muốn bị khóa chặt vào một hệ sinh thái mà vẫn muốn giữ một bộ quy chuẩn làm việc nhất quán trên mọi nền tảng agent.

Vì sao gọi là "skills cho kỹ sư thực thụ"?

Bốn kiểu thất bại khi lập trình cùng AI và skill tương ứng khắc phục từng kiểu

Lập trình kiểu "vibe coding" là cách nhanh nhất biến một dự án tiềm năng thành "quả bóng bùn" (ball of mud) không thể cứu vãn. AI tạo ra code với tốc độ chóng mặt, và nếu không kiểm soát chặt ranh giới giữa các module, nó chỉ đẩy nhanh quá trình tích tụ nợ kỹ thuật (software entropy). Bộ skill của Pocock giải quyết tận gốc vấn đề này bằng cách ép agent phải quan tâm đến thiết kế hệ thống mỗi ngày. Qua các lệnh như /improve-codebase-architecture, agent được hướng dẫn quét những "mối nối" (seam) trong code và đề xuất các module sâu hơn với giao diện hẹp hơn, bám sát tinh thần cuốn "A Philosophy of Software Design".

Một lỗi kinh điển khi làm việc với AI là agent "tự đắc" đi sai hướng vì hiểu nhầm yêu cầu ban đầu. Skill /grill-me xử lý việc này bằng một quy trình tra vấn ngược không khoan nhượng: agent từ chối viết code cho tới khi đã hỏi đủ để làm rõ mọi nhánh của cây quyết định. Song song đó, tài liệu ngôn ngữ chung (CONTEXT.md) cho bạn và agent một cuốn từ điển thuật ngữ riêng của dự án. Thay vì diễn giải dài dòng bằng 20 từ, agent dùng đúng một thuật ngữ chuyên môn — giảm nhiễu và tăng tính nhất quán trong toàn bộ codebase.

Kỷ luật thực thụ còn nằm ở các vòng lặp phản hồi (feedback loop). Thay vì để agent đoán mò lỗi, skill diagnosing-bugs buộc nó đi qua đúng quy trình: tái hiện, thu hẹp, đặt giả thuyết, đo đạc, rồi mới sửa. Riêng quy trình Test-Driven Development (TDD) thì được tích hợp sâu để bảo chứng chất lượng đầu ra. Khác với các framework cồng kềnh muốn chiếm trọn quy trình của bạn (như GSD hay Spec-Kit), bộ skill này chỉ là những công cụ nhỏ gọn — bạn vẫn là người lái tàu, còn agent chỉ hỗ trợ bằng các kỷ luật đã được cấu trúc hóa.

Luồng chính và những skill đáng dùng

Luồng làm việc chính: grilling đến spec đến tickets đến implement đến code review

Để đạt hiệu quả cao nhất, bạn nên vận hành bộ skill theo một vòng đời phát triển phần mềm (Software Development Life Cycle - SDLC) tiêu chuẩn mà Matt Pocock đã đúc kết. Quy trình bắt đầu bằng việc tra vấn (grilling) để đạt đồng thuận, rồi chuyển hóa thành bản đặc tả kỹ thuật (spec). Từ bản đặc tả, bạn dùng /to-tickets để chia nhỏ công việc thành các đơn vị thực thi độc lập. Cuối cùng, bạn dùng /implement để hiện thực hóa từng ticket và khép lại bằng /code-review trước khi commit. Luồng này tách tư duy chiến lược khỏi việc thực thi chi tiết, giúp agent luôn làm việc trong "vùng thông minh" (smart zone) của nó.

Về mặt kỹ thuật, các skill được phân loại theo cách kích hoạt (invocation). Có những lệnh bạn chủ động gọi từ terminal (user-invoked) như /grill-me hay /wayfinder để điều phối tổng thể. Ngược lại, có những kỷ luật chuyên môn mà agent tự tìm đến khi cần (model-invoked) như tdd hay domain-modeling. Sự tách biệt này giữ cho giao diện dòng lệnh của bạn gọn gàng, trong khi vẫn đảm bảo agent luôn mang theo "bí kíp" kỹ thuật mỗi khi bắt tay vào code.

Trong hơn 21 kỹ năng, có ba cái tên bạn nên thử trước. Đầu tiên là /grill-me, ép bạn suy nghĩ thấu đáo mọi góc cạnh của tính năng trước khi đặt bút. Thứ hai là /wayfinder, vũ khí mới của bản v1.1 chuyên trị các bài toán quá lớn, giúp lập bản đồ những ticket chặn nhau trên GitHub Issues để xử lý dần. Cuối cùng là /improve-codebase-architecture, skill quét codebase để tìm những chỗ đáng tái cấu trúc, trình bày chúng thành một báo cáo HTML trực quan, rồi tra vấn bạn thấu đáo về phương án bạn chọn.

SkillMục đích sử dụngKiểu kích hoạt
/grill-meTra vấn để làm rõ yêu cầu trước khi bắt tay.User-invoked
/tddQuy trình viết test trước, code sau (chỉ tham khảo).Model-invoked
/wayfinderLập bản đồ ticket cho nhiệm vụ siêu lớn.User-invoked
/code-reviewSoi code theo tiêu chuẩn và các "mùi code".Model-invoked
/implementThực thi công việc từ spec hoặc tickets.User-invoked
/improve-codebase-architectureTìm cơ hội tái cấu trúc, xuất báo cáo trực quan.User-invoked

Cài đặt và thiết lập trong repo của bạn

Hai cách cài đặt: npx skills add cho tệp chỉnh sửa được và plugin Claude Code cho bản quản lý tự cập nhật

Việc cài đặt khá đơn giản nhưng cần một chút cẩn trọng để không biến thư mục dự án thành một bãi rác các tệp không dùng tới. Bạn có thể chạy npx skills add mattpocock/skills để mở một trình cài đặt tương tác, cho phép chọn lọc từng skill cần thiết thay vì bê nguyên cả bộ. Ngoài ra, bạn cũng có thể cài nó như một plugin chính thức của Claude Code nếu muốn nhận bản cập nhật tự động từ tác giả. Nhưng dưới góc nhìn của một kỹ sư, bản cài đặt dạng tệp chỉnh sửa được vẫn đáng chọn hơn, vì bạn có thể tùy biến nội dung Markdown theo nhu cầu riêng.

bash
npx skills add mattpocock/skills

Bước quan trọng nhất sau khi tải về là chạy /setup-matt-pocock-skills. Đừng bỏ qua, vì đây là lúc bạn "dạy" cho agent về môi trường làm việc của mình. Agent sẽ hỏi bạn dùng trình theo dõi lỗi nào (GitHub, Linear hay tệp cục bộ), các nhãn (label) bạn thường dùng để phân loại ticket, và nơi bạn muốn lưu các bản ghi quyết định kiến trúc (Architecture Decision Record - ADR). Không có cấu hình này, các skill như /to-tickets hay /triage sẽ không hoạt động được vì agent không biết gửi dữ liệu đi đâu hay đánh nhãn thế nào cho đúng quy ước.

Mặc định, các kỹ năng nằm trong thư mục .claude/skills/ của repo. Bạn nên dành thời gian đọc qua những file này — chúng là Markdown thông thường, cực dễ đọc và dễ sửa. Đừng ngại "hack" chúng: đổi quy ước format code, thêm quy định riêng của công ty. Sức mạnh thật sự của bộ skill không nằm ở các lệnh slash, mà ở chỗ nó là một tài liệu sống bạn có thể tinh chỉnh để phản ánh đúng tư duy và phong cách lập trình của mình. Nếu chưa biết nên giữ lại những gì, checklist các skill Claude Code đáng cài nhất là một điểm khởi đầu tốt.

v1.1 thay đổi những gì?

Những thay đổi trong v1.1: đổi tên lệnh và các skill mới như wayfinder và implement

Phiên bản v1.1 đánh dấu một bước chuyển tư duy quan trọng khi Matt Pocock đổi tên các lệnh cốt lõi: /to-prd thành /to-spec/to-issues thành /to-tickets. Đây không đơn thuần là đổi nhãn dán, mà là một lời khẳng định về bản chất kỹ thuật của công việc. Một PRD (Product Requirements Document — tài liệu đặc tả yêu cầu sản phẩm) thường mang tính sản phẩm quá cao và dễ gây nhầm lẫn, trong khi "spec" (đặc tả) là thuật ngữ bao trùm và chính xác hơn cho những gì kỹ sư cần trước khi bắt tay vào code. Việc dùng "ticket" cũng giải phóng agent khỏi thiên kiến vào các nền tảng như GitHub hay Linear, hướng tới một đơn vị công việc tổng quát hơn.

Điểm sáng nhất của v1.1 là sự xuất hiện của /wayfinder. Đây là liều thuốc giải cho tình trạng agent bị "quá tải ngữ cảnh" khi đối mặt những yêu cầu khổng lồ. Wayfinder không cố giải quyết mọi thứ trong một phiên làm việc, mà lập ra một bản đồ các "ticket quyết định" (decision ticket) có quan hệ chặn (blocking) lẫn nhau. Agent hướng dẫn bạn giải quyết từng ticket một theo trình tự logic, giúp giữ sự tập trung và tránh việc agent "ngu đi" vì cửa sổ ngữ cảnh bị lấp đầy bởi thông tin hỗn loạn của một dự án lớn.

Về chất lượng code, v1.1 tích hợp hơn 10 "mùi code" (code smell) kinh điển của Martin Fowler vào lệnh /code-review. Thay vì chỉ soi cú pháp, agent giờ có thể nhận diện những lỗi kiến trúc tinh tế như "primitive obsession" hay "message chains". Quy trình TDD cũng được chuyển thành "tài liệu tham khảo" (reference only) thay vì ép các bước rườm rà, và bước refactor được tách hoàn toàn khỏi vòng lặp TDD để đưa sang giai đoạn code review. Thay đổi này giảm tải cho khâu hiện thực hóa, giữ cho việc viết code ban đầu diễn ra nhanh mà vẫn không mất đi kỷ luật cải thiện mã nguồn về sau.

Cuối cùng, v1.1 xử lý triệt để lỗi "tự tra vấn" — hiện tượng agent tự đối thoại và tự quyết thay cho người dùng. Bằng cách tách bạch rõ giữa "Fact" (sự thật khách quan tìm được trong codebase) và "Decision" (quyết định chủ quan cần người dùng xác nhận), hệ thống dựng lên một rào cản xác nhận (confirmation gate). Agent không được phép triển khai kế hoạch cho tới khi bạn thực sự gật đầu. Điều này đảm bảo dù AI có thông minh đến đâu, quyền quyết định cuối cùng về kiến trúc và logic nghiệp vụ vẫn nằm chắc trong tay bạn.

Giới hạn và cái giá phải trả

Dù mạnh mẽ, bộ skill vẫn mang nặng "thiên kiến công nghệ" về phía hệ sinh thái TypeScript và Node.js. Nhiều kỹ năng giả định bạn đang dùng Husky cho pre-commit, Vitest cho kiểm thử, hoặc Prettier để format code. Nếu đang làm việc trên một dự án Python, Go hay Rust, bạn sẽ thấy một số skill trở nên vô dụng hoặc thậm chí gây nhiễu nếu không dành thời gian viết lại chỉ dẫn cho phù hợp với bộ công cụ của ngôn ngữ đó. Đây không phải bộ công cụ "mì ăn liền" cho mọi ngôn ngữ, mà là một khung sườn để bạn tự xây dựng kỷ luật cho riêng mình.

Sự cứng nhắc của quy trình cũng là một rào cản đáng kể. Nếu đang ở giai đoạn làm prototype cực nhanh, nơi tốc độ quan trọng hơn kiến trúc bền vững, việc bắt agent đi qua các bước tra vấn ngặt nghèo của /grill-me hay viết spec chi tiết có thể tạo ra lực cản không đáng có. Đôi khi bạn chỉ cần AI viết nhanh một đoạn script nhỏ, và lúc đó các skill này chẳng khác gì một người quản lý dự án khó tính làm chậm tiến độ. Bạn cần biết khi nào nên "bật" kỷ luật và khi nào nên để agent tự do thực thi theo cách thông thường.

Cuối cùng, đừng quên "skill cũng là code". Việc duy trì một thư mục đầy tệp Markdown mà không bao giờ cập nhật hay kiểm tra tính tương thích với các phiên bản agent mới là một rủi ro. Nếu cài quá nhiều skill rác hoặc các skill mâu thuẫn nhau, agent có thể bị nhầm lẫn, tiêu tốn token vô ích mà kết quả lại không như ý. Một kỹ sư senior giỏi là người biết giữ bộ công cụ của mình tinh gọn — hãy xóa bỏ những skill không thực sự mang lại giá trị cho dự án hiện tại.

Nên bắt đầu từ đâu?

Lời khuyên thực chiến là đừng cài cả 21 kỹ năng ngay từ ngày đầu — bạn sẽ bị ngợp, và agent cũng vậy. Hãy bắt đầu với bộ đôi /grill-me/tdd. Chỉ hai công cụ này thôi, bạn đã thấy chất lượng giao tiếp với AI thay đổi rõ rệt: yêu cầu của bạn sắc sảo hơn, và code đầu ra có độ đảm bảo cao hơn nhờ các bộ test đi kèm. Khi đã nhuần nhuyễn với việc bị agent "tra vấn", hãy mở rộng sang các kỹ năng quản lý như /to-spec hay các kỹ năng chẩn đoán lỗi chuyên sâu.

Giá trị lớn nhất bạn nhận được từ repo này không phải là rảnh tay hơn, mà là cơ hội học kỷ luật từ một kỹ sư senior. Hãy dành một buổi tối đọc kỹ nội dung các tệp SKILL.md. Để ý cách Matt Pocock cấu trúc các câu lệnh, cách anh hướng dẫn agent xử lý lỗi, và cách anh định nghĩa thế nào là một "module tốt". Hiểu được tư duy ẩn sau những tệp Markdown này sẽ giúp bạn nâng tầm kỹ năng lập trình của chính mình, thay vì chỉ coi AI là công cụ viết code hộ.

Cuối cùng, hãy tận dụng cộng đồng qua trang skills.sh. Đây giống như một "npm dành cho agent skills", nơi bạn tìm được những kỹ năng độc đáo từ các kỹ sư khác trên khắp thế giới, hoặc chia sẻ phiên bản mình đã tùy biến. Việc trao đổi các kỹ năng này giúp hệ sinh thái lập trình cùng AI ngày càng chuyên nghiệp hơn. Mục tiêu cuối cùng không phải để AI tự động hóa mọi thứ, mà là dùng AI để thực thi các kỷ luật phần mềm một cách bền vững và ít sai sót nhất.

Bộ skill này đáng dùng khi nào?

mattpocock/skills là minh chứng rằng lập trình cùng AI không nhất thiết phải là một quá trình hỗn loạn và thiếu kiểm soát. Với những dự án phần mềm nghiêm túc, cần bảo trì lâu dài và kiến trúc rõ ràng, bộ công cụ này là một khoản đầu tư thời gian thiết lập xứng đáng. Giá trị cốt lõi mà Matt Pocock mang lại không phải những dòng prompt thần thánh, mà là việc đưa các nguyên lý phần mềm kinh điển vào tương tác hằng ngày với AI — bạn chủ động áp đặt kỷ luật lên agent thay vì ngồi chờ nó tự có. Đó mới là con đường để lập trình không chỉ nhanh hơn, mà còn chắc tay và chuyên nghiệp hơn.

Tài liệu tham khảo

Đọc tiếp

Chia sẻ bài viết

X / TwitterFacebookLinkedIn