DEV Community

TK Lin
TK Lin

Posted on

112 個實戰淬煉的 Claude Code Skills — 每個讓我踩坑數小時的 Bug 修復,讓你不必再踩

AI 寫程式的助手很強大。但它們沒有記憶。

Claude Code 會在凌晨兩點幫你修好一個 Docker SQLite WAL 損壞的 bug。你搞清楚了根本原因(不能直接 docker cp 從運行中的容器複製 SQLite 資料庫——你得先停止寫入,或者連 WAL 檔案一起複製)。修好了。部署了。繼續做事。

三天後,同一個專案,新的 session。Claude Code 完全不記得那次修復。同樣的 bug 模式又出現了。你又 debug 一次。

第三次遇到同樣的問題時,我不再修 bug 了——我開始建一個系統,讓這些 bug 不可能再發生。


解法:Skills = AI 的肌肉記憶

Claude Code 支援「skills」——當偵測到相關模式時自動載入的 markdown 檔案。把它想成 AI 助手的「組織記憶」。

每個 skill 記錄:

  • 問題:什麼會出錯,出錯時長什麼樣
  • 根本原因:為什麼會發生(不只是怎麼修)
  • 修復方法:具體步驟、程式碼補丁、設定變更
  • 觸發條件:Claude Code 什麼時候該自動套用這個知識

在日本鄉下的動物庇護所花了 7 個月打造一個生產級 API 平台(39 個服務、30+ 個 API),過程中碰到 200+ 個 production bug。我把其中不明顯的那些萃取成 112 個可重用的 skill。


分類總覽

Docker 與部署(12 個)

Skill 修什麼
docker-sqlite-wal-copy-trap 從運行中容器複製 SQLite 造成資料損壞
docker-ghost-container-recovery 容器名稱被佔用但容器不存在
docker-small-vps-deploy-optimization 2GB VPS 上 docker build 觸發 OOM kill
docker-static-asset-copy-gotcha 靜態資源在容器內 404 但本機正常
docker-compose-force-recreate-caddy-loop force-recreate watchdog 導致無限重啟

資料庫與 SQLite(10 個)

Skill 修什麼
bun-sqlite-transaction-await-crash db.transaction() 內用 await 導致 production crash
sqlite-check-constraint-migration 擴展允許值時 CHECK constraint failed
bun-sqlite-like-parameter-binding LIKE 查詢的參數綁定靜默失敗
json-to-sqlite-hybrid-migration 從 JSON 檔案儲存安全遷移到 SQLite

API 與後端(15 個)

Skill 修什麼
hono-subrouter-auth-isolation 多個 Hono sub-router 共用路徑時的認證繞過
multi-provider-fallback-gateway 單一供應商故障拖垮整個服務
api-security-audit-methodology 30+ 個漏洞模式的系統化安全審查
hono-global-middleware-ordering 全域 middleware 對 sub-route 靜默不執行
multi-layer-proxy-timeout-chain-debugging CDN → 反向代理 → 應用鏈路的 502/504 錯誤

AI 與 LLM(8 個)

Skill 修什麼
llm-api-cost-optimization Claude API 費用失控
ai-prompt-mastery AI 給出籠統回答而非專家級回應
api-tool-use-upgrade-pattern 從手動 JSON 解析升級到正式 Tool Use
llm-model-version-migration-2026 已棄用的模型版本字串導致 404 錯誤

前端與 UI(6 個)

Skill 修什麼
nextjs-common-patterns 「params is a Promise」等 Next.js 13+ 常見坑
elderly-friendly-ssr-ui-optimization SSR 頁面對長輩/視力不佳用戶的友善化
template-literal-inline-js-escaping SSR 內嵌 script 的 JS 語法錯誤導致頁面靜默失敗

除錯與工作流(10 個)

Skill 修什麼
systematic-debug 漫無目的的 debug 浪費數小時走錯方向
code-verification-loop 沒有自動驗證就出貨
multi-agent-workflow-design 判斷何時該用多 Agent vs 單 Agent
audit-inflation-bias-prevention AI sub-agent 在審計報告中灌水假問題

安裝

一行指令:

curl -fsSL https://raw.githubusercontent.com/sstklen/washin-claude-skills/main/install.sh | bash
Enter fullscreen mode Exit fullscreen mode

安裝完成後:

  1. Skill 庫會複製到 ~/.claude/skills/
  2. 所有 Claude Code session 自動可用
  3. 不需要任何設定

驗證:

ls ~/.claude/skills/
# 應該看到 112 個 skill 資料夾
Enter fullscreen mode Exit fullscreen mode

前後對比:真實案例

場景: 你在 Docker 裡部署 Bun + SQLite 應用,需要備份資料庫。

沒有 skill:

你跑 docker cp container:/app/data.db ./backup.db。成功了。但備份是靜默損壞的——SQLite 正在寫入,WAL 檔案沒有被複製。你不會發現這件事,直到緊急需要從備份還原時。2-4 小時的 debug。恐慌。

docker-sqlite-wal-copy-trap skill:

Claude Code 在你提到從容器複製 SQLite 的瞬間就辨識出這個模式。它立即警告你 WAL 陷阱,並提供正確做法:

# 先停止寫入,或複製全部三個檔案:
docker cp container:/app/data.db ./backup.db
docker cp container:/app/data.db-wal ./backup.db-wal
docker cp container:/app/data.db-shm ./backup.db-shm
Enter fullscreen mode Exit fullscreen mode

幾秒鐘解決。不是幾小時。而且在任何專案中都不會再發生。


Skill 格式

每個 skill 的結構:

skill-name/
  SKILL.md       # skill 內容
Enter fullscreen mode Exit fullscreen mode

真實 skill 長這樣(節錄):

---
name: docker-sqlite-wal-copy-trap
category: Docker & Deployment
trigger: "copying SQLite from Docker container"
---

# Fix: Docker SQLite WAL Copy Trap

## 問題
`docker cp container:/app/data.db ./backup.db` 會產出
靜默損壞的副本。沒有錯誤、沒有警告——就是少了最近的資料。

## 根本原因
SQLite 使用 WAL(Write-Ahead Log)。光有 .db 檔案是不完整的。
你必須同時複製 .db-wal 和 .db-shm,或者先做 checkpoint。

## 修復方法
方案 A — 複製全部三個檔案:
  docker cp container:/app/data.db ./backup.db
  docker cp container:/app/data.db-wal ./backup.db-wal
  docker cp container:/app/data.db-shm ./backup.db-shm

方案 B — 先 checkpoint:
  sqlite3 /app/data.db "PRAGMA wal_checkpoint(TRUNCATE);"
  然後只複製 .db 檔案即可。
Enter fullscreen mode Exit fullscreen mode

每個 skill 不超過 500 行。Claude Code 偵測到匹配模式時自動載入相關 skill。

Stack 適用性說明

這些 skill 大部分來自特定技術棧:Bun + Hono + SQLite + Docker on Linux VPS。如果你的 stack 跟我們一樣,幾乎全部適用。

不同 stack 也通用的部分:

  • 除錯與工作流 skills(10 個)— 不限 stack 的問題解決模式
  • AI 與 LLM skills(8 個)— 適用於任何 Claude Code 專案
  • Docker skills(12 個)— 適用於任何容器化應用
  • API 模式(15 個中大部分)— timeout 鏈、認證隔離、安全審計不限框架

Stack 特定的 skill(Bun SQLite 怪癖、Hono sub-router bug)從名稱就能看出來——如果你不用 Bun 或 Hono,一看就知道哪些可以跳過。

想貢獻你自己的 skill?Fork repo,按格式新增,開 PR。你解決過的每個 production bug 都是一個等待被分享的 skill。


哲學

Skills 不只是 bug 修復。它們編碼了一個原則:

同樣的問題出現第三次,就不要再手動修了。改系統,讓它不可能再發生。

這 112 個 skill 代表了日本一間動物庇護所 7 個月的 production 血淚,濃縮成任何 Claude Code 使用者都能受益的模式。你最慘的 production bug,會成為你的 AI 最強的 skill。


GitHub: github.com/sstklen/washin-claude-skills

安裝:

curl -fsSL https://raw.githubusercontent.com/sstklen/washin-claude-skills/main/install.sh | bash
Enter fullscreen mode Exit fullscreen mode

完整故事: Zero Engineer — 從動物庇護所到生產級 API 平台

Top comments (0)