← 返回大綱
第三章 / 3

Skills &
Agents

讓 AI 記住你的規則,自動化你的重複工作。

概念

什麼是 Agent?

Agent 是指「能自主執行一連串任務的 AI」。它不只回答問題,而是會:

一般 AI 問答

  • 你問 → 它回答
  • 你來執行
  • 每次要重新說明規則

Agent 模式

  • 你說目標 → 它自動執行
  • 讀取、修改、測試都它做
  • 記住規則,一直遵守
比喻

想像你雇用了一個助理,給他一本「工作手冊」——他之後都會按照手冊做,不用每次提醒。CLAUDE.md 就是那本工作手冊。

CLAUDE.md

CLAUDE.md — 給 AI 的工作手冊

放在專案根目錄的文字檔。每次啟動 Claude Code,它都會自動讀取,記住所有規則。

你可以在裡面寫:

  • 這個專案是做什麼的
  • 程式碼風格(縮排、命名方式)
  • 禁止使用的套件或語法
  • Commit 訊息格式(本章重點)
  • 任何你希望 AI 記住的規則
# 這個專案
個人部落格網站,使用純 HTML/CSS。

## 規則
- 所有程式碼用繁體中文註解
- HTML 縮排使用 2 個空格
- CSS class 命名用 kebab-case
實作

建立 CLAUDE.md

cd my-project
touch CLAUDE.md
code CLAUDE.md
cd my-project
ni CLAUDE.md
notepad CLAUDE.md
全域設定

也可以在 ~/.claude/CLAUDE.md 設定全域規則,讓所有專案都套用。

Git Commit

為什麼需要 Commit 規範?

Commit 是記錄每次「存檔」的說明。

不好的範例

git commit -m "改了一些東西"
git commit -m "update"
git commit -m "aaa"

好的範例(Conventional Commits)

feat(nav): 新增手機版導覽列
fix(form): 修正送出按鈕無法點擊
docs(readme): 更新安裝步驟說明

Git Commit

Commit 格式規範

<類型>[(範圍)]: <說明>
  • 類型:這次改動的性質
  • 範圍(選填):影響哪個部分
  • 說明:簡短描述做了什麼

範例:

feat(nav): 新增導覽列
fix(button): 修正按鈕顏色錯誤
docs(readme): 新增安裝說明
style(css): 統一縮排格式
Git Commit

Commit 類型一覽

類型使用時機範例
feat新增功能feat(auth): 新增登入功能
fix修正 Bugfix(button): 修正點擊沒反應
docs修改文件docs(readme): 新增使用說明
style調整格式(不影響功能)style: 統一縮排
refactor重構(不改功能)refactor(nav): 簡化邏輯
chore雜項(套件更新等)chore: 更新相依套件
實作

把 Commit 規範寫進 CLAUDE.md

# Commit 規則

每個開發步驟完成後,必須執行一次 git commit。

## Commit 格式
<type>[(scope)]: <說明>

## 類型
| Type     | 說明       |
|----------|-----------|
| feat     | 新增功能   |
| fix      | 修正 Bug  |
| docs     | 修改文件   |
| style    | 調整格式   |
| refactor | 重構       |
| chore    | 雜項       |

## 範例
feat(nav): 新增導覽列
fix(form): 修正送出按鈕問題
範例

完整流程示範

改完 index.html 加了導覽列,想要 Commit:

claude

> 我剛剛在 index.html 新增了導覽列,幫我 commit

好的,看到你修改了 index.html,新增了 <nav> 區塊。

執行:
  git add index.html
  git commit -m "feat(nav): 新增頂部導覽列"

Commit 完成!
git log --oneline
a1b2c3d feat(nav): 新增頂部導覽列
Agent 示範

用 Agent 自動 Commit

Claude Code 有內建 /commit skill——它會自動判斷改了什麼,套用 CLAUDE.md 的格式,完成整個 git 流程。

# 你剛修改了 index.html(加了一個表單)

> /commit

分析變更中...
  修改了 index.html:新增 <form> 區塊,含姓名/Email 欄位和送出按鈕

根據 CLAUDE.md 的 Conventional Commits 規範:
  git add index.html
  git commit -m "feat(form): 新增聯絡表單含姓名與 Email 欄位"

Commit 完成!
  1. Agent 執行 git diff 分析所有變更
  2. 理解改了什麼(新增/修改/刪除)
  3. 讀取 CLAUDE.md 的 Commit 格式規範
  4. 自動選擇正確的 type 和 scope
  5. 執行 git add + git commit
  6. 回報結果給你確認
這就是 Agent 的價值

不只是「問答」——Agent 主動讀取 diff、查規則、執行指令,自主完成整個流程。你只要說「commit」。

Agent 示範

進階:多個檔案同時 Commit

改了好幾個檔案?Agent 會幫你判斷是否該拆成多個 Commit,或合成一個。

# 同時修改了 3 個檔案
# - index.html(加了導覽列)
# - style.css(加了導覽列樣式)
# - README.md(更新了說明)

> /commit

分析變更中...
  index.html + style.css:都屬於導覽列功能
  README.md:文件更新,獨立處理較清晰

建議拆成 2 個 Commit:
  1. feat(nav): 新增頂部導覽列與對應樣式
  2. docs(readme): 更新專案說明文件

要照這個方式 Commit 嗎?(y/n)
好的 Commit 習慣

每個 Commit 只做一件事,方便之後追蹤問題或還原特定功能。Agent 會幫你判斷拆分邏輯。

實作練習

動手試試看

  1. my-project 初始化 Git:git init
  2. 建立 CLAUDE.md 並加入 Commit 規範
  3. index.html 做一點修改(例如改標題文字)
  4. 啟動 Claude Code:claude
  5. 輸入:「幫我 commit 剛才的修改」
  6. git log --oneline 確認格式是否正確

課程完成!

你已經學會:終端機指令 → AI CLI → Skills & Agents
這就是現代開發者的日常工作基礎。