Summary
The agent instructions schema emitted/required by the current Copilot Studio language server (StaticSegment segments) is out of sync with both the plugin's bundled authoring schema and the plugin's own instructions guidance. This silently produced blank instructions on a live agent.
What happened
- Cloned a
template: cliagent-1.0.0 agent and authored instructions in settings.mcs.yml using the documented field:
configuration:
agentSettings:
instructions:
text: |-
<instructions...>
- Pushed + published successfully. But in the new Copilot Studio web UI, the agent's instructions showed up empty.
- Editing instructions in the web UI and pulling the agent revealed the server now uses a segments model:
configuration:
agentSettings:
instructions:
segments:
- kind: StaticSegment
value: |-
<instructions...>
The legacy instructions.text field is ignored, so authored instructions never took effect.
Drift details
reference/bot.schema.yaml-authoring.json defines TextSegment, ExpressionSegment, and SampleSegment — but not StaticSegment.
skills/edit-agent/instructions-guide.md documents instructions as a plain string system prompt; no mention of the segments / StaticSegment model.
StaticSegment only appears compiled inside the VS Code Copilot Studio extension's lspOut/LanguageServerHost.exe (v1.5.20). There is no public/readable schema or MS Learn page for it, and "kind: StaticSegment" returns zero results in public GitHub code search.
node manage-agent.bundle.js validate does not flag the deprecated instructions.text form, so authors get no signal that their instructions won't apply.
Impact
Authoring instructions via the plugin against cliagent-1.0.0 (and presumably other current templates) can result in silently empty instructions on a published agent, with no validation error.
Suggested fixes
- Update the bundled
bot.schema.yaml-authoring.json to include StaticSegment (and the instructions.segments structure).
- Update
skills/edit-agent/instructions-guide.md to document the segments / StaticSegment model and note instructions.text is deprecated/ignored for current templates.
- Ideally, have
validate warn when instructions.text is used on a template that expects instructions.segments.
Environment
- Plugin:
copilot-studio v1.0.11
- VS Code Copilot Studio extension: v1.5.20
- Agent template:
cliagent-1.0.0, recognizer CLICopilotRecognizer, model series Sonnet46
Summary
The agent instructions schema emitted/required by the current Copilot Studio language server (
StaticSegmentsegments) is out of sync with both the plugin's bundled authoring schema and the plugin's own instructions guidance. This silently produced blank instructions on a live agent.What happened
template: cliagent-1.0.0agent and authored instructions insettings.mcs.ymlusing the documented field:instructions.textfield is ignored, so authored instructions never took effect.Drift details
reference/bot.schema.yaml-authoring.jsondefinesTextSegment,ExpressionSegment, andSampleSegment— but notStaticSegment.skills/edit-agent/instructions-guide.mddocumentsinstructionsas a plain string system prompt; no mention of thesegments/StaticSegmentmodel.StaticSegmentonly appears compiled inside the VS Code Copilot Studio extension'slspOut/LanguageServerHost.exe(v1.5.20). There is no public/readable schema or MS Learn page for it, and"kind: StaticSegment"returns zero results in public GitHub code search.node manage-agent.bundle.js validatedoes not flag the deprecatedinstructions.textform, so authors get no signal that their instructions won't apply.Impact
Authoring instructions via the plugin against
cliagent-1.0.0(and presumably other current templates) can result in silently empty instructions on a published agent, with no validation error.Suggested fixes
bot.schema.yaml-authoring.jsonto includeStaticSegment(and theinstructions.segmentsstructure).skills/edit-agent/instructions-guide.mdto document thesegments/StaticSegmentmodel and noteinstructions.textis deprecated/ignored for current templates.validatewarn wheninstructions.textis used on a template that expectsinstructions.segments.Environment
copilot-studiov1.0.11cliagent-1.0.0, recognizerCLICopilotRecognizer, model seriesSonnet46