# Một năm dùng Claude Code mỗi ngày: những gì thật sự có ích

[MergeToMaster](https://homus.dev/speakers/mergetomaster) · [MergeToMaster](https://homus.dev/orgs/mergetomaster)

> Mode, model, effort, /goal, /branch, /advisor, quản lý context, subagent, CLAUDE.md, cách team Anthropic làm việc, mẹo prompt, skill và MCP (tháng 10/2026).

Topics: Coding Agents, Context Engineering, Workflow, Skills

Canonical: https://homus.dev/talks/i-used-claude-code-every-day-for-a-year-heres-what-i-learnt

## 1. Thứ thật sự có ích và thứ phí thời gian

Người dẫn kênh MergeToMaster mở đầu bằng chuyện của chính anh: mấy năm gần đây anh build phần mềm thật với Claude Code, và trong quá trình đó anh thấy có những thứ cực kỳ hữu ích, có những thứ hoàn toàn phí thời gian. Video đăng ngày 24/10/2026 là phần anh tổng hợp lại: những kỹ thuật anh thích nhất, tốt nhất để build phần mềm với Claude Code, những thứ thật sự đã giúp anh.

Danh sách chủ đề anh hứa: CLI, skill, MCP, context management, memory, multi-agent, và rất nhiều lỗi phổ biến anh thấy nhiều người mắc, trong đó có cả những lỗi chính anh từng mắc. Anh cũng sẽ đi vào cách chính team ở Anthropic dùng Claude. Phần mô tả của video (đăng ngày 24/10/2026) ghi rõ mọi thứ trong video là "current as of October 2026", tức đúng tới tháng 10/2026.

![Người dẫn kênh MergeToMaster nói trước camera, phía sau là màn hình máy tính và ghế gaming](https://homus.dev/photos/-daz-uPJ53Q-0026.jpg)

Người dẫn kênh MergeToMaster nói trực tiếp với camera ở phần mở đầu video đăng ngày 24/10/2026, trước khi chuyển sang docs của Claude Code.

## 2. Docs của Claude Code: nhiều lựa chọn tới mức "madness"

Điểm xuất phát anh chọn là docs của Claude Code. Anh hỏi người xem: bạn có biết ở đây có nhiều lựa chọn tới mức nào không? Trên màn hình là danh sách command dài dằng dặc trong docs (trong khung hình là các mục như `/sandbox`, `/schedule`, `/security-review`, `/setup-bedrock`, `/simplify`, `/skill-doctor`), theo video đăng ngày 24/10/2026.

Với anh, những thứ như thế này càng khẳng định rằng Anthropic đang dùng AI cho mọi thứ. "Ai lại đi build nhiều lựa chọn tới mức này chứ? Chỉ có AI mới làm ra cái sự điên rồ này" (Only an AI would make this madness), anh nói. Rồi anh hỏi tiếp: các bạn có biết trong Claude Code có cả một đài lo-fi radio không? Trang danh sách command của docs (đọc ngày 26/10/2026) có lệnh `/radio`, mô tả là mở đài lo-fi Claude FM trong trình duyệt.

![Màn hình lo-fi radio với nhân vật pixel màu cam của Claude Code đi trên nền chấm, góc trên ghi tên bài nhạc đang phát](https://homus.dev/photos/-daz-uPJ53Q-0042.jpg)

Đài lo-fi radio mà anh nhắc tới, như video đăng ngày 24/10/2026 cho thấy: nhân vật pixel màu cam của Claude Code đi qua một khung cảnh vẽ bằng chấm, góc trên bên phải chạy tên bài nhạc đang phát.

Dù vậy, anh nói trong danh sách đó thật sự có những thứ rất hữu ích, và anh sẽ cố nhặt ra những cái thú vị hơn, đơn giản vì anh không muốn làm người xem chán và không muốn làm mất thời gian của họ (video đăng ngày 24/10/2026).

## 3. Núm vặn thứ nhất: mode

Theo anh, trong Claude Code (tính đến video đăng ngày 24/10/2026) có ba "núm vặn" (dial) chính: mode, model và effort level. Anh đi qua từng cái một.

Đầu tiên là mode. Anh kể ra: plan, accept edits, auto mode, và chế độ chấp nhận edit thủ công (manual). Trên màn hình là bốn dòng trạng thái tương ứng: `plan mode on`, `accept edits on`, `auto mode on` (cả ba kèm chú thích "shift+tab to cycle") và `manual mode on`. Mỗi mode có chỗ dùng riêng, có ưu điểm và nhược điểm riêng, nên theo anh điều quan trọng là dùng đúng cách; anh hẹn sẽ đi chi tiết hơn khi nói về workflow ở phần sau (video đăng ngày 24/10/2026).

![Bốn dòng trạng thái: plan mode on, accept edits on, auto mode on (shift+tab to cycle), manual mode on](https://homus.dev/photos/-daz-uPJ53Q-0108.jpg)

Bốn mode của Claude Code như video đăng ngày 24/10/2026 cho thấy: plan, accept edits và auto mode xoay vòng bằng shift+tab; dòng cuối là manual mode.

Ví dụ anh đưa ra (video đăng ngày 24/10/2026): plan cực kỳ hữu ích khi bạn làm một feature phức tạp, vì bạn được cùng Claude đi qua từng bước, gần như trò chuyện với nó về việc nó thật sự sẽ implement feature nào và implement thế nào, thay vì để nó tự quyết mọi thứ cùng một lúc. Còn kiểu auto-accept edits thì cho phép Claude tự điều chỉnh: nó mắc lỗi, tự sửa trong lúc làm, và tự cải thiện dần.

Cả hai đều có chỗ đứng của mình, và anh sẽ quay lại chuyện này ở phần sau.

## 4. Núm vặn thứ hai: model

Về model, anh nói "tại thời điểm quay video này" (video đăng ngày 24/10/2026), Opus và Fable 5 là các model mới nhất và mạnh nhất Anthropic cung cấp, nhưng đi kèm với đó chúng cũng đắt nhất. Màn hình lúc đó hiện menu `/model` với danh sách dài hơn: Default (recommended) là Opus 5.5, rồi Opus 5.5, Fable 5.1, Haiku 4.5, Sonnet 5, Opus 5, Fable 5, Opus 4.8, Opus 4.7, Opus 4.6 và thêm ba model nữa.

![Menu /model: Select model, danh sách Default (recommended) Opus 5.5, Opus 5.5, Fable 5.1, Haiku 4.5, Sonnet 5, Opus 5, Fable 5, Opus 4.8, Opus 4.7, Opus 4.6](https://homus.dev/photos/-daz-uPJ53Q-0137.jpg)

Menu `/model` trong video đăng ngày 24/10/2026: mỗi model có một dòng mô tả, ví dụ Fable là "Most capable for your hardest and longest-running tasks", Haiku 4.5 là "Fastest for quick answers", Sonnet 5 là "Efficient for routine tasks". Dưới danh sách là mức effort và gợi ý dùng `/fast` để bật Fast mode (Opus 5.5).

Vì vậy chọn model nào, theo anh (video đăng ngày 24/10/2026), rõ ràng phụ thuộc vào ngân sách, nhưng cũng phụ thuộc vào task bạn đang làm. Nếu việc đơn giản thì có lẽ bạn không cần tới những model cỡ Fable 5. Nhưng cũng có rất nhiều task mà dùng nó chắc chắn là đáng.

## 5. Núm vặn thứ ba: effort, và vì sao anh để high

Núm cuối là effort. Anh nói "as it stands", tức tính đến video đăng ngày 24/10/2026, có năm mức effort: low, medium, high, extra high và max. Bảng chọn Effort trên màn hình đặt các mức này trên một thanh trượt từ "Faster" tới "Smarter" (low, medium, high, xhigh, max), và sau một vạch ngăn còn một mục mờ hơn là "ultracode", ghi chú "xhigh + workflows".

![Biểu đồ Agentic coding by effort level, Artificial Analysis Coding Agent Index, trục ngang là cost per task, các điểm HIGH, XHIGH, MAX được đánh dấu trên đường Opus 5](https://homus.dev/photos/-daz-uPJ53Q-0223.jpg)

Biểu đồ "Agentic coding by effort level" (Artificial Analysis Coding Agent Index) trong video đăng ngày 24/10/2026: trục dọc là index score (%), trục ngang là chi phí mỗi task (USD, thang log), các đường là Opus 5, Fable 5, Opus 4.8 và GPT-5.6 Sol. Trên đường Opus 5, điểm HIGH nằm quanh 65 với chi phí chưa tới 7 USD; XHIGH cao hơn một chút nhưng đắt hơn, còn MAX đắt hơn nữa mà điểm lại thấp hơn XHIGH.

Với công việc của anh, anh để high làm mặc định khoảng 90% thời gian (theo video đăng ngày 24/10/2026). Lý do: anh cảm thấy ở mức đó mình được "rất đáng đồng tiền" (a really good bang for my buck). Nếu nhìn vào điểm số trên một số bài benchmark, bạn sẽ thấy high đạt điểm rất, rất tốt mà không tốn quá nhiều tiền.

Còn khi bắt đầu đi vào vùng very high hay max, theo anh (video đăng ngày 24/10/2026) bạn thường thấy lợi ích giảm dần (diminishing returns), thậm chí có trường hợp điểm còn thấp hơn, trong khi chi phí cứ tăng lên. Tất nhiên có ngoại lệ: nếu việc bạn làm gần như không cần suy nghĩ thì low hoặc medium có thể hợp lý; nếu việc thật sự phức tạp thì có thể nên dùng very high hoặc max. Nhưng nếu không muốn nghĩ nhiều, anh cứ để high rồi quên nó đi.

## 6. Ba slash command đáng nhớ: /goal, /branch, /advisor

Anh quay lại docs của CLI để nhặt ra vài command hữu ích (video đăng ngày 24/10/2026). Đầu tiên là `/goal`. Theo anh, nó làm đúng như tên gọi: Claude cứ tiếp tục làm cho tới khi đạt mục tiêu mong muốn. Bạn đặt cho nó một goal muốn đạt được, và Claude sẽ chạy tiếp cho tới khi đạt goal đó, điều có thể rất quan trọng với một số loại task. Trang danh sách command (đọc ngày 26/10/2026) mô tả `/goal [condition|clear]` là đặt một goal để Claude làm tiếp qua nhiều lượt cho tới khi điều kiện được thỏa.

Tiếp theo là `/branch`, mà theo anh (video đăng ngày 24/10/2026) có thể rất hữu ích khi bạn muốn đi xuống "hang thỏ" (rabbit hole) một chút. Bạn gõ `/branch` và rẽ nhánh khỏi cuộc hội thoại hiện tại để có một cuộc trò chuyện nhỏ bên lề, có thể là điều tra một thứ bạn muốn tìm hiểu ngoài cửa sổ hiện tại. Bạn không mất cuộc hội thoại đang có, nhưng được đi điều tra một thứ có thể có ích, có thể không. Nó rất hữu ích khi bạn muốn đi thử, tìm hiểu một điều gì đó mà không ảnh hưởng tới cuộc hội thoại bình thường.

Ý của `/branch` theo lời anh trong video đăng ngày 24/10/2026: rẽ một nhánh để thử hướng khác, cuộc hội thoại gốc vẫn còn nguyên.

Cuối cùng là `/advisor`, mà anh gọi là "khá hay" (video đăng ngày 24/10/2026). Nó cho phép bạn gắn một advisor là một model cụ thể khác vào task đang làm. Claude sẽ thật sự đi hỏi ý một model thứ hai vào những thời điểm then chốt trong lúc làm task. Ví dụ, nếu việc khá đơn giản và bạn muốn Sonnet làm, bạn có thể bảo nó thường xuyên kiểm tra lại với một model như Fable để chắc rằng nó đang ra quyết định đúng. Theo anh, cách này cực kỳ hữu ích và có thể giúp tiết kiệm tiền.

![Phiên Claude Code chạy Sonnet 5 with high effort, dòng Advising using Fable 5.1 và Advisor has reviewed the conversation, rồi một Update(sum.js)](https://homus.dev/photos/-daz-uPJ53Q-0343.jpg)

Minh họa advisor trong video đăng ngày 24/10/2026: phiên chạy "Sonnet 5 with high effort", sau khi đọc 2 file, liệt kê 1 thư mục và chạy 1 lệnh shell thì hiện "Advising using Fable 5.1" và dòng "Advisor has reviewed the conversation and will apply the feedback", rồi mới sửa file `sum.js`.

## 7. Context window: tài nguyên quan trọng nhất cần quản lý

Giờ tới context. Anh cho rằng context quan trọng hơn nhiều so với mức người ta thường nghĩ, và docs cũng xác nhận điều đó. Anh đọc đoạn docs trên màn hình (trang best-practices, theo video đăng ngày 24/10/2026): khi context window sắp đầy, Claude có thể bắt đầu "quên" các chỉ dẫn trước đó hoặc mắc nhiều lỗi hơn; context window là tài nguyên quan trọng nhất cần quản lý. "Họ không thể nói rõ hơn được nữa", anh nhận xét. Cùng đoạn docs đó (trang best-practices, như trên màn hình trong video đăng ngày 24/10/2026) còn ghi rằng context window chứa toàn bộ cuộc hội thoại, mọi file Claude đọc và mọi output của lệnh, rằng một phiên debug hay khám phá codebase có thể tiêu hàng chục nghìn token, và hiệu năng LLM giảm khi context đầy dần.

Vậy context là gì? Theo lời anh (video đăng ngày 24/10/2026), model của bạn giữ khoảng 200k tới khoảng một triệu token trong cửa sổ bộ nhớ hiện tại. Trong đó thường có toàn bộ cuộc hội thoại, mọi file đã đọc và output của mọi lệnh bạn đã chạy, và chính những thứ đó cho model hiểu biết về việc nó đang làm. Hình minh họa trên màn hình chia khung context window thành ba lớp: conversation, files read và command output.

Nhưng chính chúng ta cũng có khá nhiều quyền kiểm soát context window này: xem được nó đang dùng bao nhiêu token và chia ra sao, clear nó, compact nó, thậm chí rewind nó. Trang danh sách command (đọc ngày 26/10/2026) ghi các lệnh tương ứng là `/context`, `/clear`, `/compact` và `/rewind`.

Anh nói "best practice hiện tại" (tính đến video đăng ngày 24/10/2026) có vẻ chỉ về việc dùng khoảng 40 tới 60% context window có sẵn, với mục tiêu compact thủ công đều đặn. Ta nên clear context giữa các task khác nhau và compact ở chỗ hợp lý nhất, thay vì để Claude tự làm bất cứ khi nào nó thấy quá đầy. Một cách tốt để làm vậy là cố giữ lại (persist) artifact và thông tin hữu ích, chứ không phải một đống rác.

![Khung CONTEXT WINDOW từ 0% tới 100% với dải 40-60% được tô, bên cạnh là output lệnh /context: Context Usage, 120k/200k tokens (60%)](https://homus.dev/photos/-daz-uPJ53Q-0443.jpg)

Vùng 40-60% của context window, như video đăng ngày 24/10/2026 minh họa, cạnh output của `/context` dạng lưới ô màu với dòng "120k/200k tokens (60%)".

Với anh, điều này rất hợp lý (video đăng ngày 24/10/2026): ta không thật sự muốn model giữ trong bộ nhớ mọi lỗi nó từng mắc, cả đống log debug, thông tin sai. Ta chỉ muốn nó có thông tin liên quan nhất và mới nhất. Vì vậy quản lý context đúng cách trở thành chìa khóa. Khi đi vào workflow, anh sẽ nói chi tiết hơn về chuyện này và cách đưa nó vào thói quen dùng hằng ngày.

## 8. Subagent: để context chính luôn sạch

Anh nói ngắn về subagent, vì khi đã bàn chuyện giữ context sạch thì subagent là một cách thật sự tốt để làm điều đó (video đăng ngày 24/10/2026). Giả sử bạn nhờ Claude đi tìm hiểu một phần codebase hoạt động thế nào. Nó đọc 10 file, grep qua một số log, chạy vài lệnh, và từng chút một trong số đó đều rơi vào context window chính của bạn. Bạn nhận lại một mẩu thông tin có giá trị, nhưng giờ bạn đang phải mang theo cả đống tải nặng đó.

Subagent có thể sửa chuyện này, theo anh (video đăng ngày 24/10/2026). Một instance Claude riêng đi làm toàn bộ việc điều tra rồi chỉ mang về cho bạn một bản tóm tắt. Nó không mang về toàn bộ context, chỉ mang về một bản tóm tắt gọn gàng, sạch sẽ. Nhờ vậy context của bạn không có những thứ thừa thãi kia.

![Hai khung MAIN CONTEXT và SUBAGENT: bên trái một dòng Agent(Investigate login session handling) chạy nền, bên phải subagent đọc nhiều file và chạy grep, find](https://homus.dev/photos/-daz-uPJ53Q-0543.jpg)

Minh họa trong video đăng ngày 24/10/2026: context chính chỉ có câu "Figure out how login sessions work in this codebase." và một agent nền "Investigate login session handling"; toàn bộ việc đọc `session.js`, `tokens.js`, `requireAuth.js`, các route, cùng lệnh `grep` và `find` nằm trong khung của subagent.

Cách tạo một subagent mà anh mô tả (video đăng ngày 24/10/2026): bỏ một file markdown vào thư mục `.claude/agents`, đặt cho nó một cái tên, một mô tả và lúc nào thì dùng, những tool nó được phép đụng tới, và một prompt. Claude đọc phần mô tả đó và tự động giao việc khi một task khớp. Ví dụ trên màn hình là file `.claude/agents/code-improver.md`, lấy từ trang sub-agents của docs, với dòng description được tô sáng:

```
---
name: code-improver
description: Scans files and suggests improvements for
readability, performance, and best practices.
Use after writing or modifying code.
tools: Read, Grep, Glob
---

You are a code improvement specialist. For each issue you
find, explain the problem, show the current code, and provide
an improved version.
```

Và đây là chỗ bắt đầu vui, theo anh (video đăng ngày 24/10/2026): bạn thậm chí không bị giới hạn ở một subagent. Bạn có thể cho nhiều agent cùng đi làm những việc khác nhau: một reviewer, một người viết test, một người đi viết documentation. Chúng đều làm việc tách biệt rồi báo lại, nên bạn có kiểu như cả một team agent nhỏ làm việc cho mình. Hình minh họa lúc đó cho thấy ba background agent cùng được khởi chạy để review, viết test và viết docs cho `session.js`, gắn nhãn REVIEWER, TEST WRITER và DOCUMENTATION.

Nhưng việc này cũng đi kèm một cảnh báo. Anh nói (video đăng ngày 24/10/2026): dùng subagent, nhất là dùng nhiều subagent cùng lúc, có thể làm bạn tốn một hóa đơn token khá lớn. Nên nếu đang eo hẹp ngân sách, có lẽ bạn nên dùng chúng một cách tiết kiệm.

## 9. Memory: CLAUDE.md nên chứa gì và bỏ gì

Còn nếu bạn muốn bổ sung thêm context cho Claude mà không làm đầy context window, theo anh (video đăng ngày 24/10/2026) bạn cũng có thể cho nó một ít memory. "Không, không phải loại memory đó", anh nói thêm. Đây là những file bạn có thể định nghĩa, đưa vào và nạp vào Claude mỗi lần nó chạy. Ví dụ, `CLAUDE.md` là một file markdown được tự động nạp vào Claude ở mọi lần chạy. Bạn có thể vào Claude Code ngay và gõ `/init`, nó sẽ tạo file đó cho bạn; trên màn hình, menu slash command hiện `/init` với mô tả "Initialize a new CLAUDE.md file with codeb…".

Nghe khá hữu ích phải không? Vậy thật ra nên để gì trong file này? Anh nói chính Claude đã đưa ra hướng dẫn về chuyện này; bảng trên màn hình lấy từ trang best-practices của docs (theo video đăng ngày 24/10/2026).

![Bảng Include và Exclude cho CLAUDE.md từ code.claude.com/docs/en/best-practices](https://homus.dev/photos/-daz-uPJ53Q-0653.jpg)

Bảng Include / Exclude cho `CLAUDE.md` trong video đăng ngày 24/10/2026. Cột Include: bash command Claude không đoán được, quy tắc code style khác mặc định, hướng dẫn test và test runner ưa dùng, quy ước repo (đặt tên branch, PR), quyết định kiến trúc riêng của project, đặc thù môi trường dev (env var bắt buộc), những gotcha không hiển nhiên. Cột Exclude: những gì Claude tự hiểu được khi đọc code, quy ước ngôn ngữ chuẩn, API docs chi tiết (link tới docs thay vào), thông tin hay thay đổi, giải thích dài hay tutorial, mô tả từng file, và những điều hiển nhiên như "write clean code".

Theo lời anh tóm (video đăng ngày 24/10/2026), hướng dẫn đó khuyên đưa vào: những bash command Claude không đoán được, một số tham chiếu code style khác với mặc định, có thể là hướng dẫn test và runner ưa dùng, quy ước repo như đặt tên branch và quy ước PR, có thể là các quyết định kiến trúc riêng của project, hoặc những điểm lạ của môi trường dev. Nhưng bạn cần chắc rằng mình loại bỏ mọi thứ Claude tự suy ra được: ví dụ API docs, các lựa chọn ngôn ngữ, hay những thứ quá hiển nhiên như "write clean code". Với file này, ít thường được coi là nhiều.

Và đây là một cách dễ nhớ anh đưa ra: đừng kể với Claude mọi thông tin bạn có thể muốn nó biết, mà hãy chỉ cho nó cách tìm ra thông tin quan trọng nhất. Ý kiến riêng của anh (video đăng ngày 24/10/2026) là tốt nhất nên giữ file này dưới khoảng 60 dòng, với 300 dòng là giới hạn cứng, theo cách anh nói. Tất nhiên bạn cũng có thể thêm import tới các tài liệu tách module nếu thấy liên quan.

## 10. Cách các team ở Anthropic dùng Claude Code

Khi đã hiểu context, memory và subagent, anh chuyển sang cách thật sự dùng Claude trong một workflow thật. Anh nói chính Anthropic đã phát hành một tài liệu (anh gọi là "paper") mô tả cụ thể các team của họ dùng Claude thế nào, và anh coi đó là điểm khởi đầu rất tốt (video đăng ngày 24/10/2026). Trên màn hình là bìa tài liệu "How Anthropic teams use Claude Code".

Theo cách anh trình bày (video đăng ngày 24/10/2026), các team đó làm khác nhau giữa hai loại việc: prototype và feature đơn giản, với business logic và feature quan trọng (critical).

Với critical feature, theo anh (video đăng ngày 24/10/2026), họ khuyên điều quan trọng nhất là viết prompt rõ ràng, chi tiết, và nói chung phải thật cụ thể trong yêu cầu. Về workflow, họ thường dùng plan mode: bàn kế hoạch với Claude, có thể để nó đặt câu hỏi cho họ, review lại kế hoạch, và chỉ sau đó mới implement thật. Về context, tất cả là chuyện clear context giữa từng giai đoạn đó, đôi khi truyền qua các artifact như tiến độ (progress) để nó biết mình đang làm gì và đang tới đâu.

![Critical features: Claude Code hỏi Ready to code? với lựa chọn Yes, clear context (8% used) and use auto mode; vạch CLEAR CONTEXT rồi Plan to implement và Write(sum.js)](https://homus.dev/photos/-daz-uPJ53Q-0823.jpg)

Minh họa luồng critical feature trong video đăng ngày 24/10/2026: Claude đã viết xong plan và hỏi "Ready to code?", lựa chọn đầu là "Yes, clear context (8% used) and use auto mode"; sau vạch CLEAR CONTEXT, phiên mới bắt đầu từ "Plan to implement" và viết `sum.js`.

Còn với prototype, theo anh (video đăng ngày 24/10/2026), họ có cách tiếp cận rất khác. Họ dùng auto mode cho gần như mọi thứ, và tạo ra các vòng lặp (loop) trong đó model tự verify và test lại chính công việc của mình. Tức là để Claude tự bắt lỗi của chính nó và làm việc hoàn toàn tự động trong các vòng lặp. Tài liệu của Anthropic (đọc ngày 26/10/2026) gọi chế độ này là "auto-accept mode" (shift+tab) kèm các vòng lặp tự động trong đó Claude viết code, chạy test và lặp lại liên tục.

Với cả hai kịch bản, anh nói (video đăng ngày 24/10/2026) họ thấy test-driven development hiệu quả: cho Claude định nghĩa và viết toàn bộ test ngay từ đầu, rồi chỉ sau đó mới implement để pass các test đó. Hình minh họa cho thấy một vòng như vậy ở auto mode: viết `sum.js`, chạy `node --test` còn hai test đỏ, sửa, chạy lại còn một test đỏ, sửa tiếp rồi chạy lại.

## 11. Mẹo prompt: cụ thể, sửa hướng sớm, để Claude hỏi lại

Khi đã có một workflow đơn giản, anh đi qua vài kỹ thuật, mẹo và thủ thuật phổ biến (video đăng ngày 24/10/2026). Mẹo hiển nhiên nhất, theo anh, là cứ thật cụ thể. Nếu bạn đưa được cho nó nguồn cụ thể, thông tin và càng nhiều context càng tốt, bạn sẽ hài lòng hơn nhiều với kết quả. Kiểu như ý tưởng viết ticket cho một junior engineer. Bạn cũng có thể chỉ tới các pattern có sẵn, việc đó thường khá hiệu quả.

![Bảng Strategy, Before, After từ docs: Scope the task, Point to sources, Reference existing patterns, Describe the symptom](https://homus.dev/photos/-daz-uPJ53Q-0903.jpg)

Bảng "Provide specific context in your prompts" từ trang best-practices, trong video đăng ngày 24/10/2026: mỗi chiến lược có một prompt "Before" mơ hồ và một prompt "After" cụ thể, ví dụ "add tests for foo.py" thành "write a test for foo.py covering the edge case where the user is logged out. avoid mocks.", hay "add a calendar widget" thành yêu cầu đi xem các widget có sẵn, lấy `HotDogWidget.php` làm mẫu.

Bạn cũng nên sửa hướng thật sớm, anh nói (video đăng ngày 24/10/2026): nhấn Escape để hủy lượt chạy đang diễn ra, dùng rewind và clear để quay lại khi mọi thứ đã hỏng. Câu anh trích từ docs trên màn hình: một phiên sạch với prompt tốt hơn gần như luôn vượt một phiên dài đầy những lần sửa chồng chất ("A clean session with a better prompt almost always outperforms a long session with accumulated corrections.").

Và nếu không chắc mình đã đưa đủ thông tin chưa, cứ bảo nó đặt vài câu hỏi cho bạn. Theo anh (video đăng ngày 24/10/2026), bằng cách này Claude lấy được mọi context nó cần, còn bạn được tự ra quyết định, thay vì nó cứ thế chọn theo mặc định chung chung của nó.

## 12. Skill: chủ đề gây tranh cãi hơn

Những thứ cuối cùng anh nói tới thì gây tranh cãi hơn một chút, và đó là skill. Theo định nghĩa anh đưa (video đăng ngày 24/10/2026), skill là những chỉ dẫn tái sử dụng được, dạy agent của bạn làm các task cụ thể. Khi agent đang chạy một task cụ thể, nếu nó có một skill khớp, nó sẽ dùng chỉ dẫn của skill đó để làm task tốt hơn. Ví dụ trên màn hình là file skill `.claude/skills/summarize-changes/SKILL.md`:

```
---
description: Summarizes uncommitted
changes and flags anything
risky. Use when the user asks
what changed, wants a commit
message, or asks to review
their diff.
---

## Current changes

!`git diff HEAD`

## Instructions

Summarize the changes above in two or
three bullet points, then list any risks
you notice such as missing error handling,
hardcoded values, or tests that need
updating. If the diff is empty, say there
are no uncommitted changes.
```

Vấn đề là có rất nhiều skill, theo anh (video đăng ngày 24/10/2026): có những skill do Anthropic làm, và còn vô số skill do người dùng khác viết. Nhiều tới mức anh chắc chắn không có thời gian đi qua hết trong video này. Màn hình lúc đó lướt qua bảng xếp hạng trên trang skills.sh, ở quãng thứ hạng 159 tới 163 (lark-okr, minimalist-ui, ui-ux-pro-max, product-launch-video, brainstorming), con số bên phải mỗi dòng từ 383.4K tới 389.8K.

Cá nhân anh không thích dùng quá nhiều skill (video đăng ngày 24/10/2026), nhưng chúng có thể rất hữu ích nếu bạn muốn làm một việc cụ thể. Nên anh khuyên tìm hiểu một chút xem ngoài kia có những skill nào, và skill nào cụ thể có thể hợp với trường hợp của bạn.

## 13. MCP: cắm tool bên ngoài vào agent, và cẩn thận với quyền

Cùng mạch đó, anh nói rất nhanh về MCP. MCP là viết tắt của Model Context Protocol. Theo lời anh (video đăng ngày 24/10/2026), về cơ bản đó là một cách chuẩn để cắm tool bên ngoài vào agent của bạn. Ví dụ, thay vì copy rồi paste một stack trace từ tool logging, Claude có thể tự đi tương tác với tool đó và tự lấy log về.

Anh nói (video đăng ngày 24/10/2026) giờ đã có cả một hệ sinh thái MCP khá lớn với rất nhiều lựa chọn; trên màn hình là trang Official MCP Registry ("Discover Model Context Protocol servers") với mục "Recently Updated". Theo anh, chúng khá dễ cài và thêm vào config. Màn hình lúc đó hiện một lệnh ví dụ thêm MCP server của Sentry vào Claude Code:

```
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp
```

![Một dòng terminal: $ claude mcp add --transport http sentry https://mcp.sentry.dev/mcp](https://homus.dev/photos/-daz-uPJ53Q-1042.jpg)

Lệnh thêm MCP server qua HTTP trong video đăng ngày 24/10/2026: `claude mcp add --transport http sentry https://mcp.sentry.dev/mcp`.

Theo anh (video đăng ngày 24/10/2026), điều này có thể rất mạnh. Nhưng cũng giống skill, hãy để ý mình đang thêm gì vào agent. Mỗi MCP server bạn thêm vào là một thứ bạn đang cấp quyền cho AI làm. Ví dụ, không phải ai cũng muốn AI có thể gửi email thay mình. Nên hãy chắc rằng bạn biết mình đang thêm gì và nó có quyền làm những gì.

Điều anh dặn cuối cùng trong video đăng ngày 24/10/2026, vẽ lại: MCP giúp agent tự lấy log thay vì bạn copy-paste, nhưng mỗi server thêm vào là một quyền bạn trao cho AI.

## Nguồn và liên kết

- Tên gốc: I Used Claude Code Every Day for a Year. Here’s What I Learnt
- Sự kiện: [YouTube](https://homus.dev/events/youtube)
- Video gốc: [https://www.youtube.com/watch?v=-daz-uPJ53Q](https://www.youtube.com/watch?v=-daz-uPJ53Q)

- Kênh YouTube MergeToMaster (MergeToMaster): [youtube.com/channel/UCb3Ki5cDKMnbyUA6feZIx1Q](https://www.youtube.com/channel/UCb3Ki5cDKMnbyUA6feZIx1Q)

- Docs Claude Code, danh sách command (có `/goal`, `/branch`, `/advisor`, `/radio`, `/context`, `/compact`, `/rewind`, `/init`; đọc ngày 26/10/2026): [code.claude.com/docs/en/commands](https://code.claude.com/docs/en/commands)

- Docs Claude Code, best practices (đoạn về context window, bảng Include/Exclude cho CLAUDE.md, bảng prompt Before/After; đọc ngày 26/10/2026): [code.claude.com/docs/en/best-practices](https://code.claude.com/docs/en/best-practices)

- Docs Claude Code, subagents (đọc ngày 26/10/2026): [code.claude.com/docs/en/sub-agents](https://code.claude.com/docs/en/sub-agents)

- Docs Claude Code, MCP (đọc ngày 26/10/2026): [code.claude.com/docs/en/mcp](https://code.claude.com/docs/en/mcp)

- Anthropic, "How Anthropic teams use Claude Code" (PDF; có các mục "Fast prototyping with auto-accept mode", "Synchronous coding for core features", "Test-driven development workflow"; đọc ngày 26/10/2026): [www-cdn.anthropic.com/…/58284b19e702b49db9302d5b6f135ad8871e7658.pdf](https://www-cdn.anthropic.com/58284b19e702b49db9302d5b6f135ad8871e7658.pdf)

- Official MCP Registry (đọc ngày 26/10/2026): [registry.modelcontextprotocol.io](https://registry.modelcontextprotocol.io)

Nguồn: https://homus.dev/talks/i-used-claude-code-every-day-for-a-year-heres-what-i-learnt · cập nhật 2026-10-26
