Skip to content

Fix review comments on Copilot SDK permission handling PR #1103#1106

Closed
jamesmontemagno wants to merge 5 commits intogithub:stagedfrom
jamesmontemagno:fix/sdk-perms-review-comments
Closed

Fix review comments on Copilot SDK permission handling PR #1103#1106
jamesmontemagno wants to merge 5 commits intogithub:stagedfrom
jamesmontemagno:fix/sdk-perms-review-comments

Conversation

@jamesmontemagno
Copy link
Contributor

Pull Request Checklist

  • I have read and followed the CONTRIBUTING.md guidelines.
  • I have read and followed the Guidance for submissions involving paid services.
  • My contribution adds a new instruction, prompt, agent, skill, or workflow file in the correct directory.
  • The file follows the required naming convention.
  • The content is clearly structured and follows the example format.
  • I have tested my instructions, prompt, agent, skill, or workflow with GitHub Copilot.
  • I have run npm start and verified that README.md is up to date.

Description

Addresses the 5 review comments from PR #1103:

  1. Fix invalid object literal syntax in instructions/copilot-sdk-nodejs.instructions.md: The resumeSession example had a stray leading comma before onPermissionRequest which would cause a TypeScript parse error. Fixed to proper comma-separated properties.

  2. Fix unused PermissionHandler import in cookbook/copilot-sdk/python/recipe/ralph_loop.py: PermissionHandler was imported but the code used an inline lambda. Replaced with PermissionHandler.approve_all for consistency.

  3. Fix unused approveAll import in cookbook/copilot-sdk/nodejs/recipe/ralph-loop.ts: approveAll was imported but the code used an inline handler. Replaced with approveAll for consistency.

  4. Add missing PermissionHandler import to 4 Python snippets in skills/copilot-sdk/SKILL.md that referenced it without importing.

  5. Add missing approveAll import to 3 TypeScript snippets in skills/copilot-sdk/SKILL.md that referenced it without importing.


Type of Contribution

  • New instruction file.
  • New prompt file.
  • New agent file.
  • New plugin.
  • New skill file.
  • New agentic workflow.
  • Update to existing instruction, prompt, agent, plugin, skill, or workflow.
  • Other (please specify):

By submitting this pull request, I confirm that my contribution abides by the Code of Conduct and will be licensed under the MIT License.

github-actions bot and others added 5 commits March 20, 2026 04:50
Co-authored-by: jamesmontemagno <1676321+jamesmontemagno@users.noreply.github.com>
Agent-Logs-Url: https://github.com/jamesmontemagno/awesome-copilot/sessions/adf27a88-92f8-4ca6-b3fe-1204e3bb9963
…-permissions

Align Copilot SDK cookbook, skill, and instructions with required permission handling
Address 5 review comments from PR github#1103:

1. Fix invalid object literal syntax (stray comma) in resumeSession
   example in copilot-sdk-nodejs.instructions.md

2. Replace unused PermissionHandler import with actual usage in
   cookbook/copilot-sdk/python/recipe/ralph_loop.py (was using
   inline lambda instead)

3. Replace unused approveAll import with actual usage in
   cookbook/copilot-sdk/nodejs/recipe/ralph-loop.ts (was using
   inline handler instead)

4. Add missing PermissionHandler import to 4 Python code snippets
   in skills/copilot-sdk/SKILL.md that reference it without importing

5. Add missing approveAll import to 3 TypeScript code snippets
   in skills/copilot-sdk/SKILL.md that reference it without importing
Copilot AI review requested due to automatic review settings March 20, 2026 17:13
Copy link
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

This PR standardizes Copilot SDK permission-handling examples across multiple docs/recipes and introduces a large set of new plugin agents/skills while also updating many plugin manifests.

Changes:

  • Update Copilot SDK instructions/recipes (Python/Node.js/Go/C#) to consistently import and use PermissionHandler.approve_all / approveAll.
  • Add multiple new plugin agents/skills/reference docs across various domains (MCP development, Azure, Java, DBAs, DevOps, etc.).
  • Refactor many plugins/**/.github/plugin/plugin.json manifests to use directory paths (e.g., ./agents) and remove trailing slashes from skill paths.

Reviewed changes

Copilot reviewed 164 out of 340 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
plugins/kotlin-mcp-development/agents/kotlin-mcp-expert.md Adds a Kotlin MCP expert agent definition/content
plugins/kotlin-mcp-development/.github/plugin/plugin.json Changes manifest agent/skill paths (agents → directory)
plugins/java-mcp-development/.github/plugin/plugin.json Changes manifest agent/skill paths (agents → directory)
plugins/java-development/skills/java-springboot/SKILL.md Adds Spring Boot best-practices skill
plugins/java-development/skills/java-junit/SKILL.md Adds JUnit best-practices skill
plugins/java-development/skills/java-docs/SKILL.md Adds Javadoc best-practices skill
plugins/java-development/skills/create-spring-boot-java-project/SKILL.md Adds Spring Boot project scaffolding skill/instructions
plugins/java-development/.github/plugin/plugin.json Removes trailing slashes in skill paths
plugins/go-mcp-development/agents/go-mcp-expert.md Adds a Go MCP expert agent definition/content
plugins/go-mcp-development/.github/plugin/plugin.json Changes manifest agent/skill paths (agents → directory)
plugins/gem-team/agents/gem-reviewer.md Adds a “gem” security reviewer agent
plugins/gem-team/agents/gem-implementer.md Adds a “gem” implementer agent
plugins/gem-team/agents/gem-documentation-writer.md Adds a “gem” documentation writer agent
plugins/gem-team/agents/gem-devops.md Adds a “gem” DevOps agent
plugins/gem-team/agents/gem-browser-tester.md Adds a “gem” browser tester agent
plugins/gem-team/.github/plugin/plugin.json Collapses explicit agent list into a directory reference
plugins/frontend-web-dev/skills/playwright-generate-test/SKILL.md Adds Playwright test generation skill
plugins/frontend-web-dev/skills/playwright-explore-website/SKILL.md Adds Playwright exploration skill
plugins/frontend-web-dev/.github/plugin/plugin.json Collapses explicit agent list into a directory reference; trims skill slashes
plugins/flowstudio-power-automate/skills/flowstudio-power-automate-mcp/references/connection-references.md Adds FlowStudio MCP reference doc (connection references)
plugins/flowstudio-power-automate/skills/flowstudio-power-automate-mcp/references/action-types.md Adds FlowStudio MCP action type reference
plugins/flowstudio-power-automate/skills/flowstudio-power-automate-mcp/references/MCP-BOOTSTRAP.md Adds FlowStudio MCP bootstrap reference
plugins/flowstudio-power-automate/skills/flowstudio-power-automate-debug/references/debug-workflow.md Adds FlowStudio MCP debug workflow reference
plugins/flowstudio-power-automate/skills/flowstudio-power-automate-build/references/trigger-types.md Adds FlowStudio MCP trigger definitions reference
plugins/flowstudio-power-automate/skills/flowstudio-power-automate-build/references/build-patterns.md Adds FlowStudio MCP build patterns reference
plugins/flowstudio-power-automate/.github/plugin/plugin.json Removes trailing slashes in skill paths
plugins/edge-ai-tasks/.github/plugin/plugin.json Collapses explicit agent list into a directory reference
plugins/doublecheck/skills/doublecheck/assets/verification-report-template.md Adds verification report template asset
plugins/doublecheck/agents/doublecheck.md Adds Doublecheck verification agent
plugins/doublecheck/.github/plugin/plugin.json Changes manifest agent/skill paths (agents → directory)
plugins/devops-oncall/skills/multi-stage-dockerfile/SKILL.md Adds multi-stage Dockerfile best-practices skill
plugins/devops-oncall/agents/azure-principal-architect.md Adds Azure principal architect agent
plugins/devops-oncall/.github/plugin/plugin.json Changes manifest agent/skill paths (agents → directory); trims skill slashes
plugins/dataverse-sdk-for-python/skills/dataverse-python-quickstart/SKILL.md Adds Dataverse Python quickstart skill
plugins/dataverse-sdk-for-python/skills/dataverse-python-production-code/SKILL.md Adds Dataverse Python production code guidance skill
plugins/dataverse-sdk-for-python/skills/dataverse-python-advanced-patterns/SKILL.md Adds Dataverse Python advanced patterns skill
plugins/dataverse-sdk-for-python/.github/plugin/plugin.json Removes trailing slashes in skill paths
plugins/database-data-management/agents/postgresql-dba.md Adds PostgreSQL DBA agent
plugins/database-data-management/agents/ms-sql-dba.md Adds MS-SQL DBA agent
plugins/database-data-management/.github/plugin/plugin.json Changes manifest agent/skill paths (agents → directory); trims skill slashes
plugins/csharp-mcp-development/skills/csharp-mcp-server-generator/SKILL.md Adds C# MCP server generator skill
plugins/csharp-mcp-development/agents/csharp-mcp-expert.md Adds C# MCP expert agent
plugins/csharp-mcp-development/.github/plugin/plugin.json Changes manifest agent/skill paths (agents → directory); trims skill slashes
plugins/csharp-dotnet-development/skills/dotnet-upgrade/SKILL.md Adds .NET upgrade planning skill content
plugins/csharp-dotnet-development/skills/dotnet-best-practices/SKILL.md Adds .NET best practices skill
plugins/csharp-dotnet-development/skills/csharp-xunit/SKILL.md Adds xUnit best-practices skill
plugins/csharp-dotnet-development/skills/csharp-tunit/SKILL.md Adds TUnit best-practices skill
plugins/csharp-dotnet-development/skills/csharp-nunit/SKILL.md Adds NUnit best-practices skill
plugins/csharp-dotnet-development/skills/csharp-async/SKILL.md Adds C# async best-practices skill
plugins/csharp-dotnet-development/skills/aspnet-minimal-api-openapi/SKILL.md Adds ASP.NET Minimal API + OpenAPI skill
plugins/csharp-dotnet-development/agents/expert-dotnet-software-engineer.md Adds expert .NET software engineer agent
plugins/csharp-dotnet-development/.github/plugin/plugin.json Changes manifest agent/skill paths (agents → directory); trims skill slashes
plugins/copilot-sdk/.github/plugin/plugin.json Removes trailing slash in skill path
plugins/context-engineering/skills/what-context-needed/SKILL.md Adds “what context needed” skill
plugins/context-engineering/skills/refactor-plan/SKILL.md Adds refactor planning skill
plugins/context-engineering/skills/context-map/SKILL.md Adds context mapping skill
plugins/context-engineering/agents/context-architect.md Adds context architect agent
plugins/context-engineering/.github/plugin/plugin.json Changes manifest agent/skill paths (agents → directory); trims skill slashes
plugins/clojure-interactive-programming/skills/remember-interactive-programming/SKILL.md Adds interactive programming reminder skill
plugins/clojure-interactive-programming/.github/plugin/plugin.json Changes manifest agent/skill paths (agents → directory); trims skill slashes
plugins/cast-imaging/agents/cast-imaging-structural-quality-advisor.md Adds CAST Imaging quality advisor agent
plugins/cast-imaging/agents/cast-imaging-software-discovery.md Adds CAST Imaging discovery agent
plugins/cast-imaging/agents/cast-imaging-impact-analysis.md Adds CAST Imaging impact analysis agent
plugins/cast-imaging/.github/plugin/plugin.json Collapses explicit agent list into a directory reference
plugins/azure-cloud-development/skills/azure-pricing/references/SERVICE-NAMES.md Adds Azure pricing service-name reference
plugins/azure-cloud-development/skills/azure-pricing/references/REGIONS.md Adds Azure pricing region reference
plugins/azure-cloud-development/skills/azure-pricing/references/COST-ESTIMATOR.md Adds cost estimator reference
plugins/azure-cloud-development/skills/azure-pricing/references/COPILOT-STUDIO-RATES.md Adds Copilot Studio rates reference
plugins/azure-cloud-development/agents/terraform-azure-planning.md Adds Terraform planning agent
plugins/azure-cloud-development/agents/terraform-azure-implement.md Adds Terraform implementation agent
plugins/azure-cloud-development/agents/azure-verified-modules-terraform.md Adds AVM Terraform agent
plugins/azure-cloud-development/agents/azure-verified-modules-bicep.md Adds AVM Bicep agent
plugins/azure-cloud-development/agents/azure-principal-architect.md Adds Azure principal architect agent definition/content
plugins/azure-cloud-development/agents/azure-logic-apps-expert.md Adds Azure Logic Apps expert agent
plugins/azure-cloud-development/.github/plugin/plugin.json Collapses explicit agent list into a directory reference; trims skill slashes
plugins/awesome-copilot/skills/suggest-awesome-github-copilot-instructions/SKILL.md Adds skill for suggesting instructions from awesome-copilot repo
plugins/awesome-copilot/skills/suggest-awesome-github-copilot-agents/SKILL.md Adds skill for suggesting agents from awesome-copilot repo
plugins/awesome-copilot/agents/meta-agentic-project-scaffold.md Adds meta scaffold agent
plugins/awesome-copilot/.github/plugin/plugin.json Changes manifest agent/skill paths (agents → directory); trims skill slashes
plugins/automate-this/.github/plugin/plugin.json Removes trailing slash in skill path
instructions/copilot-sdk-python.instructions.md Adds PermissionHandler import + permission handler examples throughout
instructions/copilot-sdk-nodejs.instructions.md Adds approveAll import + permission handler examples throughout
instructions/copilot-sdk-go.instructions.md Adds PermissionHandler.ApproveAll usage throughout
instructions/copilot-sdk-csharp.instructions.md Adds PermissionHandler.ApproveAll usage throughout
cookbook/copilot-sdk/python/recipe/ralph_loop.py Imports + uses PermissionHandler.approve_all
cookbook/copilot-sdk/python/recipe/pr_visualization.py Imports + uses PermissionHandler.approve_all
cookbook/copilot-sdk/python/recipe/persisting_sessions.py Imports + uses PermissionHandler.approve_all; updates resume example
cookbook/copilot-sdk/python/recipe/multiple_sessions.py Imports + uses PermissionHandler.approve_all
cookbook/copilot-sdk/python/recipe/managing_local_files.py Imports + uses PermissionHandler.approve_all
cookbook/copilot-sdk/python/recipe/error_handling.py Imports + uses PermissionHandler.approve_all
cookbook/copilot-sdk/python/recipe/accessibility_report.py Imports + uses PermissionHandler.approve_all
cookbook/copilot-sdk/python/ralph-loop.md Documentation example imports + uses PermissionHandler.approve_all
cookbook/copilot-sdk/python/pr-visualization.md Documentation example imports + uses PermissionHandler.approve_all
cookbook/copilot-sdk/python/persisting-sessions.md Documentation example imports + uses PermissionHandler.approve_all
cookbook/copilot-sdk/python/multiple-sessions.md Documentation example imports + uses PermissionHandler.approve_all
cookbook/copilot-sdk/python/managing-local-files.md Documentation example imports + uses PermissionHandler.approve_all
cookbook/copilot-sdk/python/error-handling.md Documentation example imports + uses PermissionHandler.approve_all
cookbook/copilot-sdk/python/accessibility-report.md Documentation example imports + uses PermissionHandler.approve_all
cookbook/copilot-sdk/nodejs/recipe/ralph-loop.ts Imports + uses approveAll
cookbook/copilot-sdk/nodejs/recipe/pr-visualization.ts Imports + uses approveAll
cookbook/copilot-sdk/nodejs/recipe/persisting-sessions.ts Imports + uses approveAll; updates resume example
cookbook/copilot-sdk/nodejs/recipe/multiple-sessions.ts Imports + uses approveAll
cookbook/copilot-sdk/nodejs/recipe/managing-local-files.ts Imports + uses approveAll
cookbook/copilot-sdk/nodejs/recipe/error-handling.ts Imports + uses approveAll
cookbook/copilot-sdk/nodejs/recipe/accessibility-report.ts Imports + uses approveAll
cookbook/copilot-sdk/nodejs/ralph-loop.md Documentation example imports + uses approveAll
cookbook/copilot-sdk/nodejs/pr-visualization.md Documentation example imports + uses approveAll
cookbook/copilot-sdk/nodejs/persisting-sessions.md Documentation example imports + uses approveAll
cookbook/copilot-sdk/nodejs/multiple-sessions.md Documentation example imports + uses approveAll
cookbook/copilot-sdk/nodejs/managing-local-files.md Documentation example imports + uses approveAll
cookbook/copilot-sdk/nodejs/error-handling.md Documentation example imports + uses approveAll
cookbook/copilot-sdk/nodejs/accessibility-report.md Documentation example imports + uses approveAll
cookbook/copilot-sdk/go/recipe/pr-visualization.go Adds OnPermissionRequest approve-all
cookbook/copilot-sdk/go/recipe/persisting-sessions.go Adds OnPermissionRequest approve-all; updates resume example
cookbook/copilot-sdk/go/recipe/multiple-sessions.go Adds OnPermissionRequest approve-all
cookbook/copilot-sdk/go/recipe/managing-local-files.go Adds OnPermissionRequest approve-all
cookbook/copilot-sdk/go/recipe/error-handling.go Adds OnPermissionRequest approve-all
cookbook/copilot-sdk/go/recipe/accessibility-report.go Adds OnPermissionRequest approve-all
cookbook/copilot-sdk/go/ralph-loop.md Documentation example adds OnPermissionRequest approve-all
cookbook/copilot-sdk/go/pr-visualization.md Documentation example adds OnPermissionRequest approve-all
cookbook/copilot-sdk/go/persisting-sessions.md Documentation example adds OnPermissionRequest approve-all; updates resume
cookbook/copilot-sdk/go/multiple-sessions.md Documentation example adds OnPermissionRequest approve-all
cookbook/copilot-sdk/go/managing-local-files.md Documentation example adds OnPermissionRequest approve-all
cookbook/copilot-sdk/go/error-handling.md Documentation example adds OnPermissionRequest approve-all
cookbook/copilot-sdk/go/accessibility-report.md Documentation example adds OnPermissionRequest approve-all
cookbook/copilot-sdk/dotnet/recipe/persisting-sessions.cs Updates resume example to include permission handler
cookbook/copilot-sdk/dotnet/persisting-sessions.md Updates resume example to include permission handler

"./agents/azure-verified-modules-terraform.md",
"./agents/terraform-azure-planning.md",
"./agents/terraform-azure-implement.md"
"./agents"
Copy link

Copilot AI Mar 20, 2026

Choose a reason for hiding this comment

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

The PR title/description focus on fixing Copilot SDK permission-handling review comments, but this PR also adds many new plugins/agents/skills and refactors numerous plugin manifests. Please either (1) split the plugin additions/manifest refactors into a separate PR or (2) update the PR title/description to accurately reflect the expanded scope so reviewers can assess intent and risk appropriately.

Copilot uses AI. Check for mistakes.
Comment on lines 18 to 23
"agents": [
"./agents/kotlin-mcp-expert.md"
"./agents"
],
"skills": [
"./skills/kotlin-mcp-server-generator/"
"./skills/kotlin-mcp-server-generator"
]
Copy link

Copilot AI Mar 20, 2026

Choose a reason for hiding this comment

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

The agents manifest entry changed from a specific agent file path to a directory path ("./agents"). If the plugin loader expects explicit agent file paths (as this file previously provided), agents may stop being discoverable. If directory-based discovery is supported, consider using an explicit pattern or updating the manifest format consistently (e.g., an items list with path/kind) so the contract is unambiguous.

See below for a potential fix:

  "items": [
    {
      "path": "./agents",
      "kind": "agent"
    },
    {
      "path": "./skills/kotlin-mcp-server-generator",
      "kind": "skill"
    }

Copilot uses AI. Check for mistakes.
---
description: "Work with Microsoft SQL Server databases using the MS SQL extension."
name: "MS-SQL Database Administrator"
tools: ["search/codebase", "edit/editFiles", "githubRepo", "extensions", "runCommands", "database", "mssql_connect", "mssql_query", "mssql_listServers", "mssql_listDatabases", "mssql_disconnect", "mssql_visualizeSchema"]
Copy link

Copilot AI Mar 20, 2026

Choose a reason for hiding this comment

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

search/codebase is an unusual tool identifier compared to the rest of the repo (which commonly uses codebase and search as separate tools). If this tool name isn’t registered, the agent will fail at runtime. Recommend switching to the canonical tool name(s) used elsewhere in the repository/tooling.

Suggested change
tools: ["search/codebase", "edit/editFiles", "githubRepo", "extensions", "runCommands", "database", "mssql_connect", "mssql_query", "mssql_listServers", "mssql_listDatabases", "mssql_disconnect", "mssql_visualizeSchema"]
tools: ["search", "codebase", "edit/editFiles", "githubRepo", "extensions", "runCommands", "database", "mssql_connect", "mssql_query", "mssql_listServers", "mssql_listDatabases", "mssql_disconnect", "mssql_visualizeSchema"]

Copilot uses AI. Check for mistakes.
Comment on lines +7 to +54
- name: "Project Classification Analysis"
prompt: "Identify all projects in the solution and classify them by type (`.NET Framework`, `.NET Core`, `.NET Standard`). Analyze each `.csproj` for its current `TargetFramework` and SDK usage."

- name: "Dependency Compatibility Review"
prompt: "Review external and internal dependencies for framework compatibility. Determine the upgrade complexity based on dependency graph depth."

- name: "Legacy Package Detection"
prompt: "Identify legacy `packages.config` projects needing migration to `PackageReference` format."

# Upgrade Strategy & Sequencing
- name: "Project Upgrade Ordering"
prompt: "Recommend a project upgrade order from least to most dependent components. Suggest how to isolate class library upgrades before API or Azure Function migrations."

- name: "Incremental Strategy Planning"
prompt: "Propose an incremental upgrade strategy with rollback checkpoints. Evaluate the use of **Upgrade Assistant** or **manual upgrades** based on project structure."

- name: "Progress Tracking Setup"
prompt: "Generate an upgrade checklist for tracking build, test, and deployment readiness across all projects."

# Framework Targeting & Code Adjustments
- name: "Target Framework Selection"
prompt: "Suggest the correct `TargetFramework` for each project (e.g., `net8.0`). Review and update deprecated SDK or build configurations."

- name: "Code Modernization Analysis"
prompt: "Identify code patterns needing modernization (e.g., `WebHostBuilder` → `HostBuilder`). Suggest replacements for deprecated .NET APIs and third-party libraries."

- name: "Async Pattern Conversion"
prompt: "Recommend conversion of synchronous calls to async where appropriate for improved performance and scalability."

# NuGet & Dependency Management
- name: "Package Compatibility Analysis"
prompt: "Analyze outdated or incompatible NuGet packages and suggest compatible versions. Identify third-party libraries that lack .NET 8 support and provide migration paths."

- name: "Shared Dependency Strategy"
prompt: "Recommend strategies for handling shared dependency upgrades across projects. Evaluate usage of legacy packages and suggest alternatives in Microsoft-supported namespaces."

- name: "Transitive Dependency Review"
prompt: "Review transitive dependencies and potential version conflicts after upgrade. Suggest resolution strategies for dependency conflicts."

# CI/CD & Build Pipeline Updates
- name: "Pipeline Configuration Analysis"
prompt: "Analyze YAML build definitions for SDK version pinning and recommend updates. Suggest modifications for `UseDotNet@2` and `NuGetToolInstaller` tasks."

- name: "Build Pipeline Modernization"
prompt: "Generate updated build pipeline snippets for .NET 8 migration. Recommend validation builds on feature branches before merging to main."

- name: "CI Automation Enhancement"
prompt: "Identify opportunities to automate test and build verification in CI pipelines. Suggest strategies for continuous integration validation."
Copy link

Copilot AI Mar 20, 2026

Choose a reason for hiding this comment

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

This SKILL content appears to mix Markdown headings with YAML-like structures (- name: / prompt:) without fencing it as a code block or converting it into standard Markdown lists/sections. As-is, it’s hard to read and may be misinterpreted by renderers/parsers. Suggest either wrapping the YAML-like portion in a fenced block (and labeling it) or rewriting it as normal Markdown sections with bullets.

Suggested change
- name: "Project Classification Analysis"
prompt: "Identify all projects in the solution and classify them by type (`.NET Framework`, `.NET Core`, `.NET Standard`). Analyze each `.csproj` for its current `TargetFramework` and SDK usage."
- name: "Dependency Compatibility Review"
prompt: "Review external and internal dependencies for framework compatibility. Determine the upgrade complexity based on dependency graph depth."
- name: "Legacy Package Detection"
prompt: "Identify legacy `packages.config` projects needing migration to `PackageReference` format."
# Upgrade Strategy & Sequencing
- name: "Project Upgrade Ordering"
prompt: "Recommend a project upgrade order from least to most dependent components. Suggest how to isolate class library upgrades before API or Azure Function migrations."
- name: "Incremental Strategy Planning"
prompt: "Propose an incremental upgrade strategy with rollback checkpoints. Evaluate the use of **Upgrade Assistant** or **manual upgrades** based on project structure."
- name: "Progress Tracking Setup"
prompt: "Generate an upgrade checklist for tracking build, test, and deployment readiness across all projects."
# Framework Targeting & Code Adjustments
- name: "Target Framework Selection"
prompt: "Suggest the correct `TargetFramework` for each project (e.g., `net8.0`). Review and update deprecated SDK or build configurations."
- name: "Code Modernization Analysis"
prompt: "Identify code patterns needing modernization (e.g., `WebHostBuilder` → `HostBuilder`). Suggest replacements for deprecated .NET APIs and third-party libraries."
- name: "Async Pattern Conversion"
prompt: "Recommend conversion of synchronous calls to async where appropriate for improved performance and scalability."
# NuGet & Dependency Management
- name: "Package Compatibility Analysis"
prompt: "Analyze outdated or incompatible NuGet packages and suggest compatible versions. Identify third-party libraries that lack .NET 8 support and provide migration paths."
- name: "Shared Dependency Strategy"
prompt: "Recommend strategies for handling shared dependency upgrades across projects. Evaluate usage of legacy packages and suggest alternatives in Microsoft-supported namespaces."
- name: "Transitive Dependency Review"
prompt: "Review transitive dependencies and potential version conflicts after upgrade. Suggest resolution strategies for dependency conflicts."
# CI/CD & Build Pipeline Updates
- name: "Pipeline Configuration Analysis"
prompt: "Analyze YAML build definitions for SDK version pinning and recommend updates. Suggest modifications for `UseDotNet@2` and `NuGetToolInstaller` tasks."
- name: "Build Pipeline Modernization"
prompt: "Generate updated build pipeline snippets for .NET 8 migration. Recommend validation builds on feature branches before merging to main."
- name: "CI Automation Enhancement"
prompt: "Identify opportunities to automate test and build verification in CI pipelines. Suggest strategies for continuous integration validation."
- **Project Classification Analysis**
Identify all projects in the solution and classify them by type (`.NET Framework`, `.NET Core`, `.NET Standard`). Analyze each `.csproj` for its current `TargetFramework` and SDK usage.
- **Dependency Compatibility Review**
Review external and internal dependencies for framework compatibility. Determine the upgrade complexity based on dependency graph depth.
- **Legacy Package Detection**
Identify legacy `packages.config` projects needing migration to `PackageReference` format.
# Upgrade Strategy & Sequencing
- **Project Upgrade Ordering**
Recommend a project upgrade order from least to most dependent components. Suggest how to isolate class library upgrades before API or Azure Function migrations.
- **Incremental Strategy Planning**
Propose an incremental upgrade strategy with rollback checkpoints. Evaluate the use of **Upgrade Assistant** or **manual upgrades** based on project structure.
- **Progress Tracking Setup**
Generate an upgrade checklist for tracking build, test, and deployment readiness across all projects.
# Framework Targeting & Code Adjustments
- **Target Framework Selection**
Suggest the correct `TargetFramework` for each project (e.g., `net8.0`). Review and update deprecated SDK or build configurations.
- **Code Modernization Analysis**
Identify code patterns needing modernization (e.g., `WebHostBuilder``HostBuilder`). Suggest replacements for deprecated .NET APIs and third-party libraries.
- **Async Pattern Conversion**
Recommend conversion of synchronous calls to async where appropriate for improved performance and scalability.
# NuGet & Dependency Management
- **Package Compatibility Analysis**
Analyze outdated or incompatible NuGet packages and suggest compatible versions. Identify third-party libraries that lack .NET 8 support and provide migration paths.
- **Shared Dependency Strategy**
Recommend strategies for handling shared dependency upgrades across projects. Evaluate usage of legacy packages and suggest alternatives in Microsoft-supported namespaces.
- **Transitive Dependency Review**
Review transitive dependencies and potential version conflicts after upgrade. Suggest resolution strategies for dependency conflicts.
# CI/CD & Build Pipeline Updates
- **Pipeline Configuration Analysis**
Analyze YAML build definitions for SDK version pinning and recommend updates. Suggest modifications for `UseDotNet@2` and `NuGetToolInstaller` tasks.
- **Build Pipeline Modernization**
Generate updated build pipeline snippets for .NET 8 migration. Recommend validation builds on feature branches before merging to main.
- **CI Automation Enhancement**
Identify opportunities to automate test and build verification in CI pipelines. Suggest strategies for continuous integration validation.

Copilot uses AI. Check for mistakes.
- Docker
- Docker Compose

- If you need to custom the project name, please change the `artifactId` and the `packageName` in [download-spring-boot-project-template](./create-spring-boot-java-project.prompt.md#download-spring-boot-project-template)
Copy link

Copilot AI Mar 20, 2026

Choose a reason for hiding this comment

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

Grammar: replace 'custom' with 'customize' (verb form) for clarity.

Suggested change
- If you need to custom the project name, please change the `artifactId` and the `packageName` in [download-spring-boot-project-template](./create-spring-boot-java-project.prompt.md#download-spring-boot-project-template)
- If you need to customize the project name, please change the `artifactId` and the `packageName` in [download-spring-boot-project-template](./create-spring-boot-java-project.prompt.md#download-spring-boot-project-template)

Copilot uses AI. Check for mistakes.
Comment on lines 76 to 80
const session = await client.createSession({
onPermissionRequest: approveAll,
model: "gpt-5",
streaming: true,
tools: [...],
Copy link

Copilot AI Mar 20, 2026

Choose a reason for hiding this comment

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

These instruction files now encourage approveAll/approve_all in many “basic” examples, which effectively disables permission gating and can lead to unintended tool execution if copied into real applications. Recommend limiting auto-approval to clearly-labeled “unattended/autonomous” sections and keeping default/basic examples on an explicit/interactive permission policy (or at minimum adding a prominent warning near the first example).

Copilot uses AI. Check for mistakes.
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.

3 participants