Hub GitHub Copilot CLI 完整教學

第 4 篇 高手 · 第 12 章

自訂工作流程:Skills、Custom Agents、Hooks 與 Plugins

GitHub Copilot CLI 的客製化系統不是「路線圖上的猜測」——它從公開預覽那天起就已經是七種機制齊全、正式上線的完整光譜,而且工具命名還跟 Claude Code 隔空對上了話。

前面幾章你已經學會怎麼「對 Copilot 講人話」(第 4 章)、怎麼寫指示檔案讓它記住專案規矩(第 5 章)、怎麼接外部工具(第 9 章)。這一章要把散落各處的「客製化」拼成一張完整地圖:除了指示檔案,Copilot CLI 還有可重複使用的技能卡(Skills)、帶專門人設的子代理(Custom Agents)、時間到了機械式自動跑的掛鉤(Hooks),以及把這些全部打包分享出去的外掛(Plugins)。

開頭要先講一個好消息:這些機制不是「還在路線圖上、只能猜」的東西。查證後發現,Copilot CLI 從一開始設計就已經是「custom instructions + skills + custom agents + hooks + MCP + plugins」這一整套完整光譜,而且官方自己就有一頁「這麼多種機制到底該用哪個」的比較說明——這是本章最好的骨架來源。

這一章你會學到:

  • 七種客製化機制各自是什麼、放在哪、什麼情境該用哪一種;
  • Skills 是跨工具的開放標準,而且官方文件直接把 .claude/skills 列為認得的存放路徑之一——代表你在 Claude Code 寫的技能卡,搬過來幾乎不用改;
  • Custom Agents.agent.md)怎麼寫、frontmatter 每個欄位在管什麼,以及一張工具別名對照表——它幾乎是照抄 Claude Code 的工具命名習慣設計的;
  • Hooks 怎麼綁在生命週期事件上自動執行,以及一條特有的硬性規定:同一個 hook 要同時寫 bash 跟 powershell 兩份腳本;
  • MCP 設定的幾個進階細節、內建的兩個免設定伺服器;
  • 剛上線、還在快速迭代的 /fleet 平行多代理編排,以及 Plugins 打包分享機制。

補充資訊

本章內容主要查證自 GitHub 官方開發者文件站(docs.github.com/en/copilot)多篇 how-to 頁面,查證日 2026-07-18。GitHub Copilot CLI 改版速度很快(同一週內就能連發好幾個版號),部分細節(尤其 /fleet 這種標記為新功能的部分)請以你實機看到的畫面為準,正文會逐段標明料源分級。

12.1 全景圖:七種客製化機制,一張表讀懂

官方有一頁專門回答「這麼多種客製化機制,我該用哪一個」的比較說明(頁面代稱 comparing-cli-features;查證時只確認了內容,沒能取得這一頁確切的獨立網址,正文內容以此頁揭露的比較邏輯為準,不連結)。翻成中文整理如下:

機制是什麼放在哪用在什麼情境
Custom instructions第 5 章已教過)session 開始就載入的持久性指示AGENTS.md.github/copilot-instructions.md$HOME/.copilot/copilot-instructions.md全域套用的團隊規範、風格規則
Skills一個含指示(可附腳本)的 Markdown 資料夾,特定情境才載入見 12.2偶爾用到、需要一致輸出格式的可重複工作流程
ToolsCopilot 用來「做事」的能力(搜尋檔案、編輯、跑指令、呼叫 skill)內建,或透過 MCP server 加通常不用手動呼叫,Copilot 自己決定
MCP servers讓 Copilot 連外部資料源/工具的服務~/.copilot/mcp-config.json內建工具不夠、要接外部系統
Hooks在 session 生命週期特定時機自動執行的指令見 12.4guardrail、自動化、錯誤處理
Custom agents帶專門知識與限定工具集的「人設」.agent.md 檔,見 12.3需要專才、受限工具集的助手
Plugins打包 skills/agents/hooks/MCP 設定成一包可安裝的功能見 12.7團隊整包分享、易安裝/更新

(料源:official,官方「客製化機制比較」頁摘要整理)

還有一個容易被忽略、但很重要的定位:Subagent 不是使用者手動設定的機制,是自動觸發的執行單位。Copilot 主 agent 在探索程式碼、跑複雜指令、review 變更、處理多步驟工作、或委派給 Custom Agent 時,會自動生出 subagent 去執行——你不用另外「設定」subagent 本身,你設定的是「custom agent 這個人設」,subagent 只是它被叫出來做事時的那個執行實體。這個「定義 vs 執行實體」的關係,12.3 節會再講清楚。

補充資訊:這裡沒有「自訂 prompt 被棄用」的歷史包袱

如果你也讀過本站 Codex CLI 單元的第 12 章,會記得那邊有一段很長的歷史:Codex 曾經有一套「自訂 prompt」機制,後來被官方標為棄用、實際上也真的壞掉了,逼所有人搬去用 Skills。查證範圍內,Copilot CLI 沒有這段包袱。 Copilot CLI 從公開預覽那天起,客製化機制的設計就已經是本節這張表的完整光譜,沒有查到「先有某個舊機制、後來棄用改用 Skills」這樣的歷史軌跡。如果你是從 Codex CLI 轉過來的讀者,不用在 Copilot CLI 這邊找一個對應的「棄用故事」——它本來就沒有這段。

12.2 Skills:官方證實是開放標準,直接跟 Claude Code 通用

這是本章最值得畫重點的一節,也是四套工具對照起來最有意思的一段。

官方原文定性:

"The Agent Skills specification is an open standard, used by a range of different AI systems."

翻成白話:Skill 不是 GitHub 自己關起門發明的格式,而是一套跨多個 AI 系統共用的開放規格。

Skill 放哪裡:專案級三選一、個人級二選一

範圍路徑備註
專案級.github/skillsCopilot CLI 自己習慣的路徑
專案級.claude/skills官方文件直接列出這個路徑,也認得——等於官方承認相容 Claude Code 的技能存放慣例
專案級.agents/skills跨工具通用慣例(本站 Codex CLI 單元用的也是這個路徑)
個人級~/.copilot/skillsCopilot CLI 自己的個人路徑
個人級~/.agents/skills跨工具通用的個人路徑

(料源:official,「Adding skills for Copilot CLI」頁逐字查證)

三個專案級路徑都會被讀,不是擇一,這代表一件很實用的事:如果你的專案已經有 .claude/skills/ 底下寫好的技能卡(不管是給 Claude Code 用的),直接開 Copilot CLI,它就認得,不用你搬家、不用改一個字。

小技巧

官方也明講可以從社群分享的技能庫直接拿現成的來用,包括 anthropics/skills(Anthropic 官方技能庫)跟 GitHub 自己維護的 github/awesome-copilot。想找現成的技能卡,這兩個地方是官方認可的起點,不用自己從零寫。

SKILL.md 的長相

一個 skill 就是一個資料夾,裡面必備 SKILL.md,YAML frontmatter 的必填欄位是 namedescription,其他都是選配:

my-skill/
├── SKILL.md            (必備:name + description 必填)
├── scripts/            (選配:輔助腳本)
├── references/         (選配:參考文件)
└── assets/             (選配:素材)

frontmatter 除了必填的兩欄,還有幾個常見選填欄位:license(授權)、argument-hint(參數提示,文件化「該帶什麼參數」)、allowed-tools(限制這張技能卡只能呼叫哪些工具)。

重要提醒:allowed-tools 這欄,效力不保證跨工具通用

allowed-tools 這個欄位在 Claude Code 生態圈裡是真的會被強制執行的權限限制。但開放標準只保證格式共通,不保證每個工具都會照著強制執行——如果你是把 Claude Code 那邊寫好、依賴 allowed-tools 做安全限制的技能卡直接搬進 Copilot CLI,先別預設這欄在這裡一樣有攔阻效果,動手前建議先用小範圍測試確認,或改用第 6 章教過的 --allow-tool--deny-tool 這種 Copilot CLI 自己的權限機制做真正的把關。

怎麼叫它出來、怎麼確認真的載入了

呼叫方式:AI 依你的 prompt 內容自動判斷要不要觸發,或者你在 prompt 裡直接打 /skill名稱 明確指定,不用猜它會不會自己想到。

改完技能卡的內容,記得重新載入:

/skills reload

想確認某張技能卡真的載入成功,用:

/skills info SKILL-NAME

(料源:official)

補充資訊

官方逐字說明 Agent Skills 這套機制的支援範圍不只 CLI:「Agent skills work with Copilot cloud agent, Copilot code review, the GitHub Copilot CLI, the GitHub Copilot app, and agent mode in Visual Studio Code and JetBrains IDEs.」——換句話說,你寫一張技能卡,理論上不只 Copilot CLI 認得,Copilot 產品線的其他前端也吃得到同一份格式。

12.3 Custom Agents:.agent.md,把「人設」寫進 frontmatter

如果 Skill 是「一張教它怎麼做一件事的技能卡」,Custom Agent 就是「一個帶專門知識、限定工具集的完整人設」——比技能卡更重一層,適合你想要一個「這個助手只做這件事、只准碰這些工具」的專才角色。

存放位置:注意這裡的優先順序跟直覺相反

範圍路徑
專案級.github/agents/
個人級~/.copilot/agents/

檔名固定格式:<名字>.agent.md(例如一個叫「Security expert」的 agent,檔名就是 security-expert.agent.md)。

重要提醒:同名時,個人層蓋過專案層

大多數人的直覺是「專案層比較貼近當下工作、應該優先」,但 Custom Agent 同名時是使用者層(個人層)蓋過專案層——這跟一般「近者優先」的心智模型相反,容易踩雷。如果你發現自己在專案裡精心寫好的 agent 行為跟預期不一樣,先檢查一下 ~/.copilot/agents/ 底下是不是也有一個同名檔案在搶戲。

frontmatter 完整欄位表

---
name: security-expert
description: 專門審查程式碼裡的安全漏洞,發現可疑輸入驗證、權限檢查缺漏時使用。
target: github-copilot
tools: [read, search, execute]
model: gpt-5.3-codex
disable-model-invocation: false
user-invocable: true
mcp-servers: {}
metadata: {}
---

你是一位資深的安全稽核員,專注在……
欄位型別說明
namestring,選填顯示名稱
descriptionstring,必填這個 agent 的用途與能力描述
targetstringvscodegithub-copilot,不填預設兩邊都支援
toolslist/string可用工具清單,逗號字串或 YAML 陣列皆可
modelstring指定模型,不填繼承預設
disable-model-invocationboolean關掉「Copilot 依任務內容自動叫用這個 agent」
user-invocableboolean控制使用者能不能手動選用這個 agent
inferboolean已淘汰,改用上面兩個布林欄位
mcp-serversobject這個 agent 專屬的額外 MCP server 設定
metadataobject自訂註記資料

prompt 內容上限:30,000 字元

(料源:official,「Creating custom agents for Copilot CLI」頁逐字查證)

工具別名對照表:幾乎照抄 Claude Code 的工具命名

tools 欄位裡可以用的別名,官方給了一張對照表——這張表本身就是一個值得留意的細節:

別名相容名稱作用
executeshellBashpowershell執行系統指令
readReadNotebookRead讀檔
editEditMultiEditWriteNotebookEdit編輯/寫檔
searchGrepGlob搜尋檔案/內容
agentcustom-agentTask呼叫另一個 custom agent
webWebSearchWebFetch抓網頁/搜尋
todoTodoWrite待辦清單管理

(料源:official,同上文件)

小技巧:這是可查證的「生態系互相借鏡」實例

BashReadWriteGrepGlobTodoWriteTask 這些「相容名稱」,幾乎原封不動對應 Claude Code 內建工具的命名。這不是巧合式的相似,是官方逐字文件白紙黑字寫出來的相容層——代表 GitHub 設計 Custom Agent 的工具別名系統時,直接把 Claude Code 的工具詞彙當成相容對照表納入,方便從 Claude Code 遷移過來的使用者不用重新學一套術語。

呼叫方式與內建現成 agent

四種呼叫方式:

  1. /agent 互動選單挑選
  2. 對話中明確指名:Use the security-auditor agent on all files in the /src/app directory
  3. 推論觸發:你描述的內容符合某個 agent 的觸發詞,Copilot 自己判斷該用哪個
  4. 程式化呼叫:copilot --agent security-auditor --prompt "..."

官方逐字定義了 custom agent 與 subagent 的關係:「Work performed by a custom agent is carried out using a subagent, which is a temporary agent spun up to complete the task.」——custom agent 是「人設定義」,subagent 是「執行實體」,關係類似類別跟實例。

官方內建幾個現成、開箱即用的 custom agent:exploretaskresearchcode-reviewrubber-duckgeneral-purpose。範例(官方逐字):

(料源:official)

copilot -p "Review the latest commit" --allow-tool='shell' --agent code-review

12.4 Hooks:讓 Copilot CLI 在關鍵時機自動跑你的腳本

Skill 跟 Custom Agent 都還是「Copilot 自己判斷要不要拿出來用」;Hook(掛鉤)完全不靠它判斷。時間到了、生命週期事件觸發了,該跑的邏輯就機械式地跑一次,沒有「要不要」的空間——有些事你不想只是「建議」它做,你要它保證發生。

官方確認的六個生命週期事件

事件(camelCase)大致時機
sessionStart開一個新的對話 session 時
sessionEnd這個 session 結束時
userPromptSubmitted你送出一則訊息之後
preToolUseCopilot 要執行某個工具(跑指令、改檔……)之前
postToolUse工具執行完之後
errorOccurred發生錯誤時(Copilot 獨有,其他三套本站介紹過的工具沒有這個事件)

(料源:official,「Using hooks with Copilot CLI」與「Hooks reference」頁逐字查證)

重要提醒:事件命名是 camelCase,別照抄 Claude Code 的 PascalCase

如果你熟悉 Claude Code 的 Hooks 系統,會習慣 PreToolUsePostToolUseSessionStart 這種首字母大寫(PascalCase)的事件命名。Copilot CLI 用的是 camelCase:preToolUsepostToolUsesessionStart 直接把 Claude Code 那邊的事件名複製貼上到 Copilot 的 hooks.json 裡,會因為大小寫對不上而抓不到對應事件——這是一個看起來很小、但很容易讓 hook 靜默失效的地雷。想完整對照兩邊的命名風格差異,可以看 Claude Code 的Hooks 與確定性自動化那一章。

preToolUse 是最關鍵的一個事件:它能核准或拒絕工具執行,做法是寫一個 JSON 物件到 stdout 來下決定;postToolUse 則可以修改工具結果,或注入額外的上下文給模型。

補充資訊:事件數量可能不只六個,且會隨版本調整

查證過程中,官方主要的 hooks 文件頁確認了上面六個事件;另外在「客製化機制比較」那頁的敘述裡,還看到 agentStopsubagentStop 這類額外事件名稱出現,但沒有在專屬的 hooks 文件頁裡找到同等分量的逐字說明。這代表 hooks 的事件清單可能比這裡列的六個更完整、也可能還在擴充中。保守做法:以上面六個當作確認可用的基本盤,若你需要更細的生命週期掛鉤點,實機打 copilot help 或查最新的 Hooks reference 頁核對,別假設清單到此為止。

設定檔格式:跨平台雙寫要求

設定放在 .github/hooks/<NAME>.json(會進版控、團隊共用),JSON 必須含 version: 1 欄位與 hooks 物件:

(料源:official)

{
  "version": 1,
  "hooks": {
    "sessionStart": [
      {
        "type": "command",
        "bash": "echo \"Session started: $(date)\" >> logs/session.log",
        "powershell": "Add-Content -Path logs/session.log -Value \"Session started: $(Get-Date)\"",
        "cwd": ".",
        "timeoutSec": 10
      }
    ]
  }
}

官方明講一條特有的硬性規定:

"Each hook requires both a bash key ... and a powershell key ... to allow the hooks to run on all three operating systems."

翻成白話:同一個 hook,你必須同時提供 bashpowershell 兩份腳本,才能讓它在 Linux/macOS/Windows 三個平台上都能跑。這跟 Claude Code 的 hooks(通常只寫一種 shell 語法)或 Codex CLI 的做法不同,是 Copilot CLI 特有的要求——只寫一份 bash 腳本、沒補 powershell,這個 hook 在 Windows 上就會缺角。

預設 timeout 是 30 秒(上面範例把它改成 10 秒是自訂值)。常見用途:session 記錄、完成時通知、追蹤工具使用、環境自訂設定。

重要提醒

Hook 能做的事跟你手動下指令一樣廣——它就是一支會被實際執行的程式。動手寫破壞性的 hook(例如會刪檔、會動 production 環境)之前,先在測試專案裡跑過一輪,確認行為符合預期,再放進正式專案的 .github/hooks/

12.5 MCP 再深一點:設定檔、內建伺服器與語法糖

第 9 章已經講過 MCP 的基本設定,這裡補幾個跟「客製化工作流」相關的進階細節。

設定檔位置與優先序

主要設定檔是 ~/.copilot/mcp-config.json(使用者層級),較新版本也支援.github/mcp.json做儲存庫層級設定,會在每一層目錄自動探索。

補充資訊:優先序官方沒有給逐字表格

查證範圍內,多份 GitHub Issue 討論串描述的現況是:儲存庫層級設定先載入 → 使用者層級可以覆蓋/擴充 → 命令列旗標 --additional-mcp-config 最高優先。這是社群整理出來的現況描述,不是官方逐字表格,標記為 practice/community 等級。優先序仍在演進中,實機用 /mcpcopilot mcp list 確認實際載入結果,比背這張表更可靠。

設定檔格式與內建伺服器

(料源:official)

{
  "mcpServers": {
    "playwright": {
      "type": "local",
      "command": "npx",
      "args": ["@playwright/mcp@latest"],
      "env": {},
      "tools": ["*"]
    },
    "context7": {
      "type": "http",
      "url": "https://mcp.context7.com/mcp",
      "headers": { "CONTEXT7_API_KEY": "${COPILOT_MCP_CONTEXT7_API_KEY}" },
      "tools": ["*"]
    }
  }
}

可提交的設定檔只放參照,不放憑證

.github/mcp.json.mcp.json 可能被版本控制;不可填入真實 API key。範例以 ${COPILOT_MCP_CONTEXT7_API_KEY} 示意受支援的環境變數/secret 參照,請在本機或 CI 的 secret 機制設定實值。不同 MCP 設定來源支援的展開語法可能不同;先看官方文件與實機結果,若不支援安全展開,就不要把需要憑證的 header 放進可提交檔案。

兩個內建 MCP server,開箱即用不用設定github(預設所有唯讀工具可用,寫入類工具需另外允許)、playwright(預設只能存取 localhost,等於瀏覽器自動化被限定在本機開發伺服器範圍內)。

管理指令:

(料源:official)

copilot mcp add SERVER-NAME -- COMMAND [ARGS...]
copilot mcp add --transport http SERVER-NAME URL
copilot mcp list
copilot mcp get SERVER-NAME
copilot mcp remove SERVER-NAME

互動模式裡也有對應的 /mcp 系列指令。想暫時關掉 MCP:--disable-builtin-mcps(關掉所有內建 MCP server)、--disable-mcp-server SERVER-NAME(只關掉特定一個)。

小技巧:金鑰注入語法借用了 GitHub Actions 的寫法

環境變數/金鑰可以用好幾種語法注入設定檔:$VAR${VAR}${VAR:-default},以及 ${{ secrets.VAR }}${{ vars.VAR }}。後面這兩種花括號語法明顯是照抄 GitHub Actions workflow 的寫法——這不是巧合,是 GitHub 生態系整合感的又一個佐證:MCP 設定檔的語法習慣,跟你在 .github/workflows/ 裡寫的東西感覺是同一套。

12.6 🧪 進階/實驗性:/fleet 平行多代理編排

前面幾節的機制都已經是穩定、正式功能。這一節要介紹一個 2026 年才上線、還在快速迭代中的新功能——/fleet,先讓你知道它存在、抓住基本概念,完整的多代理心法留給第 14 章「多代理、平行工作流與委派協作」整章展開。

觸發方式:互動模式直接打 /fleet <目標 prompt>,或者在 Plan 模式產出計畫後,選「Accept plan and build on autopilot + /fleet」。

運作原理(官方逐字語意):主 agent 分析你的 prompt,判斷能不能拆成獨立的小任務;能拆的話,它自己當「協調者(orchestrator)」,管理子任務之間的工作流程與相依關係,把可以平行跑的部分分派給多個 subagent 同時執行,讓整個大任務更快完成。

限制(官方明講,務必看清楚):

"If your request is inherently sequential, using the /fleet slash command mode may not provide any benefit."

翻成白話:如果你要做的事本質上是一步接一步、有先後順序的,用 /fleet 未必划算——拆得太細,反而可能導致更多次的模型互動、成本比讓主 agent 直接做還高。這是官方自己給的誠實成本警語,不是危言聳聽。

其他值得先知道的限制:各個 subagent 有各自獨立的 context window,彼此互相看不到對方在做什麼(除非協調者主動彙整);監控目前背景在跑的任務,用 /tasks 開任務面板查看。

重要提醒:這是快速迭代中的新功能

/fleet 是 2026 年才上線的功能,社群觀察到幾乎每週都有更新調整。書裡標記為 experimental,用之前建議先查最新的官方文件,操作細節、行為表現都可能已經跟這裡寫的不一樣。

12.7 Plugins:把 Skills/Agents/Hooks/MCP 打包成一包

前面幾節都是「一個一個裝」的零件。Plugin(外掛)把一整組零件——skills、custom agents、hooks、MCP server 設定——打包成一個可以整批安裝、整批管理的單位,適合團隊要在好幾個 repo 之間共用同一套客製化設定的情境。

管理方式是 copilot plugin 系列指令(含 marketplace/install/uninstall/update/list 子指令),互動模式對應 /plugin;另外還有 copilot plugins listenabledisableremove NAME 這組指令,remove 可以用 --plugin--mcp--skill 指定只移除外掛裡的某一種元件。已安裝的外掛,設定目錄底下對應兩個資料夾:installed-plugins/(依 marketplace 名稱分層存放,直接安裝、沒有走市集的則放進 _direct/)、plugin-data/(外掛自己的持久化資料)。

(料源:official/practice 混合,指令語法來自官方 CLI 參考頁與設定目錄結構頁;「建立 marketplace」這一頁官方文件確認存在,但查證時未取得完整獨立網址,正文以已確認的指令與目錄結構為準,不連結該頁)

小技巧:什麼時候該打包成 Plugin

只是自己一個人用、或只有一個 repo 要用,放一張 Skill 在 .github/skills.claude/skills 就夠了,不必為了「看起來比較專業」硬包成 plugin。真正該升級成 plugin 的時機,是同一組 skills/hooks/MCP 設定要在好幾個 repo 或好幾位隊友之間重複用到——與其每個 repo 都手動複製貼上、改壞了還要一個個回頭修,不如包成一個 plugin,之後升級只要跑一次更新指令,全隊一起同步。

本章小結

這一章把 Copilot CLI 的客製化系統拼成一張完整地圖:它從一開始就是七種機制齊全的正式功能,沒有「自訂 prompt 被棄用」這種歷史包袱Skills 是跨工具的開放標準,官方文件直接列出 .claude/skills 為認得的存放路徑,Claude Code 使用者的技能卡幾乎不用改就能搬過來用;但 allowed-tools 這類安全性欄位的強制力不保證跨工具通用。Custom Agents.agent.md)是比技能卡更重一層的專才人設,frontmatter 完整欄位表、工具別名系統幾乎照抄 Claude Code 的工具命名,個人層蓋過專案層是一個反直覺的細節,值得留意。Hooks 綁在六個確認的生命週期事件上(camelCase 命名,跟 Claude Code 的 PascalCase 不同),Copilot CLI 特有的要求是同一個 hook 必須同時寫 bash 跟 powershell 兩份腳本。MCP 除了第 9 章教過的基本設定,還有儲存庫層級設定檔、內建的 github 跟 playwright 兩個免設定伺服器,以及借用 GitHub Actions 語法的金鑰注入寫法。最後認識了兩個進階/實驗性主題:/fleet 平行多代理編排(還在快速迭代,完整心法留給第 14 章),以及 Plugins 打包分享機制。

動手試試

  1. 在你的專案裡建一個 .claude/skills/ 資料夾(如果還沒有的話),寫一張最簡單的 SKILL.md(只填 namedescription),開 copilot/skills info 確認它真的被讀到。
  2. .agent.md 寫一個最簡單的 custom agent(例如一個只准讀檔、不准改檔的「code-reviewer」),存進 .github/agents/,用 /agent 選單挑出來試跑一次。
  3. 建一個最簡單的 sessionStart hook(記得同時寫 bashpowershell 兩個欄位,即使你只在其中一個平台上測試),存進 .github/hooks/,開一個新 session 確認它真的執行了。
  4. copilot mcp list,看看你目前接了哪些 MCP server;確認一下內建的 githubplaywright 是不是也在清單裡。
  5. (進階)如果你的任務剛好可以拆成幾個獨立的小任務(例如「幫這三個模組各自補一份測試」),試著打 /fleet 讓它自己拆解分派,觀察協調者怎麼安排這幾個 subagent 的工作。

版本時效提醒

本章對照版本:npm @github/copilot 1.0.71(2026-07-16 發布)。GitHub Copilot CLI 的 release cadence 幾乎是每天,本章提到的旗標、事件清單、路徑規則都可能已經隨版本調整,尤其 /fleet 這類標記為新功能的部分。任何時候,實機打 copilot help/skills/agent/mcp 或翻官方文件,都比書上寫的更準。

本章官方文件參考