Bỏ qua để đến nội dung

Quy trình thường gặp

Tuyển tập các “công thức” (recipe) cho công việc hằng ngày với Claude Code. Mỗi mục đều dùng được trên mọi nền tảng (terminal, VS Code, web…) - chỉ cần điều chỉnh cách diễn đạt cho phù hợp dự án của bạn.

Khi vào một dự án lạ, hãy để Claude Code đọc hiểu trước khi yêu cầu thay đổi - hỏi rộng trước, thu hẹp dần sau:

> cho tôi cái nhìn tổng quan về codebase này
> giải thích các pattern kiến trúc chính được dùng ở đây
> các data model quan trọng là gì?
> module xử lý auth nằm ở đâu, luồng hoạt động ra sao?

Muốn tìm code liên quan đến một tính năng cụ thể:

> tìm các file xử lý việc xác thực người dùng
> các file auth này liên kết với nhau ra sao?
> truy vết luồng đăng nhập từ front-end xuống database

Dán trực tiếp stack trace hoặc log lỗi, kèm cách tái hiện lỗi nếu có:

> tôi gặp lỗi này khi chạy npm test: [dán log lỗi]
hãy tìm nguyên nhân gốc và sửa
> gợi ý vài cách sửa lỗi @ts-ignore trong user.ts
> áp dụng cách sửa null check bạn vừa đề xuất vào user.ts

Claude Code sẽ truy vết lỗi qua codebase, xác định nguyên nhân và đề xuất/áp dụng bản sửa. Nói rõ lỗi là liên tục hay ngẫu nhiên (intermittent) giúp Claude khoanh vùng nhanh hơn.

Yêu cầu refactor theo từng bước nhỏ, có thể xem lại diff, giữ nguyên hành vi:

> tìm các API đã deprecated đang được dùng trong codebase
> gợi ý cách refactor utils.js sang cú pháp JavaScript hiện đại
> refactor utils.js dùng ES2024, giữ nguyên hành vi
> chạy test cho phần vừa refactor

Nên refactor theo từng bước nhỏ, có thể test được từng bước - tránh gộp một lần đổi quá nhiều thứ.

> tìm các hàm trong NotificationsService chưa có test bao phủ
> viết test cho notification service
> thêm test case cho các edge case của notification service
> chạy test mới và sửa nếu có lỗi

Claude Code đọc các file test có sẵn để bắt chước đúng style, framework và cách assert của dự án - nên kết quả thường “hoà” vào codebase thay vì lạc tông. Yêu cầu thêm test cho edge case, giá trị biên, input bất thường để tăng độ bao phủ.

Cách nhanh nhất là yêu cầu trực tiếp:

> tạo pr cho các thay đổi của tôi

Hoặc đi từng bước để kiểm soát nội dung PR:

> tóm tắt các thay đổi tôi đã làm ở module authentication
> tạo pr
> bổ sung mô tả PR với ngữ cảnh rõ hơn về các cải tiến bảo mật

Khi bạn tạo PR bằng gh pr create, phiên hiện tại tự động được gắn với PR đó. Muốn tìm lại phiên này sau, chạy claude --from-pr 1234 với số PR của bạn để mở bảng chọn phiên đã lọc sẵn, hoặc dán URL của PR vào ô tìm kiếm trong bảng chọn /resume.

> tìm các hàm chưa có JSDoc trong module auth
> thêm JSDoc cho các hàm chưa có tài liệu trong auth.js
> cải thiện tài liệu vừa tạo với ví dụ cụ thể hơn

Claude Code đọc hiểu được cả ảnh - kéo-thả ảnh vào cửa sổ, dán bằng Ctrl+V, hoặc cung cấp đường dẫn file ảnh:

> đây là ảnh chụp lỗi. Nguyên nhân là gì?
> đây là schema database hiện tại. Nên sửa thế nào cho tính năng mới?
> tạo CSS khớp với mockup thiết kế này

Hữu ích khi mô tả bằng chữ khó rõ ràng bằng: ảnh chụp lỗi UI, mockup thiết kế, sơ đồ kiến trúc.

Làm việc trong ghi chú và thư mục không phải code

Phần tiêu đề “Làm việc trong ghi chú và thư mục không phải code”

Claude Code chạy được trong bất kỳ thư mục nào - mở nó trong một notes vault, thư mục tài liệu, hay bất kỳ tập hợp file markdown nào để tìm kiếm, sửa, và tổ chức lại nội dung giống hệt cách bạn làm với code. Thư mục .claude/CLAUDE.md nằm cạnh thư mục cấu hình của công cụ khác mà không xung đột. Claude đọc file mới mỗi lần dùng tool, nên nó thấy ngay các thay đổi bạn làm từ một app khác ở lần đọc tiếp theo.

> giải thích logic trong @src/utils/auth.js
> cấu trúc @src/components là gì?

@file đưa thẳng nội dung file vào hội thoại (không cần chờ Claude tự đọc); @thư-mục liệt kê danh sách file bên trong (không phải nội dung). Gõ @ sẽ hiện menu gợi ý đường dẫn - nhấn Tab/Enter để chọn. Tham chiếu @file cũng tự động đưa CLAUDE.md ở thư mục chứa file đó (và các thư mục cha) vào ngữ cảnh.

Bạn cũng có thể tham chiếu resource từ MCP server đã kết nối bằng cú pháp @server:resource, ví dụ @github:repos/owner/repo/issues - xem MCP để biết chi tiết.

Muốn Claude tự làm một việc lặp lại định kỳ - review PR mỗi sáng, audit dependency hằng tuần, kiểm tra lỗi CI qua đêm - chọn cách chạy phù hợp:

Lựa chọn Chạy ở đâu Phù hợp khi nào
Routine Cloud, do Anthropic quản lý mặc định Việc cần chạy kể cả khi máy bạn tắt; có thể kích hoạt bởi API call hoặc sự kiện GitHub. Cấu hình tại claude.ai/code/routines
Tác vụ định kỳ trên Desktop Máy của bạn, qua app Desktop Việc cần truy cập trực tiếp file cục bộ, tool, hoặc thay đổi chưa commit
GitHub Actions Pipeline CI của bạn Việc gắn với sự kiện repo (PR mở) hoặc lịch cron nên sống cùng file cấu hình workflow
/loop Phiên CLI hiện tại Polling nhanh trong khi phiên đang mở; dừng khi bạn bắt đầu hội thoại mới

Khi viết prompt cho tác vụ định kỳ, nói rõ thế nào là “thành công” và cần làm gì với kết quả - tác vụ chạy tự động nên không thể hỏi lại bạn. Ví dụ: “Review các PR gắn nhãn needs-review, để lại comment inline nếu có vấn đề, và đăng tóm tắt vào kênh Slack #eng-reviews.”

Claude có sẵn quyền truy cập vào tài liệu của chính nó và có thể trả lời câu hỏi về tính năng, giới hạn của Claude Code - bất kể phiên bản bạn đang dùng là gì:

> Claude Code có tạo được pull request không?
> Claude Code xử lý quyền hạn (permissions) như thế nào?
> có những skill nào khả dụng?
> làm sao dùng MCP với Claude Code?
> Claude Code có giới hạn gì?

Muốn xem demo trực quan hơn là câu trả lời dạng văn bản, chạy /powerup để có các bài học tương tác kèm minh hoạ động.

Khi một tác vụ kéo dài qua nhiều lần ngồi làm việc, không cần giải thích lại từ đầu - Claude Code lưu hội thoại cục bộ trên máy:

Terminal window
claude --continue # tiếp tục phiên gần nhất trong thư mục hiện tại
claude --resume # chọn một phiên cũ từ danh sách

Trong phiên đang chạy, dùng /resume để làm điều tương tự.

Muốn vừa phát triển tính năng ở một terminal, vừa để Claude sửa bug ở terminal khác, mà không đụng chạm thay đổi của nhau - dùng git worktree (mỗi worktree là một checkout riêng trên branch riêng):

Terminal window
claude --worktree feature-auth

Chạy lệnh tương tự với tên khác ở terminal thứ hai để có phiên song song độc lập. Repo cần có ít nhất một commit trước khi dùng được worktree.

Với thay đổi cần soát kỹ trước khi đụng vào code thật, chuyển sang plan mode: Claude chỉ đọc và đề xuất kế hoạch, không sửa gì cho đến khi bạn duyệt.

Terminal window
claude --permission-mode plan

Hoặc nhấn Shift+Tab giữa phiên để chuyển qua plan mode bất cứ lúc nào.

Việc khám phá một codebase lớn có thể “ngập” ngữ cảnh chính bằng hàng loạt nội dung file chỉ dùng một lần. Giao việc đó cho subagent để chỉ kết quả tóm tắt quay lại:

> dùng một subagent để tìm hiểu cách hệ thống auth xử lý việc refresh token

Subagent tự đọc file trong ngữ cảnh riêng của nó, agent chính chỉ nhận về phần tóm tắt cần thiết - rất hữu ích cho việc khám phá song song nhiều phần độc lập của một tác vụ lớn.

Chế độ headless (-p) chạy Claude Code không tương tác, nhận input/xuất output như một công cụ Unix bình thường - phù hợp cho CI, pre-commit hook, hay xử lý hàng loạt:

Terminal window
# Phân tích log gần đây
tail -200 app.log | claude -p "có bất thường nào trong log này không?"
# Tóm tắt commit gần đây
git log --oneline -20 | claude -p "tóm tắt các commit gần đây này"
# Review file thay đổi trong CI
git diff main --name-only | claude -p "review các file này, chú ý vấn đề bảo mật"