Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
d0e4dda
Update package index with latest published versions (#52777)
azure-sdk Apr 1, 2026
7587824
Bump step-security/harden-runner from 2.16.0 to 2.16.1 (#52783)
dependabot[bot] Apr 1, 2026
2eeb94e
Bump the dotnet group with 1 update (#52785)
dependabot[bot] Apr 1, 2026
9a5bb16
Bump the dotnet group with 3 updates (#52801)
dependabot[bot] Apr 1, 2026
a29fbea
Bump the dotnet group with 2 updates (#52794)
dependabot[bot] Apr 1, 2026
2ac96a1
Bump the dotnet group with 1 update (#52817)
dependabot[bot] Apr 1, 2026
1588403
Bump the dotnet group with 2 updates (#52816)
dependabot[bot] Apr 1, 2026
ccf5771
Bump the dotnet group with 1 update (#52822)
dependabot[bot] Apr 1, 2026
5a89e4c
Bump the dotnet group with 1 update (#52814)
dependabot[bot] Apr 1, 2026
928c44b
Bump the dotnet group with 2 updates (#52826)
dependabot[bot] Apr 1, 2026
ab93f01
Bump the dotnet group with 1 update (#52829)
dependabot[bot] Apr 1, 2026
b44c46d
Bump the dotnet group with 1 update (#52830)
dependabot[bot] Apr 1, 2026
86a0512
Bump Microsoft.Agents.AI.OpenAI from 1.0.0-rc4 to 1.0.0-rc5 (#52827)
dependabot[bot] Apr 1, 2026
beaa8dd
Update package index with latest published versions (#52832)
azure-sdk Apr 1, 2026
7407a25
Copilot skills updates (#52766)
adegeo Apr 1, 2026
3483b53
set update cycle to 10 years for runtime-libraries and compatibility …
gewarren Apr 1, 2026
a256df4
Bot 🤖 generated CleanRepo tool run (#52779)
github-actions[bot] Apr 1, 2026
9842c92
Update archived DataCollector link (#52079)
meaghanlewis Apr 1, 2026
cd75c0c
Document RequestContext access in placement and placement filtering (…
rkargMsft Apr 1, 2026
f0a5b48
Improve doc for MSTEST0049 and TestContext (#52468)
Evangelink Apr 1, 2026
b137906
Add applicable languages to CA and IDE code analysis rule documentati…
Copilot Apr 1, 2026
1f7df5e
Remove non-existing registry keys from TLS article (#52688)
BartoszKlonowski Apr 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
58 changes: 35 additions & 23 deletions .github/agents/docseditor.agent.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,32 @@ name: DocsEditor
description: Edit and transform a document using the Microsoft Style Guide
---

# Article Editing Instructions for LLMs
# Article Writing and Editing Instructions for LLMs

You are performing an edit pass on a Microsoft documentation article. Your MANDATORY goal is to aggressively transform the content to follow the Microsoft Style Guide while preserving technical accuracy and meaning.
**Mode: EDITING** — Transform the existing article to follow the Microsoft Style Guide. Preserve all technical accuracy and meaning.
**Mode: WRITING** — Create new content that follows the Microsoft Style Guide from the start. Ensure technical accuracy, clarity, and consistency.

Determine which mode applies, then execute all mandatory transformations defined in this document.

❌ Don't provide explanations or commentary on your process unless asked; ✅ only summarize changes at the end.

## EDITING APPROACH - FOLLOW THIS METHODOLOGY

1. **Read the entire document first**
2. **Systematically scan for PATTERNS, not just exact matches** - The examples below represent common patterns; look for similar constructions throughout
3. **Apply ALL transformations aggressively** - Don't skip patterns just because they're not exactly like the examples
4. **Focus especially on voice, tense, and weak constructions** - These are the most commonly missed transformations
5. **Be thorough in pattern recognition** - If you see "There are many ways to", treat it the same as "There are several ways to"
6. **Simplify aggressively while preserving meaning** - When in doubt, choose the simpler, more direct alternative
2. **Verify document structure** - Check that the article has a logical heading hierarchy, an introduction, and appropriate sections (such as prerequisites, steps, and next steps). Flag any missing structural elements.
3. **Systematically scan for PATTERNS, not just exact matches** - The examples below represent common patterns; look for similar constructions throughout
4. **Apply ALL transformations aggressively** - Don't skip patterns just because they're not exactly like the examples
5. **Focus especially on voice, tense, and weak constructions** - These are the most commonly missed transformations
6. **Be thorough in pattern recognition** - If you see "There are many ways to", treat it the same as "There are several ways to"
7. **Simplify aggressively while preserving meaning** - When in doubt, choose the simpler, more direct alternative

## WRITING APPROACH - FOLLOW THIS METHODOLOGY

1. **Understand the requirements** - Clarify the topic, audience, and purpose
2. **Ask for structure** - Before writing, ask the user for a template or an existing article to follow for structure
3. **Write with style guidelines in mind** - Apply voice, tense, and formatting rules from the start
4. **Ensure completeness** - Include all necessary sections and technical details
5. **Validate accuracy** - Verify technical correctness and consistency

## PATTERN EXAMPLES FOR RECOGNITION

Expand Down Expand Up @@ -219,19 +231,19 @@ When editing, focus on these areas in order of priority:
- ALWAYS use no spaces around dashes: "Use pipelines—logical groups—to consolidate"
- ALWAYS add blank lines around markdown elements (don't add extra if they exist)

## FINAL VALIDATION - MANDATORY CHECKS

After editing, you MUST verify:
- [ ] ALL passive voice converted to active voice
- [ ] ALL "you can/should" converted to imperative mood
- [ ] ALL future tense converted to present tense for descriptions
- [ ] ALL contractions added where appropriate
- [ ] ALL verbose phrases simplified
- [ ] ALL weak constructions eliminated
- [ ] ALL ambiguous "this" pronoun uses replaced with explicit nouns
- [ ] Content maintains technical accuracy
- [ ] Tone is conversational and helpful
- [ ] Sentences are concise and scannable
- [ ] Formatting follows conventions
- [ ] No consecutive headings without content
- [ ] Code blocks are unchanged (except comments if needed)
## API REFERENCES

Use cross-references instead of plain text or raw URLs when referring to .NET APIs:

- Format: `<xref:api-doc-ID>`
- Find API doc IDs in XML files at https://github.com/dotnet/dotnet-api-docs
- For types: use the `Value` attribute of `<TypeSignature>` where `Language="DocId"` (omit the first 2 characters)
- For members: use the `Value` attribute of `<MemberSignature>` where `Language="DocId"` (omit the first 2 characters)
- If unsure of the doc ID, use the API browser: `https://learn.microsoft.com/api/apibrowser/dotnet/search?api-version=0.2&locale=en-us&search={API_NAME}&$skip=0&$top=5` and use the `url` value from the results as a manual link.

### Encoding

Use the following rules to encode special characters in API doc IDs:

1. Encode `#` as `%23` in API doc IDs. For example, `System.String.#ctor` becomes `System.String.%23ctor`.
2. **DO NOT** encode `*` or \` (backtick) characters as `%2A` or `%60` respectively.
9 changes: 8 additions & 1 deletion .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,9 @@ To find API doc IDs:

If unsure, use API browser: `https://learn.microsoft.com/api/apibrowser/dotnet/search?api-version=0.2&locale=en-us&search={API_NAME}&$skip=0&$top=5` and then use the `url` value from the results as a manual link.

**Encoding**:
### Encoding

Use the following rules to encode special characters in API doc IDs:

1. Encode `#` as `%23` in API doc IDs. For example, `System.String.#ctor` becomes `System.String.%23ctor`.
2. **DO NOT** encode `*` or \` (backtick) characters as `%2A` or `%60` respectively.
Expand All @@ -51,6 +53,11 @@ For snippets >6 lines:
1. Create examples in both C# and Visual Basic unless the article referencing the snippet resides in the in the `csharp`, `fsharp`, and `visual-basic` language folders.
1. When you add code, use code comments sparingly because they don't get localized. You can use them to briefly clarify code-specific details (such as logic, parameters, or edge cases). Put any critical information and context in the markdown text of the referencing article.
1. IMPORTANT: For created code, always try to encapsulate it in an standalone executable (e.g. `dotnet fsi myFile.fsx` or `dotnet run myFile.cs`, add the necessary boilerplate/imports/usings where needed, and execute it.). Run it, and for every code snippet, include a PR commentary checking each code sample and proving what it has produced - this can be diagnostics, standard output, or a result value. That standalone file is just for the purpose of verification within copilot's execution environment, the published docs snippet should remain a subset as you would normally write to maximize clarity.
1. IMPORTANT: Code snippets are referenced in the in markdown following this format: `:::code language="{code-language}" source="{relative-file-path}" id="{snippet-identifier}":::`. For example:
```markdown
:::code language="csharp" source="./snippets/doc-name/csharp/File.cs" id="ButtonClick":::
:::code language="vb" source="./snippets/doc-name/vb/File.vb" id="ButtonClick":::
```

## File Naming

Expand Down
19 changes: 18 additions & 1 deletion .github/prompts/Editing.FullPass.prompt.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,26 @@
---
model: Claude Sonnet 4 (copilot)
model: Claude Sonnet 4.6 (copilot)
agent: DocsEditor
description: "Performs comprehensive editing pass following Microsoft Style Guide"
---

# Article Editing Instructions

Examine and edit the entire article, including front matter, for clarity, conciseness, grammar, spelling, and adherence to Microsoft Style Guide standards.

## EDITING - FINAL VALIDATION - MANDATORY CHECKS

After editing, you MUST verify:
- [ ] ALL passive voice converted to active voice
- [ ] ALL "you can/should" converted to imperative mood
- [ ] ALL future tense converted to present tense for descriptions
- [ ] ALL contractions added where appropriate
- [ ] ALL verbose phrases simplified
- [ ] ALL weak constructions eliminated
- [ ] ALL ambiguous "this" pronoun uses replaced with explicit nouns
- [ ] Content maintains technical accuracy
- [ ] Tone is conversational and helpful
- [ ] Sentences are concise and scannable
- [ ] Formatting follows conventions
- [ ] No consecutive headings without content
- [ ] Code blocks are unchanged (except comments if needed)
16 changes: 16 additions & 0 deletions .github/prompts/Merge.Article.prompt.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
name: Merge an article
agent: agent
description: "Copy the content from one article into another."
---

Migrate the content in one article to another.

Pay attention to the following pieces of information when merging the articles:

- Copy all sections and their content from the source article to the destination article.
- If there are sections in the source article that already exist in the destination article, merge the content of those sections appropriately without duplicating information.
- Update any internal links within the merged content to ensure they point to the correct sections in the destination article.
- Ensure that any code snippets, images, or media in the source article are also transferred to the destination article.

When the migration is done, ask the user if they want to also redirect and delete the source article. If they do, invoke the `redirect-article` skill.
5 changes: 4 additions & 1 deletion .github/prompts/Snippets.Migrate.prompt.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ We no longer use the `~/samples/snippets/` location for code snippets. All code
**Requirements for current code standards:**
- ✅ MUST be complete and compilable
- ✅ MUST include a project file
- ✅ MUST target the latest .NET version
- ✅ MUST target the latest .NET or .NET Framework version as appropriate based on article context
- ✅ MUST provide BOTH C# and Visual Basic versions
- ✅ MUST use appropriate syntax for the target framework
- ✅ MUST use meaningful, descriptive snippet identifiers in CamelCase format
Expand All @@ -75,6 +75,9 @@ We no longer use the `~/samples/snippets/` location for code snippets. All code
- **Reuse**: If the article already has snippets in the new location, reuse the existing folder structure and try to merge the code into the existing snippets if possible. Use new classes and code files as needed. Code **ONLY** needs to compile, it doesn't have to run from the program main.
- **Create**: If no existing folder structure exists for the article, create a new one following the pattern above.
- **New projects**: **NEVER** create project files manually. Always use the `dotnet` CLI to ensure correct formatting and structure of new code. Projects should be console apps unless otherwise required (such as a Windows Forms-related snippet)
- Specify a meaningful project name with the `-n` parameter.
- Example 1: An article about clipboard handling, use `dotnet new console -n ClipboardExample`
- Example 2: An article about events would be `dotnet new console -n EventsOverview`

### 3. Migrate and update code
- **Copy**: Copy only the snippet code (and any supporting code to compile the snippet) to the new location
Expand Down
1 change: 0 additions & 1 deletion .github/prompts/Snippets.Push.prompt.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,6 @@ description: Push inline code block snippets out of articles into standalone fil
- DO NOT use language tabs in the article — place references side-by-side, like so:
```markdown
:::code language="csharp" source="./snippets/doc-name/csharp/File.cs" id="ButtonClick":::

:::code language="vb" source="./snippets/doc-name/vb/File.vb" id="ButtonClick":::
```
- Verify all paths and identifiers are correct.
Expand Down
6 changes: 4 additions & 2 deletions .github/prompts/Snippets.Upgrade.prompt.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,10 @@ All snippets must follow this folder structure relative to the referencing artic
- Modern `using` statements

### 4. Project File Requirements
- **NEVER** create project files manually. Always use the `dotnet` CLI. Default to console apps (`dotnet new console`) unless the snippet requires a different project type. Don't specify an output folder with `-o`. Specify a meaningful project name with `-n` if possible.
- **NEVER** create project files manually. Always use the `dotnet` CLI. Default to console apps (`dotnet new console`) unless the snippet requires a different project type. Don't specify an output folder with `-o`.
- Specify a meaningful project name with the `-n` parameter.
- Example 1: An article about clipboard handling, use `dotnet new console -n ClipboardExample`
- Example 2: For an article about events, use `dotnet new console -n EventsOverview`
- Ensure a complete, compilable project structure with an appropriate `.csproj` or `.vbproj` file
- Code only needs to compile — it doesn't have to run from `Main`
- Verify compilation with `dotnet build`
Expand Down Expand Up @@ -97,7 +100,6 @@ All snippets must follow this folder structure relative to the referencing artic

## Common mistakes to avoid

- ❌ Using the old `[net|framework]` subfolder in paths
- ❌ Creating project files manually instead of using `dotnet new`
- ❌ Missing C# or VB versions for standard articles
- ❌ Using simplistic or non-descriptive snippet identifiers
Expand Down
4 changes: 3 additions & 1 deletion .github/skills/redirect-article/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,9 @@ Delete a markdown article from the repository and create a redirect entry that p

### 2. Update the internal links

1. Search for `**/*.md` and `**/*.yml` files that reference the redirected file
1. Build a list of files that reference the deleted article
- Search for `**/*.md` files that reference the redirected file
- Search for `**/*.yml` files that reference the redirected file
2. Update the links to point to the new article

## Redirection File Selection
Expand Down
Loading
Loading