動(dòng)的Claude Code工作流實(shí)踐)
1. 手忙腳亂的“裸用”階段我從哪一步開始覺(jué)得不對(duì)勁先說(shuō)一個(gè)我自己的真實(shí)場(chǎng)景。幾個(gè)月前我把 Claude Code 裝好第一次在終端里敲下claude的時(shí)候確實(shí)有一種“這才是 AI 編程該有的樣子”的錯(cuò)覺(jué)它能直接讀項(xiàng)目文件、能改代碼、能跑命令不需要我在瀏覽器里復(fù)制粘貼大段代碼。頭兩周我?guī)缀醢阉心苡盟傻幕疃紒G給了它改樣式、寫單測(cè)、補(bǔ)注釋、修 lint 報(bào)錯(cuò)效率確實(shí)比純手寫高了一大截。但這種“裸用”的爽感沒(méi)有維持太久。大概第三周我在做一個(gè)遺留前端項(xiàng)目業(yè)務(wù)邏輯很繞同一個(gè)需求連續(xù)讓 Claude Code 改了三輪。我發(fā)現(xiàn)我每天都在重復(fù)同一件事把項(xiàng)目背景、技術(shù)棧、目錄結(jié)構(gòu)、相關(guān)文件路徑一遍又一遍地復(fù)制進(jìn)對(duì)話里。它確實(shí)記住了這次對(duì)話里的內(nèi)容可下次開新會(huì)話所有上下文清零我又得從頭喂一遍。真正讓我下決心改造的是某次對(duì)線上問(wèn)題的排查。那段代碼涉及一個(gè)支付狀態(tài)的機(jī)內(nèi)流轉(zhuǎn)我讓 Claude Code 幫我查問(wèn)題它分析得很像回事卻始終沒(méi)有主動(dòng)去讀那幾個(gè)關(guān)鍵的狀態(tài)機(jī)文件——因?yàn)槲也恢涝撟屗x哪個(gè)文件它也不知道項(xiàng)目中哪些文件真正相關(guān)。最后是我自己打開編輯器翻了大半個(gè)小時(shí)再把關(guān)鍵代碼段粘給它。整個(gè)過(guò)程中我感受到一種荒誕我明明有一個(gè)能在本地終端里工作的 AI卻還是在像用網(wǎng)頁(yè)版一樣靠手動(dòng)喂上下文。那之后我認(rèn)真盤點(diǎn)了一下“裸用”階段的問(wèn)題大致有三類上下文管理靠人肉。對(duì)話一開能記住的上下文有限項(xiàng)目越大越容易“前后矛盾”臨時(shí)續(xù)接新會(huì)話等于失憶。外部工具和數(shù)據(jù)源是斷的。Claude Code 能讀文件夾里的代碼但拿不到 Git 倉(cāng)庫(kù)的狀態(tài)、拿不到需求文檔、拿不到線上接口的實(shí)時(shí)返回。它更像一個(gè)聰明的“代碼抄寫員”而不是真正接入開發(fā)鏈路的助手。經(jīng)驗(yàn)不可沉淀。我花了十幾分鐘調(diào)教出來(lái)的“該怎么審查這段代碼”的套路關(guān)掉終端之后就消失了下次還要重新說(shuō)一遍。后來(lái)我做的事情其實(shí)可以用一句話概括給 Claude Code 裝上“固定的作業(yè)流程”和“可調(diào)用的外部工具”。前者是Skills后者是MCP。這張對(duì)比表基本就說(shuō)明了我整個(gè)改造前后的差別維度裸用狀態(tài)工程化之后上下文靠對(duì)話內(nèi)臨時(shí)提供關(guān)閉即失憶通過(guò) Skill 文件自動(dòng)加載背景與規(guī)則外部數(shù)據(jù)讀不到 Git、數(shù)據(jù)庫(kù)、接口狀態(tài)MCP Server 按需提供實(shí)時(shí)數(shù)據(jù)任務(wù)流程每次口頭重新交代固定流程由 Skill 驅(qū)動(dòng)穩(wěn)定可復(fù)用人工介入頻繁補(bǔ)上下文、指文件只做最終審核和關(guān)鍵決策經(jīng)驗(yàn)沉淀存在腦子里換臺(tái)機(jī)器就沒(méi)了沉淀為 Skill 文件跟項(xiàng)目走如果你也正處于“用著 Claude Code 但總覺(jué)得差點(diǎn)意思”的階段這篇文章就是我在完成這次改造之后的完整復(fù)盤為什么接 MCP、怎么設(shè)計(jì) Skills、兩者怎么配合以及我踩過(guò)的坑和現(xiàn)在還留著的人工環(huán)節(jié)。2. MCP為什么值得接它不是“插件”是給模型補(bǔ)上手腳的協(xié)議層MCP 的全稱是 Model Context Protocol一個(gè)模型上下文協(xié)議。很多人第一次聽到這個(gè)名字會(huì)覺(jué)得很高深其實(shí)它的作用用一個(gè)比喻就能說(shuō)清楚如果大模型是一個(gè)大腦MCP 就是給這個(gè)大腦接上眼睛、耳朵和手的 USB-C 接口。在接入 MCP 之前Claude Code 的能力邊界非常清晰它能看到你項(xiàng)目里的代碼文件能執(zhí)行終端命令除此之外的外部世界對(duì)它來(lái)說(shuō)都是盲區(qū)。GitHub 上有沒(méi)有新的 issue線上接口返回的 JSON 長(zhǎng)什么樣數(shù)據(jù)庫(kù)里某個(gè)訂單的狀態(tài)是什么這些它一概不知道。你只能在對(duì)話里把結(jié)果復(fù)制給它它才能基于這份“二手信息”做分析。MCP 改變了這件事。它定義了一套標(biāo)準(zhǔn)化的通信方式MCP Server 負(fù)責(zé)暴露能力——可以是讀取工具、數(shù)據(jù)源、也可以是某個(gè)具體操作Claude Code 作為 MCP Client在需要的時(shí)候主動(dòng)去調(diào)用這些工具。關(guān)鍵在于調(diào)用是由模型自己決定要調(diào)哪些、按什么順序調(diào)不再需要你手動(dòng)把數(shù)據(jù)搬進(jìn)對(duì)話框。拿我最常用的配置舉例。我在 Claude Code 里接了一個(gè) GitHub 相關(guān)的 MCP Server配置完成后我可以直接這樣對(duì) Cloude Code 說(shuō)“看一下這個(gè)倉(cāng)庫(kù)最近的 PR有沒(méi)有測(cè)試覆蓋率下降的列出來(lái)。”它會(huì)自己去調(diào) GitHub API拉取 PR 列表和檢查狀態(tài)然后給我一份匯總。整個(gè)過(guò)程我不需要復(fù)制任何鏈接、不需要口頭描述 PR 內(nèi)容它自己就把信息拿回來(lái)了。除了 GitHub我實(shí)際接入過(guò)的 MCP Server 有這幾類你可以做個(gè)參考MCP Server 類型典型用途我實(shí)際用來(lái)做什么文件系統(tǒng)類按路徑讀寫文件、搜索目錄跨目錄整理代碼片段、批量改名Git/GitHub 類拉取倉(cāng)庫(kù)狀態(tài)、issue、PR、commit自動(dòng)整理 changelog、審查 PR數(shù)據(jù)庫(kù)類直連數(shù)據(jù)庫(kù)執(zhí)行查詢排查線上數(shù)據(jù)不一致問(wèn)題瀏覽器類控制瀏覽器訪問(wèn)頁(yè)面、取 DOM驗(yàn)證前端頁(yè)面狀態(tài)、抓取接口返回調(diào)試器類對(duì)接調(diào)試工具讀取運(yùn)行時(shí)上下文配合本地調(diào)試定位崩潰棧在開發(fā)調(diào)試場(chǎng)景里MCP 的價(jià)值還會(huì)被進(jìn)一步放大。比如調(diào)試類工具可以通過(guò) MCP 和 Claude Code 對(duì)接讓 AI 直接讀取調(diào)試器的當(dāng)前棧、寄存器、反匯編結(jié)果而不是靠你手動(dòng)把崩潰信息復(fù)制進(jìn)去。這種“工具直連”帶來(lái)的效率提升比單純把對(duì)話模型做得再聰明都明顯。當(dāng)然接哪些 MCP Server 完全取決于你的場(chǎng)景我自己的原則是只在真正需要的時(shí)候把外部數(shù)據(jù)源接進(jìn)來(lái)而不是為了“顯得專業(yè)”把所有 Server 都裝上。配置 MCP 的方式也很直接Claude Code 支持通過(guò)命令把 Server 注冊(cè)進(jìn)去。我一般會(huì)在項(xiàng)目根目錄下執(zhí)行類似這樣的命令注冊(cè)一個(gè)本地 Serverclaude mcp add 我的數(shù)據(jù)源 --env API_KEYxxx -- npx 某個(gè)-server包注冊(cè)完之后項(xiàng)目啟動(dòng)時(shí) Claude Code 會(huì)自動(dòng)加載這個(gè) MCP Server并把它提供的工具列進(jìn)可調(diào)用清單里。這里有一個(gè)容易被忽略的重點(diǎn)MCP Server 本質(zhì)上是本地運(yùn)行的一個(gè)進(jìn)程你給它配了哪些密鑰、它就能訪問(wèn)哪些資源權(quán)限邊界完全由你控制。你不給它配數(shù)據(jù)庫(kù)的寫權(quán)限它就不會(huì)有寫庫(kù)的能力。所以不要擔(dān)心接了 MCP 就等于把整個(gè)項(xiàng)目裸奔給了 AI真正的風(fēng)險(xiǎn)控制點(diǎn)還是在你的配置上。關(guān)于權(quán)限我有一條自己的判斷標(biāo)準(zhǔn)只開放“讀取和分析”類能力默認(rèn)不開放“寫入和改動(dòng)”類能力。比如數(shù)據(jù)庫(kù)類的 MCP Server我只會(huì)用只讀賬號(hào)去連GitHub 類的 Server我會(huì)限制成讀取 PR、commit 的狀態(tài)不在對(duì)話里直接讓它做 force push 這種事。這一條原則幫我避開過(guò)好幾次潛在的災(zāi)難后面講踩坑的時(shí)候會(huì)再展開。3. Skills的正確打開方式別把它當(dāng)成會(huì)說(shuō)話的提示詞文件夾搞定了 MCP 之后我一度以為工作流已經(jīng)很理想了但很快發(fā)現(xiàn)了新的問(wèn)題Claude Code 確實(shí)能調(diào)用工具了可它不知道“什么時(shí)候該用”“按照什么流程來(lái)做”。比如我讓它處理一個(gè)需求它一會(huì)兒先問(wèn)我業(yè)務(wù)邏輯一會(huì)兒自己埋頭就改一會(huì)兒又想起來(lái)問(wèn)我要不要跑測(cè)試。每次都像在跟一個(gè)實(shí)習(xí)生磨合你得在旁邊不停引導(dǎo)。直到我認(rèn)真去理解 Claude 官方提出的 Agent Skills 機(jī)制這個(gè)問(wèn)題才算解掉。Skills 是一種結(jié)構(gòu)化的“技能包”它不再是一段直白的提示詞而是一個(gè)包含說(shuō)明文件、示例、腳本、資源文件的文件夾。Claude Code 會(huì)掃描這些文件夾根據(jù)技能描述自動(dòng)判斷“當(dāng)前任務(wù)是否匹配某個(gè)技能”然后按技能文件里定義的流程去執(zhí)行。打個(gè)比方MCP 給了 AI 手腳Skills 給的是崗位說(shuō)明書和作業(yè)指導(dǎo)書。你給 AI 一個(gè)“前端代碼審查員”的 skill它就會(huì)按照你在 skill 里定義的檢查清單去逐項(xiàng)核對(duì)代碼先看 props 命名和類型再查狀態(tài)管理是否合理然后檢查有沒(méi)有多余的重復(fù)渲染。這套流程是固定的、可復(fù)現(xiàn)的不會(huì)因?yàn)檫@次對(duì)話心情好就多查兩項(xiàng)、下次忘了就少查兩項(xiàng)。要理解 Skills 的設(shè)計(jì)邏輯最好的方式就是看它的目錄結(jié)構(gòu)。以我常用的項(xiàng)目為例我會(huì)在項(xiàng)目下建一個(gè).claude/skills/目錄里面每個(gè)子目錄就是一個(gè)獨(dú)立的技能.claude/skills/ ├── code-review/ # 代碼審查技能 │ ├── SKILL.md # 核心說(shuō)明文件 │ └── examples/ │ ├── review-sample-1.md │ └── review-sample-2.md ├── git-commit/ # 提交信息規(guī)范技能 │ └── SKILL.md └── frontend-refactor/ # 前端重構(gòu)技能 ├── SKILL.md └── scripts/ └── check-imports.sh其中SKILL.md是整個(gè)技能的入口格式上最前面有一段 YAML 風(fēng)格的元信息里面最關(guān)鍵的是name和description。description尤其重要——Claude Code 就是靠讀這句描述來(lái)判斷“當(dāng)前這個(gè)任務(wù)值不值得加載這個(gè)技能”。我把一個(gè)審查技能的描述字段設(shè)計(jì)成下面這個(gè)樣子--- name: code-review description: 用于對(duì)前端 TypeScript 代碼進(jìn)行系統(tǒng)性審查重點(diǎn)檢查類型定義、組件邊界和狀態(tài)管理當(dāng)用戶要求審查或 review 代碼時(shí)使用。 ---注意這里有個(gè)細(xì)節(jié)描述里寫的是“當(dāng)用戶要求審查或 review 代碼時(shí)使用”而不是籠統(tǒng)的“用于改善代碼質(zhì)量”。原因后面我會(huì)重點(diǎn)講——技能的觸發(fā)邏輯好不好九成取決于描述字段寫得多具體。如果你寫得太寬泛Claude Code 幾乎會(huì)在每個(gè)任務(wù)里都嘗試加載這個(gè)技能結(jié)果就是上下文被無(wú)關(guān)內(nèi)容占滿響應(yīng)質(zhì)量反而下降。我把這個(gè)現(xiàn)象叫作“技能誤觸發(fā)”。和普通提示詞模板相比Skills 的核心優(yōu)勢(shì)我認(rèn)為有三點(diǎn)這也是我在實(shí)際使用中最明顯的體感差異自動(dòng)發(fā)現(xiàn)而非手動(dòng)粘貼。普通提示詞需要你復(fù)制粘貼給模型Skills 是模型根據(jù)任務(wù)描述自己決定加載哪個(gè)。這省掉的不只是操作時(shí)間還避免了“忘了給提示詞”導(dǎo)致步驟缺失。結(jié)構(gòu)化支持掛載更多資源。一個(gè) skill 目錄里可以放示例文件、參考文檔、檢查清單、執(zhí)行腳本它的信息量遠(yuǎn)超一段文字提示詞模型在執(zhí)行時(shí)可以把這些內(nèi)容當(dāng)作執(zhí)行依據(jù)。版本可管理經(jīng)驗(yàn)可遷移。技能包就是一個(gè)文件夾可以放進(jìn) Git 倉(cāng)庫(kù)里管理。我換了新電腦git clone下來(lái)就能恢復(fù)整套工作習(xí)慣不需要重新調(diào)教。很多人在社區(qū)里分享的 Skills比如搜索熱詞里反復(fù)出現(xiàn)的 Superpowers Skills、Codex 的 Skills 集合本質(zhì)上都是這個(gè)思路的產(chǎn)物。Claude 官方也專門寫過(guò)一篇文章叫《Claude Agent Skills: A First Principles Deep Dive》從第一性原理的角度講技能系統(tǒng)的設(shè)計(jì)邏輯我建議大家有空去讀讀。不過(guò)要先說(shuō)明別人的技能包可以參考但別指望直接拿來(lái)用就很貼合。因?yàn)榧寄艿暮诵氖恰皥?zhí)行你期望的流程”而你期望的流程往往和分享者不完全一樣。我現(xiàn)在的工作習(xí)慣是參考別人的思路然后自己捏一個(gè)定制版。4. 組合落地的完整路徑以“前端需求拆解自測(cè)審查”為例理論部分講得差不多了下面直接給你看我最近跑得最順的一條工作流拿 Claude Code 處理一個(gè)前端需求從拆解、實(shí)現(xiàn)到自測(cè)和審查全鏈路由 Skills MCP 驅(qū)動(dòng)。這個(gè)例子比較有代表性因?yàn)榍岸碎_發(fā)幾乎是目前社區(qū)里 Skills 討論度最高的場(chǎng)景熱搜詞里“前端開發(fā) skills”“superpower skills”常年排在前列不是沒(méi)有原因的——前端項(xiàng)目文件多、依賴重、改造成本高AI 如果沒(méi)一套固定流程很容易改一處壞一片。4.1 環(huán)境準(zhǔn)備先把地基打牢我后面給的方案依賴以下環(huán)境你如果從零開始先把這三步走完安裝 Claude Code。全局安裝命令一般是npm install -g anthropic-ai/claude-code裝完在項(xiàng)目目錄下執(zhí)行claude就能進(jìn)入交互式終端。Windows、macOS、Linux 都有對(duì)應(yīng)安裝方式Ubuntu 這類 Linux 系統(tǒng)上注意先確認(rèn) Node.js 版本不要太舊否則會(huì)拿到安裝報(bào)錯(cuò)。在項(xiàng)目下建.claude/skills/目錄規(guī)劃好技能清單。我的習(xí)慣是給每個(gè)技能一個(gè)獨(dú)立子目錄名字用-連接的小寫字母。按需注冊(cè) MCP Server。前端場(chǎng)景我最常接的是文件系統(tǒng)和瀏覽器調(diào)試兩類前者讓 AI 能跨目錄讀文件后者讓它能打開本地頁(yè)面驗(yàn)證效果。這些準(zhǔn)備工作做完之后我會(huì)在claude啟動(dòng)時(shí)先做一次“項(xiàng)目預(yù)檢”讓 Claude Code 讀一遍package.json和目錄結(jié)構(gòu)確認(rèn)它清楚當(dāng)前項(xiàng)目的技術(shù)棧和腳本命令。這一步很關(guān)鍵因?yàn)楹竺嫠辛鞒潭冀⒃凇癆I 知道自己是在哪個(gè)項(xiàng)目里干活”這個(gè)前提下。4.2 第一步需求拆解的 Skill 配置我沒(méi)有直接讓 AI 上來(lái)就寫代碼而是先設(shè)計(jì)了一個(gè)“需求拆解”技能。這個(gè)技能的作用是當(dāng)我把一段原始需求丟給它時(shí)它不會(huì)立刻動(dòng)手而是先按固定結(jié)構(gòu)輸出拆解結(jié)果。--- name: requirement-breakdown description: 將模糊的業(yè)務(wù)需求拆解為可執(zhí)行的前端任務(wù)清單包含改動(dòng)文件、狀態(tài)管理影響、測(cè)試計(jì)劃和風(fēng)險(xiǎn)點(diǎn)當(dāng)用戶提供需求描述并期望開始開發(fā)時(shí)使用。 ---光有描述還不夠SKILL.md的正文部分我寫了五段固定結(jié)構(gòu)需求理解一致性確認(rèn)、影響面分析、拆解任務(wù)列表、執(zhí)行順序建議、需要用戶確認(rèn)的前置問(wèn)題。這樣做的好處非常明顯決策過(guò)程被前置了。在真正改代碼之前AI 已經(jīng)和我對(duì)齊了“要做什么”“先做什么”“哪里可能有坑”而不是悶頭寫完再返工。4.3 第二步用 MCP 把“自測(cè)”環(huán)節(jié)閉環(huán)掉需求拆解確認(rèn)完之后進(jìn)入開發(fā)和自測(cè)階段。這里就是 MCP 發(fā)揮主力的地方了。我注冊(cè)了一個(gè)瀏覽器調(diào)試類的 MCP Server配置好本地預(yù)覽地址后Claude Code 可以直接在瀏覽器里打開我的開發(fā)環(huán)境頁(yè)面讀取頁(yè)面上的渲染結(jié)果和 console 輸出。于是“改完代碼-刷新頁(yè)面-看報(bào)錯(cuò)-繼續(xù)改”這個(gè)循環(huán)就從“我把報(bào)錯(cuò)復(fù)制給它”變成了“它自己打開頁(yè)面、自己觀察渲染結(jié)果、自己修”。我只需要在關(guān)鍵節(jié)點(diǎn)上確認(rèn)一下方向?qū)Σ粚?duì)。這個(gè)體驗(yàn)和我最初“裸用”時(shí)的差異你自己對(duì)比一下就知道了。配合上面說(shuō)的測(cè)試代碼生成技能Claude Code 還會(huì)在改完成之后自動(dòng)補(bǔ)一輪關(guān)鍵路徑的單元測(cè)試。這一整套做下來(lái)一個(gè)普通中等復(fù)雜度的前端需求從接收描述到自測(cè)通過(guò)我實(shí)際盯人的時(shí)間大概只有以前的三分之一。4.4 第三步代碼審查 Skill 的檢查清單設(shè)計(jì)開發(fā)完成之后我最后一個(gè)固定動(dòng)作是跑一遍“前端代碼審查”技能。這個(gè)技能的執(zhí)行重點(diǎn)在類型安全、組件邊界、狀態(tài)管理等幾個(gè)維度。這里也順便回答一個(gè)很多剛接觸 Skills 的人都會(huì)問(wèn)的問(wèn)題為什么不讓 Claude Code 直接用“審查一下代碼”這種模糊指令非要單獨(dú)建一個(gè)技能文件夾因?yàn)槟:噶顩](méi)有穩(wěn)定標(biāo)準(zhǔn)。昨天它審查時(shí)按 A 標(biāo)準(zhǔn)查今天可能按 B 標(biāo)準(zhǔn)查你要每一項(xiàng)都重新描述一遍很麻煩。而技能把標(biāo)準(zhǔn)固化了——我把自己多年積累的前端經(jīng)驗(yàn)濃縮成了一份檢查清單放進(jìn) SKILL.md 里的“強(qiáng)制檢查項(xiàng)”區(qū)塊。以后每次審查都會(huì)按同一份清單走。說(shuō)實(shí)話光是這點(diǎn)就值回改造的功夫了。4.5 組合起來(lái)的流程長(zhǎng)什么樣把 MCP 和 Skills 配合起來(lái)整個(gè)工作流就成了一個(gè)可復(fù)制的流水線我丟需求給 Claude Code它調(diào)用“需求拆解”技能產(chǎn)出任務(wù)清單我確認(rèn)后它開始實(shí)現(xiàn)并用 MCP 連到瀏覽器/文件系統(tǒng)完成自測(cè)最后調(diào)用“代碼審查”技能做一輪自查發(fā)現(xiàn)問(wèn)題再回到實(shí)現(xiàn)步驟。這個(gè)流程本身也是可以沉淀為另一個(gè)更高層的 skill 的我管它叫“前端需求全流程處理”不過(guò)本質(zhì)上只是把上面幾個(gè)技能串聯(lián)起來(lái)。我觀察過(guò)幾周的實(shí)測(cè)數(shù)據(jù)在不考慮極端復(fù)雜邏輯的情況下一個(gè)典型的中型頁(yè)面需求從拿到需求到產(chǎn)出可提交代碼我的累計(jì)人工介入時(shí)間從平均 45 分鐘降到大約 15 分鐘。代碼審查環(huán)節(jié)發(fā)現(xiàn)的問(wèn)題類型也發(fā)生了變化低級(jí)代碼規(guī)范問(wèn)題明顯變少剩下的是業(yè)務(wù)邏輯和交互設(shè)計(jì)層面的問(wèn)題這些本來(lái)也更需要人來(lái)判斷。5. 真金白銀踩過(guò)的坑以及我現(xiàn)在還保留的“人肉”環(huán)節(jié)任何工具用到深處都會(huì)踩坑Skills MCP 的組合也一樣。我把這段時(shí)間高頻踩過(guò)的坑整理出來(lái)按“問(wèn)題-原因-對(duì)策”列了個(gè)表每條都是從實(shí)際項(xiàng)目里淌出來(lái)的教訓(xùn)。坑現(xiàn)象原因我的對(duì)策技能誤觸發(fā)無(wú)關(guān)任務(wù)也加載 skill上下文被占滿description 寫得太寬泛比如“提升代碼質(zhì)量”描述里寫清精確的觸發(fā)場(chǎng)景MCP Server 沒(méi)啟動(dòng)工具調(diào)用靜默失敗AI 假裝執(zhí)行過(guò)依賴的本地服務(wù)端口沒(méi)起來(lái)啟動(dòng)前先主動(dòng)驗(yàn)證 server 狀態(tài)多個(gè)工具名稱沖突AI 調(diào)用了錯(cuò)誤的工具返回奇怪結(jié)果不同 MCP Server 暴露了相同命令用前綴命名區(qū)分避免裸工具名權(quán)限放太開AI 意外改動(dòng)不該動(dòng)的文件MCP Server 配置了寫權(quán)限只讀賬號(hào)/只讀配置優(yōu)先新版本配置失效升級(jí) Claude Code 后 MCP 注冊(cè)丟失配置文件格式或路徑變化升級(jí)后固定檢查claude mcp list關(guān)于技能誤觸發(fā)我再展開說(shuō)具體一點(diǎn)。我最早設(shè)計(jì)過(guò)一個(gè)“數(shù)據(jù)庫(kù)查詢”的 Skilldescription 字段我偷懶寫了“用于查詢數(shù)據(jù)庫(kù)信息”。結(jié)果它幾乎在每個(gè)任務(wù)里都被加載導(dǎo)致 Claude Code 在處理前端樣式調(diào)整時(shí)腦子里還掛著一堆數(shù)據(jù)庫(kù)操作上下文。后來(lái)我把描述改成了“當(dāng)用戶明確要求查詢數(shù)據(jù)庫(kù)、需要查表結(jié)構(gòu)或分析 SQL 執(zhí)行計(jì)劃時(shí)使用”誤觸發(fā)率立刻降下來(lái)了。這個(gè)坑太典型社區(qū)里大量“Skills 沒(méi)用”的抱怨相當(dāng)一部分根源就出在這里。除了這些工具層面的坑更要命的是 Agent 能力邊界的問(wèn)題。我現(xiàn)在有明確的三類任務(wù)不會(huì)交給 Claude Code 自己做主第一類是涉及刪除/覆蓋不可恢復(fù)內(nèi)容的操作。比如批量刪除文件、批量重命名重要目錄哪怕它有 MCP 的文件系統(tǒng)權(quán)限我也堅(jiān)持自己執(zhí)行或者事先 review 完整的文件清單。不是不信任它而是這類操作的“失敗成本”太高一次誤操作可能毀掉不可逆的工作成果。第二類是跨系統(tǒng)協(xié)調(diào)的最終決策。比如要發(fā)布上線、要合并到主干分支、要修改他人正在維護(hù)的模塊。AI 可以幫忙做分析、出建議、列 checklist但最后的“拍板”動(dòng)作我會(huì)人工完成。這既是為了安全也是為了讓 AI 不越過(guò)團(tuán)隊(duì)協(xié)作的邊界。第三類是涉及產(chǎn)品方向和業(yè)務(wù)取舍的判斷。AI 能判斷“這個(gè)函數(shù)能不能拆”但它判斷不了“這個(gè)功能該不該砍”。這類問(wèn)題我連讓 AI 下結(jié)論的 prompt 都不會(huì)寫最多讓它列出利弊選項(xiàng)。在工具配置層面我現(xiàn)在的習(xí)慣是MCP 只接必要的那幾個(gè) server不追求種類多Skills 的描述字段保持精確每個(gè)技能的檢查清單定期更新每完成一個(gè)項(xiàng)目我會(huì)順手把其中可復(fù)用的流程沉淀成一個(gè)新的 Skill 或改進(jìn)舊的 Skill。這套體系現(xiàn)在已經(jīng)變成了我日常開發(fā)的一部分新電腦上只要把配置目錄同步過(guò)來(lái)整套工作習(xí)慣就跟著過(guò)來(lái)了。最后再分享一個(gè)小技巧你在設(shè)計(jì) Skill 時(shí)不要一開始就想著把流程寫得很完美先寫一個(gè) 70 分版本實(shí)際跑幾次把跑偏的地方補(bǔ)進(jìn)SKILL.md的“常見問(wèn)題”區(qū)塊里。我那幾個(gè)最常用的技能都是這樣從粗糙版本迭代出來(lái)的。這種“先用起來(lái)再逐步固化”的思路比一開始就設(shè)計(jì)一個(gè)龐大完美的技能系統(tǒng)要實(shí)際得多——畢竟工具的最終目的不是讓流程看起來(lái)很復(fù)雜而是讓你在復(fù)雜里省下真正的時(shí)間。