让 Copilot 认识代码库的四个入口
按 GitHub 官方文档口径拆开四种定制方式:各自放哪个目录、解决什么问题、什么时候不该用。附一条今天就能做完的最小起步动作。
每个仓库都有自己的家规:组件怎么分层、提交前跑哪个脚本、哪类文件不适用同一套命名。这些事你每开一个新会话就要讲一遍,讲到自己都烦。
一、发生了什么
GitHub 官方博客在 10 月 12 日发了一篇入门教程,作者是高级开发者布道师 Christopher Harrison。核心主张很朴素:这类知识应该尽量放进仓库里,让 Copilot 自己读,而不是每次重新解释。
官方文档口径给出四种定制方式,各自对应不同的问题。
第一种是自定义指令。仓库级的写在 .github/copilot-instructions.md,用来定义整体架构偏好、命名约定、测试要求。更细的规则放在 .github/instructions 目录下,靠 applyTo 字段声明适用范围。Copilot 处理匹配的文件时,会把两层指令一起用。
第二种是 Agent 技能。一个技能就是一个文件夹,放在 .github/skills 下,里面是 SKILL.md 和可选的脚本。它适合只在特定流程里需要的知识,比如跑质量检查、准备发布、排查失败的工作流。SKILL.md 里的描述决定 Copilot 什么时候加载它。
第三种是自定义 Agent,配置放在 .github/agents。可以定义它的目的、指令、可用工具和相关上下文,适合跨多个文件、需要多种工具的专业任务,教程里的例子是无障碍审查。
第四种是 MCP 服务器,把 Copilot 接到仓库之外的工具和数据源。文中举的例子是 Playwright:配好之后,Copilot 能像人一样打开浏览器点你的应用,验证界面行为,而不只是跑通自动化检查。
官方还给了一组自问问题,用来决定该用哪种:你反复解释的是哪条约定,你重复执行的是哪个多步流程,哪个复杂任务需要专门角色,它还需要访问哪个外部工具。四个问题对应四种定制,答案通常不止一个。
二、跟你有什么关系
一个人写代码的人。 你至少该有一个仓库级指令文件。它省下的是每次开新会话的前五分钟。
几个人共用一个仓库的团队。 路径级指令和技能更值钱。前者解决"这个目录的规矩不一样",后者解决"这套流程只有老员工记得"。
做平台或工具的团队。 自定义 Agent 加 MCP 是给内部系统开口子的方式。但要先想清楚权限边界,Copilot 能调用的工具就是它能做的事。
三、怎么用
读到这儿,可以顺路看 GPT-6 三条产品线,按任务怎么选 三条线差一百倍价钱,差别不在聪不聪明,在任务要不要它想那么久。这篇按任务给出对照、推理档位的用法,以及上线前必须算的三个指标。- 从一条约定开始。官方给的建议很具体:挑一条你反复解释的规矩,写进
.github/copilot-instructions.md,然后看它在下一次任务里有没有照做。不要一上来写一份几百行的规范。 - 发现某类文件需要不同规则时,再拆到
.github/instructions,用applyTo限定路径。能晚拆就晚拆,拆早了维护成本翻倍。 - 把多步流程写成技能。目录名用动词短语,
SKILL.md里写清楚三件事:什么时候用、跑哪些脚本、失败时怎么查。描述写得含糊,技能就不会被触发。 - 需要跨文件、跨工具的任务,才配自定义 Agent。一个 Agent 只解决一类工作,别做成万能助手。
- 需要外部系统时接 MCP。接完先在提示里点名,比如让它用浏览器工具手动测一遍,确认它真的调用了,而不是凭记忆编结果。
- 社区有现成的指令和技能库,官方也提到了。但官方同时提醒:先审查内容,再按你仓库的工具和标准改。直接抄会把别人的假设带进来。
四、三个别信的说法
"指令文件越长,Copilot 越懂。" 官方建议是从小处着手。指令是每次都进上下文的固定开销,越长,真正重要的那几条越容易被淹掉。
"技能就是一段更长的提示词。" 技能是文件夹,可以带脚本和资源,而且靠描述按需加载。写成一段永远在上下文里的提示,等于放弃了按需这两个字。
"配了 MCP,Copilot 就会自己用。" 配置只是让它可用。实际调用要看任务描述和工具描述是否对得上,必要时在提示里明确点名工具。
五、一句话结论
教 Copilot 认识代码库,不是写一份更长的说明书,而是把四种知识放回它们该在的位置:约定进指令,流程进技能,专长进 Agent,外部能力进 MCP。
信息来源
功能与价格以官方公告为准。本文写于 2026 年 10 月 19 日。
每周一封,只发新教程和可复制模板。不发广告,随时退订。