Claude Skill MartKhám phá skillCâu dùng ngayHọc qua videoDùng terminalSkill là gì?
Về danh sách

Phát triển Hook cho Claude Code

Skill hướng dẫn thiết kế, cấu hình và gỡ lỗi hook của Claude Code (PreToolUse, Stop, SessionStart...) theo cả kiểu prompt và kiểu command.

Lập trìnhTrung cấp51446Điểm AI 8/10Cập nhật lần cuối: 23 thg 7, 2026

Làm được gì

  • Tóm tắt đầy đủ 9 sự kiện hook (PreToolUse, PostToolUse, Stop, SubagentStop, UserPromptSubmit, SessionStart, SessionEnd, PreCompact, Notification) kèm bảng "khi nào dùng".
  • Phân biệt hook dạng prompt (LLM tự suy luận, linh hoạt) và hook dạng command (bash, tất định, nhanh).
  • Chỉ rõ khác biệt giữa định dạng plugin hooks/hooks.json (có wrapper hooks) và .claude/settings.json (không wrapper).
  • Cung cấp đặc tả JSON đầu vào/đầu ra, mã thoát 0/2, permissionDecision, decision: approve|block, systemMessage.
  • Hướng dẫn matcher regex (Read|Write|Edit, mcp__.*), dùng ${CLAUDE_PLUGIN_ROOT} để đường dẫn di động, timeout mặc định, đặc điểm chạy song song và các quy tắc bảo mật (chặn path traversal, file .env, luôn quote biến bash).
  • Mẫu bật/tắt hook tạm thời bằng flag file hoặc file cấu hình, cùng quy trình gỡ lỗi với claude --debug.

Dành cho ai

  • Lập trình viên xây plugin Claude Code hoặc chuẩn nội bộ cho team.
  • Team lead muốn tự động chặn lệnh bash nguy hiểm hay việc sửa file bí mật.
  • Người muốn dùng Stop hook để buộc kiểm tra test/build trước khi kết thúc.
  • Người muốn nạp context dự án và biến môi trường ngay khi mở session.

Ví dụ sử dụng

  1. "Tạo hook PreToolUse chặn path traversal và file .env" → sinh hooks.json với matcher Write|Edit và script kiểm tra.
  2. "Không cho agent dừng khi test chưa chạy" → hook Stop dạng prompt trả về decision: block kèm lý do.
  3. "Khi mở session, phát hiện loại dự án và lưu vào biến môi trường" → hook SessionStart ghi export vào $CLAUDE_ENV_FILE.

· · · Hướng dẫn cài đặt · · ·

Dùng thử ngay, không cần cài

Dán đoạn dưới vào Claude là dùng được skill này mà không cần cài đặt.

Hãy đọc hướng dẫn trong tệp này và làm theo để giúp mình:
https://raw.githubusercontent.com/tzachbon/smart-ralph/HEAD/.agents/skills/Hook Development/SKILL.md

Mình muốn: (viết việc bạn cần ở đây)

Nếu Claude không mở được liên kết, hãy mở liên kết và copy nội dung vào rồi dán.

Thấy hữu ích thì tải ZIP bên dưới và cài. Sau đó skill tự chạy, không phải dán lại mỗi lần.

Cài vào ứng dụng Claude (không cần terminal)
  1. Tải tệp ZIP bằng nút bên dưới.
  2. Trong Claude, mở Settings → Capabilities và bật 'Code execution and file creation'. (chỉ một lần)
  3. Vào Customize → Skills → + → 'Upload a skill' rồi tải tệp ZIP lên.
Tải ZIP
Cài vào Claude Code

Để Claude làm — dán câu dưới đây vào Claude Code

Hãy cài skill mình tìm thấy trên Claude Skill Mart.
Copy thư mục .agents/skills/Hook Development từ repo GitHub tzachbon/smart-ralph vào ~/.claude/skills/hook-development/ của mình.
Sau khi cài xong, cho mình biết skill này làm được gì trong một câu.

Cài bằng lệnh thủ công

git clone https://github.com/tzachbon/smart-ralph.git && mkdir -p ~/.claude/skills && cp -r "smart-ralph/.agents/skills/Hook Development" ~/.claude/skills/hook-development

Đây là skill do người khác tạo. Hãy kiểm tra repo gốc trước khi cài.

  1. Mở terminal và vào thư mục làm việc bạn muốn.
  2. Clone repo: git clone https://github.com/tzachbon/smart-ralph.git
  3. Tạo thư mục skill: mkdir -p ~/.claude/skills
  4. Copy toàn bộ thư mục skill (cần cả references/, examples/, scripts/): cp -r "smart-ralph/.agents/skills/Hook Development" ~/.claude/skills/hook-development
  5. Kiểm tra đã có ~/.claude/skills/hook-development/SKILL.md và các thư mục con.
  6. Cài jq nếu chưa có (jq --version; macOS: brew install jq, Ubuntu: sudo apt install jq).
  7. Khởi động lại Claude Code, rồi thử yêu cầu: "tạo hook PreToolUse để chặn lệnh nguy hiểm".
  8. Lưu ý: mỗi lần sửa cấu hình hook bạn phải thoát và mở lại Claude Code; dùng claude --debug để xem log nạp hook.