2026-03-146 phút đọcVI
Commands — slash commands và quy trình nhanh
English title: Commands — Slash Commands and Quick Workflows
Bài 5 trong chuỗi 20 bài về Claude Code. Ở bài 4 bạn đã biết skill = procedure + trigger. Command là cách user kích hoạt nhanh: gõ /plan "Add login" hoặc /tdd "UserService" — một lệnh, cả quy trình chạy. Bài này giải thích slash command là gì, cách dùng các command phổ biến, và cách tạo command mới (đơn giản hoặc gắn với skill).
Mở đầu: Một lệnh gõ xong — cả quy trình chạy
Bạn muốn plan feature "user login với OAuth". Không có command: bạn gõ đoạn dài "Làm giúp tôi plan chi tiết tính năng user login với OAuth, gồm API, DB, test, thứ tự implement…". Có command: bạn gõ /plan "User login với OAuth". Hệ thống load command "plan" (và thường kèm skill planning + agent planner), truyền argument vào, và chạy. Bạn nhận plan có cấu trúc mà không cần viết prompt dài. Slash command chính là shortcut đó — tiết kiệm prompt lặp lại và đảm bảo quy trình cố định.
1. Đi sâu: Slash commands là gì và tại sao dùng
Tại sao quan trọng: Workflow lặp lại (plan, TDD, code review) nếu mỗi lần đều gõ prompt dài thì tốn thời gian và dễ sai format. Command chuẩn hóa: cùng một cách gọi, cùng procedure (skill), cùng kỳ vọng output. Team có thể share commands → mọi người dùng chung quy trình.
Hiểu sai thường gặp: "Command = shortcut gõ ít chữ." Đúng hơn, command = binding giữa (1) tên/trigger và (2) hành động — load skill, load agent, truyền argument. "Gõ ít" chỉ là bề ngoài; bên trong là cả một luồng (load context → chạy bước → trả kết quả).
Bản chất đúng: Slash command = user gõ /tên [argument] → hệ thống tìm command trùng tên → thực thi (thường: inject prompt hoặc load skill, có thể gọi agent). Argument là tham số ngắn (vd. mô tả task) để command biết "plan cái gì", "TDD cho module nào". Command phù hợp khi workflow cố định; khi task ad-hoc, chat tự do vẫn hợp lý hơn.
2. Khái niệm
- Slash command: Lệnh bắt đầu bằng
/, theo sau là tên command và (tuỳ command) argument. Ví dụ:/plan "Add auth",/tdd "UserService",/code-review. - Argument: Phần sau tên command, thường là chuỗi ngắn mô tả task (trong ngoặc kép nếu có khoảng trắng). Command dùng argument để điền vào prompt hoặc truyền cho skill.
- Command body: Nội dung command = prompt inline hoặc tham chiếu tới skill/agent. Prompt đơn giản: "Plan the following feature: ". Phức tạp: "Load skill plan, pass argument as task description."
- Namespaced command: Trên một số nền tảng, command từ plugin có dạng
plugin-name:command-name(vd.ecc:plan) để tránh trùng tên. Short form/planthường khi bạn cài thủ công vào thư mục commands.
3. Code / ví dụ command (pseudo)
Command thường là file config hoặc markdown với frontmatter. Ví dụ mô tả (pseudo):
# Ví dụ cấu trúc command (pseudo)
name: plan
description: Create an implementation plan for a feature
argument: optional # mô tả task
prompt: |
You are a planner. Create a step-by-step implementation plan for:
{{argument}}
Output: bullet list, order of tasks, and rough estimate.
# Hoặc: skill: plan-feature (tham chiếu skill thay vì prompt inline)Khi user gõ /plan "Add user login", hệ thống thay {{argument}} bằng "Add user login" và chạy. Nếu command trỏ tới skill, skill "plan-feature" được load và argument được truyền vào. Bạn không cần path repo — chỉ cần hiểu: command = tên + (optional) argument + body (prompt hoặc skill ref).
4. Workflow: Từ lệnh đến kết quả
- User gõ command:
/plan "Add OAuth login"(hoặc namespaced tương đương). - Hệ thống resolve: Tìm command "plan", lấy argument "Add OAuth login".
- Load context: Command body có thể là prompt (điền argument vào) hoặc tham chiếu skill → load skill "plan", có thể kèm agent "planner".
- Chạy: Agent (default hoặc planner) nhận context (prompt + skill steps), thực hiện, trả output (plan dạng bullet, ước lượng…).
- Hiển thị: User nhận plan; có thể copy, chỉnh, hoặc chuyển sang bước implement (chat tiếp hoặc command khác).
Khi nào dùng command vs chat: Command khi workflow lặp lại và bạn muốn cùng procedure mỗi lần (plan, TDD, review). Chat khi task ad-hoc, một lần, hoặc cần đối thoại tự do.
5. Ứng dụng trong AI-centric engineering
- /plan: Bắt đầu feature mới — có plan trước khi code, giảm quên bước và dễ estimate. Argument = mô tả feature ngắn gọn.
- /tdd: Bắt đầu hoặc tiếp tục module theo TDD — viết test fail, implement, refactor. Argument = tên module hoặc scope (vd. "UserService").
- /code-review: Chạy sau khi implement — nhận checklist (types, tests, security, naming) trước khi commit. Có thể không cần argument hoặc truyền path/file.
- Tạo command riêng: Nếu team có quy trình đặc thù (vd. "deploy checklist", "security scan"), tạo command + skill tương ứng; mọi người gõ một lệnh là chạy đủ bước.
Bài 6 sẽ nói rules — guidelines luôn được áp dụng, khác với command (chỉ chạy khi user gọi).
Bài tiếp: Rules — guidelines luôn được áp dụng (bài 6).