mattpocock/skills
Kỹ năng dành cho kỹ sư thực sự. Trực tiếp từ thư mục .agents của tôi.
README
Kỹ năng dành cho kỹ sư thực thụ
Kỹ năng đại diện của tôi mà tôi sử dụng hàng ngày để thực hiện kỹ thuật thực tế - không phải mã hóa rung cảm.
Phát triển các ứng dụng thực tế là khó khăn. Các phương pháp tiếp cận như GSD, BMAD và Spec-Kit cố gắng trợ giúp bằng cách làm chủ quy trình. Nhưng khi làm như vậy, chúng sẽ tước đi quyền kiểm soát của bạn và khiến các lỗi trong quá trình này trở nên khó giải quyết.
Những kỹ năng này được thiết kế nhỏ gọn, dễ thích ứng và có thể tổng hợp được. Họ làm việc với bất kỳ mô hình nào. Chúng dựa trên kinh nghiệm kỹ thuật hàng thập kỷ. Hack xung quanh với họ. Hãy biến chúng thành của riêng bạn. Thưởng thức.
Nếu bạn muốn theo kịp những thay đổi đối với những kỹ năng này và bất kỳ kỹ năng mới nào tôi tạo, bạn có thể tham gia cùng ~60.000 nhà phát triển khác trên bản tin của tôi:
Cài đặt (thiết lập 30 giây)
Hai con đường, hai triết lý. các Phần bổ trợ Claude Code cài đặt toàn bộ dưới dạng gói được quản lý, chỉ đọc, cập nhật khi tôi gửi, vì vậy bạn đăng ký thay vì phân nhánh. kỹ năng.sh sao chép các tệp kỹ năng có thể chỉnh sửa vào dự án của bạn, để bạn có thể hack chúng và biến chúng thành của riêng bạn. Chọn một: cài đặt cả hai sẽ giúp bạn có được mọi kỹ năng hai lần.
1. Có được kỹ năng
Claude Code
claude plugins install mattpocock-skills
Hoặc, từ bên trong một phiên:
/plugin install mattpocock-skills
Sản phẩm này có trên thị trường chính thức của Claude Code nên không cần thêm gì trước và các bản cập nhật sẽ tự động đến.
Codex và các đại lý khác
npx skills@latest add mattpocock/skills
Chọn các kỹ năng bạn muốn và tác nhân mã hóa nào để cài đặt chúng. Trình cài đặt cho phép bạn chọn những kỹ năng cần thực hiện, vì vậy hãy đảm bảo setup-matt-pocock-skills là một trong số đó.
Một plugin Codex gốc đang được triển khai (xem .agents/adr/0002-ship-as-a-claude-code-plugin.md).
Dành cho người mày mò
Sử dụng cùng một trình cài đặt trên bất kỳ tác nhân nào, bao gồm cả Claude Code:
npx skills@latest add mattpocock/skills
Nó ghi các kỹ năng vào kho lưu trữ của bạn dưới dạng các tệp thông thường mà bạn sở hữu và có thể chỉnh sửa. Không có gì cập nhật sau lưng bạn; lấy những thay đổi mới nhất của tôi khi bạn muốn chúng npx skills update.
2. Chạy /setup-matt-pocock-skills
Trong đại lý của bạn, hãy chạy nó một lần cho mỗi repo. Nó sẽ:
- Hỏi bạn trình theo dõi vấn đề nào bạn muốn sử dụng (GitHub, tệp tuyến tính hoặc tệp cục bộ)
- Hỏi bạn nhãn nào bạn áp dụng cho vé khi bạn phân loại chúng (
/triagesử dụng nhãn) - Hỏi bạn nơi bạn muốn lưu bất kỳ tài liệu nào chúng tôi tạo
3. Bam - bạn đã sẵn sàng để đi.
Tại sao những kỹ năng này tồn tại
Tôi đã xây dựng những kỹ năng này như một cách để khắc phục các chế độ lỗi phổ biến mà tôi thấy với Claude Code, Codex và các tác nhân mã hóa khác.
#1: Người đại diện không làm điều tôi muốn
“Không ai biết chính xác họ muốn gì”
David Thomas & Andrew Hunt, Lập trình viên thực dụng
Vấn đề. Kiểu lỗi phổ biến nhất trong quá trình phát triển phần mềm là sai lệch. Bạn nghĩ rằng nhà phát triển biết bạn muốn gì. Sau đó, bạn thấy những gì họ đã xây dựng - và bạn nhận ra rằng nó không hề hiểu bạn chút nào.
Điều này cũng tương tự ở thời đại AI. Có một khoảng cách giao tiếp giữa bạn và đại lý. Cách khắc phục điều này là một buổi nướng - yêu cầu đại lý hỏi bạn những câu hỏi chi tiết về những gì bạn đang xây dựng.
Cách khắc phục là sử dụng:
/grill-me- cho việc sử dụng không phải mã/grill-with-docs- giống như/grill-me, nhưng bổ sung thêm nhiều tính năng hấp dẫn hơn (xem bên dưới)
Đây là những kỹ năng phổ biến nhất của tôi. Họ giúp bạn liên kết với đại lý trước khi bạn bắt đầu và suy nghĩ sâu sắc về thay đổi bạn đang thực hiện. Sử dụng chúng mỗi đã đến lúc bạn muốn thay đổi.
#2: Tác nhân quá dài dòng
Với một ngôn ngữ phổ biến, các cuộc hội thoại giữa các nhà phát triển và cách diễn đạt mã đều bắt nguồn từ cùng một mô hình miền.
Eric Evans, Thiết kế hướng tên miền
Vấn đề: Khi bắt đầu một dự án, các nhà phát triển và những người mà họ đang xây dựng phần mềm cho (các chuyên gia về miền) thường nói các ngôn ngữ khác nhau.
Tôi cũng cảm thấy căng thẳng tương tự với các đại lý của mình. Các đặc vụ thường được đưa vào một dự án và được yêu cầu tìm ra các thuật ngữ khi họ thực hiện. Vì vậy, họ sử dụng 20 từ trong đó 1 từ sẽ làm được.
Cách khắc phục vì đây là ngôn ngữ chung. Đó là tài liệu giúp các đại lý giải mã các thuật ngữ được sử dụng trong dự án.
Ví dụ
Đây là một ví dụ CONTEXT.md, từ tôi course-video-manager repo. Cái nào dễ đọc hơn?
- TRƯỚC: "Có vấn đề khi một bài học trong một phần của khóa học được biến thành 'thực' (tức là được đưa vào một vị trí trong hệ thống tệp)"
- SAU: "Có vấn đề với tầng vật chất hóa"
Quyết định này trả hết phiên này đến phiên khác.
Điều này được xây dựng vào /grill-with-docs. Đây là một phiên thảo luận sôi nổi nhưng giúp bạn xây dựng ngôn ngữ chung với AI và ghi lại các quyết định khó giải thích trong ADR.
Thật khó để giải thích sức mạnh này như thế nào. Nó có thể là kỹ thuật thú vị nhất trong repo này. Hãy thử nó và xem.
[!TIP] Ngôn ngữ dùng chung có nhiều lợi ích khác ngoài việc giảm độ dài dòng:
- Các biến, hàm và tệp được đặt tên nhất quán, sử dụng ngôn ngữ chung
- Kết quả là, codebase dễ điều hướng hơn cho đại lý
- Đại lý cũng dành ít token hơn cho việc suy nghĩ, bởi vì nó có quyền truy cập vào một ngôn ngữ ngắn gọn hơn
#3: Mã không hoạt động
"Luôn thực hiện những bước nhỏ và có chủ ý. Tốc độ phản hồi là giới hạn tốc độ của bạn. Đừng bao giờ đảm nhận một nhiệm vụ quá lớn."
David Thomas & Andrew Hunt, Lập trình viên thực dụng
Vấn đề: Giả sử bạn và đại lý thống nhất về nội dung cần xây dựng. Điều gì xảy ra khi đại lý vẫn còn tạo ra chuyện tào lao?
Đã đến lúc xem xét các vòng phản hồi của bạn. Nếu không có phản hồi về cách mã mà nó tạo ra thực sự chạy, đặc vụ sẽ bị mù.
Cách khắc phục: Bạn cần một loạt các vòng phản hồi thông thường: loại tĩnh, quyền truy cập trình duyệt và kiểm tra tự động.
Đối với các thử nghiệm tự động, vòng lặp tái cấu trúc màu đỏ-xanh lục là rất quan trọng. Đây là lúc nhân viên viết một bài kiểm thử thất bại trước, sau đó sửa bài kiểm thử đó. Điều này giúp cung cấp cho tổng đài viên mức độ phản hồi nhất quán để tạo ra mã tốt hơn nhiều.
Tôi đã xây dựng một /tdd kỹ năng bạn có thể tham gia vào bất kỳ dự án nào. Nó khuyến khích việc tái cấu trúc màu đỏ-xanh và cung cấp cho nhân viên nhiều hướng dẫn về điều gì tạo nên các bài kiểm tra tốt và xấu.
Để gỡ lỗi, tôi cũng đã xây dựng một /diagnosing-bugs kỹ năng gói gọn các phương pháp sửa lỗi tốt nhất vào một vòng lặp có kỷ luật, được kiểm soát theo từng giai đoạn.
#4: Chúng tôi xây một quả bóng bùn
“Đầu tư thiết kế hệ thống mỗi ngày."
Kent Beck, Giải thích về lập trình cực đoan
"Các mô-đun tốt nhất là sâu sắc. Chúng cho phép truy cập nhiều chức năng thông qua một giao diện đơn giản."
John Ousterhout, Triết lý thiết kế phần mềm
Vấn đề: Hầu hết các ứng dụng được xây dựng bằng tác nhân đều phức tạp và khó thay đổi. Bởi vì các tác nhân có thể tăng tốc độ mã hóa một cách triệt để nên chúng cũng tăng tốc entropy của phần mềm. Cơ sở mã trở nên phức tạp hơn với tốc độ chưa từng thấy.
Cách khắc phục vì đây là một cách tiếp cận hoàn toàn mới để phát triển dựa trên AI: quan tâm đến thiết kế mã.
Điều này được tích hợp vào mọi lớp của những kỹ năng này:
/to-spechỏi bạn về mô-đun nào bạn đang chạm vào trước khi tạo thông số kỹ thuật
Và điều quan trọng là, /improve-codebase-architecture khảo sát cơ sở mã để tìm kiếm cơ hội sâu hơn và trao cho bạn các ứng viên. Tôi khuyên bạn nên chạy nó trên cơ sở mã của mình vài ngày một lần. Đó là một cuộc khảo sát, không phải là một cuộc giải cứu: trên một cơ sở mã thực sự cũ, nó sẽ tìm ra những ứng cử viên thực sự, nhưng nó sẽ không gỡ được bùn lầy cho bạn.
Tóm tắt
Các nguyên tắc cơ bản về công nghệ phần mềm quan trọng hơn bao giờ hết. Những kỹ năng này là nỗ lực tốt nhất của tôi trong việc cô đọng những nguyên tắc cơ bản này thành các phương pháp thực hành có thể lặp lại, nhằm giúp bạn tạo ra những ứng dụng tốt nhất trong sự nghiệp của mình. Thưởng thức.
Tài liệu tham khảo
Chúng phân chia trên một trục: ai có thể gọi chúng. Do người dùng gọi các kỹ năng chỉ có thể truy cập được khi bạn nhập chúng (ví dụ: /grill-me); công việc của họ là dàn dựng. Được gọi từ mô hình kỹ năng có thể được gọi bởi bạn hoặc được đại lý tự động tiếp cận khi nhiệm vụ phù hợp; họ giữ kỷ luật có thể tái sử dụng. Một kỹ năng do người dùng gọi có thể gọi các kỹ năng do mô hình gọi, nhưng không bao giờ gọi một kỹ năng khác do người dùng gọi.
Kỹ thuật
Kỹ năng tôi sử dụng hàng ngày để làm việc với mã.
Do người dùng gọi
- hỏi-matt: Hỏi kỹ năng hoặc quy trình nào phù hợp với tình huống của bạn. Bộ định tuyến về các kỹ năng do người dùng kích hoạt trong kho lưu trữ này.
- nướng-với-tài liệu: Phiên thảo luận cũng xây dựng mô hình miền cho dự án của bạn, mài giũa thuật ngữ và cập nhật
CONTEXT.mdvà ADR nội tuyến. - phân loại: Di chuyển các vấn đề thông qua một máy trạng thái gồm các vai trò phân loại.
- cải tiến-codebase-kiến trúc: Quét cơ sở mã để tìm kiếm các cơ hội sâu hơn, trình bày chúng dưới dạng báo cáo HTML trực quan, sau đó xem xét bất kỳ cơ hội nào bạn chọn.
- thiết lập-matt-pocock-kỹ năng: Định cấu hình kho lưu trữ này cho các kỹ năng kỹ thuật (trình theo dõi vấn đề, nhãn phân loại, bố cục tài liệu miền). Chạy một lần cho mỗi repo trước khi sử dụng các kỹ năng kỹ thuật khác.
- thông số kỹ thuật: Biến cuộc trò chuyện hiện tại thành thông số kỹ thuật và xuất bản nó lên bộ theo dõi vấn đề. Không phỏng vấn, chỉ tổng hợp những gì bạn đã thảo luận.
- vé: Chia nhỏ bất kỳ kế hoạch, thông số kỹ thuật hoặc cuộc trò chuyện nào thành một tập hợp các vé dấu đầu dòng, mỗi vé khai báo các cạnh chặn của nó, được viết dưới dạng văn bản trong tệp cục bộ hoặc dưới dạng liên kết chặn gốc trên trình theo dõi thực.
- thực hiện: Xây dựng công việc được mô tả theo thông số kỹ thuật hoặc bộ vé, lái xe
/tddtại các đường nối đã được thỏa thuận trước và kết thúc bằng/code-reviewtrước khi cam kết. - máy dò đường: Lập kế hoạch cho một lượng lớn công việc, có thể tổ chức nhiều phiên tổng đài viên, dưới dạng bản đồ chung về phiếu quyết định trên trình theo dõi vấn đề và giải quyết từng phiếu một cho đến khi đường đến đích thông thoáng.
Được gọi từ mô hình
- nguyên mẫu: Xây dựng một nguyên mẫu dùng một lần để trả lời một câu hỏi thiết kế, một tệp HTML có thể chia sẻ duy nhất cho các câu hỏi trạng thái/logic hoặc một số biến thể giao diện người dùng hoàn toàn khác nhau có thể chuyển đổi từ một tuyến.
- chẩn đoán lỗi: Vòng chẩn đoán có kỷ luật đối với các lỗi cứng và hồi quy hiệu suất: xây dựng vòng phản hồi chuyển sang màu đỏ đối với lỗi này → giảm thiểu → giả thuyết → công cụ → sửa chữa → kiểm tra hồi quy.
- nghiên cứu: Điều tra một câu hỏi dựa trên các nguồn chính có độ tin cậy cao và ghi lại các phát hiện dưới dạng tệp Markdown được trích dẫn trong kho lưu trữ, chạy như một tác nhân nền.
- tdd: Phát triển dựa trên thử nghiệm với vòng lặp tái cấu trúc màu đỏ-xanh. Xây dựng các tính năng hoặc sửa lỗi theo từng phần dọc.
- mô hình miền: Tích cực xây dựng và làm sắc nét mô hình miền của dự án: thách thức các thuật ngữ dựa trên bảng thuật ngữ, kiểm tra căng thẳng với các tình huống cụ thể và cập nhật
CONTEXT.mdvà ADR nội tuyến. - thiết kế cơ sở mã: Chia sẻ nguyên tắc và từ vựng để thiết kế các mô-đun sâu: rất nhiều hành vi đằng sau một giao diện nhỏ, được đặt ở một đường nối rõ ràng, có thể kiểm tra được thông qua giao diện đó.
- đánh giá mã: Xem xét hai trục về sự khác biệt kể từ một điểm cố định: Tiêu chuẩn (nó có tuân theo các tiêu chuẩn mã hóa của repo, cộng với đường cơ sở về mùi của Fowler không?) và thông số kỹ thuật (nó có triển khai trung thực vấn đề/thông số ban đầu không?), chạy như các tác nhân phụ song song để không gây ô nhiễm cho tác nhân kia.
- giải quyết-hợp nhất-xung đột: Xử lý xung đột git merge hoặc rebase đang diễn ra theo từng phần, giải quyết theo ý định truy tìm nguồn chính của mỗi bên, sau đó hoàn tất thao tác (không bao giờ
--abort). - thuật sĩ: Tạo trình hướng dẫn bash tương tác để hướng dẫn con người thực hiện các bước mà chỉ họ mới có thể thực hiện: cung cấp cơ sở hạ tầng, thiết lập thông tin xác thực hoặc bí mật CI, truy cập trang tổng quan lạ của bên thứ ba hoặc thực hiện di chuyển hoặc chuyển đổi một lần.
Năng suất
Các công cụ quy trình làm việc chung, không có mã cụ thể.
Do người dùng gọi
- nướng-tôi: Được phỏng vấn không ngừng nghỉ về một kế hoạch hoặc thiết kế cho đến khi mọi nhánh của cây thiết kế được giải quyết.
- chuyển giao: Thu gọn cuộc trò chuyện hiện tại thành tài liệu chuyển giao để tổng đài viên khác có thể tiếp tục công việc.
- dạy: Dạy người dùng một kỹ năng hoặc khái niệm mới qua nhiều phiên, sử dụng thư mục hiện tại làm không gian giảng dạy có trạng thái.
- bảng câu hỏi: Biến quyết định mà bạn không thể trả lời một mình thành bảng câu hỏi Markdown dành cho một người có thể, điền vào một cách không đồng bộ hoặc cùng nhau trong một cuộc họp. Nó hỏi bạn về việc gửi (gửi cho ai, bạn cần gửi lại cái gì), chứ không phải chủ đề.
- chờ đã cái gì: Kích hoạt tính năng này ngay khi tin nhắn không đến được. Người đại diện giới thiệu lại ngữ cảnh mà bạn đang thiếu, bằng tiếng Anh đơn giản, sử dụng
CONTEXT.mdtừ vựng.
Được gọi từ mô hình
- nướng: Phỏng vấn người dùng không ngừng nghỉ về một kế hoạch, quyết định hoặc ý tưởng cho đến khi mọi nhánh của cây thiết kế được giải quyết. Phía sau cuộc phỏng vấn nguyên thủy có thể tái sử dụng
grill-me,grill-with-docs,triage,wayfindervàimprove-codebase-architecture. - viết bài cho đại lý: Viết tài liệu cho tổng đài viên: kỹ năng, AGENTS.md/Claude.md và bất kỳ tài liệu nào mà tổng đài viên tiếp cận bằng con trỏ.
Dự án cùng danh mục
Trợ lý AI cá nhân của riêng bạn. Bất kỳ hệ điều hành nào. Bất kỳ nền tảng nào. Cách tôm hùm. 🦞
Hệ thống tối ưu hóa hiệu suất khai thác tác nhân. Kỹ năng, bản năng, trí nhớ, bảo mật và sự phát triển ưu tiên nghiên cứu cho Claude Code, Codex, Opencode, Cursor và hơn thế nữa.
Đại lý phát triển cùng bạn
Triển lãm bảo tàng do đại lý quản lý, được xây dựng trong Rust với Gajae-Code / LazyCodex — được phát triển và duy trì mà không có sự can thiệp của con người.
DeepSeek Khai thác: Mọi thứ đều là Plugin.