---
title: "上下文與定製"
description: "按 GitHub 與 VS Code 官方文件梳理 Copilot instructions、prompt files、skills、hooks、plugins 和組織規則。"
verifiedAt: "2026-05-06"
---

Copilot 的質量不只取決於模型，也取決於你給它什麼上下文。官方文件把定製能力分成幾類：自定義指令（custom instructions）、提示詞檔案（prompt files）、agent skills、custom agents、MCP、hooks 和外掛（plugins）。

這組頁面解決一個問題：哪些內容應該寫成長期規則，哪些應該寫成一次性 prompt，哪些應該做成可複用工作流或外掛。

> [!TIP]
> **閱讀目標**：讀完本組索引，你應該能為專案設計一套不汙染上下文、不洩露敏感資訊、能長期維護的 Copilot 定製層。

## 1. 定製地圖

- **Repository instructions**：專案長期規則，寫架構、測試、風格、禁止事項。
- **Personal / Organization instructions**：個人偏好和組織治理，不應和儲存庫事實混用。
- **Prompt files**：重複任務的可複用 prompt，通常作為 slash command 呼叫。
- **Skills / Hooks / Plugins**：多步驟能力包、生命週期 shell 命令和可安裝分發包。

```mermaid
flowchart TD
    Need["定製需求"] --> Stable{"長期穩定規則?"}
    Stable -->|是| Instructions["Instructions"]
    Stable -->|否| Repeat{"是否重複任務?"}
    Repeat -->|是| Prompt["Prompt file"]
    Repeat -->|否| One["普通 prompt"]
    Prompt --> Workflow{"需要指令碼和資源?"}
    Workflow -->|是| Skill["Agent skill"]
    Workflow -->|否| Use["Slash command 使用"]
    Skill --> Hook{"需要強制執行命令?"}
    Hook -->|是| Hooks["Hooks"]
    Skill -->|否| Plugin{"需要分發?"}
    Hooks --> Plugin
    Plugin -->|是| Pack["Agent plugin"]
    Plugin -->|否| Repo["專案內維護"]

    style Instructions fill:#dbeafe,stroke:#2563eb,stroke-width:2px
    style Hooks fill:#fef3c7,stroke:#d97706,stroke-width:2px
    style Pack fill:#dcfce7,stroke:#16a34a,stroke-width:2px
```

## 2. 本組頁面

<Cards>
  <Card title="儲存庫自定義指令" description="用 .github/copilot-instructions.md、.github/instructions 和 AGENTS.md 寫專案規則。" href="/zh-Hant/docs/github-copilot/official/06-context-customization/repository-instructions" />
  <Card title="個人和組織指令" description="區分 personal、repository、organization instructions 的職責和優先順序。" href="/zh-Hant/docs/github-copilot/official/06-context-customization/personal-org-instructions" />
  <Card title="Prompt Files" description="把重複的 Chat 請求儲存成 .prompt.md 檔案，並用 slash command 呼叫。" href="/zh-Hant/docs/github-copilot/official/06-context-customization/prompt-files" />
  <Card title="Skills、Hooks、Plugins" description="理解多步驟工作流、強制生命週期命令和可安裝定製包。" href="/zh-Hant/docs/github-copilot/official/06-context-customization/skills-hooks-plugins" />
</Cards>

## 3. 推薦建設順序

1. 先寫最小儲存庫級 instructions。
2. 再按目錄補 path-specific instructions。
3. 重複 prompt 超過 3 次，再做 prompt file。
4. 有指令碼、資源、檢查清單時，再做 skill。
5. 需要強制執行 formatter、audit、logging 時，再加 hook。
6. 需要跨團隊分發時，再包裝成 plugin。

不要反過來從 plugin 開始。沒有穩定規則和真實重複場景，擴充套件能力只會增加維護成本。

## 4. 上線前檢查

- Instructions 是否不含金鑰、內部 URL、客戶資料。
- Prompt file 是否有明確輸入、輸出和驗收。
- Skill 是否宣告使用場景和允許工具。
- Hook 是否可重複執行，失敗時是否安全。
- Plugin 是否來自可信 marketplace 或內部源。
- 定製檔案是否能被當前 IDE、CLI 或 GitHub.com 功能讀取。

<details>
<summary>深讀：為什麼定製層要少而準</summary>

所有定製都會改變模型看到的上下文。規則太多、衝突太多、過期太多時，Copilot 的回答會變得不穩定，團隊還很難發現問題來自哪裡。

商業級定製不是堆檔案，而是讓每一層都有 owner、適用範圍和刪除機制。
</details>

## 本組自檢

讀完整組後，用這 4 個問題檢查：

1. 這條上下文是長期規則、重複任務、指令碼化能力、生命週期控制還是分發包？
2. 它應該放在個人、儲存庫、組織，還是專案目錄下？
3. 它是否會洩露敏感資訊或注入過期規則？
4. 你是否能用真實任務驗證它被 Copilot 使用？

透過標準：每個定製檔案都有明確職責，不和其它層級互相覆蓋。

## 官方來源

- [About customizing GitHub Copilot responses](https://docs.github.com/en/copilot/concepts/prompting/response-customization) —— GitHub 官方響應定製概念頁。
- [Customization](https://code.visualstudio.com/docs/copilot/concepts/customization) —— VS Code 官方定製概念頁。
- [Customize AI in Visual Studio Code](https://code.visualstudio.com/docs/copilot/customization/overview) —— VS Code 官方定製入口。
- [GitHub Copilot CLI customization features](https://docs.github.com/en/enterprise-cloud@latest/copilot/concepts/agents/copilot-cli/comparing-cli-features) —— 官方 CLI 定製能力對比。

## 接下來去哪

<Cards>
  <Card title="儲存庫自定義指令" description="先把專案長期規則寫清楚。" href="/zh-Hant/docs/github-copilot/official/06-context-customization/repository-instructions" />
  <Card title="Prompt Files" description="再把重複任務沉澱成可呼叫 prompt。" href="/zh-Hant/docs/github-copilot/official/06-context-customization/prompt-files" />
</Cards>
