=============================================
這篇文章與 ClaudeCode 共同撰寫。
不過內容 100% 反映投稿者的意圖,並已全面監修。
大家有在使用 ClaudeCode 嗎?
(若你是「已經完全駕馭得很好!」的人,讀下去也沒意義,建議關掉本文!)
我很喜歡 ClaudeCode,不論是工作或日常生活幾乎每天都在用。為了盡量讓 ClaudeCode 替我做事,我每天都會調整設定與 Skills、四處研究功能。
不過 ClaudeCode 雖然方便,也是一個較難上手的工具。我認為困難的原因來自「功能豐富」以及「爆炸性且頻繁的更新速度」。一不注意就會發現多了自己不知道的新功能。為了跟上,我幾乎每天早上都會看 Changelog(更新記錄)。那份資訊量之大,若說不停吞下無量的資訊也不為過。
另外,對不熟悉 CLI(命令列介面)的人來說,這介面也比較難親近。與像 Cursor 這類內建 IDE 的工具相比,直覺性較差,從其他工具轉換過來時可能會卡住。
我自己剛開始使用時也花了不少時間適應。身邊也常聽見有人說「我已經安裝 ClaudeCode 了,但接下來該怎麼做?」、「ClaudeCode 不懂啊 www 回到 Cursor 吧」之類的話。
市面上有很多 ClaudeCode 的入門部落格,但大多僅止於教入門使用或功能說明。當然使用方式與功能很重要,但我認為在使用 ClaudeCode 時的「心態(Mindset)」才是關鍵。有無這個心態,看到的風景會完全不同。此外,在掌握最低限度的功能與使用方法後,知道接下來要做什麼的「路線圖」也很重要。
因此,本文想傳達以下三點:
我盡量只寫最低限要注意的內容,但篇幅仍相當全面且豐富。讀完本文的人應該會成為「ClaudeCode 的新手」,並且能夠掌握「如何邁向中級者」的路徑。
本文假設讀者如下:
為了讓不熟悉 AI 工具的人也能理解,本文會在一開始說明前提知識(以易懂方式)。熟悉 AI 工具的人可以酌量略過。
首先希望你能意識到這一點:
儘量讓 ClaudeCode 替你做事
設定、功能調查、Skills 的建立,通通交給 ClaudeCode 吧。採取「先自己去讀文件理解再使用」的方式,對於更新速度快的 ClaudeCode 而言,是效率很低的做法。
舉例來說,若你對 Skills 這個功能感興趣,即使不知道怎麼用也沒關係。只要告訴 ClaudeCode:「我想試試看 Skills,但完全沒有概念。先用淺顯的方式說明 Skills,然後幫我一起建立一個 Skill。」就可以了。ClaudeCode 會透過 claude-code-guide 這類功能(子代理),一邊參照最新文件一邊回應你。
指示可以很抽象也沒關係。像是「想試試看 Skills」這種模糊的狀態已足夠。若你順便加上一句「不明白的地方就問我」,ClaudeCode 會主動追問「用途是什麼?」「目標語言是?」等問題。只要回答那些提問,指示自會自然具體化。
ClaudeCode 有一個 AskUserQuestion 的功能,可以用編號列出選項。只要在鍵盤上輸入編號就能回應,這讓回答問題的負擔大幅降低。
不是「先自己查資料再用」,而是「邊用邊學」。這個姿態是與 ClaudeCode 良好相處所必需的心態。
本章介紹的知識並非 ClaudeCode 獨有,而是適用於大多數 AI 工具的共通概念。已熟悉的讀者可以跳過。
LLM(Large Language Model,大型語言模型)是指經由大量文本資料訓練的 AI 模型。ChatGPT、Claude、Gemini 等皆建立在此機制上。
LLM 的本質是「對輸入的文字,以機率方式回傳最自然的後續文字序列」。影像、音訊、影片等資料在最底層也可視為由 0 與 1 組成的序列,LLM 的內容生成本質上還是輸出文字。因此,單純的 LLM 只能生成文字,並不具備讀檔、執行指令或操作外部服務的能力。
突破此限制的機制為 Function Calling(或稱 Tool Use)。當把「可以使用的工具清單」交給 LLM 時,LLM 能依情境選擇適當工具並呼叫它們。例如,遇到「請讀取這個檔案」的指令時,LLM 可呼叫檔案讀取工具,取得結果後再回答。
目前大多數 AI 工具(包含 ClaudeCode)皆以 LLM 為基礎。透過 LLM + Function Calling 的組合,不只生成文字,還能實際「採取行動」。
上下文(Context)是指傳給 AI 的資訊與語境。過去的對話、指定檔案的內容、網址的內容、MCP 或工具的執行結果等,凡是 AI 會參考的資訊都屬於上下文。
上下文視窗(Context Window)則是指 AI 一次能處理的資訊量上限。當對話變長、或傳入大量檔案時,就會接近這個上限。若達到上限可能會發生錯誤,或 AI 不能再參照較久之前的資訊。(為了便於理解,這裡採用了相當粗略的說法)
※ 另外,當 ClaudeCode 的上下文視窗接近上限時,可以使用 /compact 指令自動壓縮上下文。
參考:
MCP(Model Context Protocol,模型上下文協定)是讓 ClaudeCode 與外部工具或服務整合的機制。把 Slack、GitHub、資料庫等設定為 MCP 伺服器後,ClaudeCode 就能直接操作它們。
以 Slack 為例,比較有無 MCP 時能做的事:
設定 MCP 後,工具的執行結果會被加入上下文。方便之餘,也會消耗上下文,因此不使用的 MCP 不建議設定。
設定方式與具體使用,會在「開始使用」章節說明。
參考:
Skills 是一套用來「教 ClaudeCode 任務步驟與規則」的機制。你可以用 Markdown 檔案撰寫業務手冊,放在 .claude/skills/ 資料夾中供使用。
有無 Skills 會影響能做的事:
Skills 的另一個特性是「在必要時會自動被呼叫」。即便你沒有明示呼叫,ClaudeCode 會判斷會話語境並自動載入適合的 Skill。
另外,相較於 MCP 長時間消耗上下文,Skills 只在被呼叫時才會使用上下文(Progressive Disclosure)。因此在目前的 ClaudeCode 生態中,Skills 擔任了核心角色。
Skills 的具體使用與建立方法會在「開始使用」章節說明。
補充:Skills 最初是由 Anthropic 為 ClaudeCode 研發,但在 2025 年 12 月以開放標準公開,現在已被 OpenAI Codex、GitHub Copilot、Cursor、Windsurf 等多個 AI 工具採用。與 MCP 相似,逐漸成為業界標準。
參考:
AI 預設是在會話結束後會重置記憶。Memory(記憶)是指超越此限制,讓 AI 保持資訊的各種機制。常見做法包括寫入檔案、存到外部資料庫、使用 Memory MCP 等多種方式。
在 ClaudeCode 中,對應到「記憶」的機制是 CLAUDE.md 這個檔案。把「希望一直記住的事項」寫在這裡,就能在每次 session(從啟動到關閉的一次會話)中被讀取。
例如把「請用日文回覆」或「除非明確要求,否則不要執行 commit」這類規則寫入 CLAUDE.md,就不必每次重複告訴 ClaudeCode。
此外,ClaudeCode 也有 AutoMemory 機制,會自動把會話中得到的學習、資訊寫入記憶檔案,無需手動編輯 CLAUDE.md 即可逐步累積記憶(本文不深入討論 AutoMemory)。
你也可以用 Skills 自行實作記憶功能。例如建立一個 Skill:「請把這個記住」,當在會話中對 ClaudeCode 提出此要求,該 Skill 就會把資訊寫入 CLAUDE.md,實現自訂的記憶功能。這也是利用 ClaudeCode 擴充性的一種做法。
CLAUDE.md 的細節會在「開始使用」章節說明。
參考:
安裝步驟已在官方文件詳細說明,這裡略過。安裝完成後執行 /login,讓 ClaudeCode 處於可以對話的狀態即可。
關於收費方案強烈建議使用 MAX 方案(固定月費 100 美元或 200 美元,無限制使用)。ClaudeCode 的價值在於「當作替代者全權委任」時才能充分發揮,而替代用途會消耗很多 token。若是以用量計費,會因成本考量而不敢頻繁嘗試,反而難以發揮 ClaudeCode 的潛力。固定價格能讓你毫不猶豫地把任務丟給它,這是前提條件之一。
安裝完成後,在終端機輸入 claude 啟動。會開始一個對話 session,之後即可與 ClaudeCode 互動。
記住一件事:一個對話 session 對應一個上下文視窗。當對話變長時,上下文會膨脹,ClaudeCode 的效能會下降。完成一個任務後養成使用 /clear 刷新 session 的習慣,可以讓你每次都從乾淨的狀態重新開始工作。
Free/Pro/MAX 方案下,你輸入到 ClaudeCode 的資料可能會被用來改善模型(做為學習資料)。拒絕這種資料使用的動作稱為「opt-out(選擇不參與)」。
若用於業務,為避免業務資料被用作模型訓練,請務必 opt-out。可在 cla ude.ai 的隱私設定頁面進行設定。
取消勾選「協助改善 Claude」即可完成 opt-out。
※ 以上為 2026/03 的操作流程,若畫面不同請參照最新說明。
Team/Enterprise 方案預設即不會將資料用於模型改善,因此在那種方案下不需額外設定。
關於遙測(telemetry)的 opt-outClaudeCode 也會收集使用模式或錯誤日誌等運維資料。這些資料不包含程式碼或檔案內容,但若你在意,也可以透過以下環境變數停用:
<span>export </span><span>CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC</span><span>=</span>1
若在意隱私,也可以將這部分一併 opt-out。
參考:
ClaudeCode 的設定集中在 .claude/ 資料夾。設定有不同的適用範圍(Scope),入門階段了解 User 與 Project 兩種範圍就足夠。
最初你只需了解下列資料夾與檔案:
~/
├── .claude/ # User 範圍(適用於所有專案)
│ ├── settings.json # 權限與行為相關設定
│ ├── CLAUDE.md # 給 AI 的指示(記憶)
│ ├── skills/ # 自訂 Skills
│ └── agents/ # 自訂子代理
│
└── my-project/ # Project 範圍(僅適用於此專案)
├── .claude/
│ ├── settings.json
│ ├── CLAUDE.md
│ ├── skills/
│ └── agents/
├── CLAUDE.md # 此 CLAUDE.md 亦為專案專用
└── .mcp.json # 專案內使用的 MCP 設定
例如像「請用日文回覆」這種規則,可以寫在 User 範圍的 CLAUDE.md,讓所有專案套用。反之「此專案使用 TypeScript」等專案專屬規則,則寫在 Project 範圍的 CLAUDE.md。
MCP、Skills、子代理等也同樣具有範圍。凡是希望每個專案都能用的東西就放 User 範圍,專案專屬的則放 Project 範圍。
參考:
在 ClaudeCode 的對話中,常見的上下文傳遞方式如下:
@src/index.ts 的路徑(前面加 @)時,該檔案內容會被包含進上下文。指定資料夾會傳入檔案清單。即使不加 @,許多情況下也會被辨識為路徑。除此之外還有其他上下文傳遞方式,但入門階段先掌握上述三種就夠了。馬上試試看就知道了。
另外,像 Cursor 可以用 @file:10-20 指定檔案的特定行,但截至 2026/03,ClaudeCode 尚不支援只載入檔案的一部分;會將整個檔案讀入。不過 ClaudeCode 通常能在讀完整檔案後自行判斷需要的部分,實務上通常不太困擾。
當 ClaudeCode 要編輯檔案或執行指令時,會每次向使用者請求授權。例如會顯示「可以編輯這個檔案嗎?」「可以執行這個指令嗎?」之類的確認,以防止未預期的操作。
Permission 可在 settings.json 中細部控制。例如可以設定某些指令自動允許(allow),或禁止危險操作(deny):
<span>{</span><span>
</span><span>"permissions"</span><span>:</span><span> </span><span>{</span><span>
</span><span>"allow"</span><span>:</span><span> </span><span>[</span><span>
</span><span>"Bash(npm run test *)"</span><span>,</span><span>
</span><span>"Bash(git commit *)"</span><span>
</span><span>],</span><span>
</span><span>"deny"</span><span>:</span><span> </span><span>[</span><span>
</span><span>"Bash(rm -rf /*)"</span><span>,</span><span>
</span><span>"Bash(curl *)"</span><span>
</span><span>]</span><span>
</span><span>}</span><span>
</span><span>}</span><span>
</span>
加入到 allow 的指令會在無須確認下自動執行;加入到 deny 的指令會被拒絕。若指令既不在兩者內,則會顯示授權確認。
參考:
ClaudeCode 有可切換 Permission 行為的「模式」。入門階段認識下列三種即可:
模式 行為 畫面顯示 Ask permissions(預設) 在編輯檔案或執行指令前每次詢問授權(無其他顯示) Auto accept edits 編輯檔案自動執行,只有指令會詢問確認 顯示 ⏵⏵ accept edits on Plan Mode 僅分析與擬定計畫,不會變更檔案或執行指令 顯示 ⏸ plan mode on
可用 Shift+Tab 切換模式。順序是 Ask permissions → Auto accept edits → Plan Mode 循環。切換後會在會話視窗底部顯示目前模式,能一目辨識。
特別推薦使用 Plan Mode。面對複雜任務時,先用 Plan Mode 讓 ClaudeCode 擬定「要修改哪些檔案與怎麼修改」的計畫,確認後再切換回可修改檔案的模式執行,會比一開始就讓它直接改檔更安全,也能減少返工。ClaudeCode 的創作者 Boris Cherny 也在 X 上表示「大多數 session 都先從 Plan 模式開始(Shift+Tab 按兩次)」,強烈建議使用 Plan Mode。入門時建議固定以 Plan Mode 開始。
另外,bypassPermissions 模式(後述)無法用 Shift+Tab 切換,只能在啟動時透過選項啟用。
參考:
Permission 確認雖然安全,但頻繁出現時會令人感到麻煩。若想把任務完全交給 ClaudeCode,並且不想每次都確認,就可以用 bypassPermissions 模式。此模式會略過所有 Permission,允許檔案生成、指令執行、重構等操作而不需使用者確認,也常被稱為「YOLO 模式」。
在啟動 claude 指令時加上 --dangerously-skip-permissions 選項就能啟用:
claude <span>--dangerously-skip-permissions</span>
以此啟動後,會話視窗底部會顯示 ⏵⏵ bypass permissions on。此時檔案變更與指令執行都不會再跳出確認,能大幅提升作業速度。
不過也存在發生未預期變更的風險,建議初學者先別用。等熟悉之後、覺得「每次確認好麻煩」再考慮開啟就好。你會很快有那個想法。
為了安全使用 bypassPermissions,還有許多技巧可搭配使用,例如用 DevContainer 於隔離環境內執行,或利用 hooks(後述)事先阻擋特定危險指令。熟悉 ClaudeCode 之後可以逐步採用這些做法,然後再啟用 bypassPermissions 模式。
參考:
在會話中輸入以 / 開頭的文字會被識別為斜線命令(slash command)。這些命令可管理 session、切換模型、壓縮上下文等。輸入 / 時會顯示可用命令列表,建議查看有哪些命令可用。
此處列出入門階段常用的命令。
參考:
/exit 用來結束 ClaudeCode。session 會自動保存,之後可用 /resume(下述)繼續。也可以用 Ctrl+C 終止。
/clear 會清除對話紀錄並開始新的 session,而不用關閉 ClaudeCode。清除前的 session 會被保存,之後仍可用 /resume 恢復。
/clear 很適合在完成一個任務、要開始新任務時使用,以免上一個任務的上下文影響 AI 的判斷。
在會話中執行 /model 可切換使用的 AI 模型,會顯示互動式選單,使用上下鍵選擇。
ClaudeCode 常見可用模型有三種:
模型 特性 Opus 性能最強,擅長複雜推理與架構設計 Sonnet 速度與性能平衡,適合日常任務 Haiku 最快、最輕量,適合簡單問題或輕量作業
若你使用 MAX 方案,建議使用 Opus。若不確定,選 Opus 通常沒問題。Boris 也在 X 上說過「雖然模型價格最高,但因為不會產生太多返工,從成本效益來看 Opus 最划算。」(若使用 Pro 等非 MAX 方案,建議用 Sonnet。)
在 /model 的選單中,除了選模型外還能調整 effort(推理努力度),以滑桿選擇 low / medium / high 三段。high 會更深入思考但較慢,預設為 medium。一般保持預設即可,遇到難題再改 high(我個人通常用 high)。
也可以於 CLI 啟動時以選項指定,例如 claude --model opus。
參考:
如基本知識章提到的,上下文視窗有上限。對話長了就會接近上限,AI 可能無法參照太早之前的資訊或發生錯誤。
執行 /compact 會將過去的對話摘要並壓縮,極大減少上下文使用量。壓縮後 CLAUDE.md 仍會從磁碟重新讀取,所以永久性規則不會丟失。
當上下文使用量達到 80–90% 時,ClaudeCode 會自動執行 compact。一般不必手動觸發,但上下文越大效能越差(ClaudeCode 會變得健忘),因此建議在 50–60% 左右就手動執行 /compact 保持效能。
即便你結束了 ClaudeCode,session(對話紀錄)仍會自動保存。用 /resume 可以列出並選擇過去的 session 來繼續。「想接續昨天的工作」、「要從上次對話的延伸處開始」等情況會常用到這個指令。
當 session 增多時,若沒有做 /rename 命名,列表只會顯示 session ID,會很難辨識。建議常對會想繼續的 session 做 /rename(例如 /rename 認證功能重構),這樣在 /resume 的列表中較好找。
用 /rename tokyo-weather 把 session 命名為「tokyo-weather」。
這是 /resume 顯示 session 列表的畫面。已命名的「tokyo-weather」很容易找到,但未命名的 session 只會顯示最後的使用者輸入(例如「想問人生問題」),因此較難辨識。
session 的實際存放形式為 JSONL 檔(每行一筆 JSON 紀錄),存於 ~/.claude/projects/<專案路徑>/ 下,檔名為 UUID。
~/.claude/projects/-Users-username-my-project/
├── 02034434-33e0-486e-ae63-4a7525baf7a7.jsonl
├── 04553fb0-ff44-4b34-810f-e9e1c6031e91.jsonl
└── ...
對話內容、工具執行結果等皆被記錄在這些檔案,使得 /resume 的恢復與 /rewind 的回溯成為可能。
參考:
ClaudeCode 每當使用者發送訊息時,會自動紀錄檢查點。執行 /rewind 會顯示檢查點列表,讓你回到任一檢查點。也可按兩次 Esc 鍵達成同樣效果。
回溯時可以選擇同時回復程式碼與對話、只回復對話或只回復程式碼等。
例如你一開始讓 ClaudeCode 寫一個 Hello World 的 shell script,之後又改成輸出 Hello ClaudeCode,但後來想回到 Hello World,這時就可用 /rewind 回到對應的檢查點。
/rewind 的實例說明如下(原圖說明略):
/rewind 選擇對應檢查點回復即可檢查點列表會顯示每個檢查點的使用者輸入與是否有檔案變更,選擇要回到的時間點即可。
參考:
把 Markdown 檔放入 .claude/commands/ 資料夾,就可以把自製命令以 /命令名 呼叫。Markdown 檔內容會被當作給 Claude 的指示。
目前此機制已整合到 Skills,.claude/commands/deploy.md 與 .claude/skills/deploy/SKILL.md 都會以 /deploy 相同方式運作。既有的 .claude/commands/ 檔案仍會運作,但若要新增,建議以 Skills 的方式建立。
Skills 支援 frontmatter 設定(例如 disable-model-invocation: true),可以用來指定「不讓 AI 自動判斷,而是由人類明確以 /命令名 呼叫」。
參考:
如基本知識章所述,CLAUDE.md 是 ClaudeCode 的「記憶」檔。session 啟動時會自動讀取,且在執行 /compact 壓縮後仍會重新載入,因此寫在此檔的內容會持續影響 ClaudeCode。
如設定檔與範圍章所述,CLAUDE.md 有 User 範圍(~/.claude/CLAUDE.md)與 Project 範圍(專案根目錄的 CLAUDE.md 或 .claude/CLAUDE.md)。想套用到所有專案的規則寫在 User 範圍;專案專屬的則寫在 Project 範圍。
應該寫入 CLAUDE.md 的內容是「ClaudeCode 無法自行推測的資訊」。換句話說,ClaudeCode 只要讀了程式碼就能判斷的內容就不需要寫。內容會依範圍不同而異。
~/.claude/CLAUDE.md)應寫的內容由於會套用到所有專案,請避免寫只適用於特定專案的具體資訊,保持較高層次的描述:
以下是作者的 User 範本作為參考:
<span># 常に日本語で応答</span>
<span>
-</span> すべての説明と回答は日本語で提供する
<span>-</span> コードコメントも日本語で記述する
<span>-</span> エラーメッセージの説明も日本語で行う
<span># ユーザーの判断を求める場合はAskUserQuestionを利用</span>
ユーザーに選択、判断を求める場合はAskUserQuestionツールを使うこと。
<span># 絵文字禁止</span>
ファイル出力する場合絵文字は利用しない。
(会話セッションにおける絵文字の利用は問題ない)
<span># コミット</span>
明示的に依頼されない限り git commit は行わない。
(上述內容請視需要翻譯並改為適合你的規則格式後使用)
把該專案工作所需的資訊寫入 Project 範圍的 CLAUDE.md,例如:
npm test)範例:
<span># プロダクト概要</span>
ユーザー向けのタスク管理Webアプリケーション。
フロントエンドはReact + TypeScript、バックエンドはExpress。
<span># フォルダ構成</span>
<span>
-</span> <span>`src/frontend/`</span> - Reactフロントエンド
<span>-</span> <span>`src/backend/`</span> - Express APIサーバー
<span>-</span> <span>`src/shared/`</span> - フロントエンド・バックエンド共通の型定義
<span># ビルド・テスト</span>
<span>
-</span> <span>`npm run build`</span> でビルド
<span>-</span> <span>`npm test`</span> で全テスト実行
<span>-</span> 単体テストは <span>`npm test -- --grep "テスト名"`</span> で個別実行
<span># コミット規約</span>
<span>
-</span> コミットメッセージは <span>`feat:`</span> <span>`fix:`</span> <span>`chore:`</span> のprefixをつける
<span>-</span> mainブランチへの直接コミット禁止。feature/xxx ブランチを切る
<span># 注意事項</span>
<span>
-</span> APIキーは <span>`.env`</span> に記載。<span>`.env`</span> をコミットしないこと
<span>-</span> Node.js v20 以上が必要
<span># 参考ドキュメント</span>
<span>
-</span> API仕様: https://example.com/api-docs
<span>-</span> デザインガイドライン: https://example.com/design-guide
把對整個專案的共通規則或是 AI 只靠讀碼無法判斷的資訊放在 Project 範圍的 CLAUDE.md。
CLAUDE.md 越短越有效。內容過多會使重要指示被埋沒,ClaudeCode 反而會較少遵循。建議以 200 行以下為目安。
不必一開始就寫完所有內容。當你在使用中發現「每次都要重複講這件事」,再把該內容補入 CLAUDE.md。建議從像「請用日文回答」這種簡單規則開始,慢慢養成習慣。
建立 CLAUDE.md 是開始使用 ClaudeCode 的第一步。但若你不知道要寫什麼,就讓 ClaudeCode 幫你吧!
可以直接請 ClaudeCode:「我想建立 User(或 Project)範圍的 CLAUDE.md,但不知道從何下手,請幫我。」通常它會一邊問問題一邊幫你產出。若再補上「請遵循官方規範、內容儘量精簡,不懂就問我」,結果會更好。
(執行 /init 指令會讓 ClaudeCode 自動分析程式碼庫並產生 CLAUDE.md 的初始樣板。若不想從零開始,這也是種選項,但作者個人感覺 /init 有時會寫出不少多餘內容,因此傾向以對話方式讓 ClaudeCode 幫忙產出。)
熟悉之後,以下幾點值得注意:
CLAUDE.md 不是寫一次就完事的,應隨專案進展與團隊變動定期檢視與更新。過期或多餘的資訊會對 ClaudeCode 的判斷造成負面影響。
你也可以在專案的任意子資料夾放置 CLAUDE.md,例如 src/frontend/CLAUDE.md,當 ClaudeCode 讀取該資料夾內的檔案時會按需載入。對大型專案,依子資料夾拆分規則可以避免 CLAUDE.md 過大。
此外還有名為「rules」的機制可分割 CLAUDE.md。把主題別的 Markdown 放在 .claude/rules/,可以讓記憶內容更結構化,避免單一 CLAUDE.md 太臃腫。
如基本知識章所述,MCP 能讓 ClaudeCode 與外部工具或服務連動,擴大能做的事。MCP 很方便,但也會顯著消耗上下文。初期可先使用 MCP,熟悉後再考慮把功能逐步轉為 Skills 以減少上下文使用。
以下介紹設定方法與使用方式。
首先找你想用的 MCP。因為 MCP 伺服器只要有 API 就能實作,通常市面上已有各種服務相對應的 MCP。可以在 MCP Servers 或 mcp.so 搜尋。
不過要注意官方提供與第三方提供的差異。使用第三方 MCP 時請確認:
你也可以把檢查工作交給 ClaudeCode:clone 該 repo 並請它檢視原始碼是否有安全性問題。
MCP 的設定細節會依提供方 README 或文件而異。若需要在本機設定 API key 等環境變數,可能無法直接複製文件內容就完成。
加入 MCP 可用 claude mcp add 指令。例如加入 Slack MCP:
claude mcp add slack <span>--transport</span> http https://mcp.slack.com/mcp
MCP 設定也有範圍(scope),可用 --scope 指定。設定會儲存到不同位置:
~/.claude.json.mcp.json<span># Userスコープ(すべてのプロジェクトで利用)</span>
claude mcp add <span>--scope</span> user slack <span>--transport</span> http https://mcp.slack.com/mcp
<span># Projectスコープ(そのプロジェクトのみ、チームで共有可能)</span>
claude mcp add <span>--scope</span> project slack <span>--transport</span> http https://mcp.slack.com/mcp
Project 範圍的設定會存在 .mcp.json,可透過 Git 與團隊共享。也可以不使用 claude mcp add 而直接編輯 .mcp.json。
使用 claude mcp list 可列出已設定的 MCP。也可以在會話中執行 /mcp 查看當前連線的 MCP 與狀態。
若 MCP 工具被呼叫,會在會話記錄中看到工具名稱以 mcp__伺服器名__工具名 的形式顯示,藉此判斷是否被使用。
雖然你可以閱讀 MCP README 然後手動用 claude mcp 指令設定,但這過程蠻麻煩的。不妨直接讓 ClaudeCode 幫忙。
例如告訴 ClaudeCode:「請幫我設定 Slack MCP」,它會從安裝所需套件到建立 .mcp.json 一次完成。你也可以貼上在 X 或其他地方看到的設定截圖,ClaudeCode 也能照著做。設定完成後再問「怎麼用?」就可以迅速上手。
如前所述,MCP 會消耗上下文。只要連接就會載入工具定義,因而增加上下文使用量。建議不要設定不會用到的 MCP。
此外啟用 Tool Search 功能後,系統會採用動態載入工具定義(只在需要時載入),而不是一開始就把所有工具定義都讀進上下文。對於設定了很多 MCP 的情況,Tool Search 能顯著減少上下文使用。系統預設會在工具定義佔用上下文超過 10% 時自動啟用 Tool Search。
參考:
如基本知識章所述,Skills 是用 Markdown 撰寫的「業務手冊」,放在 .claude/skills/ 以教 ClaudeCode 任務步驟與規則。以下說明具體使用方式,並談如何養成與精進 Skills。
Skills 放在 .claude/skills/ 資料夾並有 User/Project 範圍:
~/.claude/skills/ # User 範圍(所有專案可用)
├── daily-report/
│ └── SKILL.md
└── code-review/
└── SKILL.md
my-project/.claude/skills/ # Project 範圍(僅此專案)
├── deploy/
│ └── SKILL.md
└── api-conventions/
└── SKILL.md
每個 Skill 以 技能名/SKILL.md 的資料夾結構存在。SKILL.md 的基本結構如下:
<span>---</span>
<span>name</span><span>:</span> <span>daily-report</span>
<span>description</span><span>:</span> <span>日報を作成するスキル。「日報」「日報作成」などのキーワードで自動的に呼び出される。</span>
<span>---</span>
<span># 日報作成ルール</span>
以下のフォーマットで日報を作成してください。
...
frontmatter(用 --- 包住的區塊)中的 description 非常重要。ClaudeCode 會參照這段描述判斷「在目前對話中是否應該呼叫這個 Skill」。
進階應用:支援檔案與腳本SKILL.md 建議維持在 500 行以下。內容若開始變多,可以把細節拆到 reference.md、examples.md 等支援檔案,並於 SKILL.md 以連結參考。也可在 scripts/ 放 shell 或 Python 腳本,Skill 執行時 ClaudeCode 會呼叫它們處理。
my-skill/
├── SKILL.md # 主指示(500行以下)
├── reference.md # 詳細參考(占用時才讀取)
├── examples.md # 使用範例(占用時才讀取)
└── scripts/
└── helper.sh # 腳本(Skill 呼叫時執行)
SKILL.md 可用 Markdown 連結參考支援檔案或腳本。
但一開始不必拆分檔案,先用單一 SKILL.md 寫起,內容膨脹再拆分即可。若不確定如何拆分,可請 ClaudeCode「依官方 Skills 最佳實務協助我拆分」,它會幫你做得恰到好處。
Skills 的一個重要特色是「段階式揭露(Progressive Disclosure)」,能更有效率地使用上下文。session 開始時只會把每個 Skill 的 description 載入上下文;只有當某個 Skill 被呼叫時,該 Skill 的全文才會被讀取。這意味著你可以準備很多 Skill 而不必擔心一次增加大量上下文消耗。
這點與 CLAUDE.md 不同:CLAUDE.md 會在 session 開始時全文載入,且每次請求都會持續消耗上下文;而 Skills 只有在必要時載入全文,對上下文更友善。
Skills 有兩種呼叫方式:
/daily-report 之類手動呼叫。輸入 / 時會顯示可用 Skill 列表。description 比對,若相關就自動載入相應 Skill。例如只說「幫我寫日報」,日報 Skill 可能會自動被呼叫。當我只輸入「commit」,ClaudeCode 就會自動叫出 commit 的 Skill(畫面會顯示 Skill(commit) Successfully loaded skill)。
參考:
首先,把 Skills 的建立交給 ClaudeCode。「我想建立某個 Skill,請幫我」——ClaudeCode 會一邊訪談需求一邊幫你產出。
例如你說「想做代碼審查(code review)的 Skill」,ClaudeCode 會問「你想從哪些面向進行審查?」「有指定語言或框架嗎?」你回答後,它就會產生初版的 SKILL.md。
入門階段建議讓 ClaudeCode 幫你先把 Skill 做出來;熟悉後再親自微調 SKILL.md。
Anthropic 官方也提供了一個 skill-creator 的 Skill,可以引導你按結構化工作流程建立 Skills。不過我個人建議先用「隨性請求」的方式請 ClaudeCode 幫你產出可運作的版本,形式不必太拘泥,先能運作比格式更重要。
我認為「Skills 的本質是把隱性知識(暗黙知)轉為形式知識」:
以 code review 為例:「變數命名不清楚」「這段應該抽成函式」「錯誤處理不足」等判斷標準,往往藏在資深工程師腦中。把這些標準文字化就是 Skills 工作。
Skills 並非做完即放置不管。完美的 Skill 不存在,無法把所有暗黙知完全語言化,且業務流程會隨時間變動。應持續使用與更新:當發現「這部分不足」「這樣寫會失效」時,就調整 Skill。Skills 需要不斷培養與迭代。
同樣地,把 Skills 的「培養」任務也交給 ClaudeCode。你可以說:「我要提高這個 Skill 的品質,請針對模糊的地方不停問我問題直到變清楚」;或說「把這次對話的內容整理成可加入 Skill 的條目」。ClaudeCode 會幫你把實務對話轉化為可運用的 Skill 內容。