plugins/github-copilot-modernization/skills/create-modernization-plan/SKILL.md
Create a modernization plan to migrate the project to Azure
npx skillsauth add microsoft/github-copilot-modernization create-modernization-planInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill is used to create a modernization plan to migrate the a given project to Azure
modernization-prompt: The user input to generate the modernization plan modernization-work-folder (Mandatory): The folder to save the modernization plan github-issue-link (Optional): A github issue to track the modernization status, to be filled into plan template assessment-report (Optional): A assessment report for the project will be modernized, it will provide the data about the project for modernization plan-name (Optional): The plan name to be filled into plan template language (Mandatory): The programming language of the project (java or dotnet)
Read the supported patterns file based on the language:
supported-patterns-dotnet.mdsupported-patterns-java.md. Default option.These files contain the list of supported task patterns with and without skill definitions. If a skill is available, the skill location should be set to builtin.
Given the user input, do this:
Double Check the issues IMPORTANT:
Load context: Retrieve information for plan, you can read
Generate plan and tasks: Generate plan.md and tasks.json using the appropriate templates:
Template Selection:
Plan Generation:
IMPORTANT: The plan.md should NOT contain the detailed task breakdown. Those details go into tasks.json for better tracking and programmatic access.
Task Breakdown Rules: When creating tasks for tasks.json and plan.md:
skill tool description..github/skills/ versus other skills, MUST use the one defined in project.Java Upgrade Task Guidelines: Only add upgrade task if the JDK version is under 17 or user explicitly requested. Upgrade task must be the first task if exists. When creating upgrade tasks for Java projects (current latest versions: Java 17+, Spring Boot 3.x+, Spring Framework 6.x+), create the highest-level upgrade task that encompasses all necessary changes:
Spring Boot 3.x upgrade (when Java 21+ not explicitly requested):
Spring Framework 6.x upgrade (when Java 21+ not explicitly requested and Spring Boot not being upgraded):
Java 21+ upgrade (when explicitly requested):
Clarification: If there are any open issues in the plan
development
Evaluates whether a user's modernization/rewrite request provides enough scenario context to proceed (e.g., target component library, screenshots, design system for frontend; API contract policy, data migration strategy for backend). Produces a deterministic clarity score, asks the user for missing required fields via a structured form, and writes a canonical `clarification.md` artifact consumed by all downstream agents. Triggers: "clarification gate", "scenario clarification", "elicit missing context", "evaluate prompt completeness", "ask user for screenshots / target library / design system". NOT for: feature specification (use feature-inventory), planning (use creating-implementation-plan), implementation (use implementing-code), or resolving spec-time `[NEEDS CLARIFICATION]` markers (those remain owned by feature-inventory).
tools
Lifecycle hooks for the modernize-rearchitecture coordinator. Defines hook points, registered actions, and execution rules.
development
Provides role charters (mission, ownership, core principles, quality bar) for a multi-agent coding team. Each charter defines the role's mission, ownership scope, core principle (boundary constraints), and quality bar. Most roles also include communication rules. Consumed by the coordinator during task decomposition to assign work to the correct role. Triggers: "look up role charter", "what does the architect own", "check role boundaries", "find team roles", "which role handles X", "list agent charters", "role responsibilities". NOT for: task decomposition (use breaking-down-tasks), implementation (use implementing-code), architecture analysis (use analyzing-architecture).
tools
Zero-dependency shell recon for any code repository — detect languages, count LOC, and report project scale. Pure POSIX find/wc or PowerShell, no Python or third-party tools required. Triggers: "how big is this project", "what languages", "project sizing", "repo recon", "LOC count", "scope check".