Claude 101

Slash commands & Skills chuyên sâu

Commands và Skills đã hợp nhất thành một hệ thống: cách viết SKILL.md, bảng điều khiển frontmatter, và quy trình đóng gói quy trình team thành skill dùng chung.

Phần "vũ khí" của Claude Code: biến quy trình của team thành lệnh 1 chạm và tri thức tự nạp. Đối chiếu docs chính thức (code.claude.com/docs/en/skills) và trạng thái sản phẩm đến 04/07/2026. [Trung cấp → Nâng cao] — học sau khi xong Bài 3.1–3.4. Bộ skill mẫu cài được ngay cho stack Vue/PHP/Node: folder templates/claude-code-skills/.

B1. Bức tranh lớn: commands và skills đã HỢP NHẤT

Điều quan trọng nhất phải hiểu trước (thay đổi từ v2.1.101, 04/2026):

  • Trước đây có 2 hệ: custom commands (.claude/commands/*.md) và skills (.claude/skills/*/SKILL.md). Giờ là MỘT hệ thống: file đặt ở đâu trong 2 chỗ đó đều tạo ra /ten-lenh và hoạt động như nhau.
  • .claude/skills/đường chuẩn (canonical) — được khuyến nghị vì có thêm: file phụ trợ đi kèm, frontmatter điều khiển, và Claude tự nạp khi phù hợp. File .claude/commands/ cũ vẫn chạy; trùng tên thì skill thắng.
  • Câu thần chú: "một slash command giờ đây chỉ là một skill không có tính năng phụ".
  • Vẫn tồn tại nhóm built-in commands (logic cứng của CLI như /clear, /model) — không phải skill, không tuỳ biến được (xem B2).
  • Skills theo chuẩn mở Agent Skills — viết một lần, dùng được trên Claude Code, claude.ai và API. Đây là lý do skill là khoản đầu tư "ăn chắc" nhất của công ty.

B2. Bản đồ built-in commands (logic cứng — gõ /help để xem menu đúng version của bạn)

NhómLệnhGhi nhớ
Context/clear xoá sạch · /compact [gợi ý focus] nén tóm tắt · /context xem gì đang chiếm chỗĐổi task → /clear; tiếp tục task dài → /compact chủ động TRƯỚC khi context đầy
An toàn & hoàn tác/rewind quay checkpoint (nay khôi phục được cả trước /clear) · /diff xem mọi thay đổi Claude đã làm · /permissions pre-approve lệnh an toànThói quen vàng: /diff trước mỗi commit
Cấu hình/init sinh CLAUDE.md · /memory sửa memory · /config (hỗ trợ key=value) · /model · /effort chỉnh độ suy nghĩ · /output-style
Phiên & điều hướng/resume mở lại phiên cũ · /usage hạn mức · /doctor chẩn đoán (kể cả vì sao skill không kích hoạt) · /export xuất transcript · gõ / để tìm trong transcript
Hệ mở rộng/mcp quản lý & OAuth MCP (thêm: claude mcp login/logout từ shell) · /agents subagents · /hooks · /skills liệt kê & quản lý skill · /plugin/skills là chỗ debug đầu tiên khi skill "không thấy đâu"
Chế độ nhập!lệnh shell mode (chạy lệnh thật, Claude đọc output) · @file chèn file vào prompt · # ghi nhanh vào memory · Shift+Tab xoay permission mode · Esc dừng! npm test rồi hỏi "vì sao fail?" — Claude đã thấy output
Skill built-in (bản chất là skill, Anthropic cài sẵn)/code-review, /security-review, /simplify (đơn giản hoá code), /debug (quy trình debug bài bản: reproduce→isolate→hypothesize→fix), /batch (lặp thao tác trên nhiều file), /loop (chạy lặp — vd /loop 5m /kiem-tra poll mỗi 5 phút; trước khi chạy loop không giám sát, đọc 5 điều kiện an toàn ở Bài 3.5)Dùng /debug thay vì tả bug bằng lời — nó ép quy trình chuẩn

B3. Giải phẫu một skill

Skill = một thư mục, bắt buộc có SKILL.md, tuỳ chọn thêm file phụ trợ:

.claude/skills/ten-skill/
├── SKILL.md          # bắt buộc: frontmatter + hướng dẫn
├── templates/        # tuỳ chọn: mẫu output, ví dụ
└── scripts/          # tuỳ chọn: script Claude được phép chạy

Vị trí đặt: .claude/skills/ trong repo (commit vào Git → cả team dùng chung) hoặc ~/.claude/skills/ (cá nhân, theo bạn qua mọi repo).

SKILL.md tối thiểu:

---
name: tom-tat-thay-doi
description: Tóm tắt thay đổi chưa commit và cảnh báo rủi ro. Dùng khi user hỏi "có gì thay đổi", cần commit message, hoặc muốn review diff.
---
## Thay đổi hiện tại
!`git diff HEAD`

## Hướng dẫn
Tóm tắt các thay đổi trên trong 2-3 gạch đầu dòng, sau đó liệt kê rủi ro
(thiếu error handling, giá trị hardcode, test cần cập nhật). Diff rỗng thì nói rõ.

Ba cơ chế "ma thuật" trong body:

  • Cú pháp !`lệnh` (dynamic context injection): Claude Code CHẠY lệnh và thay dòng đó bằng output TRƯỚC khi Claude đọc — skill luôn làm việc trên dữ liệu tươi.
  • $ARGUMENTS / $1 $2: hứng phần gõ sau tên lệnh. /fix-issue 123$ARGUMENTS = "123".
  • @file: tham chiếu file cụ thể.

B4. Frontmatter — bảng điều khiển hành vi (phần hay nhất)

FieldTác dụngKhi nào dùng
nameTên lệnh — phải trùng tên thư mục; dùng chuỗi 1 dòngLuôn khai
descriptionQuan trọng nhất: Claude match mô tả này với prompt của user để quyết định tự nạp. Công thức: làm gì + dùng khi nào (kèm cụm từ user hay gõ). ⚠️ Chỉ dùng chuỗi 1 dòng — YAML multiline (>-, ``) làm indexer đọc sai
disable-model-invocation: trueCHỈ user gọi được bằng /ten — Claude không bao giờ tự chạy (mô tả cũng bị gỡ khỏi context)Mọi thứ có side effect: /commit, /deploy, /gui-bao-cao. Không để Claude "tự thấy code ổn nên deploy"
user-invocable: falseCHỈ Claude tự nạp — không hiện trong menu /Tri thức nền: quy ước API, ngữ cảnh hệ thống legacy — "biết khi cần" chứ không phải "hành động"
allowed-toolsGiới hạn tool trong skill (vd Read Grep Glob = read-only; Bash(git *) = chỉ lệnh git)Skill review an toàn tuyệt đối; skill commit không được sửa file
context: forkChạy trong subagent cô lập — output dài không làm bẩn hội thoại chínhSkill khám phá codebase, phân tích dài dòng
agentLoại subagent khi fork: Explore / Plan / general-purposeĐi kèm context: fork
argument-hintGợi ý autocomplete tham sốSkill có tham số
pathsChỉ kích hoạt khi đang làm việc trên file khớp patternSkill quy ước riêng cho src/api/**

Ma trận quyết định nhanh — đặt kiến thức/quy trình vào đâu:

Bạn có...Đặt vào
Chuẩn mực áp MỌI phiên (lệnh test, convention chung)CLAUDE.md"Hiến pháp" — luôn nạp
Quy trình chạy KHI CẦN (deploy, tạo report, review)Skill"Đạo luật" — nạp theo tình huống, tiết kiệm context
Việc nặng cần chạy song song/cô lậpSubagent (hoặc skill context: fork)Giữ context chính sạch
Việc PHẢI xảy ra 100% máy móc (format sau edit, chặn lệnh nguy hiểm)HookSkill/CLAUDE.md là "nhờ", hook là "ép"
Cần DỮ LIỆU/HỆ THỐNG ngoài (Jira, DB)MCPSkill là tri thức, MCP là cánh tay

Quy tắc kiểm tra sức khoẻ: nhiều skill hơn MCP server = đang làm đúng; ngược lại = đang trả "thuế context" oan.

B5. Progressive disclosure — vì sao cài 30 skill mà không "béo" context

  1. Khởi động: Claude chỉ nạp name + description mỗi skill (~100 token/skill; tổng ngân sách metadata ~2% context window).
  2. Kích hoạt: prompt khớp description (hoặc bạn gõ /ten) → nạp toàn bộ body.
  3. Thực thi: file phụ trợ/script chỉ được đọc khi thật sự cần.

Hệ quả thực dụng: body ngắn (<500 dòng, lý tưởng <5K token — mỗi dòng là chi phí lặp lại mọi lượt sau khi nạp); tài liệu dày → tách ra file phụ trợ; chỉ viết điều Claude KHÔNG tự biết (đừng dạy lại git là gì).

B6. Viết skill "được dùng" thay vì skill "phủ bụi" — quy trình 5 bước

  1. Chọn đúng ứng viên: việc bạn đã lặp ≥3 lần với cùng một prompt dài → đó là skill. (Mẹo: nhờ chính Claude: "Nhìn lại phiên này, quy trình nào đáng đóng gói thành skill? Viết SKILL.md.")
  2. Viết description như người dùng nói: kèm cụm từ họ thật sự gõ ("commit", "có gì thay đổi", "review diff") — description là cơ chế trigger.
  3. Chọn chế độ invocation theo B4 (side effect → disable-model-invocation; tri thức nền → user-invocable: false).
  4. Test vòng ngắn: sửa SKILL.md có hiệu lực NGAY trong phiên (hot reload; chỉ tạo thư mục skills mới toanh mới cần restart). Không kích hoạt → /skills xem có được nhận không, /doctor xem description có bị tràn ngân sách, thêm từ khoá; kích hoạt lung tung → thu hẹp description, thêm paths, hoặc chuyển sang gọi tay.
  5. Chia sẻ: commit .claude/skills/ vào repo (theo dự án) · nhân bản skill tốt lên các repo khách hàng · đóng plugin khi muốn phân phối trọn gói skill + subagent + hooks + MCP config (/plugin, marketplace nội bộ qua Git repo).

An toàn: skill = phần mềm. Chỉ cài từ nguồn tin cậy/tech lead duyệt; đọc script đi kèm trước khi cài; skill bên thứ ba có thể chứa chỉ dẫn độc hại (prompt injection).

B7. Skills ngoài Claude Code — đòn bẩy cho non-dev

Cùng chuẩn Agent Skills chạy trên claude.ai/Cowork: admin/champion upload skill cho tổ chức (Settings → Capabilities/Skills tuỳ gói) — vd skill "chuẩn proposal công ty", "format báo cáo QA", "quy trình đối soát" — mọi người dùng thống nhất mà không cần biết kỹ thuật. Anthropic có sẵn bộ skill tài liệu (pptx/xlsx/docx/pdf) và repo mẫu github.com/anthropics/skills + skill skill-creator hỗ trợ tự tạo skill bằng hội thoại.

B8. Lộ trình xây "thư viện skill công ty" (khuyến nghị)

  • Sprint 1 (dev): cài 5 skill mẫu trong templates/claude-code-skills/ vào 1 repo pilot → dùng 2 tuần → tinh chỉnh description theo cách team thật sự gõ.
  • Sprint 2 (mỗi phòng): champion đóng gói 1 quy trình phòng mình thành skill claude.ai (dùng skill-creator).
  • Sprint 3: gom skill đã "sống sót" vào 1 Git repo claude-skills nội bộ làm plugin marketplace; đưa việc review skill mới vào quy trình như review code.
  • KPI thô: skill nào 30 ngày không ai gọi → sửa description hoặc khai tử.

Mục lục