Awesome Copilot 插件实战:用 Meta Prompts 自动发现、安装与更新 GitHub Copilot 代理、指令和技能
2026/9/11 16:58:44 网站建设 项目流程

Awesome Copilot 插件实战:用 Meta Prompts 自动发现、安装与更新 GitHub Copilot 代理、指令和技能

【免费下载链接】awesome-copilotCommunity-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot.项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-copilot

导读

awesome-copilot是社区为 GitHub Copilot 维护的插件,其本质是一组"元提示词(Meta Prompts)":它不直接替你写代码,而是基于当前仓库的代码上下文与对话历史,自动从 awesome-copilot 社区仓库中发现尚未安装的 Custom Agents、Instructions 与 Skills,识别本地已安装但已过时的资产并提示更新,最终以结构化表格呈现候选清单,在获得用户确认后才自动下载并落地到.github/agents/.github/instructions/.github/skills/等目录。读完本文,你将掌握该插件的安装方式、四条斜杠命令的职责划分、底层 MCP 服务器配置,以及它"扫描本地 → 拉取远端 → 对比版本 → 去重推荐 → 等待确认 → 下载安装"的完整工作流,并能直接上手把它接入自己的 Copilot 环境。

插件是什么:以插件清单为入口理解整体结构

插件的元数据定义在 plugin.json 中,其description精确概括了它的定位:"Meta prompts that help you discover and generate curated GitHub Copilot agents, instructions, prompts, and skills.",即通过元提示词帮助开发者发现并生成经过策展的 GitHub Copilot 资产。

从插件清单可以看到几个关键事实:

  • 版本与许可:当前版本为1.1.0,采用 MIT 许可,作者为 Awesome Copilot Community;
  • 关键词github-copilotdiscoverymetaprompt-engineeringagents,说明其核心价值在于"发现(discovery)"与"元层(meta)"能力;
  • 扩展声明:在extensions.com.github.awesome-copilot下捆绑了 1 个 Agent(./agents/meta-agentic-project-scaffold.md)与 3 个 Skill 目录(suggest-awesome-github-copilot-agents/suggest-awesome-github-copilot-instructions/suggest-awesome-github-copilot-skills/)。

也就是说,插件所暴露的斜杠命令并不是独立代码,而是直接映射到仓库中对应目录下的 Skill 定义——skills/suggest-awesome-github-copilot-agents/SKILL.md、skills/suggest-awesome-github-copilot-instructions/SKILL.md、skills/suggest-awesome-github-copilot-skills/SKILL.md 三个文件构成了插件的主体逻辑。

安装与前置条件

安装命令

在 Copilot CLI 环境中执行以下命令即可安装:

copilot plugin install awesome-copilot@awesome-copilot

安装完成后,插件会向 Copilot 环境注册斜杠命令、Agent 与 MCP 服务器三部分能力。

前置条件:Docker

安装使用该插件有两个明确的前置条件(见 README):

  1. Docker 必须已经安装,并且其可执行文件位于系统PATH中;
  2. 插件启动时会通过docker run ...拉起其捆绑的 MCP 服务器,镜像为ghcr.io/microsoft/mcp-dotnet-samples/awesome-copilot:latest

如果 Docker 不可用,MCP 服务器将启动失败(插件说明中直接声明了这一点),进而影响依赖 MCP 能力的发现与下载流程。

MCP 服务器配置解析

插件附带的 mcp.json 给出了 MCP 服务器的完整配置:

{ "$schema": "https://agent-plugins.org/schemas/1.0.0/mcp.schema.json", "mcpServers": { "awesome-copilot": { "type": "stdio", "command": "docker", "args": [ "run", "-i", "--rm", "ghcr.io/microsoft/mcp-dotnet-samples/awesome-copilot:latest" ] } } }

这段配置的关键点:

  • type: "stdio":MCP 服务器通过标准输入/输出与 Copilot 进程通信,因此docker run必须使用-i(保持 stdin 开放);
  • --rm:容器在退出后自动清理,避免残留容器占用资源;
  • ghcr.io/microsoft/mcp-dotnet-samples/awesome-copilot:latest:从 GitHub Container Registry 拉取由 .NET 示例项目构建的镜像,这也是 Docker 必须可用的根本原因。

四条斜杠命令:职责分工与底层 Skill

插件在 Copilot 中注册了四条斜杠命令,覆盖四类可发现资产。下表完整列出(摘自 README):

命令描述
/awesome-copilot:suggest-awesome-github-copilot-collections基于当前仓库上下文与对话历史,从 awesome-copilot 仓库推荐相关的 GitHub Copilot 集合(collections),支持自动下载安装集合资产,并识别需要更新的过时集合资产。
/awesome-copilot:suggest-awesome-github-copilot-instructions基于当前仓库上下文与对话历史,推荐相关的 GitHub Copilot 指令文件,避免与仓库现有指令重复,并识别需要更新的过时指令。
/awesome-copilot:suggest-awesome-github-copilot-agents基于当前仓库上下文与对话历史,推荐相关的 Custom Agents 文件,避免与仓库现有自定义代理重复,并识别需要更新的过时代理。
/awesome-copilot:suggest-awesome-github-copilot-skills基于当前仓库上下文与对话历史,推荐相关的 GitHub Copilot 技能,避免与仓库现有技能重复,并识别需要更新的过时技能。

需要注意的是:从 plugin.json 的扩展声明看,插件实际捆绑的 Skill 文件有三个(agents / instructions / skills 各一),而collections命令目前未在插件清单中找到对应的独立 SKILL.md 文件——可以推断四条命令共享同一套"发现—去重—对比—推荐"逻辑,其中三条由上述 SKILL.md 提供完整实现细节,collections 命令则对应同一元提示词体系的另一资产类型。

三条命令的落地实现

三个 SKILL.md 遵循高度一致的结构化流程,下面以命令为单位拆解其核心逻辑。

推荐 Custom Agents(suggest-awesome-github-copilot-agents

该命令由 skills/suggest-awesome-github-copilot-agents/SKILL.md 实现,核心流程为:

  1. 拉取可用清单:必须使用fetch工具从 awesome-copilot 仓库的 agents 索引文档(对应本仓库的 docs/README.agents.md)提取 Custom Agents 列表与描述;
  2. 扫描本地代理:发现.github/agents/目录下的现有 agent 文件;
  3. 提取描述:读取本地 agent 文件的 front matter 获取描述;
  4. 拉取远端版本:按raw.githubusercontent.com/github/awesome-copilot/main/agents/<filename>的 URL 模式逐个获取远端对应文件;
  5. 版本对比:逐文件比对本地与远端内容,区分"完全一致(最新)""内容有差异(过时)"以及关键差异点(tools、description、正文);
  6. 上下文分析:结合对话历史、仓库文件与项目需求;
  7. 相关度匹配:将可用代理与识别出的模式、需求做匹配;
  8. 呈现候选:输出包含描述、推荐理由与可用状态(含过时项)的表格;
  9. 价值校验:确保建议的代理能带来已有代理未覆盖的价值;
  10. 输出并等待确认:输出结构化表格后,必须等待用户明确指示才可安装或更新,未经指示不得动手;
  11. 下载/更新资产:用户确认后自动下载新代理到.github/agents/、用最新版本整体替换过时代理、不调整文件内容,并用#todos工具跟踪进度。
推荐 Instructions(suggest-awesome-github-copilot-instructions

由 skills/suggest-awesome-github-copilot-instructions/SKILL.md 实现,流程与 agents 版本一致,但针对指令文件的特性增加了两个关键点:

  • front matter 结构:指令文件使用description与可选的applyToglob 模式(例如'**/*.js,**/*.ts')声明适用文件范围,版本对比时需特别关注applyTo的变化;
  • 文件结构规范:按官方文档约定,指令文件有三类存放位置——仓库级指令.github/copilot-instructions.md(作用于整个仓库)、路径级指令.github/instructions/NAME.instructions.md(通过applyTo匹配特定文件)、社区共享指令instructions/NAME.instructions.md(本仓库 instructions/ 目录即属此类)。下载与更新时需保持目标位置正确。
推荐 Skills(suggest-awesome-github-copilot-skills

由 skills/suggest-awesome-github-copilot-skills/SKILL.md 实现,差异点在于:

  • Skill 是自包含目录:每个 skill 是一个文件夹,内含SKILL.md主指令文件与可选捆绑资产(脚本、模板、数据文件),下载/更新时必须连同捆绑资产一起落地,保持文件夹结构;
  • 结构规范:文件夹命名使用小写加连字符(如azure-deployment-preflight),且SKILL.mdfront matter 中的name字段必须与文件夹名一致——本仓库 skills/ 目录下的数百个 skill 目录即为这种结构的实际例证;
  • 本地发现流程:列出.github/skills/下所有文件夹,逐个读取SKILL.md的 front matter 提取namedescription,并列出捆绑资产清单。

捆绑 Agent:Meta Agentic Project Scaffold

插件捆绑的 Agent 定义在 agents/meta-agentic-project-scaffold.agent.md,其 front matter 声明了名称、描述、模型与可用的工具集:

description: "Meta agentic project creation assistant to help users create and manage project workflows effectively." name: "Meta Agentic Project Scaffold" model: "GPT-4.1" tools: ["changes", "codebase", "edit/editFiles", "extensions", "fetch", "findTestFiles", "githubRepo", "new", "openSimpleBrowser", "problems", "readCellOutput", "runCommands", "runNotebooks", "runTasks", "runTests", "search", "searchResults", "terminalLastCommand", "terminalSelection", "testFailure", "updateUserPreferences", "vscodeAPI", "activePullRequest", "copilotCodingAgent"]

从该 Agent 的提示词主体可以提炼其工作方式:

  • 唯一任务:从 awesome-copilot 仓库查找并拉取相关的 prompts、instructions 与 chatmodes;
  • 逐个落地:对每个相关资产,给出其在 VS Code Insiders 中的安装链接、功能解释与使用方式,并构建有效的工作流;然后逐个将文件原样拉取并放入项目中的正确文件夹,不得做任何改动或摘要
  • 输出总结:项目结束时提供总结,列出这些 prompts/instructions/chatmodes 支持的工作流清单、在应用开发流程中的用法,以及对高效项目管理的额外见解与建议。

值得注意的是其工具集中包含extensionsvscodeAPInewrunCommandsrunTasks等 VS Code 相关能力,说明该 Agent 定位在 VS Code 环境下工作,负责把社区资产系统地组织进用户项目。

核心机制深度:版本对比、图标约定与输出格式

三态图标约定

三个 SKILL.md 统一采用以下图标约定表达资产状态,这也是输出表格中Already Installed列的标准语义:

图标含义
已安装且为最新(exact match)
⚠️已安装但已过时(有可用更新)
仓库中尚未安装

版本对比的差异维度

对比不是简单比对"内容是否相同",而是按资产类型细分差异维度:

  • Agents:front matter 变化(description、tools)、tools 数组增删改、正文内容(指令、示例、准则)更新。SKILL.md 中给出的示例差异如"remote uses'web/fetch'vs local'fetch'",即工具名称不一致即可判定为过时;
  • Instructions:front matter 变化(description、applyTo 模式)、正文更新。示例差异如"remote uses'**/*.java'vs local'*.java'",即 applyTo glob 范围变化即可触发更新建议;
  • Skills:front matter 变化(name、description)、指令内容更新、捆绑资产变化(新增、移除或修改)。

结构化输出表格

命令会以表格形式呈现分析结果,例如 agents 命令的输出列结构为:Awesome-Copilot Custom AgentDescriptionAlready InstalledSimilar Local Custom AgentSuggestion Rationale。skills 命令则额外增加Bundled Assets列,用于说明目标 skill 是否携带脚本、模板等资产及安装时的资源需求。

上下文分析标准:推荐如何"对准"当前项目

三条 Skill 均定义了统一的上下文分析准则,这是推荐相关度的核心依据:

仓库模式(Repository Patterns)

  • 使用的编程语言(.cs.js.py.ts等);
  • 框架指示(ASP.NET、React、Azure、Next.js 等);
  • 项目类型(Web 应用、API、库、工具、基础设施);
  • 文档需求(README、规格说明、ADR);
  • 基础设施与云厂商(Azure、AWS、GCP,skills 版额外包含);
  • 开发工作流需求(测试、CI/CD、部署)。

对话历史上下文(Chat History Context)

  • 近期讨论与痛点;
  • 功能请求或实现需求;
  • 代码评审模式;
  • 开发工作流要求;
  • 专项任务需求(绘图、评估、部署,skills 版额外包含)。

这些准则解释了插件为何能给出"贴合语境"的推荐——它同时读取仓库静态特征与对话动态信息,再与社区资产库做匹配。

落地行为与安全边界

插件在推荐与安装之间设置了明确的人工确认闸门:所有三条 Skill 都强调"AWAIT user request to proceed with installation or updates of specific instructions. DO NOT INSTALL OR UPDATE UNLESS DIRECTED TO DO SO."——即输出表格后必须等待用户明确指示,未经指示绝不安装或更新。

用户确认后的自动化行为也有严格约束:

  • 目标目录:Agents →.github/agents/,Instructions →.github/instructions/,Skills →.github/skills/(保留完整文件夹结构);
  • 更新策略:用远端最新版本整体替换本地文件,不调整内容("Do NOT adjust content of the files");
  • 下载手段:优先使用fetch工具,必要时可用curl(经runInTerminal/#runInTerminal)确保完整取回全部内容;skills 场景要求捆绑资产与SKILL.md一并下载;
  • 进度跟踪:使用#todos工具记录下载与更新进度;
  • 输出纪律:除表格与分析外,不提供额外信息或上下文("Don't provide any additional information or context beyond the table and the analysis")。

与仓库其他部分的关联

插件的能力边界由本仓库的社区资产目录直接决定,读者可结合以下位置深入理解其数据来源:

  • Agent 索引:docs/README.agents.md,对应 agents/ 目录下的数百个.agent.md文件;
  • 指令索引:docs/README.instructions.md,对应 instructions/ 目录下的指令文件;
  • 技能索引:docs/README.skills.md,对应 skills/ 目录下的技能文件夹;
  • 插件市场:docs/README.plugins.md 与 plugins/ 目录,说明本插件在整个插件生态中的位置。

使用限制与注意事项

  • Docker 是硬依赖:MCP 服务器通过docker run启动,Docker 缺失将直接导致 MCP 启动失败,进而影响插件核心的发现/下载能力;
  • 首次拉取需要网络:插件需要访问 awesome-copilot 远端仓库的 raw 内容进行版本对比,离线环境下只能完成本地扫描,无法做远端比对;
  • 安装目录约定:插件按.github/agents/.github/instructions/.github/skills/的约定落地资产,与 GitHub 官方 Copilot 的目录规范保持一致,使用前应确认项目采用相同的约定;
  • 人工确认机制:推荐结果不会自动安装,所有下载/更新动作都以用户明确指示为前提,这是设计上的安全边界,使用时应主动审查表格中的推荐理由再确认执行。

小结

awesome-copilot插件把"社区资产策展"转化为一套可复用的元提示词工作流:斜杠命令负责四类资产的发现与去重,三份 SKILL.md 定义了从上下文分析、版本对比到结构化输出的完整执行协议,捆绑 Agent 承担项目级的工作流搭建,而 MCP 服务器(通过 Docker 运行 .NET 镜像)为上述能力提供运行时支撑。对于希望持续从社区汲取 Copilot 最佳实践的开发者,理解这套"扫描—对比—推荐—确认—落地"的机制,就等于掌握了让 Copilot 环境随社区演进自动保持新鲜的入口。

【免费下载链接】awesome-copilotCommunity-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot.项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-copilot

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询