Skip to content

Gngangomtiem/create skill - #36

Draft
nlivie wants to merge 3 commits into
mainfrom
gngangomtiem/create-skill
Draft

nlivie wants to merge 3 commits into
mainfrom
gngangomtiem/create-skill

Conversation

@nlivie

@nlivie nlivie commented Sep 18, 2026

Copy link
Copy Markdown

No description provided.

Copilot AI lite review requested due to automatic review settings September 18, 2026 20:46

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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:

  1. Choose the correct component directory.
  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.
  4. Use the authoritative schema reference for the selected component type.
  5. 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.
  1. 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.
  2. 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>

Comment on lines +164 to +169
Every newly authored bot-component filename must start with the valid Dataverse customization prefix
derived from the agent `schemaName`:

```text
<publisher-prefix>_<slug>_<short-unique-id>.mcs.yml
```
Comment on lines +74 to +76
- If it contains `settings.mcs.yml`, `agent.sync.yaml`, and `.mcs\`, treat it as an existing
sync-connected CLI workspace. Do not initialize over it. Ask whether to resume or use another
directory.
Comment on lines +172 to +173
4. Every authored `*.mcs.yml` component except `settings.mcs.yml` contains `mcs.metadata` and
`kind`.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings September 24, 2026 06:52

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

Unresolved issues affect knowledge sidecar schemas, tool creation, and PAC prerequisite/authentication handling.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 1 High severity · 3 Medium severity

Open (4)
Previously missed (1)

In code that hasn't changed since last review

Medium severity 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.

1. Choose the correct component directory.
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`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants