同事 @masa-asa 發表了一篇〈活用 AI 的開發中,「一名工程師」如何面對並實踐的 3 個機制〉的文章。
雖然真心覺得很厲害,但老實說我的感受是這樣:
「要把設計做得那麼漂亮,我實在沒那個力氣……!而且,如果可以的話,我想把時間拿去做技能本身以外的事……!」
這樣自暴自棄地想著,正是這次「懶人 AI 驅動開發」的起點。這世上已經有很多人把技能做好並公開了。那麼,直接把現成的拿來,再改成自己能用的不就好了嗎……!這種偷懶做法,究竟能不能成功呢?
與其從零自己寫,先去看看有哪些已經整理好的技能集中地。
這兩個網站都列出了社群製作的技能與指令,像一整排展示櫃一樣。「整理 Git commit 訊息的技能」「自動產生文件的技能」等等,工作上常見的「麻煩事」幾乎都找得到。
NOTE
Awesome GitHub Copilot 依 agents、instructions、skills、plugins 等類別整理,雖然是給 GitHub Copilot 用的,但技能內容(SKILL.md)本身有很多也能直接在 Claude Code 上使用。
很方便的是,這兩個網站都提供了可用一條指令安裝的方式。
WARNING
公開散布的技能可能潛藏提示注入(prompt injection)的風險。安裝之前,務必先仔細閱讀 SKILL.md 等內容,確認沒有可疑指令後再使用。
# 安裝 Awesome GitHub Copilot 的技能
# 例)conventional-commit
gh skills install github/awesome-copilot conventional-commit
# 安裝 skills.sh 的技能
# 例)frontend-design
npx skills add https://github.com/anthropics/skills --skill frontend-design
這兩個指令都會乖乖把技能放到 .claude/skills/ 底下。所謂「不動手」的懶人精神,從這裡就已經實現了。
滿懷期待地開始使用技能後,立刻遇到了障礙。
「咦,明明是在用日文對話,怎麼這傢伙突然開始講英文了……?」
沒錯,Claude Code 輸出的提示與註解,會變成英文。
原因很單純:撿來的技能內容(SKILL.md)本來就是英文寫的。當技能指示是英文時,Claude Code 也比較容易被那個語境帶著走,而用英文回應。
在 .claude/settings.json 中設定預設語言。
{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"language": "japanese"
}
設定之後,即使技能內容是英文,輸出也會正常變成日文。
「太好了,這樣就解決了……」
我原本是這麼想的,但事件還沒結束。
在語言設定調整好、覺得萬事 OK 之後,實際用 conventional-commit 這個技能來產生 commit 時,commit 訊息依然頑固地維持英文。
「不是已經在 settings.json 設成日文了嗎……?」
仔細想想,language 設定的只是對話輸出的語言,而 conventional-commit 技能裡對「commit 訊息格式」的規則,還是強烈受到技能內英文指示與範例的影響。也就是說,語言設定和技能專屬規則是兩回事(淚)
於是我在 CLAUDE.md 裡明確寫下「commit 訊息要用日文撰寫」的方針,藉此覆寫 conventional-commit 技能原本的英文規則。
## 使用技能時的規則
### 使用 conventional-commit 技能時的規則
- type, scope 使用英文(feat, fix, docs 等)
- description, body 使用日文撰寫
把撿來的技能當成「參考書」,只挑出符合自己團隊風格的部分,再整理進 CLAUDE.md。比起從零開始寫,省力得多,而且還能只針對需要調整的地方精準修改。
最後,我把流程整理成這樣:
settings.jsonCLAUDE.md 覆寫技能規則這樣就不是「自己寫技能」,也不是「大改技能內容」,而是改在外層的 settings.json 和 CLAUDE.md 來調整,算是一個很不錯的折衷方案。
老實說,一開始我有「技能就是要自己做」的既定印象,但實際上乾脆走「撿來再修」的路線後,比想像中還要舒服。特別是英文提示詞問題和 commit 訊息語言問題,如果自己一個人卡住,應該會白白浪費不少時間。
如果你也在想「做技能好麻煩……」,不妨先從逛逛公開技能網站開始。也歡迎分享你們的「懶人 AI 驅動開發」心得!