Skip to content

Add onboarding Copilot agent for new contributors#2523

Open
KarishmaGhiya wants to merge 7 commits into
microsoft:mainfrom
KarishmaGhiya:kaghiya/add-onboarding-agent-v2
Open

Add onboarding Copilot agent for new contributors#2523
KarishmaGhiya wants to merge 7 commits into
microsoft:mainfrom
KarishmaGhiya:kaghiya/add-onboarding-agent-v2

Conversation

@KarishmaGhiya

Copy link
Copy Markdown
Member

Summary

Adds a custom GitHub Copilot agent at .github/copilot/agents/onboarding.md that serves as an interactive onboarding assistant for new contributors.

What it does

Contributors can invoke @onboarding in Copilot Chat to get guided help with:

  • Project overview — what Azure MCP is and how it's structured
  • Prerequisites — tooling checklist (VS Code, .NET, Node.js, PowerShell, etc.)
  • Quick start — clone, build, and test commands
  • Development workflow — fork → branch → code → test → PR
  • Finding work — labels like help wanted and good first issue
  • Adding new commands — step-by-step with real file references
  • Coding standards — Do/Don't lists sourced from CONTRIBUTING.md and AGENTS.md
  • Testing — unit tests, live tests, e2e test prompts
  • PR quality checklist — formatting, spelling, CI checks, changelog
  • Common pitfalls — the 8 most frequent mistakes new contributors make

Content source

All content is sourced from CONTRIBUTING.md and the project's AGENTS.md conventions.

Invoking Livetests

Copilot submitted PRs are not trustworthy by default. Users with write access to the repo need to validate the contents of this PR before leaving a comment with the text /azp run mcp - pullrequest - live. This will trigger the necessary livetest workflows to complete required validation.

Create a custom GitHub Copilot agent at .github/copilot/agents/onboarding.md
that guides new contributors through environment setup, codebase understanding,
and their first contribution. Content sourced from CONTRIBUTING.md.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds a GitHub Copilot custom agent (@onboarding) to help new contributors get oriented with Azure MCP, including setup, workflow, command authoring, testing, and PR checklist guidance.

Changes:

  • Introduces a new onboarding agent markdown file under .github/copilot/agents/.
  • Documents repo structure, prerequisites, quick-start commands, and contribution workflow.
  • Provides step-by-step guidance for adding new commands, testing (unit/live/e2e), and PR quality checks.

Comment thread .github/copilot/agents/onboarding.md Outdated
Comment thread .github/copilot/agents/onboarding.md Outdated
Comment thread .github/copilot/agents/onboarding.md Outdated
KarishmaGhiya and others added 3 commits April 28, 2026 11:45
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

@jongio jongio left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The agent concept is valuable. Having a guided onboarding path for new contributors makes sense, and the content is well-organized.

Main concern: roughly 160 lines here duplicate content from AGENTS.md and CONTRIBUTING.md (coding standards, repo structure, prerequisites, workflow). When those source files change, this file won't track, and the agent will give stale guidance to new contributors.

Consider keeping the agent's personality and high-level orientation inline, but referencing the canonical docs for details. Something like See AGENTS.md for current coding standards rather than reproducing them. The content stays fresh without manual sync.

Also noting: the three existing bot review comments appear to be false positives. All three suggest changes that already match what's in the PR (the paths and commands are correct as written).

Comment thread .github/copilot/agents/onboarding.md Outdated

## Coding Standards

### Do

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This Do/Don't list is a near-copy of the same section in AGENTS.md. If someone adds a convention to AGENTS.md, this file won't get the update. Consider referencing AGENTS.md as the source of truth here instead of duplicating, or add a sync-check note so future maintainers know to keep both in lockstep.

Comment thread .github/copilot/agents/onboarding.md Outdated
3. **Point to real examples** in the codebase (Storage toolset is the best reference)
4. **Warn about common mistakes** proactively
5. **If you're unsure**, point them to `docs/new-command.md` or suggest opening an issue
6. **For Microsoft employees**, remind them to also review [Azure Internal Onboarding Documentation](https://aka.ms/azmcp/intake)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This aka.ms/azmcp/intake link is internal to Microsoft. External contributors following the agent's guidance will hit an auth wall. The For Microsoft employees qualifier is good, but since the agent generates this text dynamically, it might present the link without the conditional context. Consider removing this from the agent instructions or ensuring the agent always gates it clearly.

Comment thread .github/copilot/agents/onboarding.md Outdated

@jongio jongio left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

New commit adds a second agent file at .github/agents/onboarding.agent.md (68 lines) alongside the existing .github/copilot/agents/onboarding.md (296 lines). This is the condensed GitHub Agents format version.

Two concerns with this addition:

  1. You now have two agent definitions covering the same onboarding content at different paths. When one is updated, the other goes stale. Consider either making the short one the canonical source and having the longer one reference it, or removing the longer one if the new format replaces it.

  2. The Standard Commands section in the new file uses -UsePaths which isn't a valid parameter on Build-Local.ps1 (it only has -NoUsePaths). The original file's Quick Start correctly uses just -VerifyNpx.

Comment thread .github/agents/onboarding.agent.md Outdated
Comment thread .github/agents/onboarding.agent.md
…ew skill

- Remove .github/copilot/agents/onboarding.md (not discoverable by GitHub)
- Update .github/agents/onboarding.agent.md with consolidated content
- Replace new-command.md references with /skills add-azure-mcp-tools
- Reference AGENTS.md for coding standards instead of duplicating
- Fix Build-Local.ps1 invalid -UsePaths flag
- Fix consolidated-tools.json path
- Update to two-generic pattern ([Option] attributes, SubscriptionCommandUnitTestsBase)
- Remove internal-only links (aka.ms/azmcp/intake, private project board)
- Add eng/scripts/Update-Solutions.ps1 -All guidance
- Use New-TestResources.ps1 for live test deployment

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@JasonYeMSFT

JasonYeMSFT commented Jun 22, 2026

Copy link
Copy Markdown
Member

I didn't realize this PR has been created before reviewing #2918. Could you please consolidate changes in the onboarding agent.md?

- Update onboarding.agent.md with external MCP server integration, NuGet feed, server modes, and namespace creation guidance
- Add docs/Onboarding.md as human-readable onboarding guide with correct patterns
- Add onboarding callout tip to CONTRIBUTING.md
- Fix typos in CONTRIBUTING.md (Substitue -> Substitute, whem -> when)
- Add cspell words: configfile, remotemcp, slnx, uniqueprefix

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

## Adding a New Namespace (Toolset)

A **namespace** is a top-level command group (e.g., `storage`, `keyvault`, `sql`), implemented as a toolset project under `tools/Azure.Mcp.Tools.{Toolset}`.

@JasonYeMSFT JasonYeMSFT Jun 24, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think this section has too much implementation detail that a first time contributor needs to know during onboarding. It can point people to an architecture doc or existing implementations instead. This also prevents the onboarding doc deviating as the design changes.

I feel it's OK for docs/Onboarding.md to have more details compared to this onboarding.agent.md since this file is more tailored for agent to consume. A concise agent file that can point contributors to the right places to get information would be good enough for the onboarding experience.


### Testing Your Local Build

Point your `mcp.json` at the freshly built binary:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

How easy is it to setup debugging for the first time? Since the doc mentioned VS Code as a prerequisite, it's good to have VS Code debugging setup instructions.

@JasonYeMSFT JasonYeMSFT left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I noticed that onboarding.agent.md and Onboarding.md have similar content. Can we simplify the agent.md to function like an index that points contributors to the right places for information and dedupe the content?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

4 participants