Người mới nắm 95% Claude Code: từ folder trống tới agentic mode

Workflow Claude Code cho người mới: cài app desktop, scaffold một app, giải thích và sửa code, debug, terminal, CLAUDE.md và agentic mode.

Đã duyệt độc lập · cập nhật 16/10/2026 · 28 min

1. Vì sao code với AI theo kiểu copy-paste làm người mới chậm lại

Mikey mở đầu bằng một lời hứa khá táo bạo: người mới hoàn toàn có thể nắm được 95% Claude Code chỉ trong 14 phút. Anh nói rõ, điều đó không phải vì 5% còn lại không quan trọng. Mà là vì phần lớn những thứ thật sự làm người ta chậm lại khi bắt đầu code chẳng liên quan gì đến chuyện họ biết nhiều hay ít.

Thẻ mở đầu với dòng chữ Complete beginners can master 95% of Claude Code in 14 minutes
Thẻ mở đầu của video, đặt trên nền núi lúc bình minh: "Complete beginners can master 95% of Claude Code in 14 minutes", đúng câu Mikey dùng để vào bài.

Anh mời người xem nghĩ về cách mà hầu hết mọi người đang code với AI hiện nay. Bạn hỏi một chatbot xin một đoạn code, copy nó, paste vào một editor, rồi chạy trong terminal. Có gì đó hỏng, và giờ bạn lại copy error ngược vào khung chat, rồi lại copy bản sửa ngược vào editor một lần nữa.

Chính vòng qua lại đó là chỗ phần lớn người mới bị mắc kẹt, và không phải vì bản thân code quá khó. Mà vì họ đang làm thủ công công việc nối ba công cụ tách rời nhau: chatbot, editor và terminal. Claude Code xoá gần như toàn bộ phần việc ấy, vì thay vì chỉ trả lời câu hỏi về code, nó làm việc trực tiếp bên trong project của bạn.

Mikey nhấn mạnh video này thật sự dành cho người có rất ít hoặc chưa từng có kinh nghiệm code. Bạn không cần hiểu mọi file, mọi lệnh terminal hay mọi error message trước khi bắt đầu. Một phần lớn của video sẽ chỉ cách để Claude Code xử lý những mảnh đó, còn bạn chỉ việc giữ quyền kiểm soát những gì thực sự được approve và được thay đổi.

Để mọi thứ cụ thể, anh bắt đầu từ một folder hoàn toàn trống và biến nó thành một task manager chạy được, chỉ bằng tiếng Anh thông thường. Cũng chính project đó sẽ được dùng để cho thấy Claude Code đọc qua code có sẵn ra sao, sửa có mục tiêu thay vì viết lại mọi thứ ra sao, và tự lần ra bug ra sao. Đến cuối video, bạn sẽ nắm toàn bộ workflow cốt lõi: từ cài đặt, build, sửa, debug, dùng terminal, đặt rule cố định cho project, cho tới cuối cùng là giao hẳn một bản build nhiều bước.

Video có một đoạn quảng cáo cho khoá masterclass của chính Mikey.

2. Cài app desktop, kiểm tra plan và chọn model

Mikey thừa nhận cài một công cụ code mới thường là lúc mọi thứ bỗng trở nên hơi "kỹ thuật". Nhưng Claude Code khá đơn giản, một khi bạn biết nên mở phiên bản nào và project của bạn nên nằm ở đâu. Ở bước này chỉ cần ba việc: cài app, xác nhận tài khoản đã sẵn sàng, và trỏ Claude Code vào đúng folder.

Đầu tiên, vào claude.com/download và tải app desktop cho Mac hoặc Windows. Anh dặn kỹ: hãy chắc là bạn dùng đúng trang claude.com/download để lấy app cài trên máy. Cũng có một phiên bản web ở claude.ai/code, nhưng bản đó chạy trong trình duyệt, còn trang download cho bạn phiên bản desktop, chính là bản dùng trong video.

Trình duyệt mở trang claude.com/download với nút Download for macOS
Trang claude.com/download: tiêu đề "Download Claude", dòng mô tả "Chat, Claude Cowork, and Claude Code" và nút "Download for macOS" để lấy bản desktop.

Tiếp theo, chạy installer, mở Claude lên và đăng nhập tài khoản. Theo Mikey, đây cũng là lúc tốt để kiểm tra plan, vì tài khoản sẽ cho bạn thấy mình đang ở Pro, Max hay cao hơn, đó là những plan cần có để dùng Claude Code. Nếu bạn vẫn đang ở plan miễn phí, bạn sẽ phải nâng cấp trước khi đi tiếp.

Sau đó, nhìn gần nút gửi và bạn sẽ thấy dropdown chọn model. Claude đã tự chọn model mặc định hiện tại cho bạn, nên với tutorial này không cần đổi gì. Trên màn hình, menu "Models" liệt kê Fable 5 (kèm ghi chú "Requires usage credits"), Opus 5, Sonnet 5 (đang được tick) và Haiku 4.5, cùng mục "More models". Bạn luôn có thể quay lại dropdown này sau nếu muốn đổi model.

3. Chọn một folder làm workspace và kiểm tra kết nối

Phần quan trọng bây giờ là mở project. Vào tab Code, chọn Local, rồi chọn folder bạn muốn Claude Code làm việc trong đó. Folder ấy thậm chí có thể trống hoàn toàn, không sao cả. Khi bạn chọn xong, Claude Code coi folder đó là workspace của riêng nó, và nó có thể đọc, sửa và chạy bất cứ thứ gì bên trong.

Vì vậy hãy cẩn thận một chút khi chọn folder, vì Claude Code nhìn thấy toàn bộ workspace chứ không chỉ một file. Mikey khuyên dùng một folder sạch, dành riêng cho project, thay vì trỏ nó vào cả Desktop hay cả folder Downloads. Giữ workspace gọn sẽ cho Claude đúng context và làm các prompt về sau chính xác hơn nhiều.

Nên: một folder sạch cho project Không nên: cả Desktop / Downloads workspace của Claude Code task-manager/ đọc · sửa · chạy mọi thứ bên trong Claude thấy hết mọi file trong đó context nhiễu
Hình 3.1Ý chính của bước chọn folder: Claude Code nhìn thấy cả workspace, nên một folder dành riêng cho project cho nó đúng context, còn trỏ vào cả Desktop hay Downloads thì kéo theo đủ thứ không liên quan.

Có thể kiểm tra nhanh mọi thứ đã nối đúng chưa. Chỉ cần gõ câu sau rồi gửi đi:

What files are in this project?

Claude Code sẽ liệt kê mọi thứ bên trong folder. Nếu nó làm được, nghĩa là bước setup đã chạy và Claude đang nhìn đúng project. Từ đây, có thể bắt đầu build.

4. Prompt đầu tiên: scaffold cả một task manager

Bắt đầu từ một folder trống có thể hơi đáng sợ, vì chưa có gì dẫn đường cho bạn. Bình thường, bạn sẽ phải quyết định nên tạo những file nào, chúng nối với nhau ra sao, và mỗi file chứa gì, trước cả khi chạm tới phần bạn thật sự muốn build. Nhưng Claude Code có thể lo toàn bộ cấu trúc khởi đầu đó cho bạn, và đó là lý do prompt đầu tiên quan trọng đến vậy.

Khác biệt lớn đầu tiên bạn sẽ thấy so với dùng Claude trong một cuộc chat thông thường là bạn không phải build project từng file một. Bạn có thể mô tả cả thứ mình muốn trong một prompt rõ ràng, rồi Claude Code lên kế hoạch cấu trúc, tạo các file, và ghép phiên bản chạy được đầu tiên ngay trong folder project của bạn.

Tuy vậy, chất lượng của điểm xuất phát vẫn phụ thuộc vào việc bạn mô tả rõ đến đâu. Nếu bạn đưa Claude một yêu cầu mơ hồ kiểu "build me a task app", nó phải tự đưa ra rất nhiều quyết định thay bạn, và những lựa chọn đó có thể không khớp với thứ bạn hình dung. Cách tốt hơn là cho nó đủ định hướng ngay từ đầu. Mikey thường đưa vào bốn thứ:

  1. Mình muốn build cái gì.
  2. Muốn dùng công nghệ nào.
  3. Những tính năng chính cần chạy được.
  4. Một ràng buộc (constraint) rõ ràng để project không phình ra phức tạp hơn mức cần thiết.

Rồi anh gõ prompt này và gửi đi:

Create a simple task manager web app using HTML, CSS, and vanilla JavaScript. Users should be able to add a task, mark it complete, and delete it. Keep it to a single page with no external libraries.
Ô nhập của app Claude với prompt tạo task manager, chế độ Local, folder Downloads
Prompt đầu tiên nằm trong ô nhập của app desktop: đủ bốn thành phần (task manager, HTML/CSS/vanilla JavaScript, thêm/đánh dấu xong/xoá, một trang không thư viện ngoài). Phía trên ô nhập là chế độ Local và folder đang được trỏ tới, góc phải là Sonnet 5 với mức High.

Ngay khi Claude Code bắt đầu làm việc, bạn sẽ thấy vì sao chuyện này khác với chỉ nhờ một chatbot sinh code. Nó bắt đầu bằng việc hiểu yêu cầu và lên kế hoạch project nên được cấu trúc thế nào, rồi mới tạo từng mảnh cần thiết. Ta có HTML cho cấu trúc trang, CSS cho phần style, và JavaScript điều khiển hành vi thật sự của task manager.

App desktop hiển thị các file đó ngay khi Claude tạo ra chúng, nên bạn theo dõi được những gì đang được thêm vào, thay vì nhận một khối code khổng lồ đổ vào cửa sổ chat. Trên màn hình, khung preview bên phải hiện ra trang "Task Manager" với ô "Add a new task..." và nút Add, cùng dòng "No tasks yet. Add one above!".

5. Dành 30 giây xem lại scaffold trước khi đi tiếp

Trước khi chuyển sang prompt khác, Mikey dừng lại để xem qua những gì Claude vừa tạo. Anh mở các file ra để có cái nhìn cơ bản về cách project được tổ chức.

Editor mở file task-manager.html với phần DOCTYPE, head và CSS
File task-manager.html mở trong editor: phần <head> với title "Task Manager", rồi khối <style> cho body, .app và h1. Đây là bước lướt qua cấu trúc, không phải đọc từng dòng.

Anh chỉ ra rằng Claude đã tách cấu trúc trang, phần style và logic của ứng dụng thành từng phần riêng. Cấu trúc đó cho ta một nền móng sạch để làm tiếp, và cũng làm project dễ hiểu hơn nhiều về sau, khi bắt đầu thay đổi từng phần riêng lẻ.

Bạn không cần ngồi đọc từng dòng code. Mục tiêu chỉ đơn giản là chắc chắn cấu trúc tổng thể hợp lý trước khi build thêm lên trên. Theo Mikey, dành khoảng 30 giây kiểm tra scaffold bây giờ sẽ cứu bạn khỏi cảnh vài prompt sau mới phát hiện project được tổ chức theo một cách bạn không hề muốn.

Nếu mọi thứ trông ổn, hãy approve các thay đổi và đi tiếp. Nếu có gì đó không ổn, đây là thời điểm dễ sửa nhất, vì ta chưa thêm một đống tính năng phụ. Và đó chính là lý do scaffold project trước tiên. Một prompt đã đưa ta từ một folder trống tới một cấu trúc khởi đầu hoàn chỉnh, có sẵn các mảnh chính, và ta cũng hiểu rõ các mảnh đó ghép với nhau thế nào. Từ đây, ta có thể làm việc với code Claude đã tạo và đưa ra những thay đổi cụ thể hơn, mà không phải build lại cả project mỗi lần.

6. Nhờ Claude Code giải thích code lạ bằng tiếng Anh thường

Một khi dùng Claude Code cho project thật, có lẽ bạn sẽ dành nhiều thời gian làm việc với code có sẵn hơn là tạo mọi thứ từ đầu. Có thể là code bạn tự viết vài tuần trước và giờ gần như không nhớ, thứ một đồng đội bàn giao lại, hoặc chính cái scaffold Claude vừa tạo. Dù là trường hợp nào, thử thách đầu tiên thường chỉ là hiểu một đoạn code đang làm gì trước khi động vào nó.

Mikey nói có hai kỹ năng đáng làm quen sớm:

  1. Hiểu code có sẵn.
  2. Thực hiện những thay đổi nhỏ, có mục tiêu, mà không làm xáo trộn mọi thứ xung quanh.

Anh bắt đầu với việc hiểu code. Thay vì nhìn chằm chằm vào JavaScript và tự mò qua từng function, bạn chỉ cần nhờ Claude Code giải thích đúng phần bạn quan tâm:

Explain what the task-completion logic does, in plain English.

Gửi đi, và Claude Code đọc phần code liên quan rồi tách ra những gì đang xảy ra theo cách dễ theo dõi hơn nhiều. Nó có thể giải thích phần nào phát hiện khi một task được hoàn thành, cái gì thay đổi sau hành động đó, và các mảnh nối với nhau ra sao, mà không bắt bạn đi qua từng dòng trước.

Câu trả lời của Claude giải thích logic hoàn thành task trong ba ý, có số dòng trong task-manager.html
Câu trả lời trên màn hình chia logic thành ba chỗ trong task-manager.html: mỗi task tự nhớ trạng thái (object { id, text, completed }), checkbox lật giá trị completed rồi gọi render(), và vẻ "done" đến từ class CSS completed, mỗi ý kèm số dòng tương ứng.

Phía trên câu hỏi, màn hình cũng cho thấy kết quả của bước trước: Claude đã tự kiểm tra cả ba tính năng trong trình duyệt ("Buy groceries" được tick và gạch ngang, "Walk the dog" bị xoá thành công) và xác nhận đây là một file task manager duy nhất, không thư viện ngoài. Phần tóm tắt cuối câu trả lời nói rõ: bấm checkbox không xoá hay dời task đi đâu cả, nó chỉ lật một cờ boolean trong dữ liệu của task, rồi màn hình được vẽ lại để style phản ánh cờ đó.

Theo Mikey, điều này đặc biệt hữu ích khi bạn mở một project mà mình không tự build, vì giờ bạn có thể làm quen từng phần một trước khi thay đổi gì. Và khi đã hiểu hành vi hiện tại, ta mới chuyển sang sửa nó.

7. Sửa đúng chỗ: nói rõ hiện tại, mong muốn và phần phải giữ nguyên

Đây cũng là chỗ người mới dễ vô tình tự tạo thêm việc cho mình. Một yêu cầu rộng kiểu "rewrite this" cho Claude Code rất nhiều tự do, và điều đó có thể khiến nó thay đổi cả những phần của project vốn đang chạy hoàn toàn ổn.

Cách tốt hơn Mikey gợi ý là nói cụ thể về chỗ cần sửa:

  • Giải thích đoạn code hiện đang làm gì.
  • Mô tả chính xác điều bạn muốn xảy ra sau khi sửa.
  • Nói cho Claude biết phần nào phải giữ nguyên, không đụng tới.

Đưa cho nó những ranh giới, những ràng buộc như vậy làm cho việc sửa dễ kiểm soát hơn nhiều và giảm khả năng gây ra vấn đề ở chỗ khác trong app. Prompt anh dùng:

Right now, completed tasks stay in the list with a line through them. Instead, I want completed tasks to move to a separate 'Done' section at the bottom. Only change the completion behavior - leave the add and delete functions exactly as they are.
Phần cuối câu giải thích của Claude và prompt yêu cầu chuyển task đã xong sang mục Done
Prompt sửa nằm ngay dưới câu giải thích ở bước trước: nêu hành vi hiện tại (task xong vẫn ở trong list với một đường gạch), hành vi mong muốn (dời xuống mục "Done" ở cuối), và giới hạn (chỉ đổi phần hoàn thành, giữ nguyên add và delete).

Gửi đi và xem Claude Code xử lý. Điểm quan trọng là nó không cần build lại cả ứng dụng. Nó cập nhật đúng hành vi hoàn thành ta yêu cầu, còn function thêm và xoá thì để yên. Trong app desktop, bạn cũng có thể xem trực tiếp thay đổi trước và sau, nên dễ thấy chính xác phần code nào đã bị sửa trước khi approve bất cứ thứ gì.

Mikey nói thói quen đó sẽ rất hữu ích khi project lớn dần. Hãy nhờ Claude Code giải thích code lạ trước khi bắt đầu thay đổi, rồi viết chỉ dẫn sửa càng cụ thể càng tốt. Bằng cách đó, bạn giữ lại được nhiều code đang chạy hơn, bạn thật sự hiểu Claude đang đổi gì, và tránh biến một cập nhật nhỏ thành một lần viết lại không cần thiết.

8. Debug khi có error message: dán nguyên cả lỗi

Bug thường là lúc người mới mất đà. App vừa chạy được một phút trước, đúng vậy, nhưng bạn đổi một thứ và bỗng một nút không phản hồi, hoặc cả trang từ chối load luôn. Tin tốt với Claude Code là bạn không cần hiểu toàn bộ codebase thì mới bắt đầu tìm ra cái gì hỏng.

Theo Mikey, có hai tình huống bạn sẽ gặp nhiều nhất. Tình huống đầu tiên là khi app đưa cho bạn một error message thật. Khi chuyện đó xảy ra, đừng cố làm gọn nó hay chỉ copy dòng cuối. Hãy lấy toàn bộ lỗi từ console và đưa cho Claude Code đủ context. Ví dụ, anh dán error vào và gõ:

I'm getting this error when I click a task, here's the full message:

Gửi đi, và Claude Code giờ có thể đọc qua error, lần ngược nó về đúng phần liên quan trong project, rồi tìm ra cần sửa gì.

Terminal với lỗi TypeError Cannot read properties of undefined và stack trace, cạnh một câu mô tả mơ hồ
Minh hoạ trên màn hình: một TypeError: Cannot read properties of undefined (reading 'title') với stack trace trỏ tới TaskDetail.jsx:42:18. Nếu chỉ gõ "it breaks when I click a task" mà không dán lỗi, Claude phải hỏi ngược "Which page is this on? What does the error say?".

Thông điệp đầy đủ quan trọng ở đây vì error thường chứa tên file, số dòng, stack trace và những chi tiết khác mà Claude có thể dùng để tìm ra gốc vấn đề. Nếu bạn chỉ đưa một mẩu nhỏ, bạn có thể đang bỏ đi chính manh mối nó cần. Nên mỗi khi có một error message thật, hãy dán nguyên cả lỗi thay vì cố giải thích bạn nghĩ nó có nghĩa là gì. Màn hình sau đó cho thấy chỗ sửa ở dòng 42 của src/components/TaskDetail.jsx, giờ thành <h2>{task?.title ?? "Untitled"}</h2>, kèm dấu tick "Fix".

9. Debug khi không có lỗi nào hiện ra, và câu chuyện recipe app

Loại bug thứ hai thì khác một chút, vì không có gì ném ra error cả. App mở lên, các nút đều chạy, mọi thứ thoạt nhìn bình thường, nhưng rồi một phần lại cư xử sai. Trong những trường hợp đó, bạn không cần biết file hay function nào gây ra vấn đề.

Chỉ cần giải thích điều bạn đang thấy và điều bạn kỳ vọng xảy ra. Ví dụ:

When I delete a task, the count at the top doesn't go down. It should drop by 1 every time I delete.

Như vậy là đủ thông tin để Claude Code tự điều tra hành vi đó. Nó có thể đọc qua các file liên quan, đi theo logic đằng sau hành động xoá, và tìm ra lý do bộ đếm không cập nhật. Bạn mô tả triệu chứng thật rõ, rồi để Claude lần ngược vấn đề về tới code.

Mikey kể chính anh đã gặp đúng kiểu tình huống này khi làm một recipe app. App không load đúng, dù anh cứ thử mở đi mở lại. Nhưng thay vì tự đào qua các file, tất cả những gì anh làm là bấm nút play và để Claude Code chạy project. Nó phát hiện ra vấn đề trong quá trình đó và tự động bắt đầu sửa app.

Claude Code giải thích nguyên nhân dev server hỏng và cách sửa bằng một Node static server
Đoạn sửa của recipe app trên màn hình: "Root cause" là python3 -m http.server bị crash trong tiến trình sandbox của preview_start; "Fix" là thay bằng một Node static server nhỏ (.claude/static-server.js) và cập nhật .claude/launch.json, server chạy lại trên cổng 4173.

Theo anh, đó là ví dụ tốt cho thấy vì sao debug ở đây bớt đáng sợ hơn nhiều. Có lúc bạn có một error message rõ ràng để dán vào, có lúc tất cả những gì bạn biết là có gì đó không cư xử như mong đợi, và cả hai đều đủ để tiếp tục tiến lên.

Việc duy nhất bạn cần làm là đưa cho Claude Code bằng chứng rõ nhất bạn có: dán nguyên error khi nó xuất hiện, mô tả chính xác hành vi khi không có error, rồi cứ làm tiếp trong cùng cuộc hội thoại để Claude vẫn giữ context từ những lần thử trước. Điều đó chắc chắn biến trải nghiệm debug của bạn từ một trò đoán mò thành một cuộc qua lại dễ kiểm soát hơn nhiều, cho tới khi app chạy đúng trở lại.

10. Để Claude Code lo terminal: Git và cài package

Lệnh terminal là một trong những thứ làm việc code có vẻ "kỹ thuật" hơn mức thật sự cần. Bạn có thể biết chính xác mình muốn làm gì, như khởi động một server hay cài một package, nhưng vẫn phải tra lệnh, kiểm cú pháp, và chắc chắn mình đang chạy nó đúng chỗ.

Claude Code có thể lo cả phần đó, vì đọc và sửa file chỉ là một phần những gì nó làm được. Nó cũng có thể làm việc trực tiếp qua terminal của bạn để cài package, chạy script, khởi động local server, chạy test và xử lý các tác vụ Git. Bạn mô tả kết quả mình muốn bằng ngôn ngữ thường, rồi Claude Code tự tìm ra cần những lệnh nào để đến đó.

Mikey dùng version control để minh hoạ. Anh bảo Claude Code:

Set up version control for this project - initialize a Git repository and make a first commit with everything we've built so far.
Kết quả sửa mục Done và prompt yêu cầu khởi tạo Git repository
Phía trên prompt Git là kết quả của lần sửa trước: "Buy groceries" đã chuyển xuống mục Done, bỏ tick thì quay lại list, và Claude cho biết không hề đụng tới handler của form thêm hay nút xoá, chỉ gom code dựng từng dòng vào buildTaskRow().

Sau khi gửi, Claude Code không lập tức bắt đầu thay đổi mọi thứ trên máy anh. Đầu tiên, nó hiển thị những lệnh nó muốn chạy rồi hỏi anh approve. Anh có thể xem lại nó định chạy gì, approve, rồi nhìn nó khởi tạo Git repository, stage các file của project, tạo commit đầu tiên và xác nhận quá trình đã xong.

Bình thường, anh sẽ phải nhớ vài lệnh Git và chạy chúng theo đúng thứ tự, nhưng ở đây một chỉ dẫn rõ ràng xử lý cả chuỗi. Cài package cũng tương tự. Nếu project cần thêm thứ gì, anh chỉ cần nói với Claude Code mình cần gì; nó chuẩn bị lệnh phù hợp, đưa anh approve, chạy nó, rồi hiển thị output của terminal để anh thấy chính xác chuyện gì đã xảy ra.

Trên màn hình, ví dụ cài package là yêu cầu "add zod for schema validation": Claude trả lời bằng lệnh npm install zod chờ duyệt, và khung terminal bên cạnh cho thấy output, thêm 1 package và package.json được cập nhật.

11. Bước approval, lệnh có hậu quả lớn và nút Stop

Mikey nói anh vẫn theo dõi được cả quá trình mà không phải tự nhớ mọi lệnh. Và bước approval càng quan trọng khi các lệnh có hậu quả lớn hơn.

Khởi động một development server, chạy test, hay cài một package đáng tin cậy, những việc đó nhìn chung là thao tác thường ngày. Một lệnh xoá file, thay đổi dữ liệu quan trọng, hay đẩy thứ gì đó lên production thì đáng được nhìn kỹ hơn trước khi approve. Nếu một hành động dễ đảo ngược, rủi ro thường thấp hơn nhiều. Nếu nó có thể thay đổi một thứ vĩnh viễn, bạn cần dành một giây xem lại chính xác Claude sắp chạy gì.

Danh sách lệnh đã chạy và một hộp hỏi duyệt lệnh rm -rf ./data/ được gắn nhãn permanent change
Minh hoạ hai loại lệnh: npm run dev, npm test (24 passed, 0 failed) và npm i zod đã chạy xong; còn rm -rf ./data/ được gắn nhãn "BASH · PERMANENT CHANGE" và chờ chọn: Yes, Yes and don't ask again this session, hoặc No and tell Claude what to do differently (esc).

Bạn cũng có thể dừng một lệnh đang chạy nếu thấy có gì không ổn. Nút Stop ngắt tiến trình ngay lập tức, nên bạn vẫn là người quyết định cái gì được thực thi và khi nào. Claude Code có thể lo phần việc terminal cho bạn, nhưng bạn vẫn có thể xem lại lệnh, xem output của chúng, và can thiệp bất cứ khi nào cần.

12. CLAUDE.md: đặt rule một lần, mọi session đều biết

Lặp lại cùng một chỉ dẫn mỗi lần làm việc với project thì nhanh chán lắm, Mikey nói. Bạn cứ phải nhắc Claude dùng một ngôn ngữ nhất định, tránh những thư viện cụ thể, theo cách đặt tên của bạn, hoặc tổ chức file theo một kiểu nào đó. Claude Code cho bạn cách đặt các preference đó một lần rồi mang chúng sang mọi session, qua một file tên là CLAUDE.md.

CLAUDE.md nằm trong folder project và hoạt động như một bộ chỉ dẫn thường trực cho Claude Code. Claude đọc nó khi làm việc với project, nên nó đã biết sẵn coding style bạn thích, các rule của project và mọi ranh giới bạn muốn nó tuân theo, trước khi bạn bắt đầu giao việc mới. Nghĩa là bạn không phải lặp lại cùng một context trong từng prompt nữa.

Để thấy vì sao điều này quan trọng, trước tiên anh thực hiện một thay đổi khi project chưa có file CLAUDE.md:

Add a button to clear all completed tasks.

Claude Code build được tính năng, nhưng vì anh chưa đưa rule riêng nào cho project, nó lại phải tự quyết những thứ như đặt tên, cấu trúc và coding style. Tính năng có thể chạy hoàn toàn ổn, đúng vậy, nhưng những lựa chọn đó có thể không khớp với cách anh muốn phần còn lại của project được xử lý.

Giờ anh tạo một file CLAUDE.md ở thư mục gốc của project. Bạn có thể tự tạo bằng tay, nhưng có một cách nhanh hơn để bắt đầu: gõ lệnh dưới đây, Claude Code sẽ xem xét project và tạo một bản nháp CLAUDE.md ban đầu dựa trên những gì nó tìm thấy. Từ đó bạn sửa file và làm cho các rule cụ thể hơn theo cách bạn muốn làm việc.

/init

Với project này, anh chỉ thêm vài rule đơn giản:

- Use plain vanilla JavaScript. No frameworks.
- Name functions with clear, full words. No abbreviations.
- Keep everything in a single file.
- Never add a library without asking me first.
App Claude: bốn rule được gửi trong chat và file CLAUDE.md mở bên phải với mục Conventions
Bốn rule được gửi trong khung chat, bên phải là task-manager/CLAUDE.md với các mục Project overview, Conventions, Commands và Architecture. Trên màn hình, Claude trả lời rằng bốn rule này đã có sẵn nguyên văn trong mục Conventions nên không cần thêm gì.

Đó là những chỉ dẫn nhỏ, nhưng chúng gỡ đi rất nhiều quyết định mà Claude lẽ ra phải tự đưa ra. Sau khi lưu file, anh lại nhờ Claude thêm nút xoá mọi task đã hoàn thành. Lần này, Claude Code đã có sẵn rule của project trong context. Nó theo đúng cách đặt tên, giữ mọi thứ trong một file, và không thêm thư viện, mà anh không phải nhắc lại bất kỳ chỉ dẫn nào trong prompt. Bản thân yêu cầu vẫn đơn giản, vì Claude đang mang các preference ở phía sau.

Đó là lý do nên setup CLAUDE.md sớm: mọi task mới đều có thể tự động theo cùng bộ rule của project, giữ code nhất quán hơn và đỡ cho bạn phải lặp lại suốt quá trình build. Theo Mikey, ngay cả một file CLAUDE.md ngắn với ba hay bốn rule rõ ràng cũng tạo ra khác biệt rõ rệt, nên đáng tạo một file như vậy gần lúc bắt đầu mọi project. Trên màn hình, khung tiêu đề tóm ý này: "Set it once. Every session after that already knows."

13. Agentic mode: giao cả một recipe app trong một brief

Cho tới giờ, cách làm khá "cầm tay": ta yêu cầu một thứ, xem lại thay đổi, approve, rồi sang bước kế. Agentic mode cho phép giao một task lớn hơn, nhiều bước, trong một lần. Claude Code có thể lên kế hoạch công việc, quyết định cái gì cần xảy ra trước, rồi thực hiện thay đổi và đi tiếp qua cả task mà không chờ một prompt mới sau mỗi bước.

So sánh Hands-on với các vòng ask rồi change, và Agentic với một task nhiều bước
Hai cách làm việc: bên trái "Hands-on" là chuỗi ask → change → duyệt lặp đi lặp lại; bên phải "Agentic" là một "one multi-step task" tự đi qua decide the order, read the files, edit 4 files, run the tests, fix what failed.

Chìa khoá ở đây là đưa cho nó một brief đúng nghĩa. Một chỉ dẫn mơ hồ như "make this better" để lại quá nhiều chỗ cho diễn giải. Một lần bàn giao tốt hơn nên giải thích mục tiêu, mọi ràng buộc nó cần tuân theo, thế nào thì được tính là xong, và bất cứ thứ gì bạn đặc biệt không muốn nó thêm vào. Như vậy Claude có đủ định hướng để tự làm việc mà project không trôi xa khỏi điều bạn vừa yêu cầu.

Để minh hoạ, Mikey chuyển sang một project mới và build một recipe saver đơn giản, để xem toàn bộ quy trình từ đầu đến cuối. Anh yêu cầu Claude Code build một recipe saver mà ở đó người dùng có thể thêm công thức với tiêu đề, nguyên liệu và các bước; xem tất cả công thức đã lưu trong một list; mở một công thức để xem đầy đủ chi tiết; và xoá những gì không cần nữa.

Anh cũng giữ bản build đơn giản: HTML, CSS và JavaScript thuần trên một trang duy nhất, không thư viện, không tài khoản người dùng, không hệ thống đăng nhập. Task chỉ được tính là xong khi cả bốn hành động đều chạy đúng trong trình duyệt. Prompt trên màn hình:

Build a recipe saver. Users can add a recipe with a title, ingredients, and steps, view all saved recipes in a list, click one to see its full details, and delete recipes they don't want. Use plain HTML, CSS, and JavaScript, single page, no libraries. Done means all four actions work in the browser. Don't add user accounts or a login - keep it simple.

Sau khi gửi, anh không thêm chỉ dẫn nào giữa các bước nữa. Claude Code bắt đầu bằng việc lên kế hoạch app cần gì, rồi đi qua kế hoạch đó theo thứ tự: tạo cấu trúc, build tính năng thêm, dựng list công thức, tạo màn hình chi tiết, và thêm function xoá, tất cả từ một yêu cầu đó.

Khi nó xong, trọng tâm chuyển sang review kết quả. Anh xem các file đã thay đổi, mở preview và thử bốn hành động đã yêu cầu: thêm một công thức, thấy nó trong list, mở nó ra, rồi xoá nó. Trong lúc làm, Claude cũng tự thử: trên màn hình, nó thêm hai công thức Pancakes và Guacamole, kiểm tra chuyển qua lại giữa chúng, rồi nhận ra hộp thoại confirm() gốc của trình duyệt bị chặn trong trình duyệt test, nên thay bằng một hộp xác nhận ngay trong trang ("Delete Recipe") và kiểm tra lại luồng xoá; dữ liệu được giữ qua localStorage khi tải lại trang.

Nếu có gì cần chỉnh, đó sẽ là prompt tiếp theo, nhưng toàn bộ phiên bản đầu tiên đến từ một yêu cầu chi tiết. Anh đưa cho Claude Code mục tiêu, các ranh giới và một định nghĩa rõ ràng về thế nào là xong, còn nó tự lo các bước ở giữa. Theo Mikey, đó mới là giá trị thật của agentic coding.

14. Năm lỗi người mới hay mắc với Claude Code

Claude Code dễ dùng hơn nhiều một khi bạn ngừng mắc những lỗi nhỏ mà hầu như người mới nào cũng mắc. Rất nhiều bực bội người ta gặp chỉ đến từ cách họ dùng công cụ, nên biết trước điều cần tránh sẽ giúp ích, trước khi những thói quen đó kịp thành nếp.

  1. Prompt từng dòng một. Nếu bạn đưa Claude Code những chỉ dẫn bé tí như vậy rồi chờ sau mỗi bước, rốt cuộc chính bạn là người quản lý cả quy trình. Cách tốt hơn là đưa đủ context, giải thích mục tiêu rõ ràng, rồi để nó làm nhiều phần của task cùng lúc. Khung chữ trên màn hình ghi đúng ý đó: "A better approach: give it the full context, explain the goal clearly, and let it work through more of the task at once."
  2. Bỏ qua CLAUDE.md. Lỗi này nối tiếp lỗi đầu. Nếu bạn cứ lặp lại preference, như dùng vanilla JavaScript hay tránh thư viện, mỗi lần mở session mới, thì những rule đó có lẽ nên nằm trong file ấy. Setup một lần giữ project nhất quán và đỡ cho bạn lặp đi lặp lại cùng chỉ dẫn.
  3. Xin viết lại toàn bộ khi chỉ cần một thay đổi nhỏ. Lỗi này thường xuất hiện khi bạn bắt đầu sửa code có sẵn. Yêu cầu rộng cho Claude Code quyền động vào nhiều hơn mức cần. Nếu một tính năng cần sửa, hãy giải thích hành vi hiện tại, điều bạn muốn đổi, và cái gì phải giữ nguyên.
  4. Lướt qua error message rồi gửi ngay prompt khác. Đây là chuyện debug. Khi có gì hỏng, error đầy đủ thường cho Claude Code đúng context nó cần để lần ra vấn đề. Nên hãy dán nguyên thông điệp thay vì đoán nguyên nhân hay chỉ mô tả một phần những gì đã xảy ra.
  5. Đối xử với Claude Code như một cửa sổ chat thông thường. Theo Mikey, đây là lỗi lớn nhất. Nó đọc được project, sửa được file, chạy được lệnh, thử được thay đổi, và đi qua được những task nhiều bước. Một khi bạn bắt đầu giao cho nó những công việc trọn vẹn, thay vì coi mỗi bước là một câu hỏi riêng, cả workflow trở nên nhanh hơn và hữu ích hơn nhiều.

15. Kế hoạch bắt đầu và project đầu tiên

Đến lúc này, theo Mikey, điều tốt nhất bạn có thể làm là ngừng coi Claude Code là thứ còn phải học, và bắt đầu dùng nó cho một project thật. Bạn đã có workflow cốt lõi; điều quan trọng bây giờ là biến nó thành thói quen.

Các bước anh đề xuất:

  1. Cài app desktop từ claude.com/download và đăng nhập.
  2. Tạo một folder project sạch và trỏ Claude Code vào đó. Folder trống hoàn toàn cũng không sao. Nó sẽ thành workspace của bạn và cho Claude một chỗ tập trung để đọc, viết và chạy mọi thứ liên quan đến project.
  3. Thêm một file CLAUDE.md với vài rule rõ ràng: ngôn ngữ bạn muốn dùng, project nên được cấu trúc ra sao, và bất cứ thứ gì Claude nên tránh. Ngay cả một bộ chỉ dẫn ngắn cũng đỡ cho bạn phải lặp lại cùng preference mỗi lần làm việc.

Ý chính anh muốn người xem mang theo: Claude Code chạy tốt nhất khi bạn đối xử với nó như một agent. Nó đọc được file của bạn, chạy được lệnh, thực hiện được thay đổi, và làm được những task lớn hơn ngay bên trong project. Khi thật sự hiểu điều đó, prompt của bạn tự nhiên bớt xoay quanh từng bước nhỏ và chuyển sang việc cho Claude một kết quả rõ ràng để nhắm tới.

một briefrõ ràng Claude buildtự đi các bước reviewxem cái gì đã đổi sửa chỗcần chú ý lặp lại vài lần với task list, note app hoặc máy tính đơn giản Project đầu tiên: đủ đơn giản để làm xong
Hình 15.1Vòng luyện tập Mikey gợi ý cho project đầu tiên: một brief rõ ràng, để Claude build, review những gì nó đổi, sửa chỗ cần, rồi lặp lại vài lần.

Với project đầu tiên, hãy giữ nó đủ đơn giản để làm xong. Build lại một thứ mà có thể bạn đã hiểu rồi, như một task list, một note app hay một máy tính cơ bản. Rồi đưa Claude một brief rõ ràng, để nó build, review những gì nó đã đổi, sửa bất cứ thứ gì cần chú ý, và lặp lại quy trình đó vài lần. Chính sự luyện tập đó biến mọi thứ trong video thành thứ bạn dùng được mà không phải nghĩ về từng bước.

Mikey kết lại: giờ bạn đã có 95% Claude Code sẽ quan trọng trong hầu hết các project hằng ngày, và bước tiếp theo đơn giản chỉ là mở một folder ra và bắt đầu build. Anh cảm ơn người xem đã dành thời gian theo tới cuối video và hẹn gặp lại ở video sau.

Nguồn và liên kết 7 nguồn

  1. Tên gốc: How Complete Beginners Master 95% of Claude Code in 28 minutes
  2. Sự kiện: YouTube
  3. Video gốc: https://www.youtube.com/watch?v=Q1wJe_hSPic youtube.com
  4. Kênh YouTube Mikey No Code (Mikey): youtube.com/channel/UCde0vB0fTwC8AT3sJofFV0w youtube.com
  5. Trang tải app Claude cho desktop (Chat, Claude Cowork và Claude Code), nơi Mikey cài app trong video: claude.com/download claude.com
  6. Tài liệu Claude Code về app desktop: code.claude.com/docs/en/desktop code.claude.com
  7. Tài liệu Claude Code về CLAUDE.md và lệnh /init để tạo bản khởi đầu: code.claude.com/docs/en/memory code.claude.com