Skill vs Rule · 三級載入 · SKILL.md 規範 · 六步建立 Runbook · Mac 7×24 實戰
總在 Cursor 裡重複貼上同一段「發 PR + 跑測試 + 改 CHANGELOG」長提示詞?Agent Skill 把複雜流程沉澱成可複用操作手冊,搭配 Rule 的分工與三級漸進載入,讓 Agent 在 2026 年更像帶 SOP 的同事而非一次性聊天。本文面向反覆寫複雜 Prompt 的開發者:對照 Skill vs Rule、講清 SKILL.md 結構與 agentskills.io 生態(社群技能 31000+)、給出六步 Runbook建立第一個 Skill,並說明 Mac Mini M4 月租 如何支撐 7×24 Agent 與 Skill 複利。
2024–2025 年的「AI 程式助手」本質是會話式補全:你每次把脈絡、約束、步驟重新講一遍。2026 年的 Cursor Agent(2.4 起強化 Skills)則走向任務閉環:讀倉庫、改多檔、調工具、按團隊規範交付——這要求知識不只活在聊天紀錄裡,而要外置為可版本化的 Skill 套件。
Agent Skill 是放在 .cursor/skills/ 或使用者級 ~/.cursor/skills/ 的資料夾:核心是 SKILL.md(YAML frontmatter + Markdown 正文),可附帶 scripts/、references/、範本與檢查清單。Agent 在發現階段只讀 name 與 description;匹配任務後再啟用全文,並按需載入附屬檔案——避免把 50 頁 Runbook 一次性塞進 Context。
若你已在用 .cursor/rules 寫「禁止註解」「必須用 pnpm」,那是全專案護欄;當同一套「發版 + Code Review + 更新文件」流程每週重複三次,繼續加長 Rule 會讓每次對話都多付 token,且難以在同事間共享。Skill 解決的是流程複用,Rule 解決的是行為邊界——下文第二節用表對照。
長 Prompt 無法版本化:優秀提示詞散落在 Notion / Slack,Agent 讀不到;改一處全員不同步。
脈絡膨脹:把整份 Runbook 貼進對話,擠占程式碼與 diff 空間,長任務中途被截斷。
觸發不穩定:沒有結構化的 description「路由句」,Agent 不知道何時該打開哪本手冊。
無法漸進披露:大段腳本與 API 文件常駐 Context,簡單子任務也付全款 token。
團隊不可複用:個人 Chat 裡的成功經驗無法像 Git 分支一樣 review、合併、回滾。
Rule 像交規貼在擋風玻璃上;Skill 像隨車維修手冊——不到故障點不必翻完全冊。
Cursor Rules(.cursor/rules/*.mdc 或專案 Rules)在會話建立時按設定始終或按 glob 注入,適合編碼風格、安全紅線、倉庫結構約定。Agent Skills 遵循 agentskills.io 開放標準(2025 起多家工具互認),預設按需三級載入,適合多步工作流、領域知識與可執行腳本。
| 維度 | Rule | Agent Skill |
|---|---|---|
| 載入時機 | 會話開始或匹配檔案路徑時注入 | 發現 → 啟用 → 按需讀 references/scripts |
| 典型場景 | 禁止註解、提交規範、框架選型 | 發 PR、部署檢查、領域 API 對接、/slash 工作流 |
| 脈絡占用 | 常駐,條數過多會持續占用 | 未觸發時僅 metadata;觸發後漸進展開 |
| 類比 | 員工手冊 / 合規條款 | 崗位 SOP + 工具箱(腳本、範本、外連文件) |
references/ 按需讀取。scripts/validate.sh 由 Agent 在沙箱呼叫,結果回寫對話。社群已有 create-hook、create-rule、babysit(PR 合併與 CI)、split-to-prs 等官方/半官方 Skill;與 MCP 的關係是:MCP 連外部系統,Skill 教 Agent何時、按什麼順序使用那些工具——二者疊加而非互斥。
以下在 Cursor 2.4+ 驗證:可用內建 /create-skill 對話產生骨架,再按團隊規範收束。目標是把「你第三次才寫對的 Prompt」變成倉庫裡可 review 的資料夾。
在 Agent 對話輸入 /create-skill:描述任務類型、觸發語、輸入輸出與禁忌;讓 Agent 產生初版 SKILL.md 與目錄樹。
選定作用域:專案級 .cursor/skills/<skill-name>/ 隨 Git 共享;個人級 ~/.cursor/skills/ 放跨倉庫習慣(注意勿提交金鑰)。
寫好 frontmatter 的 description:這是路由鍵而非摘要——寫「USE when user asks to …」「DO NOT use for …」,幫發現階段精確匹配。
正文用漸進披露:核心步驟留在 SKILL.md;長文件、OpenAPI、樣例 JSON 放進 references/,腳本放進 scripts/。
測試觸發:用 3 條正例 prompt(應啟用)與 2 條反例(不應啟用)在新會話驗證;觀察 Context 是否只載入必要檔案。
遷移舊資產:冗長 Rules 或一次性 Commands 可用 /migrate-to-skills(或手動拆分),把流程型內容遷入 Skill,Rule 只留簡短紅線。
--- name: release-pr-runbook description: USE when the user asks to open a release PR, ship a version bump, or run the pre-merge checklist. DO NOT use for hotfix without changelog or for dependency-only bumps. --- # Release PR Runbook ## Gather - Read package.json version and recent git tags. - List open PRs targeting main. ## Act - Bump version per semver. - Update CHANGELOG.md with user-facing bullets. ## Verify - Run test suite and lint. - Confirm CI green before requesting review.
| 路徑 / 欄位 | 作用 |
|---|---|
SKILL.md | 必需;frontmatter + 主 Runbook(建議 < 500 行) |
name | 小寫連字號 ID,與資料夾名一致 |
description | 觸發路由句;含 USE when / DO NOT |
scripts/ | 可執行校驗、產生器;Agent 按需呼叫 |
references/ | 長文件、API 說明;啟用後再讀 |
assets/ | 範本、示意圖、範例設定(可選) |
Cursor 對 Skills 的實作與 agentskills.io 一致,可概括為三級,直接決定 token 帳單與穩定性:
發現(Discovery):啟動或掃描時只載入各 Skill 的 name + description(約數十 token/Skill),形成「可用手冊目錄」。
啟用(Activation):使用者意圖或關鍵字匹配後,注入完整 SKILL.md 正文(通常數百到一兩千 token)。
按需(On-demand):正文中的連結指向 references/*.md 或呼叫 scripts/* 時才載入/執行,避免「一本大書每次全開」。
設計 Skill 時把決策樹寫在正文前部(先判斷場景 A/B),把厚資料下沉到 references。若某腳本輸出很大,在 Skill 裡要求 Agent 只摘要關鍵行寫入回覆,而不是整段貼回 Context。
提示:description 寫得像行銷摘要會導致誤觸發;寫得像路由規則(條件 + 排除)才能發揮 L1 的價值。官方 create-skill 流程會反覆追問觸發語——值得花時間。
高品質 Skill 遵守四條工程原則:description 當路由、漸進披露、單一職責(一個 Skill 一類任務)、gather-act-verify 三段式正文。避免與 Rule 重複——Rule 寫「必須寫測試」,Skill 寫「如何為本倉庫跑整合測試並解讀失敗日誌」。
| Skill / 方向 | 適用場景 | 要點 |
|---|---|---|
| Prompt Lookup | 優化重複 Prompt、對照社群範本 | 減少自創輪子,對齊描述格式 |
| React Best Practices | 元件庫、RSC、效能與 a11y | 把 Vercel/團隊規範外置為手冊 |
| babysit / PR skill | PR 留言、CI 紅燈、合併衝突 | 與 GitHub CLI、CI 日誌聯動 |
| create-rule / create-skill | 治理 Cursor 設定本身 | 元 Skill,幫團隊統一腳手架 |
| sdk | Cursor SDK / Agent API 整合 | 後端或流水線裡程式化調 Agent |
| loop | 定時巡檢、cron 式 Agent | 需穩定宿主 7×24,見第六節 |
SKILL.md 為核心。/create-skill、/migrate-to-skills 納入預設工作流。description 定位為路由述詞而非文章摘要——官方文件與 create-skill 引導均強調此點。注意:不要把金鑰、客戶 PII 寫進 description(L1 常駐可見)。腳本用環境變數;references/ 可 gitignore 敏感附錄,在 Skill 正文說明取得方式。
技能生態不再鎖死在單一 IDE:agentskills.io 提供規範、校驗思路與索引入口,團隊可把內部 Skill 子模組化發布(類似內部 npm)。對個人開發者,更現實的路徑是:從社群 fork 一個接近的 Skill → 改 description 與 references/ → 在 PR 裡 review diff。
當 Skill 從「寫程式輔助」延伸到7×24 自動化——例如 /loop 定時掃倉、Telegram/Slack 裡觸發 /mac-quote 類報價流程、或 Cursor SDK 在伺服器端長期跑 Agent——宿主選型變成 Skill 能否複利的關鍵:
~/.cursor/skills 當「組織記憶」長期養大的團隊。典型落地:在月租 Mac 上固定專案 clone + Skills 倉庫 submodule,用 Hook 在 merge 後自動跑 scripts/verify.sh;IM Bot 只負責投遞意圖,重活在 Mac 上按 Skill 執行——這與Hermes Gateway 7×24、持久記憶同屬「Agent 當基礎設施」思路,只是 Cursor Skills 更貼近日常 IDE 工作流。
筆電與低價 VPS 能完成Skill 編寫與單次驗證,卻在合蓋休眠、缺少 macOS 原生自動化路徑、以及長期守護 ~/.cursor 狀態上削弱 7×24 體驗;純 API Skill 雖可放雲端,一旦 Runbook 依賴本機腳本、鑰匙圈或 Apple 生態工具,遷移成本會陡增。對要把 Agent Skill 當「常駐同事」、讓觸發曲線與 token 節省跨週累積的團隊,VpsMesh Mac Mini M4 雲端租用把 uptime、遠端 KVM 與固定月租打包成可預期 OpEx——比反覆重裝更省時間。方案見 Mac Mini M4 租用價格,部署問題見 雲端幫助中心,線上下單見 訂購頁。
MCP(Model Context Protocol) 是連接外部世界的能力層:資料庫、GitHub API、瀏覽器、內部微服務,透過 Server 暴露 tools/resources。Agent Skill 不取代 MCP,而是 Markdown 操作手冊:規定什麼任務先 gather 什麼、再調哪些 MCP 工具、如何 verify。類比:MCP 是插座與線纜,Skill 是設備說明書上的開機流程。
凡「每次寫程式都要遵守」的短規則放 Rule(如禁止註解、必須用指定套件管理器)。凡「偶爾要做、步驟多、需要腳本與附錄」的流程放 Skill。經驗法則:同一長 Prompt 第三次出現時,應 /create-skill 沉澱;Rule 總條數宜少,避免 L0 會話就被占滿。可用 /migrate-to-skills 把臃腫 Rule 裡的流程段遷出。
不必須。純雲端 API、無 macOS 依賴的 Skill 可在 Linux VPS 上由 Cursor CLI / SDK 調度。若 Skill 含 Apple 生態自動化、本機 Keychain、或你希望 ~/.cursor/skills 與 Gateway 一樣 7×24 不被合蓋打斷,Mac Mini M4 月租更省心。建議先租 1 個月驗證觸發與 token 曲線,方案見 Mac Mini M4 租用價格,下單見 訂購頁。