Version Upgrade Review
Use this skill when a Godot + .NET/C# project needs a risk-aware upgrade plan before changing versions.
This skill is for planning and reviewing upgrades, not for blindly editing every versioned file and hoping the build gods are in a good mood.
Prefer this skill when one strong staged upgrade artifact is enough. Escalate only when explicit migration-quality structure, rollback triggers, and checkpoint-heavy validation are core parts of the ask.
Its job is to:
- identify the upgrade type and blast radius
- classify the highest-risk areas before changes begin
- recommend a staged upgrade order rather than an all-at-once jump
- account for Godot, .NET SDK, C# compatibility, addons/plugins, and export pipeline implications
- define smoke, regression, and rollback thinking before execution starts
Purpose
This skill is used to:
- review the current and target version state
- assess whether the upgrade is patch, minor, major, SDK, or export-chain affecting
- identify compatibility risks across engine, project files, packages, addons, and toolchain
- propose a practical upgrade sequence with validation gates
- produce an upgrade plan that includes verification checkpoints and rollback considerations
Use this skill when
Invoke this skill for requests such as:
- planning a Godot engine upgrade
- moving to a new .NET SDK or target framework
- checking whether a C# language/runtime change is safe enough
- reviewing addon or plugin compatibility before migration
- validating whether export templates or export pipeline tooling may break
- deciding how to sequence upgrades across engine, SDK, packages, and export settings
Trigger examples
- "Help me plan the upgrade order for Godot 4.x"
- "Before upgrading the .NET SDK, I want to understand the risks and validation points"
- "Will this upgrade break addons or exports?"
- "I want to upgrade this Godot + C# project without doing everything at once"
- "Should I upgrade the engine or the SDK first?"
Do not use this skill when
Do not use this skill when:
- the task is a known, tiny version pin change with no meaningful compatibility risk
- the user wants direct implementation only and the upgrade path is already approved
- the request is mainly about debugging a failure that already happened after the upgrade
- the task is general bug fixing with no version, toolchain, or migration scope
- the output would just repeat release notes without sequencing, validation, or rollback thinking
Pattern
- Primary pattern: Generator
- Secondary pattern: Tool Wrapper, Reviewer
Why this fit is better than the alternatives:
- the core job is to produce a repeatable structured upgrade plan
- the skill must also package reusable upgrade heuristics for Godot, .NET, C#, addons/plugins, and export chains
- the skill includes a review step that highlights high-risk areas before changes are recommended
- a full Pipeline is unnecessary because the required staged order can live directly in the workflow without extra ceremony
Upgrade domains that must be covered
Every result must explicitly assess the following areas, even if some are low risk:
- Godot engine version
- .NET SDK and project target changes
- C# compatibility implications
- addon / plugin compatibility
- export pipeline implications
- verification strategy
- rollback / branch strategy
If an area appears unaffected, say so briefly instead of silently skipping it.
Inputs
Collect or infer these inputs when available:
- current Godot version and target Godot version
- current .NET SDK, target SDK, current target framework, and proposed target framework
- notable C# language or API compatibility constraints
- addon, plugin, NuGet package, and tool dependencies that may be version-sensitive
- current export targets, export templates, CI/export scripts, and distribution pipeline assumptions
- recent pain points, known fragile scenes, build steps, or platform-specific constraints
- desired risk appetite: conservative staged path vs faster migration path
- whether the user wants a planning artifact only or also wants follow-up implementation later
If the current or target state is materially missing, ask for the smallest missing version facts before finalizing the sequence.
Workflow
Follow this sequence every time.
1. Confirm current state and target state
State the important version facts first.
At minimum, confirm:
- current engine/toolchain state
- target engine/toolchain state
- whether the move is patch, minor, major, SDK, target-framework, or export-chain affecting
Do not start recommending order before the source and destination are clear.
2. Classify the upgrade scope
Classify the change using one or more of these buckets:
- patch — bug-fix level version movement that still deserves verification
- minor — feature/behavior change with moderate compatibility risk
- major — migration-level change with meaningful API, tooling, or behavior risk
- SDK / target — .NET SDK, target framework, language version, or build toolchain movement
- export chain — export templates, platform exporters, CI packaging, signing, or deployment changes
Explain why the classification matters.
Do not assume a minor upgrade is painless. Minor releases are perfectly capable of creative mischief.
3. Map the risk areas
Review each required domain and identify the highest-risk seams.
Look for risks such as:
- Godot project format or editor behavior changes
- API shifts affecting C# code or generated bindings
- target framework support drift in SDK, NuGet packages, or IDE tooling
- nullable, language version, analyzer, or source-generator behavior changes
- addon/plugin version ranges, undocumented breakage, or maintenance gaps
- export preset, template, platform SDK, signing, and packaging drift
- CI or local environment mismatches between old and new toolchains
Separate high-risk blockers from likely follow-up cleanup. Do not frame every warning as a release blocker.
4. Propose a staged upgrade sequence
Recommend the safest practical order.
The sequence should usually favor:
- branch and rollback preparation
- baseline verification on the current version
- the smallest foundational toolchain upgrade that unlocks later work
- one major compatibility surface at a time
- smoke verification after each step
- regression checks on the most fragile paths before moving to the next step
If a combined step is acceptable, explain why it is safe enough.
The output must show stepwise upgrade thinking. Avoid all-at-once migrations unless the evidence strongly supports it.
5. Define smoke and regression checkpoints
For each meaningful step, recommend the smallest useful validation.
Cover at least:
- project open / import / editor startup
- restore / build / run
- one or more critical scenes or flows
- addon/plugin dependent paths
- export pipeline baseline for at least one important target
- any path known to be historically fragile
Prefer high-signal checks over giant wish lists.
6. Define rollback and branch strategy
Every plan must include rollback thinking.
At minimum, address:
- recommended branch or checkpoint structure
- when to tag or snapshot the pre-upgrade state
- what signals should trigger rollback vs continue with fixes
- whether rollback should be full, partial, or step-local
- how to preserve comparison evidence between old and new behavior
Do not plan upgrades as if failure is impossible.
7. Return the upgrade plan
Return the result using assets/upgrade-plan.md.
The plan should:
- summarize the current and target state
- classify the upgrade scope clearly
- identify the main risks
- recommend an ordered sequence
- include validation checkpoints
- include rollback considerations
Output contract
Return the result using assets/upgrade-plan.md in this section order:
Current state
Target state
Upgrade scope
Risk areas
Recommended sequence
Validation checklist
Rollback considerations
Output rules:
- prefer ordered steps over broad advice
- explicitly distinguish high-risk areas from lower-risk follow-up work
- do not recommend upgrading everything at once by default
- do not treat migration work as ordinary bug fixing
- do not stop at version numbers; always include validation and rollback thinking
- mention third-party dependencies explicitly when they materially affect risk
- keep the output staged and section-aligned so each upgrade step has an obvious validation and rollback context
Upgrade heuristics
- Prefer one major compatibility surface at a time when risk is moderate or high.
- Confirm the current baseline before the first upgrade step so later failures have meaning.
- If engine and SDK changes are both significant, avoid moving both at once unless one is a hard prerequisite.
- Treat export and deployment as a separate compatibility surface, not as an afterthought.
- A green local build is not enough if editor import, addons, or export templates can still fail.
- If a dependency has unclear compatibility status, downgrade confidence and isolate that change.
- Resolve blockers first, warnings second, nice-to-have cleanup last.
Companion files
assets/upgrade-plan.md — reusable template for the final upgrade plan
references/migration-notes.md — risk categories, pre-upgrade inventory prompts, addon/plugin and export-chain notes, and smoke test ideas
Validation
A good result should satisfy all of the following:
- current and target states are explicit enough to reason about
- the upgrade type is classified correctly
- all seven upgrade domains are considered explicitly
- high-risk areas are identified and explained
- the sequence is staged rather than all-at-once by default
- validation checkpoints are tied to meaningful risk
- rollback thinking is concrete rather than ceremonial
- third-party dependencies are not ignored
Common pitfalls
- assuming a minor upgrade is automatically safe
- collapsing Godot, SDK, addon, and export changes into one giant step
- treating migration work like an ordinary bug-fix patch
- planning only the version changes and forgetting verification
- ignoring third-party dependency compatibility or maintenance status
- trying to clear every warning before confirming the main upgrade path works
- having no branch, tag, or rollback checkpoint
Completion rule
This skill is complete when the agent has:
- confirmed the current and target states
- classified the upgrade scope accurately
- identified the highest-risk compatibility areas
- proposed a staged upgrade order
- defined smoke and regression checks for the important steps
- included rollback and branch strategy thinking
- returned a structured upgrade plan rather than loose upgrade advice
1---2name: version-upgrade-review3description: Use when a Godot/.NET task needs a Layer 4 overlay upgrade review that evaluates engine, SDK, C# compatibility, addons/plugins, export pipeline, verification, and rollback risk, then returns a staged sequence instead of a risky all-at-once migration.4---56# Version Upgrade Review78Use this skill when a Godot + .NET/C# project needs a **risk-aware upgrade plan** before changing versions.910This skill is for planning and reviewing upgrades, not for blindly editing every versioned file and hoping the build gods are in a good mood.1112Prefer this skill when one strong staged upgrade artifact is enough. Escalate only when explicit migration-quality structure, rollback triggers, and checkpoint-heavy validation are core parts of the ask.1314Its job is to:1516- identify the upgrade type and blast radius17- classify the highest-risk areas before changes begin18- recommend a staged upgrade order rather than an all-at-once jump19- account for Godot, .NET SDK, C# compatibility, addons/plugins, and export pipeline implications20- define smoke, regression, and rollback thinking before execution starts2122## Purpose2324This skill is used to:2526- review the current and target version state27- assess whether the upgrade is patch, minor, major, SDK, or export-chain affecting28- identify compatibility risks across engine, project files, packages, addons, and toolchain29- propose a practical upgrade sequence with validation gates30- produce an upgrade plan that includes verification checkpoints and rollback considerations3132## Use this skill when3334Invoke this skill for requests such as:3536- planning a Godot engine upgrade37- moving to a new .NET SDK or target framework38- checking whether a C# language/runtime change is safe enough39- reviewing addon or plugin compatibility before migration40- validating whether export templates or export pipeline tooling may break41- deciding how to sequence upgrades across engine, SDK, packages, and export settings4243### Trigger examples4445- "Help me plan the upgrade order for Godot 4.x"46- "Before upgrading the .NET SDK, I want to understand the risks and validation points"47- "Will this upgrade break addons or exports?"48- "I want to upgrade this Godot + C# project without doing everything at once"49- "Should I upgrade the engine or the SDK first?"5051## Do not use this skill when5253Do not use this skill when:5455- the task is a known, tiny version pin change with no meaningful compatibility risk56- the user wants direct implementation only and the upgrade path is already approved57- the request is mainly about debugging a failure that already happened after the upgrade58- the task is general bug fixing with no version, toolchain, or migration scope59- the output would just repeat release notes without sequencing, validation, or rollback thinking6061## Pattern6263- Primary pattern: **Generator**64- Secondary pattern: **Tool Wrapper**, **Reviewer**6566Why this fit is better than the alternatives:6768- the core job is to produce a repeatable structured upgrade plan69- the skill must also package reusable upgrade heuristics for Godot, .NET, C#, addons/plugins, and export chains70- the skill includes a review step that highlights high-risk areas before changes are recommended71- a full Pipeline is unnecessary because the required staged order can live directly in the workflow without extra ceremony7273## Upgrade domains that must be covered7475Every result must explicitly assess the following areas, even if some are low risk:76771. **Godot engine version**782. **.NET SDK and project target changes**793. **C# compatibility implications**804. **addon / plugin compatibility**815. **export pipeline implications**826. **verification strategy**837. **rollback / branch strategy**8485If an area appears unaffected, say so briefly instead of silently skipping it.8687## Inputs8889Collect or infer these inputs when available:9091- current Godot version and target Godot version92- current .NET SDK, target SDK, current target framework, and proposed target framework93- notable C# language or API compatibility constraints94- addon, plugin, NuGet package, and tool dependencies that may be version-sensitive95- current export targets, export templates, CI/export scripts, and distribution pipeline assumptions96- recent pain points, known fragile scenes, build steps, or platform-specific constraints97- desired risk appetite: conservative staged path vs faster migration path98- whether the user wants a planning artifact only or also wants follow-up implementation later99100If the current or target state is materially missing, ask for the smallest missing version facts before finalizing the sequence.101102## Workflow103104Follow this sequence every time.105106### 1. Confirm current state and target state107108State the important version facts first.109110At minimum, confirm:111112- current engine/toolchain state113- target engine/toolchain state114- whether the move is patch, minor, major, SDK, target-framework, or export-chain affecting115116Do not start recommending order before the source and destination are clear.117118### 2. Classify the upgrade scope119120Classify the change using one or more of these buckets:121122- **patch** — bug-fix level version movement that still deserves verification123- **minor** — feature/behavior change with moderate compatibility risk124- **major** — migration-level change with meaningful API, tooling, or behavior risk125- **SDK / target** — .NET SDK, target framework, language version, or build toolchain movement126- **export chain** — export templates, platform exporters, CI packaging, signing, or deployment changes127128Explain why the classification matters.129130Do **not** assume a minor upgrade is painless. Minor releases are perfectly capable of creative mischief.131132### 3. Map the risk areas133134Review each required domain and identify the highest-risk seams.135136Look for risks such as:137138- Godot project format or editor behavior changes139- API shifts affecting C# code or generated bindings140- target framework support drift in SDK, NuGet packages, or IDE tooling141- nullable, language version, analyzer, or source-generator behavior changes142- addon/plugin version ranges, undocumented breakage, or maintenance gaps143- export preset, template, platform SDK, signing, and packaging drift144- CI or local environment mismatches between old and new toolchains145146Separate **high-risk blockers** from **likely follow-up cleanup**. Do not frame every warning as a release blocker.147148### 4. Propose a staged upgrade sequence149150Recommend the safest practical order.151152The sequence should usually favor:1531541. branch and rollback preparation1552. baseline verification on the current version1563. the smallest foundational toolchain upgrade that unlocks later work1574. one major compatibility surface at a time1585. smoke verification after each step1596. regression checks on the most fragile paths before moving to the next step160161If a combined step is acceptable, explain why it is safe enough.162163The output must show **stepwise upgrade thinking**. Avoid all-at-once migrations unless the evidence strongly supports it.164165### 5. Define smoke and regression checkpoints166167For each meaningful step, recommend the smallest useful validation.168169Cover at least:170171- project open / import / editor startup172- restore / build / run173- one or more critical scenes or flows174- addon/plugin dependent paths175- export pipeline baseline for at least one important target176- any path known to be historically fragile177178Prefer high-signal checks over giant wish lists.179180### 6. Define rollback and branch strategy181182Every plan must include rollback thinking.183184At minimum, address:185186- recommended branch or checkpoint structure187- when to tag or snapshot the pre-upgrade state188- what signals should trigger rollback vs continue with fixes189- whether rollback should be full, partial, or step-local190- how to preserve comparison evidence between old and new behavior191192Do not plan upgrades as if failure is impossible.193194### 7. Return the upgrade plan195196Return the result using `assets/upgrade-plan.md`.197198The plan should:199200- summarize the current and target state201- classify the upgrade scope clearly202- identify the main risks203- recommend an ordered sequence204- include validation checkpoints205- include rollback considerations206207## Output contract208209Return the result using `assets/upgrade-plan.md` in this section order:210211- `Current state`212- `Target state`213- `Upgrade scope`214- `Risk areas`215- `Recommended sequence`216- `Validation checklist`217- `Rollback considerations`218219Output rules:220221- prefer ordered steps over broad advice222- explicitly distinguish high-risk areas from lower-risk follow-up work223- do not recommend upgrading everything at once by default224- do not treat migration work as ordinary bug fixing225- do not stop at version numbers; always include validation and rollback thinking226- mention third-party dependencies explicitly when they materially affect risk227- keep the output staged and section-aligned so each upgrade step has an obvious validation and rollback context228229## Upgrade heuristics230231- Prefer **one major compatibility surface at a time** when risk is moderate or high.232- Confirm the **current baseline** before the first upgrade step so later failures have meaning.233- If engine and SDK changes are both significant, avoid moving both at once unless one is a hard prerequisite.234- Treat export and deployment as a separate compatibility surface, not as an afterthought.235- A green local build is not enough if editor import, addons, or export templates can still fail.236- If a dependency has unclear compatibility status, downgrade confidence and isolate that change.237- Resolve blockers first, warnings second, nice-to-have cleanup last.238239## Companion files240241- `assets/upgrade-plan.md` — reusable template for the final upgrade plan242- `references/migration-notes.md` — risk categories, pre-upgrade inventory prompts, addon/plugin and export-chain notes, and smoke test ideas243244## Validation245246A good result should satisfy all of the following:247248- current and target states are explicit enough to reason about249- the upgrade type is classified correctly250- all seven upgrade domains are considered explicitly251- high-risk areas are identified and explained252- the sequence is staged rather than all-at-once by default253- validation checkpoints are tied to meaningful risk254- rollback thinking is concrete rather than ceremonial255- third-party dependencies are not ignored256257## Common pitfalls258259- assuming a minor upgrade is automatically safe260- collapsing Godot, SDK, addon, and export changes into one giant step261- treating migration work like an ordinary bug-fix patch262- planning only the version changes and forgetting verification263- ignoring third-party dependency compatibility or maintenance status264- trying to clear every warning before confirming the main upgrade path works265- having no branch, tag, or rollback checkpoint266267## Completion rule268269This skill is complete when the agent has:270271- confirmed the current and target states272- classified the upgrade scope accurately273- identified the highest-risk compatibility areas274- proposed a staged upgrade order275- defined smoke and regression checks for the important steps276- included rollback and branch strategy thinking277- returned a structured upgrade plan rather than loose upgrade advice