Lập trình & Kỹ thuậtĐộ khó: Trung cấp / Nhật ngữ N3–N2⏱ 13 phút đọc

Tự Động Kích Hoạt Skill 'Verify' Trước Khi Commit Trong Claude Code

概Điểm nhấn trọng tâm của bài viết (Overview)

Khám phá cơ chế kích hoạt tự động tiện lợi của Claude Code: chỉ cần đặt tên skill chứa từ khóa verify, agent sẽ tự động chạy quy trình kiểm thử trước mỗi lần tạo git commit.

Tự Động Kích Hoạt Skill 'Verify' Trước Khi Commit Trong Claude Code

Thông tin bài viết gốc & Loại nội dung

Hero image là sơ đồ khái niệm SVG 1200×675 do BrSE.vn tự vẽ, phát hành theo giấy phép CC0 1.0. Alt của ảnh là tiêu đề bài viết. Minh họa dòng thời gian và cơ chế can thiệp thông minh của skill verify trước khi commit.


Mục tiêu học tập

  1. Kiến thức công nghệ: Hiểu rõ quy ước kích hoạt ngầm (implicit activation convention) của Claude Code đối với các skill kiểm thử chất lượng mã nguồn; biết cách tích hợp linter, type-checker và automated test suite vào quy trình tự hành của AI Agent nhằm chặn đứng lỗi trước khi commit lên Git repository.
  2. Năng lực tiếng Nhật: Nắm bắt văn phong báo cáo kết quả kiểm thử thực nghiệm (測り方, 言えないこと, 罠を踏む), các trạng thái thời gian trước - sau (〜の直前に, 前後関係) và cách diễn đạt đề xuất cải tiến quy trình trong nhóm phát triển.

Key Takeaways

  1. Quy ước đặt tên thông minh: Claude Code được tinh chỉnh để nhận diện ngữ nghĩa của các thao tác mã nguồn quan trọng. Khi chuẩn bị thực hiện git commit, nếu trong dự án hoặc thư mục cá nhân có skill chứa tiền tố hoặc từ khóa verify, Agent sẽ chủ động gọi skill đó để kiểm tra chất lượng code mà không cần người dùng nhắc nhở.
  2. Đo lường thời gian thực tế: Trong 3 lần đo kiểm thực nghiệm, có 2 lần mốc thời gian ghi nhận skill chạy xong trước thời điểm commit từ 2 đến 3 giây, chứng minh cơ chế đóng vai trò như một pre-commit hook thông minh chạy bằng AI.
  3. Ý nghĩa thiết thực đối với quản lý chất lượng BrSE: Thiết lập này giúp các dự án gia công phần mềm đảm bảo 100% các dòng code do AI Agent sinh ra đều đã vượt qua khâu kiểm tra lỗi biên dịch, format và kiểm thử cơ bản trước khi tạo commit hoặc mở Pull Request.

Nội dung Bài học & Đọc hiểu Nhật – Việt

Phần 1: Phát hiện cơ chế tự động gọi kiểm thử trước khi tạo commit

(第1部:コミット直前の自動スキル呼び出しメカニズムの発見)

Bản dịch tiếng Việt tương ứng

Trong số 3 lần thực hiện đo kiểm, có 2 lần điểm đánh dấu thời gian (marker) được ghi lại trước thời điểm commit từ 2 đến 3 giây. Một lần còn lại diễn ra trong cùng một giây nên không thể phân định chính xác (do nhật ký git log chỉ lưu mốc thời gian theo đơn vị giây). Tuyệt nhiên không có lần nào skill bị kích hoạt sau khi commit đã hoàn tất. Điều đó chứng minh chỉ cần đặt tên skill là verify, Claude Code sẽ tự động kích hoạt nó trước khi tiến hành commit.

Bản dịch đoạn đọc mở rộng

Khi giao phó công việc lập trình cho AI, mối lo ngại lớn nhất chính là việc commit mã nguồn được tạo ra trong tình trạng vẫn còn lỗi biên dịch (build error) hoặc không vượt qua kiểm thử. Bằng việc để skill kiểm chứng này thường trực trong dự án, kể cả khi con người quên đưa ra lời nhắc, bản thân AI vẫn sẽ chủ động chèn thêm bước kiểm tra chất lượng, ngăn chặn từ sớm nguy cơ mã nguồn lỗi lọt vào nhánh chính.

  • Giải thích kỹ thuật: Tác giả tạo một custom skill mang tên verify chứa các lệnh npm test và npm run lint. Sau đó, ra lệnh cho Claude Code thực hiện một task bất kỳ và yêu cầu commit. Nhật ký hệ thống ghi nhận Agent tự động gọi verify trước khi chạy lệnh git.

Cấu trúc Thư mục Skill & Mẫu Thiết lập Chuẩn

Tạo thư mục skill tại .agents/skills/verify/ hoặc cấu hình toàn cục:

<!-- .agents/skills/verify/SKILL.md -->
---
name: verify
description: Chạy kiểm thử tự động, linter và type-check trước khi tạo commit hoặc mở PR.
---

# Verify Skill

Mỗi khi chuẩn bị tạo commit, hãy thực thi tuần tự các bước sau:
1. `npm run lint` để kiểm tra định dạng và quy chuẩn mã nguồn.
2. `npm run typecheck` để kiểm tra kiểu dữ liệu TypeScript.
3. `npm run test` để chạy bộ unit test.

Nếu có bất kỳ lỗi nào, dừng ngay quy trình commit và thông báo cho người dùng phương án sửa lỗi.

6. Học tiếng Nhật qua chủ đề — 技術日本語を学ぶ

6.1. Sổ tay thuật ngữ Đảm bảo Chất lượng Mã nguồn và Tự động hóa Git

Bảng tổng hợp các thuật ngữ chuyên môn về kiểm soát chất lượng, tự động hóa quy trình commit và quản lý lỗi phần mềm:

Thuật ngữ Nhật Furigana Hán Việt Nghĩa tiếng Việt / English Câu ví dụ Nhật Dịch nghĩa
未然に防ぐ みぜんにふせぐ Vị Nhiên Chi Phòng Phòng ngừa từ sớm, ngăn chặn từ đầu 不具合ふぐあいの混入こんにゅうを未然みぜんに防ふせぐ。 Ngăn chặn từ sớm lỗi lọt vào sản phẩm.
常駐 じょうちゅう Thường Trú Luôn sẵn sàng, duy trì thường trực 常駐じょうちゅうプロセスとして監視かんしを行おこなう。 Duy trì giám sát dưới dạng tiến trình thường trực.
収まる おさまる Thu Nằm gọn trong, yên vị, ổn thỏa 実行時間じっこうじかんが想定内そうていないに収おさまった。 Thời gian thực thi nằm gọn trong dự tính.
不整合 ふせいごう Bất Chỉnh Hợp Xung đột, không tương thích, thiếu nhất quán データの不整合ふせいごうを自動じどうで検出けんしゅつする。 Tự động phát hiện sự thiếu nhất quán của dữ liệu.
挟む はさむ Hiệp Chèn vào giữa, lồng ghép bước trung gian コミット前まえに自動じどうテストを挟はさむ。 Chèn bài kiểm thử tự động vào trước khi commit.
判定 はんてい Phán Định Đánh giá, phân định kết quả ビルドの成否せいひを正確せいかくに判定はんていする。 Phán định chính xác kết quả build thành bại.
担保 たんぽ Đam Bảo Đảm bảo, bảo chứng chất lượng (Assurance) コードの品質ひんしつを担保たんぽする。 Đảm bảo chất lượng của mã nguồn.
自律的 じりつてき Tự Lập Tính Tự chủ, tự hành (Autonomous) AIが自律的じりつてきにテストを実行じっこうする。 AI tự chủ thực thi bài kiểm thử.
配置 はいち Phối Trí Bố trí, sắp đặt vị trí スキルファイルを適切てきせつに配置はいちする。 Bố trí tệp skill vào đúng vị trí.
直前 ちょくぜん Trực Tiền Ngay trước thời điểm xảy ra コミット直前ちょくぜんにフックを呼よび出だす。 Kích hoạt hook ngay trước thời điểm commit.
向上 こうじょう Hướng Thượng Nâng cao, cải thiện chất lượng チーム全体ぜんたいの生産性せいさんせいを向上こうじょうさせる。 Nâng cao năng suất của toàn thể nhóm phát triển.
Tra cứu Kanji trong bài

6.2. Ngữ pháp và mẫu diễn đạt trọng tâm

Bảng tổng hợp các cấu trúc ngữ pháp dùng trong tài liệu quy trình và giao tiếp BrSE:

Mẫu Ý nghĩa Ví dụ
〜だけで Chỉ cần làm một việc đơn giản là đã đủ スキル名めいを verify にするだけで自動実行じどうじっこうされる。
〜ようにする Cố gắng làm / Thiết lập để trở nên… コミット前まえにテストを走はしらせるようにする。
〜に加えて Thêm vào đó / Bên cạnh… リンターに加くわえて、ビルドチェックも自動化じどうかする。

Chi tiết từng mẫu ngữ pháp:

  • 〜だけで (N4): Chỉ cần làm một thao tác nhỏ A là đã đủ dẫn tới kết quả B

    • Cấu trúc: Danh từ / Động từ thể từ điển + だけで (hoặc 〜するだけで)
    • Ý nghĩa & sắc thái: Nhấn mạnh tính đơn giản, tiện lợi của một cấu hình hoặc quy trình mà mang lại hiệu quả to lớn.
    • Ví dụ 1: 設定せっていファイルに1行ぎょう追記ついきするだけで、CIテストが自動じどうで走はしるようになります。(Chỉ cần thêm 1 dòng vào tệp cấu hình là test CI sẽ tự động chạy.)
    • Ví dụ 2: コマンドを1つ実行じっこうするだけで、環境構築かんきょうこうちくが完了かんりょうします。(Chỉ cần chạy 1 câu lệnh là hoàn tất việc thiết lập môi trường.)
  • 〜ようにする (N4): Tạo thói quen, nỗ lực thực hiện hoặc cấu hình hệ thống để đạt trạng thái mong muốn

    • Cấu trúc: Động từ thể từ điển / thể Nai + ようにする
    • Ý nghĩa & sắc thái: Biểu thị sự chủ động đưa ra biện pháp phòng ngừa hoặc tạo lập quy chuẩn vận hành.
    • Ví dụ 1: ビルドエラーが混入こんにゅうしないように、コミット前まえに必かならずテストを通とおすようにします。(Để không bị lọt lỗi build, chúng tôi thiết lập luôn chạy test trước khi commit.)
    • Ví dụ 2: 機密きみつデータをGitにプッシュしないように注意する。(Chú ý để không push dữ liệu mật lên Git.)
  • 〜に加えて (N3): Thêm vào đó / Song song với yếu tố A

    • Cấu trúc: Danh từ + に加えて
    • Ý nghĩa & sắc thái: Liệt kê thêm một tính năng hoặc quy trình bổ trợ quan trọng.
    • Ví dụ 1: ユニットテストに加くわえて、E2Eテストもパイプラインに組くみ込こみます。(Bên cạnh unit test, chúng tôi tích hợp thêm kiểm thử E2E vào pipeline.)
    • Ví dụ 2: コードレビューに加くわえ、AIによる自動じどう検査けんさを併用へいようする。(Bên cạnh review thủ công, chúng tôi kết hợp thêm kiểm tra tự động bằng AI.)

7. Thực hành vai trò BrSE — 現場で伝える

7.1. Câu hỏi Luyện Đọc hiểu Tiếng Nhật (リーディング問題)

Câu 1 (Phát hiện thực nghiệm): スキル名を verify にした際、Claude Code はいつそれを呼び出すか?
  • A. パソコンの電源を入れた直後。
  • B. git commit を実行する直前(約2〜3秒前)。
  • C. プロジェクトを削除した後。
  • D. 毎週日曜日の深夜0時。

Đáp án đúng: B
Giải thích tiếng Việt: Kết quả đo kiểm chỉ ra rằng trong 2/3 trường hợp, skill được chạy trước thời điểm commit từ 2-3 giây (và 1 trường hợp trong cùng 1 giây), không có lần nào chạy sau khi commit.

Câu 2 (Ý nghĩa kỹ thuật): この自動検証の最大のメリットは何か?
  • A. コードの文字数が自動的に半分に減ること。
  • B. 人間が指示を忘れても、AI自身がテストを実行して壊れたコードのコミットを未然に防げること。
  • C. GitHubの月額利用料が無料になること。
  • D. インターネット接続が不要になること。

Đáp án đúng: B
Giải thích tiếng Việt: Đoạn đọc mở rộng nhấn mạnh giá trị then chốt: ngăn chặn mã nguồn hỏng lọt vào commit kể cả khi lập trình viên quên không nhắc nhở AI chạy test.

Câu 3 (Thiết kế quy trình): verify スキル内でテストが失敗した場合の望ましい動作はどれか?
  • A. 無視してそのまま git push –force を実行する。
  • B. コミットを中止し、エラー内容を報告して修正案を提示する。
  • C. リポジトリ全体を初期化する。
  • D. エラーメッセージを隠蔽して完了報告を出す。

Đáp án đúng: B
Giải thích tiếng Việt: Quy trình chuẩn yêu cầu khi gặp lỗi kiểm thử, AI phải dừng việc commit và phân tích nguyên nhân để lập trình viên xử lý.


7.2. Bài luyện Viết & Báo cáo Dành cho BrSE

Đề bài: Hãy viết một tin nhắn ngắn (3-4 câu) đề xuất với PM Nhật Bản việc chuẩn hóa bộ skill verify trong repository chung của dự án để đảm bảo toàn bộ thành viên sử dụng AI coding đều tự động vượt qua khâu kiểm thử trước khi commit code.

Mẫu câu trả lời tham khảo (参考回答例)

Nguồn tham khảo và phạm vi xác minh

Quay lại danh sách bài viết
架
Ban biên tập BrSE.vnKỹ sư Cầu nối & Chuyên gia Dự án Nhật - Việt

Đội ngũ biên tập BrSE.vn gồm các Bridge Software Engineer (BrSE) và Solution Architect với hơn 10 năm kinh nghiệm thực chiến trong các dự án hợp tác công nghệ Việt - Nhật. Chia sẻ kiến thức về kỹ thuật làm rõ yêu cầu (要件定義), tài liệu đặc tả hệ thống, lược dịch chuyên sâu từ Qiita và kỹ năng cầu nối song hành công nghệ - nghiệp vụ.