Custom agent frontmatter: accept array for `model:` field
- 主要言語
- Shell
- スター
- 11.2k
- フォーク
- 1.9k
- 平均マージ
- 14時間 16分
- マージ済み PR(30日)
- 6
説明
### Feature request
Allow custom agent markdown frontmatter to accept an **array** of strings for the `model:` field, in addition to a single string.
### Motivation
VS Code chat modes already support `model:` as a list — it's used to present a model picker for the chat mode. This means the same agent definition file can't currently be shared cleanly between VS Code and Copilot CLI: the CLI rejects the file with:
`custom agent markdown frontmatter is malformed: model: Expected string, received array`
This forces plugin authors to either:
- Maintain two copies of every agent file (one for VS Code, one for CLI), or
- Pick one tool and accept that the agent won't load in the other.
### Proposed behavior
When `model:` is an array, the CLI uses the **first** entry as the default model for that agent (and ideally treats the rest as acceptable alternates the user can switch to with `/model` while invoking the agent). When `model:` is a string, behavior is unchanged.
### Alternatives considered
- Authors flatten `model:` to a single string — works in both, but loses the picker UX in VS Code.
- A local post-install patch script — fragile, breaks after every `plugin update`.
Accepting an array in the CLI parser is the only change that lets the same plugin work unmodified in both surfaces.
コントリビューションガイド
調査の方向性
Start by locating the custom-agent Markdown frontmatter parser and the validation for its model field. Verify that string behavior is unchanged, arrays use the first entry as the default, and malformed values still fail; add or update parser tests if present.
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- markdown, shell
- 領域
- cli, tooling
- issue の種類
- 機能追加
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 静か
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 68/100