---
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="/docs/github-copilot/official/06-context-customization/repository-instructions" />
  <Card title="个人和组织指令" description="区分 personal、repository、organization instructions 的职责和优先级。" href="/docs/github-copilot/official/06-context-customization/personal-org-instructions" />
  <Card title="Prompt Files" description="把重复的 Chat 请求保存成 .prompt.md 文件，并用 slash command 调用。" href="/docs/github-copilot/official/06-context-customization/prompt-files" />
  <Card title="Skills、Hooks、Plugins" description="理解多步骤工作流、强制生命周期命令和可安装定制包。" href="/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="/docs/github-copilot/official/06-context-customization/repository-instructions" />
  <Card title="Prompt Files" description="再把重复任务沉淀成可调用 prompt。" href="/docs/github-copilot/official/06-context-customization/prompt-files" />
</Cards>
