Copilot SDK
aiskillstore/marketplace
Build applications that programmatically interact with GitHub Copilot.
Generates or updates a README.md for an Agent 365 sample agent.
$ npx skills add microsoft/Agent365-Samples --skill generate-readme -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install microsoft/Agent365-Samples generate-readme --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/microsoft/Agent365-Samples.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/generate-readme .claude/skills/generate-readme && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "generate-readme" agent skill from https://github.com/microsoft/Agent365-Samples/tree/main/.claude/skills/generate-readme into .claude/skills/generate-readme/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "generate-readme", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/microsoft/Agent365-Samples/tree/main/.claude/skills/generate-readmeType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add microsoft/Agent365-Samples --skill generate-readme -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install microsoft/Agent365-Samples generate-readme --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/Agent365-Samples.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/generate-readme .agents/skills/generate-readme && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "generate-readme" agent skill from https://github.com/microsoft/Agent365-Samples/tree/main/.claude/skills/generate-readme into .agents/skills/generate-readme/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "generate-readme", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add microsoft/Agent365-Samples --skill generate-readme -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install microsoft/Agent365-Samples generate-readme --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/Agent365-Samples.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/generate-readme .cursor/skills/generate-readme && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "generate-readme" agent skill from https://github.com/microsoft/Agent365-Samples/tree/main/.claude/skills/generate-readme into .cursor/skills/generate-readme/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "generate-readme", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/microsoft/Agent365-Samples.git --path .claude/skills/generate-readme--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add microsoft/Agent365-Samples --skill generate-readme -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install microsoft/Agent365-Samples generate-readme --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/Agent365-Samples.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/generate-readme .gemini/skills/generate-readme && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "generate-readme" agent skill from https://github.com/microsoft/Agent365-Samples/tree/main/.claude/skills/generate-readme into .gemini/skills/generate-readme/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "generate-readme", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install microsoft/Agent365-Samples generate-readmeInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add microsoft/Agent365-Samples --skill generate-readme -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/microsoft/Agent365-Samples.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/generate-readme .github/skills/generate-readme && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "generate-readme" agent skill from https://github.com/microsoft/Agent365-Samples/tree/main/.claude/skills/generate-readme into .github/skills/generate-readme/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "generate-readme", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add microsoft/Agent365-Samples --skill generate-readme -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install microsoft/Agent365-Samples generate-readme --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/Agent365-Samples.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/generate-readme .opencode/skills/generate-readme && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "generate-readme" agent skill from https://github.com/microsoft/Agent365-Samples/tree/main/.claude/skills/generate-readme into .opencode/skills/generate-readme/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "generate-readme", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
generate-readmeGenerates or updates a README.md for an Agent 365 sample agent.
Generate Readme is an agent skill from microsoft/Agent365-Samples, published by the product's own GitHub organization. Generates or updates a README.md for an Agent 365 sample agent. Detects the agent type (interactive or autonomous), programming language (.NET, Node.js, Python), and authentication model, then produces a README following the standard template with all required sections.
Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: ["claude-code"]
It sits in Development, covering Technical documentation and Authentication. It works with Python, .NET and Node.js. The licence is MIT.
12 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit ecbf899. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadWriteEditGrepGlobBashAskUserQuestionFrom allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).
From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
learn.microsoft.comopensource.microsoft.comcla.opensource.microsoft.comgo.microsoft.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
["claude-code"]
From compatibility in the SKILL.md frontmatter.
Generate Readme loads about 2.6k tokens when it runs. Until then it costs about 72 tokens; SKILL.md has 649 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
figuration reference — either a table of .env variables or appsettings.json keys. Include "Set by" column (CLI or Manualallowed-tools: Read, Write, Edit, Grep, Glob, Bash, AskUserQuestionAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from microsoft/Agent365-Samples at commit ecbf899, republished under its MIT licence (© microsoft). 649 words, ~2,631 tokens.
.claude/skills/generate-readme/SKILL.md (or your agent's skills folder).Generate or update a README.md for a sample agent in the Agent365-Samples repository.
The README MUST contain the following sections in this exact order. Do not add, remove, or reorder sections unless noted.
# <Sample Title> — <Language> Sample
<1–3 sentence description of what the sample demonstrates. State whether it is interactive or autonomous, what SDK/orchestrator it uses, and what makes it a useful reference.>
For comprehensive documentation, visit the [Microsoft Agent 365 Developer Documentation](https://learn.microsoft.com/en-us/microsoft-agent-365/developer/).A table of patterns demonstrated and their file locations:
## What This Sample Demonstrates
| Pattern | Where |
|---------|-------|
| <pattern description> | `<file path>` |## Prerequisites
- <Runtime/SDK version>
- [Azure CLI](https://learn.microsoft.com/cli/azure/install-azure-cli)
- [Agent 365 CLI](https://learn.microsoft.com/en-us/microsoft-agent-365/developer/agent-365-cli) (install: `dotnet tool install --global Microsoft.Agents.A365.DevTools.Cli --prerelease`)
- An Azure OpenAI resource with a deployed model (e.g., `gpt-4o`)
- An Entra tenant with at minimum the **Agent ID Developer** role
- <Any additional prerequisites specific to the sample>This section describes the authentication and identity model used by the agent. Pick exactly ONE auth model and ONE identity model from the tables below. If it is unclear which model is used from the code/existing README, ask the user.
Auth models (pick one):
| Auth Model | Description | When to use |
|---|---|---|
| Agent user | The agent authenticates as its own agentic user identity. | AI Teammates with Teams/Copilot chat capabilities. |
| On behalf of the user | The agent acts on behalf of the signed-in user via OBO token exchange. | Interactive or autonomous agents that call resources as the user. |
| App-based | The agent authenticates using application credentials with no user context. | Interactive or autonomous agents that call resources as the app. |
Identity models (pick one):
| Identity Model | Description | When to use |
|---|---|---|
| Agent user with own identity | The agent has an agentic user account in the tenant. | AI Teammates with Teams/Copilot chat capabilities. |
| Agent identity | The agent has an identity service principal that serves as an instance of the blueprint. | Agent 365 blueprint-based agents that use the Agent identity model (service principal instance of the blueprint). |
| Entra app service principal | The agent authenticates as a standard Entra app registration (no blueprint, no FMI). | Simple agents using direct client credentials without the A365 identity model. |
Write the section as:
## Authentication + Identity
| Aspect | Model |
|--------|-------|
| **Authentication** | <one of: Agent user, On behalf of the user, App-based> |
| **Identity** | <one of: Agent user with own identity, Agent identity, Entra app service principal> |
<1–2 sentences explaining how auth works in this specific sample. Reference the relevant code file.>## Environment Configuration
### Agent 365 Setup
<Steps to provision the agent using the A365 CLI. Include `a365 setup all`, admin consent, and manual configuration (e.g., Azure OpenAI keys).>
### Configuration
<Configuration reference — either a table of .env variables or appsettings.json keys. Include "Set by" column (CLI or Manual).>For Python and Node.js samples, include ENABLE_A365_OBSERVABILITY_EXPORTER, ENABLE_A365_OBSERVABILITY, OTEL_LOG_LEVEL, and A365_OBSERVABILITY_LOG_LEVEL in the configuration table. If they are not set, prompt the user and ask if they would like them to be added. If yes, add them. Default values are ENABLE_A365_OBSERVABILITY_EXPORTER=true, ENABLE_A365_OBSERVABILITY=true, A365_OBSERVABILITY_LOG_LEVEL=info, and OTEL_LOG_LEVEL=Debug. For .NET samples, these environment variables do not apply — the A365 exporter is controlled in code via ExportTarget.Agent365, and log levels are configured in appsettings.json under Logging:LogLevel. The .NET equivalents are: Logging:LogLevel:OpenTelemetry (equivalent of OTEL_LOG_LEVEL) and Logging:LogLevel:Microsoft.Agents.A365.Observability (equivalent of A365_OBSERVABILITY_LOG_LEVEL).
## Running the Agent Locally
### Quick start (Azure OpenAI only)
<Minimal setup — just LLM credentials, no A365.>
### Local development (with A365 observability)
<Full setup with A365 credentials and observability export.>For interactive agents, reference the Configure Agent Testing guide and Microsoft 365 Agents Playground.
## Deploying the Agent
<Production deployment instructions. Include MSI/FIC requirements, environment variables, and hosting provider guidance.>## Observability
<Describe the tracing spans produced by the agent (e.g., InvokeAgentScope, InferenceScope, ExecuteToolScope). For agents with a custom token flow, describe the FMI chain briefly. Link to the observability guide.>Keep this section concise — no ASCII art diagrams. Reference the Agent observability guide for details.
## Support
For issues, questions, or feedback:
- **Issues**: Please file issues in the [GitHub Issues](https://github.com/microsoft/Agent365-Samples/issues) section
- **Documentation**: See the [Microsoft Agent 365 Developer Documentation](https://learn.microsoft.com/en-us/microsoft-agent-365/developer/)
- **Security**: For security issues, please see [SECURITY.md](../../../../SECURITY.md)## Contributing
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit <https://cla.opensource.microsoft.com>.
When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.## Additional Resources
- [Microsoft Agent 365 Developer Documentation](https://learn.microsoft.com/en-us/microsoft-agent-365/developer/)
- [Agent observability guide](https://learn.microsoft.com/en-us/microsoft-agent-365/developer/observability)
- <Language-specific SDK repository link>
- <Any other relevant links>## Trademarks
*Microsoft, Windows, Microsoft Azure and/or other Microsoft products and services referenced in the documentation may be either trademarks or registered trademarks of Microsoft in the United States and/or other countries. The licenses for this project do not grant you rights to use any Microsoft names, logos, or trademarks. Microsoft's general trademark guidelines can be found at http://go.microsoft.com/fwlink/?LinkID=254653.*## License
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the MIT License — see the [LICENSE](../../../../LICENSE.md) file for details.Adjust the relative path to LICENSE.md based on the sample's depth in the repository.
.csproj file exists → .NETpackage.json exists → Node.js/TypeScriptpyproject.toml or .py files → Python/api/messages endpoint, TurnContext, AgentApplication, or message handler → InteractiveBackgroundService, background loop, no message endpoint → AutonomousTurnContext with Activity.From + agentic user references → Agent user auth + Agent user with own identityexchangeToken / OBO flow → On behalf of the userWithFmiPath / fmi_path / FMI chain → Agent identityClientSecretCredential with no FMI → Entra app service principal© microsoft, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/generate-readme of microsoft/Agent365-Samples.
Open the folder on GitHubat commit ecbf899
Generate Readme next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Generate Readme this skillmicrosoft/Agent365-Samples | 112 | — | ~2.6k | Automated safety check: Notes | MIT | |
| Copilot SDKaiskillstore/marketplace | 430 | 5 repos | ~3.8k | Automated safety check: Pass | None | |
| Copilot SDKintellectronica/agent-skills | 295 | — | ~3.2k | Automated safety check: Pass | CC0-1.0 | |
| Copilot SDKmicrosoft/skills | 3.1k | — | ~7.1k | Automated safety check: Pass | MIT | |
| README and DESIGN Generatorfengshao1227/ccg-workflow | 5.9k | — | ~410 | Automated safety check: Notes | MIT | |
| Release Coherencemacalbert/envilder | 138 | — | ~1.3k | Automated safety check: Pass | MIT |
aiskillstore/marketplace
Build applications that programmatically interact with GitHub Copilot.
intellectronica/agent-skills
This skill helps with GitHub Copilot SDK work across Node.js/TypeScript, Python, Go, .NET, and Java.
microsoft/skills
Build applications powered by GitHub Copilot using the Copilot SDK.
fengshao1227/ccg-workflow
Generates README.md and DESIGN.md skeletons for a module by scanning its structure with a Node script, then lists what to fill in by hand.
macalbert/envilder
Unified release coherence workflow for any component (CLI, GHA, or SDK).
macalbert/envilder
Checklist for adding a new SDK or releasing a new SDK version.
Categories
Generates or updates a README.md for an Agent 365 sample agent. Generate Readme is an agent skill from microsoft/Agent365-Samples, published by the product's own GitHub organization.md for an Agent 365 sample agent.
Generate Readme fits situations like: tasks that involve Technical documentation; tasks that involve Authentication.
Run `npx skills add microsoft/Agent365-Samples --skill generate-readme -a claude-code`. Or copy the skill folder (.claude/skills/generate-readme in microsoft/Agent365-Samples) into .claude/skills/generate-readme in your project. Claude Code loads it when a task matches its description.
Run `npx skills add microsoft/Agent365-Samples --skill generate-readme -a codex`. Or copy the skill folder (.claude/skills/generate-readme in microsoft/Agent365-Samples) into .agents/skills/generate-readme in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add microsoft/Agent365-Samples --skill generate-readme -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/generate-readme, .gemini/skills/generate-readme, .github/skills/generate-readme and .opencode/skills/generate-readme in your project.
SKILL.md names no scripts, command-line tools or credentials: Generate Readme is instructions for the agent only. Our summary lists: Python 3; Node.js. Its frontmatter pre-approves these tools: Read, Write, Edit, Grep, Glob, Bash, AskUserQuestion. Compatibility (from SKILL.md): ["claude-code"].
SKILL.md names 4 domains. In commands or code: learn.microsoft.com, opensource.microsoft.com, cla.opensource.microsoft.com and go.microsoft.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file; pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Generate Readme is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.6k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Generate Readme: Copilot SDK (aiskillstore/marketplace, 430 stars), Copilot SDK (intellectronica/agent-skills, 295 stars), Copilot SDK (microsoft/skills, 3.1k stars) and README and DESIGN Generator (fengshao1227/ccg-workflow, 5.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
microsoft (a GitHub organization, an official publisher) maintains it in microsoft/Agent365-Samples, which has 112 GitHub stars. The repository was last updated on October 1, 2026.
Source: microsoft/Agent365-Samples on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.