{"id":"c216efad-0d9c-43fb-b833-a89be9269773","shortId":"25cVjB","kind":"skill","title":"dotnet-upgrade","tagline":"Ready-to-use prompts for comprehensive .NET framework upgrade analysis and execution","description":"# Project Discovery & Assessment\n  - name: \"Project Classification Analysis\"\n    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.\"\n\n  - name: \"Dependency Compatibility Review\"\n    prompt: \"Review external and internal dependencies for framework compatibility. Determine the upgrade complexity based on dependency graph depth.\"\n\n  - name: \"Legacy Package Detection\"\n    prompt: \"Identify legacy `packages.config` projects needing migration to `PackageReference` format.\"\n\n  # Upgrade Strategy & Sequencing\n  - name: \"Project Upgrade Ordering\"\n    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.\"\n\n  - name: \"Incremental Strategy Planning\"\n    prompt: \"Propose an incremental upgrade strategy with rollback checkpoints. Evaluate the use of **Upgrade Assistant** or **manual upgrades** based on project structure.\"\n\n  - name: \"Progress Tracking Setup\"\n    prompt: \"Generate an upgrade checklist for tracking build, test, and deployment readiness across all projects.\"\n\n  # Framework Targeting & Code Adjustments\n  - name: \"Target Framework Selection\"\n    prompt: \"Suggest the correct `TargetFramework` for each project (e.g., `net8.0`). Review and update deprecated SDK or build configurations.\"\n\n  - name: \"Code Modernization Analysis\"\n    prompt: \"Identify code patterns needing modernization (e.g., `WebHostBuilder` → `HostBuilder`). Suggest replacements for deprecated .NET APIs and third-party libraries.\"\n\n  - name: \"Async Pattern Conversion\"\n    prompt: \"Recommend conversion of synchronous calls to async where appropriate for improved performance and scalability.\"\n\n  # NuGet & Dependency Management\n  - name: \"Package Compatibility Analysis\"\n    prompt: \"Analyze outdated or incompatible NuGet packages and suggest compatible versions. Identify third-party libraries that lack .NET 8 support and provide migration paths.\"\n\n  - name: \"Shared Dependency Strategy\"\n    prompt: \"Recommend strategies for handling shared dependency upgrades across projects. Evaluate usage of legacy packages and suggest alternatives in Microsoft-supported namespaces.\"\n\n  - name: \"Transitive Dependency Review\"\n    prompt: \"Review transitive dependencies and potential version conflicts after upgrade. Suggest resolution strategies for dependency conflicts.\"\n\n  # CI/CD & Build Pipeline Updates\n  - name: \"Pipeline Configuration Analysis\"\n    prompt: \"Analyze YAML build definitions for SDK version pinning and recommend updates. Suggest modifications for `UseDotNet@2` and `NuGetToolInstaller` tasks.\"\n\n  - name: \"Build Pipeline Modernization\"\n    prompt: \"Generate updated build pipeline snippets for .NET 8 migration. Recommend validation builds on feature branches before merging to main.\"\n\n  - name: \"CI Automation Enhancement\"\n    prompt: \"Identify opportunities to automate test and build verification in CI pipelines. Suggest strategies for continuous integration validation.\"\n\n  # Testing & Validation\n  - name: \"Build Validation Strategy\"\n    prompt: \"Propose validation checks to ensure the upgraded solution builds and runs successfully. Recommend automated test execution for unit and integration suites post-upgrade.\"\n\n  - name: \"Service Integration Verification\"\n    prompt: \"Generate validation steps to verify logging, telemetry, and service connectivity. Suggest strategies for verifying backward compatibility and runtime behavior.\"\n\n  - name: \"Deployment Readiness Check\"\n    prompt: \"Recommend UAT deployment verification steps before production rollout. Create comprehensive testing scenarios for upgraded components.\"\n\n  # Breaking Change Analysis\n  - name: \"API Deprecation Detection\"\n    prompt: \"Identify deprecated APIs or removed namespaces between target versions. Suggest automated scanning using `.NET Upgrade Assistant` and API Analyzer.\"\n\n  - name: \"API Replacement Strategy\"\n    prompt: \"Recommend replacement APIs or libraries for known breaking areas. Review configuration changes such as `Startup.cs` → `Program.cs` refactoring.\"\n\n  - name: \"Regression Testing Focus\"\n    prompt: \"Suggest regression testing scenarios focused on upgraded API endpoints or services. Create test plans for critical functionality validation.\"\n\n  # Version Control & Commit Strategy\n  - name: \"Branching Strategy Planning\"\n    prompt: \"Recommend branching strategy for safe upgrade with rollback capability. Generate commit templates for partial and complete project upgrades.\"\n\n  - name: \"PR Structure Optimization\"\n    prompt: \"Suggest best practices for creating structured PRs (`Upgrade to .NET [Version]`). Identify tagging strategies for PRs involving breaking changes.\"\n\n  - name: \"Code Review Guidelines\"\n    prompt: \"Recommend peer review focus areas (build, test, and dependency validation). Create checklists for effective upgrade reviews.\"\n\n  # Documentation & Communication\n  - name: \"Upgrade Documentation Strategy\"\n    prompt: \"Suggest how to document each project's framework change in the PR. Propose automated release note generation summarizing upgrades and test results.\"\n\n  - name: \"Stakeholder Communication\"\n    prompt: \"Recommend communicating version upgrades and migration timelines to consumers. Generate documentation templates for dependency updates and validation results.\"\n\n  - name: \"Progress Tracking Systems\"\n    prompt: \"Suggest maintaining an upgrade summary dashboard or markdown checklist. Create templates for tracking upgrade progress across multiple projects.\"\n\n  # Tools & Automation\n  - name: \"Upgrade Tool Selection\"\n    prompt: \"Recommend when and how to use: `.NET Upgrade Assistant`, `dotnet list package --outdated`, `dotnet migrate`, and `graph.json` dependency visualization.\"\n\n  - name: \"Analysis Script Generation\"\n    prompt: \"Generate scripts or prompts for analyzing dependency graphs before upgrading. Propose AI-assisted prompts for Copilot to identify upgrade issues automatically.\"\n\n  - name: \"Multi-Repository Validation\"\n    prompt: \"Suggest how to validate automation output across multiple repositories. Create standardized validation workflows for enterprise-scale upgrades.\"\n\n  # Final Validation & Delivery\n  - name: \"Final Solution Validation\"\n    prompt: \"Generate validation steps to confirm the final upgraded solution passes all validation checks. Suggest production deployment verification steps post-upgrade.\"\n\n  - name: \"Deployment Readiness Confirmation\"\n    prompt: \"Recommend generating final test results and build artifacts. Create a checklist summarizing completion across projects (builds/tests/deployment).\"\n\n  - name: \"Release Documentation\"\n    prompt: \"Generate a release note summarizing framework changes and CI/CD updates. Create comprehensive upgrade summary documentation.\"\n\n---","tags":["dotnet","upgrade","awesome","copilot","github","agent-skills","agents","custom-agents","github-copilot","hacktoberfest","prompt-engineering"],"capabilities":["skill","source-github","skill-dotnet-upgrade","topic-agent-skills","topic-agents","topic-awesome","topic-custom-agents","topic-github-copilot","topic-hacktoberfest","topic-prompt-engineering"],"categories":["awesome-copilot"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/github/awesome-copilot/dotnet-upgrade","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add github/awesome-copilot","source_repo":"https://github.com/github/awesome-copilot","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 33270 github stars · SKILL.md body (6,939 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T18:52:10.333Z","embedding":null,"createdAt":"2026-04-18T20:25:52.899Z","updatedAt":"2026-05-18T18:52:10.333Z","lastSeenAt":"2026-05-18T18:52:10.333Z","tsv":"'2':337 '8':260,353 'across':162,278,677,745,804 'adjust':168 'ai':723 'ai-assist':722 'altern':287 'analysi':14,23,194,240,320,464,707 'analyz':42,242,322,488,716 'api':115,209,466,472,487,490,496,523 'appropri':228 'area':502,594 'artifact':798 'assess':19 'assist':138,485,695,724 'async':216,226 'autom':367,373,407,480,626,681,743 'automat':732 'azur':117 'backward':437 'base':69,142 'behavior':441 'best':567 'branch':360,539,544 'break':462,501,583 'build':157,189,314,324,342,348,357,376,390,402,595,797 'builds/tests/deployment':806 'call':224 'capabl':551 'chang':463,505,584,621,817 'check':396,445,777 'checklist':154,601,670,801 'checkpoint':132 'ci':366,379 'ci/cd':313,819 'class':111 'classif':22 'classifi':32 'code':167,192,197,586 'commit':536,553 'communic':607,637,640 'compat':54,64,239,250,438 'complet':558,803 'complex':68 'compon':106,461 'comprehens':10,456,822 'configur':190,319,504 'confirm':769,789 'conflict':304,312 'connect':432 'consum':647 'continu':384 'control':535 'convers':218,221 'copilot':727 'core':39 'correct':176 'creat':455,527,570,600,671,748,799,821 'critic':531 'csproj':44 'current':47 'dashboard':667 'definit':325 'deliveri':759 'depend':53,61,71,105,235,268,276,295,300,311,598,652,704,717 'deploy':160,443,449,780,787 'deprec':186,207,467,471 'depth':73 'detect':77,468 'determin':65 'discoveri':18 'document':606,610,616,649,809,825 'dotnet':2,696,700 'dotnet-upgrad':1 'e.g':181,201 'effect':603 'endpoint':524 'enhanc':368 'ensur':398 'enterpris':754 'enterprise-scal':753 'evalu':133,280 'execut':16,409 'extern':58 'featur':359 'final':757,761,771,793 'focus':514,520,593 'format':87 'framework':12,37,63,165,171,620,816 'function':118,532 'generat':151,346,423,552,629,648,709,711,765,792,811 'graph':72,718 'graph.json':703 'guidelin':588 'handl':274 'hostbuild':203 'identifi':25,79,196,252,370,470,577,729 'improv':230 'incompat':245 'increment':121,127 'integr':385,413,420 'intern':60 'involv':582 'isol':110 'issu':731 'known':500 'lack':258 'least':102 'legaci':75,80,283 'librari':112,214,256,498 'list':697 'log':428 'main':364 'maintain':663 'manag':236 'manual':140 'markdown':669 'merg':362 'microsoft':290 'microsoft-support':289 'migrat':84,119,264,354,644,701 'modern':193,200,344 'modif':334 'multi':735 'multi-repositori':734 'multipl':678,746 'name':20,52,74,91,120,146,169,191,215,237,266,293,317,341,365,389,418,442,465,489,511,538,561,585,608,635,657,682,706,733,760,786,807 'namespac':292,475 'need':83,199 'net':11,36,38,40,208,259,352,483,575,693 'net8.0':182 'note':628,814 'nuget':234,246 'nugettoolinstal':339 'opportun':371 'optim':564 'order':94,100 'outdat':243,699 'output':744 'packag':76,238,247,284,698 'packagerefer':86 'packages.config':81 'parti':213,255 'partial':556 'pass':774 'path':265 'pattern':198,217 'peer':591 'perform':231 'pin':329 'pipelin':315,318,343,349,380 'plan':123,529,541 'post':416,784 'post-upgrad':415,783 'potenti':302 'pr':562,624 'practic':568 'product':453,779 'program.cs':509 'progress':147,658,676 'project':17,21,27,82,92,98,144,164,180,279,559,618,679,805 'prompt':8,24,56,78,95,124,150,173,195,219,241,270,297,321,345,369,393,422,446,469,493,515,542,565,589,612,638,661,686,710,714,725,738,764,790,810 'propos':125,394,625,721 'provid':263 'prs':572,581 'readi':5,161,444,788 'ready-to-us':4 'recommend':96,220,271,331,355,406,447,494,543,590,639,687,791 'refactor':510 'regress':512,517 'releas':627,808,813 'remov':474 'replac':205,491,495 'repositori':736,747 'resolut':308 'result':634,656,795 'review':55,57,183,296,298,503,587,592,605 'rollback':131,550 'rollout':454 'run':404 'runtim':440 'safe':547 'scalabl':233 'scale':755 'scan':481 'scenario':458,519 'script':708,712 'sdk':50,187,327 'select':172,685 'sequenc':90 'servic':419,431,526 'setup':149 'share':267,275 'skill' 'skill-dotnet-upgrade' 'snippet':350 'solut':30,401,762,773 'source-github' 'stakehold':636 'standard':41,749 'startup.cs':508 'step':425,451,767,782 'strategi':89,122,129,269,272,309,382,392,434,492,537,540,545,579,611 'structur':145,563,571 'success':405 'suggest':107,174,204,249,286,307,333,381,433,479,516,566,613,662,739,778 'suit':414 'summar':630,802,815 'summari':666,824 'support':261,291 'synchron':223 'system':660 'tag':578 'target':166,170,477 'targetframework':48,177 'task':340 'telemetri':429 'templat':554,650,672 'test':158,374,387,408,457,513,518,528,596,633,794 'third':212,254 'third-parti':211,253 'timelin':645 'tool':680,684 'topic-agent-skills' 'topic-agents' 'topic-awesome' 'topic-custom-agents' 'topic-github-copilot' 'topic-hacktoberfest' 'topic-prompt-engineering' 'track':148,156,659,674 'transit':294,299 'type':35 'uat':448 'unit':411 'updat':185,316,332,347,653,820 'upgrad':3,13,67,88,93,99,113,128,137,141,153,277,306,400,417,460,484,522,548,560,573,604,609,631,642,665,675,683,694,720,730,756,772,785,823 'usag':51,281 'use':7,135,482,692 'usedotnet':336 'valid':356,386,388,391,395,424,533,599,655,737,742,750,758,763,766,776 'verif':377,421,450,781 'verifi':427,436 'version':251,303,328,478,534,576,641 'visual':705 'webhostbuild':202 'workflow':751 'yaml':323","prices":[{"id":"ff338152-08e9-482c-88ac-940aa4005d57","listingId":"c216efad-0d9c-43fb-b833-a89be9269773","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"github","category":"awesome-copilot","install_from":"skills.sh"},"createdAt":"2026-04-18T20:25:52.899Z"}],"sources":[{"listingId":"c216efad-0d9c-43fb-b833-a89be9269773","source":"github","sourceId":"github/awesome-copilot/dotnet-upgrade","sourceUrl":"https://github.com/github/awesome-copilot/tree/main/skills/dotnet-upgrade","isPrimary":false,"firstSeenAt":"2026-04-18T21:49:12.898Z","lastSeenAt":"2026-05-18T18:52:10.333Z"},{"listingId":"c216efad-0d9c-43fb-b833-a89be9269773","source":"skills_sh","sourceId":"github/awesome-copilot/dotnet-upgrade","sourceUrl":"https://skills.sh/github/awesome-copilot/dotnet-upgrade","isPrimary":true,"firstSeenAt":"2026-04-18T20:25:52.899Z","lastSeenAt":"2026-05-07T22:40:18.065Z"}],"details":{"listingId":"c216efad-0d9c-43fb-b833-a89be9269773","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"github","slug":"dotnet-upgrade","github":{"repo":"github/awesome-copilot","stars":33270,"topics":["agent-skills","agents","ai","awesome","custom-agents","github-copilot","hacktoberfest","prompt-engineering"],"license":"mit","html_url":"https://github.com/github/awesome-copilot","pushed_at":"2026-05-18T01:26:59Z","description":"Community-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot.","skill_md_sha":"93ca7605bc711783b7c96d05e33a53977d84b6db","skill_md_path":"skills/dotnet-upgrade/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/github/awesome-copilot/tree/main/skills/dotnet-upgrade"},"layout":"multi","source":"github","category":"awesome-copilot","frontmatter":{"name":"dotnet-upgrade","description":"Ready-to-use prompts for comprehensive .NET framework upgrade analysis and execution"},"skills_sh_url":"https://skills.sh/github/awesome-copilot/dotnet-upgrade"},"updatedAt":"2026-05-18T18:52:10.333Z"}}