Skip to content

Claude Code 高效工作流系統 — 6 個月進階使用技巧

來源: @dickson_tsai | 原文連結

日期: Wed Oct 29 15:11:51 +0000 2025

標籤: Claude Code 工作流優化 Skills 自動化


來源: @dickson_tsai (Dickson Tsai) 推薦的 Reddit 文章 日期: 2025 標籤: Claude Code AI 開發工具 工作流程 效率提升


前言

免責聲明:這篇文章分享的是我個人在 Claude Code 使用六個月後的經驗和設定,並非唯一正確的做法。希望能啟發你改善自己的 AI 程式開發工作流程。我只是個普通人,這只是我的個人意見。

另外,我使用的是 20x Max 方案,所以你的體驗可能會有所不同。如果你想找的是隨意寫寫程式的技巧,這篇文章可能不適合你。要從 Claude Code 獲得最佳效果,你應該與它協作:規劃、審查、迭代、探索不同方法等。

快速概覽

在 6 個月內將 Claude Code 推向極限(獨自重寫 30 萬行程式碼)後,我建立了這套系統:

  • Skills 自動啟動系統:實際上會在需要時自動啟動
  • 開發文件工作流程:防止 Claude 失去脈絡
  • PM2 + Hooks:確保零錯誤遺漏
  • 專業化代理軍隊:用於審查、測試和規劃

背景

我是一名軟體工程師,過去七年左右一直在開發生產環境的網頁應用程式。我完全擁抱了 AI 的浪潮。我不太擔心 AI 很快會搶走我的工作,因為它是我用來提升能力的工具。透過這樣做,我開發了許多新功能,並與 Claude 和 GPT-5 Thinking 一起製作了各種新提案簡報,將新的 AI 系統整合到我們的生產應用程式中。這些都是我以前做夢都不敢想的專案,因為根本沒時間考慮。而且,我為自己創造了相當不錯的工作保障,成為了公司的 AI 專家,因為其他人在將 AI 整合到日常工作中這方面落後我大約一年左右。

憑藉新獲得的信心,我提議對我們公司使用的一個內部工具網頁應用程式進行相當大規模的重新設計/重構。這是一個由大學生製作的相當粗糙的專案,是從另一個專案 fork 出來的(我在實習時創建的,大約 7 年前創建,4 年前 fork)。這可能有點過於雄心勃勃,因為為了說服利害關係人,我同意在幾個月內完成這個相當大規模的專案(約 10 萬行程式碼)的自上而下重新設計...全部由我一個人完成。

我知道即使有 Claude Code 的幫助,我也必須投入額外的時間來完成這項工作。但在內心深處,我知道這會很成功,自動化幾個手動流程,為公司的很多人節省大量時間。

現在六個月過去了...是的,我可能不應該同意這個時間表。我測試了 Claude 和我自己理智的極限,試圖完成這件事。我完全拋棄了舊的前端,因為一切都嚴重過時,我想使用最新最棒的技術。我說的是:

  • React 16 JS → React 19 TypeScript
  • React Query v2 → TanStack Query v5
  • React Router v4 w/ hashrouter → TanStack Router w/ 檔案路由
  • Material UI v4 → MUI v7

全部嚴格遵循最佳實踐。專案現在達到約 30-40 萬行程式碼,我的預期壽命縮短了約 5 年。它終於準備好進行測試了,我對結果感到非常滿意。這曾經是一個技術債務無法估量、零測試覆蓋率、糟糕的開發者體驗(測試功能是絕對的噩夢)以及各種奇怪問題的專案。我解決了所有這些問題,提供了體面的測試覆蓋率、可管理的技術債務,並實作了一個命令列工具來生成測試資料以及一個開發模式來測試前端的不同功能。

在這段時間裡,我逐漸了解了 Claude Code 的能力以及對它的期望。

關於品質和一致性的說明

我注意到論壇和討論中有一個反覆出現的主題 - 人們對使用限制感到沮喪,並擔心輸出品質隨著時間的推移而下降。我想先說清楚:我不是要否認這些經驗,也不是說這只是「做錯了」的問題。每個人的使用案例和情境都不同,合理的擔憂值得被聽到。

話雖如此,我想分享對我有效的方法。根據我的經驗,Claude Code 的輸出在過去幾個月實際上有了顯著改善,我相信這在很大程度上歸功於我不斷改進的工作流程。我希望如果你從我的系統中獲得一點點靈感並將其整合到你的 Claude Code 工作流程中,你會給它一個更好的機會來產生你滿意的高品質輸出。

現在,讓我們實際一點 - Claude 有時確實會完全錯過重點並產生次優的程式碼。這可能因各種原因發生。首先,AI 模型是隨機的,這意味著你可以從相同的輸入獲得大不相同的輸出。有時隨機性就是不利於你,你會得到一個質量確實很差的輸出,這不是你的錯。其他時候,這與提示的結構有關。由於模型相當字面地理解事物,因此措辭稍有不同的輸出可能會有顯著差異。如果你措辭錯誤或表達模糊,可能會導致遠遠不如預期的結果。

有時你只需要親自出馬

AI 很驚人,但它不是魔法。在某些問題上,模式識別和人類直覺就是更勝一籌。如果你花了 30 分鐘看著 Claude 掙扎於一個你可以在 2 分鐘內修復的問題,那就自己修復它。這並不丟臉。把它想像成教某人騎腳踏車,有時你只需要穩住把手一下,然後再放手。

我發現這在邏輯謎題或需要現實世界常識的問題上尤其明顯。AI 可以暴力破解很多事情,但有時人類就是「更快理解」。不要讓固執或一些「AI 應該做所有事情」的錯誤觀念浪費你的時間。介入、修復問題、繼續前進。

我也有過糟糕的提示經驗,這通常發生在一天快結束時,我變得懶惰,沒有在提示上投入太多努力。結果真的很明顯。所以下次當你遇到這類問題,認為輸出現在糟糕得多是因為你認為 Anthropic 暗中削弱了 Claude 時,我鼓勵你退一步反思你是如何提示的。

經常重新提示。你可以按兩次 ESC 來調出你之前的提示,並選擇一個來分支。你會驚訝於當你知道你不想要什麼時,重新給出相同的提示可以多頻繁地獲得更好的結果。

總而言之,輸出品質似乎變差可能有很多原因,自我反思並考慮你可以做些什麼來給它最好的機會獲得你想要的輸出是好的。正如某個聰明人可能在某處說過的:「不要問 Claude 能為你做什麼,要問你能為 Claude 提供什麼樣的脈絡」~ 聰明人

好的,我現在要從講台上下來,進入正題了。

我的系統

在過去 6 個月裡,我對與 Claude Code 相關的工作流程進行了很多改變,結果相當不錯,在我看來。

Skills 自動啟動系統(遊戲改變者!)

這個值得單獨一節,因為它完全改變了我使用 Claude Code 的方式。

問題

Anthropic 發布了這個 Skills 功能,我當時想「這看起來很棒!」擁有這些可攜式、可重複使用的指南讓 Claude 可以參考,聽起來非常適合在我龐大的程式碼庫中保持一致性。我花了相當多的時間與 Claude 一起編寫全面的 skills,包括前端開發、後端開發、資料庫操作、工作流程管理等。我們談論的是數千行的最佳實踐、模式和範例。

然後...什麼都沒發生。Claude 就是不使用它們。我會使用 skill 描述中的確切關鍵字。什麼都沒發生。我會處理應該觸發 skills 的檔案。什麼都沒發生。這非常令人沮喪,因為我可以看到潛力,但 skills 就像昂貴的裝飾品一樣放在那裡。

「頓悟」時刻

那時我想到了使用 hooks 的主意。如果 Claude 不會自動使用 skills,那如果我建立一個系統強制它在做任何事情之前檢查相關 skills 呢?

所以我深入研究了 Claude Code 的 hook 系統,並使用 TypeScript hooks 建立了一個多層自動啟動架構。而且它真的有效!

運作方式

我創建了兩個主要 hooks:

1. UserPromptSubmit Hook(在 Claude 看到你的訊息之前執行):

  • 分析你的提示以查找關鍵字和意圖模式
  • 檢查哪些 skills 可能相關
  • 將格式化的提醒注入 Claude 的脈絡中

現在當我問「佈局系統如何運作?」時,Claude 在甚至閱讀我的問題之前就會看到一個大大的「🎯 SKILL ACTIVATION CHECK - Use project-catalog-developer skill」(project catalog 是我前端一個大型複雜的資料網格功能)

2. Stop Event Hook(在 Claude 完成回應後執行):

  • 分析哪些檔案被編輯了
  • 檢查風險模式(try-catch 區塊、資料庫操作、非同步函數)
  • 顯示溫和的自我檢查提醒「你有加入錯誤處理嗎?Prisma 操作有使用 repository 模式嗎?」
  • 非阻塞,只是讓 Claude 保持警覺而不會煩人

skill-rules.json 配置

我創建了一個中央配置檔案,定義每個 skill:

  • Keywords(關鍵字):明確的主題匹配(「layout」、「workflow」、「database」)
  • Intent patterns(意圖模式):用正則表達式捕捉動作(「(create|add).*?(feature|route)」)
  • File path triggers(檔案路徑觸發器):根據你正在編輯的檔案啟動
  • Content triggers(內容觸發器):如果檔案包含特定模式(Prisma imports、controllers 等)就啟動

範例片段:

json
{
  "backend-dev-guidelines": {
    "type": "domain",
    "enforcement": "suggest",
    "priority": "high",
    "promptTriggers": {
      "keywords": ["backend", "controller", "service", "API", "endpoint"],
      "intentPatterns": [
        "(create|add).*?(route|endpoint|controller)",
        "(how to|best practice).*?(backend|API)"
      ]
    },
    "fileTriggers": {
      "pathPatterns": ["backend/src/**/*.ts"],
      "contentPatterns": ["router\\.", "export.*Controller"]
    }
  }
}

結果

現在當我處理後端程式碼時,Claude 會自動:

  • 在閱讀我的提示之前看到 skill 建議
  • 載入相關指南
  • 實際上一致地遵循模式
  • 最後透過溫和的提醒進行自我檢查

差異是天壤之別。不再有不一致的程式碼。不再有「等等,Claude 又使用了舊模式」。不再需要每次都手動告訴它檢查指南。

遵循 Anthropic 的最佳實踐(艱難的方式)

在自動啟動運作後,我更深入研究並找到了 Anthropic 的官方最佳實踐文件。結果我做錯了,因為他們建議將主要 SKILL.md 檔案保持在 500 行以下,並使用資源檔案進行漸進式揭露。哎呀。

我的 frontend-dev-guidelines skill 有 1,500+ 行。我還有幾個其他 skills 超過 1,000 行。這些龐大的檔案違背了 skills 的整個目的(僅載入你需要的內容)。

所以我重新組織了一切:

  • frontend-dev-guidelines:398 行主檔案 + 10 個資源檔案
  • backend-dev-guidelines:304 行主檔案 + 11 個資源檔案

現在 Claude 最初載入輕量級主檔案,只在實際需要時才提取詳細的資源檔案。大多數查詢的 token 效率提高了 40-60%。

我創建的 Skills

這是我目前的 skill 陣容:

指南與最佳實踐:

  • backend-dev-guidelines - Routes → Controllers → Services → Repositories
  • frontend-dev-guidelines - React 19、MUI v7、TanStack Query/Router 模式
  • skill-developer - 用於創建更多 skills 的 meta-skill

特定領域:

  • workflow-developer - 複雜工作流程引擎模式
  • notification-developer - 電子郵件/通知系統
  • database-verification - 防止欄位名稱錯誤(這個是實際上會阻止編輯的護欄!)
  • project-catalog-developer - DataGrid 佈局系統

所有這些都會根據我正在處理的內容自動啟動。就像有一位真正記得所有模式的資深開發者在看著 Claude 的肩膀。

為什麼這很重要

在 skills + hooks 之前:

  • Claude 會使用舊模式,即使我記錄了新模式
  • 每次都必須手動告訴 Claude 檢查 BEST_PRACTICES.md
  • 在 30 萬+ 行程式碼庫中程式碼不一致
  • 花太多時間修復 Claude 的「創意詮釋」

在 skills + hooks 之後:

  • 自動一致的模式
  • Claude 在開始之前就知道要遵循什麼
  • 大幅減少修復和重構
  • 實際上可以信任 Claude 會正確實作

★ Insight ─────────────────────────────────────

本文核心價值:

  1. Hooks 系統是 Claude Code 進階使用的關鍵:透過 UserPromptSubmit HookStop Event Hook,作者解決了 Skills 不會自動啟動的問題,建立了一個主動式的品質控制系統
  2. 漸進式揭露優於單一巨型檔案:將 1500+ 行的 skill 檔案拆分成主檔案 + 資源檔案的架構,token 效率提升 40-60%
  3. 人機協作的實務智慧:承認 AI 的隨機性和限制,強調「有時你就是要親自出馬」,而不是盲目依賴 AI

─────────────────────────────────────────────────

(文章內容似乎在此被截斷,Reddit 原文可能有更多內容未完整抓取)

Curation Desk

這篇文章要放去哪一層?

AI Priority65
待審 預設狀態:待審 · 已寫入文章 metadata

**免責聲明**:這篇文章分享的是我個人在 Claude Code 使用六個月後的經驗和設定,並非唯一正確的做法。希望能啟發你改善自己的 AI 程式開發工作流程。我只是個普通人,這只是我的個人意見。

先檢查外部連結是否值得保留,再決定是否轉入精選。