VPS

Tự tạo slash command cho việc lặp đi lặp lại

Thanh Nguyễn Đăng 9 phút đọc 4 khối lệnh

Tự tạo slash command cho việc lặp đi lặp lại
Mục lục bài viết
  1. Tạo lệnh đầu tiên
  2. Truyền tham số
  3. Lệnh tắt hay skill
  4. Vài lệnh đáng có trong mọi dự án
  5. Giữ cho bộ lệnh không thành mớ hỗn độn
  6. Vài lệnh tắt đáng có trong mọi dự án
  7. Lệnh tắt hay skill, phân biệt cho rõ
  8. Ba quy tắc đặt tên và giữ gọn
  9. Truyền tham số cho lệnh
  10. Câu hỏi thường gặp
  11. Bài viết liên quan

Trả lời nhanh: Slash command là cách đặt tên ngắn cho một đoạn hướng dẫn dài mà bạn gõ đi gõ lại. Viết một file văn bản trong thư mục quy định, và từ đó gõ một chữ thay cho cả đoạn. Phân biệt với skill cho rõ: lệnh tắt do bạn chủ động gọi, còn skill do agent tự lấy ra khi công việc khớp mô tả. Dùng lệnh tắt cho việc bạn biết chính xác lúc nào cần, dùng skill cho quy trình mà agent nên tự nhận ra.

Sau vài tuần làm việc với agent, ai cũng có một đoạn hướng dẫn dài mà mình dán lại mỗi ngày: rà soát trước khi gộp nhánh, viết mô tả thay đổi theo mẫu công ty, kiểm tra bảo mật một điểm cuối mới. Lệnh tắt biến đoạn đó thành một chữ, và đây là tính năng dễ làm nhất trong cả bộ công cụ.

Tạo lệnh đầu tiên

Chỉ cần một file văn bản. Đặt trong thư mục lệnh của dự án thì cả đội dùng chung, đặt trong thư mục cá nhân thì chỉ mình bạn:

TerminalTạo lệnh đầu tiênbash
.claude/commands/ra-soat.md
TerminalTạo lệnh đầu tiênbash
Rà soát các thay đổi chưa commit trong repo này. Soi đúng bốn chỗ, mỗi chỗ báo cáo tối đa ba phát hiện:1. Chuỗi bí mật lộ ra trong mã nguồn2. Đoạn xử lý dữ liệu người dùng thiếu kiểm tra đầu vào3. Truy vấn database nằm trong vòng lặp4. Đoạn code chết không còn ai gọi Trả về danh sách gọn, mỗi dòng một phát hiện kèm đường dẫn và số dòng.Không sửa gì cả, chỉ báo cáo.

Từ đó bạn gõ tên lệnh thay cho cả đoạn trên. Hai dòng cuối là phần quan trọng nhất và cũng hay bị bỏ: giới hạn số phát hiện để báo cáo còn đọc được, và nói rõ không được sửa để nó không tự tiện đi làm.

Truyền tham số

Một lệnh dùng cho nhiều trường hợp nhờ tham số:

TerminalTruyền tham sốbash
Viết kiểm thử cho file $ARGUMENTS. Quy ước: dùng bộ kiểm thử sẵn có của dự án, đặt file cạnh file gốcvới hậu tố .test, phủ các trường hợp biên và trường hợp lỗi.Không sửa file gốc.

Gõ tên lệnh kèm đường dẫn file là xong. Cách này biến một lệnh chung thành công cụ dùng hằng ngày, thay vì phải viết mỗi file một lệnh.

Mẹo nhỏ nhưng hiệu quả: viết phần quy ước trong lệnh theo đúng chuẩn của dự án bạn. Nhờ vậy kết quả ra đúng khuôn ngay lần đầu và bạn không phải chỉnh lại. Đây cũng là chỗ khác biệt giữa một lệnh tắt hữu ích và một lệnh chỉ tiết kiệm vài giây gõ phím.

Lệnh tắt hay skill

Hai thứ trông giống nhau nhưng khác ở chỗ ai quyết định dùng:

  • Lệnh tắt: bạn quyết. Bạn biết chính xác lúc nào cần, ví dụ trước mỗi lần gộp nhánh.
  • Skill: agent quyết. Nó đọc mô tả và tự lấy ra khi công việc khớp, ví dụ khi bạn nói cần xuất báo cáo tháng, theo bài viết skill đầu tiên.

Quy tắc chọn: việc bạn chủ động gọi thì làm lệnh tắt, việc agent nên tự nhận ra thì làm skill. Với quy trình phức tạp có nhiều file tham chiếu và script đi kèm, skill hợp hơn vì nó là cả một thư mục. Với một đoạn hướng dẫn dài mà bạn gõ hằng ngày, lệnh tắt gọn hơn.

Không cấm dùng cả hai cho cùng một việc: một skill chứa quy trình đầy đủ, và một lệnh tắt ngắn để gọi thẳng khi bạn không muốn chờ agent tự nhận ra.

Vài lệnh đáng có trong mọi dự án

Rà soát trước khi gộp. Như ví dụ ở trên, chạy trước mỗi pull request.

Viết mô tả thay đổi. Đọc phần khác biệt rồi viết mô tả theo mẫu công ty, gồm mục đích, phạm vi ảnh hưởng và cách kiểm thử.

Giải thích một đoạn code. Hữu ích khi nhận repo lạ, kèm yêu cầu chỉ ra chỗ nào là logic nghiệp vụ và chỗ nào là mã hạ tầng.

Chuẩn bị dữ liệu thử. Sinh dữ liệu mẫu đúng cấu trúc để bạn thử màn hình mới.

Dò lỗi từ log. Đọc file log, tìm dấu vết lỗi, tóm tắt nguyên nhân khả dĩ kèm đường dẫn tới đoạn code liên quan. Lệnh này nên kết hợp với việc tách sang phiên con vì log rất dài, theo bài quản lý ngữ cảnh.

Giữ cho bộ lệnh không thành mớ hỗn độn

Ba thói quen:

  • Mỗi lệnh làm một việc. Đừng dồn rà soát, viết kiểm thử và viết tài liệu vào một lệnh. Khi cần một phần, bạn phải chạy cả ba.
  • Đặt tên theo việc, ngắn và dễ gõ. Bạn sẽ gõ nó hằng ngày.
  • Xóa lệnh không dùng. Rà lại hằng quý, cái nào ba tháng không gọi thì bỏ.

Với đội nhóm, đặt lệnh dùng chung trong repo và commit như mã nguồn. Ranh giới giữa phần chung và phần cá nhân giống hệt mọi thứ khác trong công cụ này, đã nói kỹ ở bài skill dùng chung cho đội: thứ gì làm sai gây hậu quả thì để chung, thứ gì là gu riêng thì để riêng.

Vài lệnh tắt đáng có trong mọi dự án

Lệnh tắtNó làm gìVì sao đáng
Rà soát thay đổi trước khi ghépĐọc phần đã sửa theo một danh mục cố địnhViệc lặp lại nhiều nhất
Viết mô tả thay đổi theo quy ước của độiSinh mô tả đúng định dạngĐỡ phải nhắc quy ước mỗi lần
Kiểm bảo mật đoạn mã vừa viếtRà theo danh sách lỗ hổng hay gặpViệc dễ quên nhất
Giải thích một phần mã cho người mớiTóm tắt luồng và các quyết địnhHữu ích khi tuyển thêm người

Cách chọn việc đáng làm thành lệnh tắt: nếu bạn gõ gần như cùng một yêu cầu từ lần thứ ba trở đi, đó là ứng viên. Đừng tạo lệnh tắt cho việc mới làm một lần.

Lệnh tắt hay skill, phân biệt cho rõ

ThứBản chấtAi kích hoạt
Lệnh tắtMột mẫu yêu cầu viết sẵnBạn gõ, chủ động
SkillHướng dẫn cho một loại việcTrợ lý tự chọn khi thấy phù hợp

Nói ngắn gọn: lệnh tắt là bạn bấm nút; skill là trợ lý tự biết dùng. Việc bạn muốn kiểm soát thời điểm chạy thì làm lệnh tắt; việc muốn nó tự áp dụng đúng lúc thì làm skill. Xem bài về viết skill.

Ba quy tắc đặt tên và giữ gọn

TerminalBa quy tắc đặt tên và giữ gọnbash
# Ba quy tac: # 1. Dat ten theo dong tu, ngan gon, mot kieu duy nhat#    ra-soat, viet-mo-ta, kiem-bao-mat#    Ten lech nhau lam ban khong nho duoc # 2. Moi lenh mot viec. Lenh om nhieu viec la lenh khong ai dung. # 3. Ra lai moi quy: lenh nao khong dung lan nao thi xoa#    Bo lenh cang lon cang it duoc dung # Voi lenh dung chung ca doi: dat trong kho ma nguon du an,# va duyet thay doi nhu duyet ma

Truyền tham số cho lệnh

Lệnh có tham số hữu ích hơn nhiều so với lệnh cố định: thay vì một lệnh rà soát chung chung, bạn có lệnh rà soát nhận vào tên tệp hoặc tên thư mục. Cách này vừa chỉ đúng phạm vi cần làm, vừa tiết kiệm ngữ cảnh vì trợ lý không phải mò tìm. Xem bài về quản lý ngữ cảnh.

Câu hỏi thường gặp

Lệnh tắt đặt ở đâu?

Trong thư mục lệnh của dự án nếu muốn cả đội dùng chung, hoặc trong thư mục cấu hình cá nhân nếu chỉ mình bạn dùng. Lệnh trong repo nên được commit như mã nguồn để mọi người cùng có.

Lệnh tắt khác skill thế nào?

Lệnh tắt do bạn chủ động gọi khi biết cần. Skill do agent tự lấy ra khi công việc khớp với mô tả của nó. Dùng lệnh tắt cho việc bạn gọi hằng ngày, dùng skill cho quy trình mà agent nên tự nhận ra.

Có truyền được nhiều tham số không?

Được, phần tham số nhận trọn chuỗi bạn gõ sau tên lệnh, nên bạn tự quy ước cách tách. Với lệnh cần nhiều đầu vào phức tạp, viết rõ trong nội dung lệnh là mong đợi định dạng nào.

Nên có bao nhiêu lệnh tắt?

Khoảng năm tới mười cái đang thật sự dùng. Nhiều hơn thì bạn không nhớ nổi và sẽ quay lại gõ tay. Rà lại định kỳ và xóa những cái đã lâu không gọi.

Chia sẻ:Facebook

Thanh Nguyễn

TND

Tư vấn bản quyền, VPS và máy chủ kèm hóa đơn VAT, hợp đồng đầy đủ cho doanh nghiệp.