github / github/copilot-cli

Support bundled reference resources for plugin-installed custom agents in GitHub Copilot CLI

未关闭
#3,131 0 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看
area:agents area:plugins
主要语言
Shell
星标
11.2k
派生
1.9k
平均合并
14 小时 16 分钟
30 天内合并 PR
6

描述

### Describe the feature or problem you'd like to solve

GitHub Copilot CLI plugins can include both custom agents and skills, but their resource-loading behavior appears inconsistent. Skills are documented as directory-based bundles. The official **Adding agent skills for GitHub Copilot CLI** documentation says that agent skills are “folders of instructions, scripts, and resources,” and that when a skill is invoked, Copilot “automatically discovers all of the files in the skill's directory and makes them available alongside the skill's instructions.”
Docs:
- https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/add-skills
- https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-plugin-reference
- https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/plugins-creating
Custom agents, however, are documented primarily as `.agent.md` profile files with YAML frontmatter and prompt content. Plugin docs show agents under an `agents/` directory, but do not describe a comparable resource-discovery model for files such as `agents/references/*.md`.
Docs:
- https://docs.github.com/en/copilot/how-tos/use-copilot-agents/cloud-agent/create-custom-agents
- https://docs.github.com/en/copilot/reference/custom-agents-configuration
- https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/plugins-creating
In practice, this means a plugin-installed skill can reliably reference bundled files with paths such as:
```text
references\template.md
scripts\helper.ps1
```
because those files live under the skill directory:
```text
skills/my-skill/
├── SKILL.md
├── references/template.md
└── scripts/helper.ps1
```
But a plugin-installed agent cannot reliably reference files under: `agents/references/template.md` using: `references\template.md` relative path from its `.agent.md` prompt. This creates friction for plugin authors who want to keep agent prompts concise and maintain reusable supporting materials, templates, checklists, examples, or routing guidance outside the main `.agent.md` file.

### Proposed solution

Add support for bundled resources for plugin-installed custom agents, matching the skill resource model as closely as possible.

For example, allow plugin agents to resolve relative paths from the containing agent directory:

```text
my-plugin/
├── plugin.json
└── agents/
├── my-agent.agent.md
└── references/
└── checklist.md
```

Then `my-agent.agent.md` could safely reference:

```text
references/checklist.md
```

Alternatively, document and support an explicit agent resource directory convention, such as:

```text
agents/my-agent/
├── AGENT.md
├── references/checklist.md
└── scripts/helper.ps1
```

If implementing bundled agent resources is not currently planned, please update the plugin and custom agent documentation to explicitly state that:

1. Plugin-installed agents are single-file runtime artifacts.
2. `agents/references/*` is not automatically discovered or made available.
3. Authors should inline required agent instructions or move reusable resources into skills.
4. Skills are the recommended mechanism for bundled scripts, templates, examples, and reference files.

### Example prompts or workflows

_No response_

### Additional context

_No response_

贡献指南

打开贡献指南

调研方向

先阅读 issue 中链接的插件和自定义代理文档,然后检查 plugin.json 和 agents/ 的布局,以确定当前的资源解析方式。完成的标准是:要么相对于代理解析捆绑的引用并验证该行为,要么明确记录该限制和推荐的 skills 工作流。

由索引模型根据 Issue 内容生成。

评估

技术栈
github
领域
cli, tooling
Issue 类型
功能
难度
4/5
预计耗时
3-5 天
活跃度
冷清
描述清晰度
基本清楚
新手友好度
45/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。