Skip to content

Add onboarding Copilot agent for new contributors#2523

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

Add onboarding Copilot agent for new contributors#2523
KarishmaGhiya wants to merge 5 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>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

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>
Copy link
Copy Markdown
Contributor

@jongio jongio left a comment

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).


## 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.

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.

- Browse the [issues list](https://github.com/microsoft/mcp/issues)
- Issues labeled **[help wanted](https://github.com/microsoft/mcp/labels/help%20wanted)** are good PR candidates
- Issues labeled **[good first issue](https://github.com/microsoft/mcp/labels/good%20first%20issue)** are ideal for first-time contributors
- Check the [GitHub project board](https://github.com/orgs/Azure/projects/812/views/13) for priorities
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.

Is this Azure org project board publicly visible? If it's a private board, external contributors will get a 404 when the agent sends them here.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

seems like this is an old link from the old azure-mcp project

Copy link
Copy Markdown
Contributor

@jongio jongio left a comment

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.

- **Unit Tests**: `./eng/scripts/Test-Code.ps1`
- **Format Code**: `dotnet format`
- **Spelling Check**: `.\eng\common\spelling\Invoke-Cspell.ps1`
- **Specific Tests**: `dotnet test --filter "FullyQualifiedName~StorageAccountGetCommandTests"`
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.

-UsePaths isn't a valid parameter on Build-Local.ps1. The script has -NoUsePaths (to disable path-scoped builds) but -UsePaths doesn't exist as a switch. The Quick Start in the other file correctly uses just ./eng/scripts/Build-Local.ps1 -VerifyNpx.

user-invocable: true
---

You are a **friendly onboarding assistant** for the Azure MCP project. Your job is to guide new contributors through environment setup, codebase understanding, and their first contributions. Be conversational, patient, and proactive about common pitfalls.
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 file covers the same onboarding ground as .github/copilot/agents/onboarding.md (296 lines) in the same PR. If this condensed format is the new standard for GitHub Agents, consider removing the longer file or at minimum cross-referencing so maintainers know which to update.

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.

3 participants