四个位置可以告诉 Copilot 仓库规矩

GitHub 博客 2026 年 10 月 12 日把 Copilot 认识仓库的办法分成四类:仓库指令、按路径生效的指令、放在技能目录里的可重复步骤,以及自定义代理和 MCP。四类解决的问题不同,博客建议从一条你反复解释的约定写起。

四个位置可以告诉 Copilot 仓库规矩

copilot 仓库自定义指令是 GitHub 博客 2026 年 10 月 12 日那篇入门文的第一层。文中给的文件是 .github/copilot-instructions.md,用来写全仓库都要遵守的架构、命名,以及测试和校验的期望。只对一部分路径生效的文件放在 .github/instructions,用 applyTo 字段标明什么时候该读。Copilot 改到匹配的文件时,可以同时用仓库级指令和这份更窄的指令。

作者:CodePass 技术编辑

重复步骤放技能,大任务放自定义代理

博客把“每次都要跑的测试和 lint”从指令里分开。技能是一个目录,里面有说明,也可以有脚本。项目级技能放在 .github/skills,每个技能一个子目录。例子是 .github/skills/quality-checks/SKILL.md,里面写清何时使用、跑哪些脚本、每个脚本检查什么、常见失败怎么看。SKILL.md 的 description 用来让 Copilot 判断这次该不该加载。加载之后按仓库里的步骤走,而不是猜命令。

更大的活,例如跨组件、模板和样式的无障碍检查,博客建议用自定义代理。仓库级配置放在 .github/agents,可以写目的、指令、工具和项目上下文。官方文档对代理文件的补充是:Markdown 加 YAML 头,description 必填,tools 省略时可以使用全部可用工具,提示正文最长 30000 个字符。博客没有复述这个字符上限,上限来自创建自定义代理的文档。

指令、技能、代理可以同时存在。博客的分工是:指令管约定,技能管一段可重复的过程,代理管一类更宽的任务。不要把同一段 lint 命令抄进三个文件再指望它们不打架。文档的建议是:几乎每次都要知道的仓库事实放指令,只有相关时才该读的长步骤放技能。

MCP 扩大的是仓库外面的工具

第四类是 MCP。博客举了两类:文档服务器提供框架说明,Playwright 这类服务器可以打开应用并在浏览器里操作。配置好之后,可以直接要求用 Playwright 的 MCP 服务器做手动功能测试。Copilot 应用里可以浏览已有服务器,也可以添加自定义的一个。

仓库管理员在 GitHub 上配置 MCP,入口是仓库 Settings 里的 Copilot,再到 MCP,把 JSON 填进配置区。文档建议优先只读工具,因为代理可以自主调用它们。密钥放在以 COPILOT_MCP_ 为前缀的 secret 里。这些是配置文档里的约束,博客只讲了“能连出去”,没有讲密钥前缀。

博客的收束是四个问题:哪条约定你总在重复解释,哪段多步过程你总在重复做,哪类复杂任务值得单独一个代理,以及 Copilot 还缺哪一个仓库外的工具。它建议先改一条,写进 .github/copilot-instructions.md,看下一次任务里 Copilot 是否用上。社区仓库 Awesome Copilot 被提到,作为可以改写后放进自己仓库的例子,不是官方保证可用的目录。

写作日没有在示例仓库里添加这些文件,也没有对比添加前后的 Copilot 输出。路径名来自这篇博客;字符上限、工具省略时的默认值,以及 COPILOT_MCP_ 前缀,来自同日能打开的 GitHub 文档对应页。

参考资料