You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The reason will be displayed to describe this comment to others. Learn more.
🟡 Changes recommended
Moderate issues remain in resume handling and uploaded knowledge sidecar validation.
Get a fresh assessment by requesting another Copilot review.
Pull request overview
Adds a reusable /create workflow for scaffolding, implementing, validating, and synchronizing Copilot Studio agents.
Changes:
Introduces the create-agent skill and command.
Extends Init and Architect agent workflows.
Documents the new command and skill.
File summaries
File
Summary
skills/create-copilot-studio-agent/SKILL.md
Defines the creation workflow; uploaded-file sidecars need metadata-specific validation, and the resume path needs an explicit branch that skips initialization.
README.md
Documents the /create command and related workflow.
commands/create.md
Adds the /create command entry point.
agents/copilot-studio-init.md
Supports initialization of new projects.
agents/copilot-studio-architect.md
Supports agent implementation; knowledge sidecar naming and length validation need to follow the knowledge schema.
Review details
Suppressed comments (3)
agents/copilot-studio-architect.md:184
The conservative length check undercounts uploaded knowledge sidecars because their compiled name is <agent-schemaName>.file.<slug>_<id>, not <agent-schemaName>.<filename-stem>. A long sidecar can pass this check and then fail PAC with StringLengthTooLong; use the source-backed and uploaded-sidecar budgets defined in reference/knowledge-schema.md:159-170.
Also enforce Dataverse's 100-character maximum for `botcomponent.schemaname`. Before writing a flat
component, conservatively require:
```text
length(<agent-schemaName> + "." + <filename-without-.mcs.yml>) <= 100
**agents/copilot-studio-architect.md:398**
* This instruction tells the Architect to add `kind` to every new component, but uploaded-file knowledge sidecars and skill payload sidecars are valid metadata-only YAML and must omit `kind` (`reference/knowledge-schema.md:113-122`, `reference/skill-schema.md:107-110`). It can therefore generate files that violate the authoritative schemas; make the `kind` requirement conditional on the component type.
For every new component:
Choose the correct component directory.
Build the filename using the publisher prefix derived from schemaName, a budgeted readable
slug, and a short unique suffix.
Add the required mcs.metadata block and component kind.
Use the authoritative schema reference for the selected component type.
Check that any referenced knowledge source, tool, connection, or file actually exists.
**skills/create-copilot-studio-agent/SKILL.md:180**
* This universal filename/budget rule also applies to uploaded knowledge sidecars, but those are intentionally named `<slug>_<id>.mcs.yml` without the agent prefix and their derived schema is `<agentSchemaName>.file.<slug>_<id>` (see `reference/knowledge-schema.md:154-174`). The gate could rename a valid sidecar or calculate the wrong length; scope these checks to non-knowledge components and delegate all knowledge naming/budget validation to the reference.
Every new flat bot-component filename starts with the publisher customization prefix derived from schemaName, followed by _ or .. For example, a catmgr_... agent uses catmgr_getweather_a1B2c3.mcs.yml. Do not repeat a long full agent schemaName in every filename
when that would make the derived Dataverse component schema too long.
For each new flat component, conservatively calculate <agent-schemaName> + "." + <filename-without-.mcs.yml> and require at most 100 characters.
Shorten the slug, never the publisher prefix or uniqueness suffix, when over budget.
- **Files reviewed:** 5/5 changed files
- **Comments generated:** 3
- **Review effort level:** Lite
</details>
---
💡 <a href="/microsoft/copilot-studio-plugin/new/main?filename=.github/skills/code-review/SKILL.md" class="Link--inTextBlock" target="_blank" rel="noopener noreferrer">Add a `code-review` agent skill</a> or configure MCP servers for context-aware, tailored reviews. <a href="https://docs.github.com/copilot/how-tos/use-copilot-agents/request-a-code-review/use-code-review?tool=webui#mcp-servers-and-agent-skills" class="Link--inTextBlock" target="_blank" rel="noopener noreferrer">Learn more in the docs.</a>
Exempt metadata-only knowledge sidecars from kind requirement
skills/create-copilot-studio-agent/SKILL.md:214
This gate makes kind mandatory on every *.mcs.yml, but uploaded-file knowledge sidecars are deliberately metadata-only (reference/knowledge-schema.md:113-122) and must not contain kind or source. Exempt those sidecars and validate each component against its authoritative schema, otherwise a requested local upload will be rejected or authored in an invalid shape.
This issue also appears on line 232 of the same file.
2. Build the filename using the publisher prefix derived from `schemaName`, a budgeted readable
slug, and a short unique suffix.
3. Add the required `mcs.metadata` block and component `kind`.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.