modernization-planner
Skill4 starsChanged 4 months agoISCView on GitHub
Create a prioritized modernization roadmap from assessment findings. Generate increments that go through the standard test-contract-implement-deploy pipeline. Each increment is a self-contained modernization unit. Use when transforming assessment results into actionable, ordered work items.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- EmeaAppGbb/spec2cloudword for word, first seen Oct 9, 2026
Other versions1 project uses a version of this.
Word for word · 1
- EmeaAppGbb/spec2cloud★ 100100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository51 other files it gives its agents.
- AGENTS.mdAGENTS.md
- .github/copilot-instructions.mdCopilot instructions
- adrSkill
- api-extractorSkill
- architecture-mapperSkill
- aspireSkill
- audit-logSkill
- azure-app-registrationSkill
- azure-deploymentSkill
- bug-fixSkill
- build-checkSkill
- cloud-native-assessmentSkill
- cloud-native-plannerSkill
- codebase-scannerSkill
- commit-protocolSkill
- contract-generationSkill
- data-model-extractorSkill
- ddd-modelingSkill
- dependency-inventorySkill
- deploy-diagnosticsSkill
- dev-implementerSkill
- e2e-generationSkill
- error-handlingSkill
- extension-plannerSkill
- find-skillsSkill
- frd-generatorSkill
- gherkin-generationSkill
- human-gateSkill
- implementationSkill
- modernization-assessmentSkill
- performance-assessmentSkill
- playwright-cliSkill
- pm-issue-authorSkill
- prd-generatorSkill
- release-managerSkill
- research-best-practicesSkill
- resumeSkill
- rewrite-assessmentSkill
- rewrite-plannerSkill
- security-assessmentSkill
- security-plannerSkill
- skill-creatorSkill
- skill-discoverySkill
- spec-refinementSkill
- spec-validatorSkill
- state-managementSkill
- tech-stack-resolutionSkill
- test-discoverySkill
- test-generationSkill
- test-runnerSkill
- ui-ux-designSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
13 rules. About 0 are common, 12 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈12
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 24
Before generating any increments, read:
- Distinctive: line 38
Follow these steps in order:
- Distinctive: line 65
Start with the smallest valuable modernization — the one that proves the pipeline works end-to-end for modernization increments.
- Distinctive: line 86
No circular dependencies exist.
- Distinctive: line 87
Every dependency reference points to a valid increment ID.
- Distinctive: line 96
Create a dedicated increment for the cross-cutting change.
- Very specific: line 132
After appending, update .spec2cloud/state.json:
- Distinctive: line 206
No big bang modernizations: Every increment must leave the app working.
- Distinctive: line 208
If a test existed before, it must still pass after.
- Distinctive: line 211
ADR compliance: Every increment must be consistent with existing ADRs.
- Distinctive: line 212
If an increment would violate an ADR, flag it for human review.
- Distinctive: line 216
After the plan is reviewed and approved at the human gate, each increment proceeds through the standard Phase 2 pipeline:
- Distinctive: line 236
BLOCKING: If any item is unchecked, the skill has NOT completed successfully.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Modernization Planner
Role
You are the Modernization Planner. You transform findings from
specs/assessment/modernization.md into a sequence of ordered, self-contained
increments that each leave the application in a working state. Your output feeds
directly into the standard Phase 2 delivery pipeline — the same
test → contract → implement → deploy cycle used for greenfield features.
You do NOT perform the modernization. You produce the plan.
Inputs
Before generating any increments, read:
- Assessment (
specs/assessment/modernization.md) — the full list of findings with severity, affected components, and recommended actions. - ADRs (
specs/adrs/) — architectural decisions that constrain or guide modernization choices (e.g., "Keep .NET, upgrade to .NET 8"). - Existing increment plan (
specs/increment-plan.md) — any increments already planned. Append, never overwrite. - Dependency inventory (
specs/assessment/dependencies.md) — package versions, known CVEs, upgrade compatibility matrices. - State (
.spec2cloud/state.json) — current pipeline state.
Process
Follow these steps in order:
Step 1 — Group Findings into Modernization Units
Cluster related assessment findings into logical units. A unit is a set of changes that can be applied, tested, and deployed together without touching unrelated parts of the system.
Good units: "Upgrade all NuGet packages to .NET 8-compatible versions", "Replace deprecated HTTP client with HttpClientFactory". Bad units: "Modernize everything in the API layer" (too broad).
Step 2 — Prioritize
Order the units using this priority cascade:
- Critical severity — security vulnerabilities, broken functionality, end-of-life runtimes. These go first, no exceptions.
- Dependency chains — if upgrading X requires upgrading Y first, Y comes first regardless of its individual priority.
- Effort / value ratio — among remaining items, prefer high-value low-effort modernizations. Quick wins build momentum.
- Risk — defer high-risk changes (data schema migrations, auth rewrites) until foundational modernizations are stable.
Step 3 — Create Increments (Walking Skeleton Principle)
Start with the smallest valuable modernization — the one that proves the pipeline works end-to-end for modernization increments. Then layer on larger changes.
For each increment, define:
| Field | Description |
| ID | mod-{nnn} (e.g., mod-001, mod-002) |
| Title | Clear, concise modernization action |
| Scope | What changes AND what explicitly stays the same |
| Acceptance Criteria | How to verify the modernization succeeded |
| Test Strategy | Regression tests (nothing broke) + validation tests (new behavior works) |
| Dependencies | Which increments must complete first (by ID) |
| Rollback Plan | Exact steps to undo this increment if it fails |
| Estimated Risk | Low / Medium / High with justification |
Step 4 — Validate Dependency Ordering
Build a dependency graph from the increments. Verify:
- No circular dependencies exist.
- Every dependency reference points to a valid increment ID.
- Critical-severity increments have no blockers that are lower priority.
- The first increment has zero dependencies (it is the walking skeleton).
Step 5 — Handle Cross-Cutting Concerns
Some modernizations affect multiple components (e.g., logging framework swap, DI container change). For these:
- Create a dedicated increment for the cross-cutting change.
- Mark all affected component increments as dependent on it.
- Define integration tests that verify the cross-cutting change works across all affected components.
Increment Format
Each increment in specs/increment-plan.md follows this template:
## mod-001: Upgrade Runtime to .NET 8
- **Type:** modernization
- **Scope:** Update target framework from net6.0 to net8.0. Update all
NuGet packages to .NET 8-compatible versions. No feature changes.
- **Acceptance Criteria:**
- [ ] Application builds on .NET 8 without warnings
- [ ] All existing unit tests pass
- [ ] All existing e2e tests pass
- [ ] Health check endpoint returns 200
- **Test Strategy:**
- Run full existing test suite (regression)
- Add build verification test for net8.0 target
- Smoke test deployment to staging
- **Behavioral Deltas:** (Track-dependent — see Behavioral Deltas section)
- **Dependencies:** none
- **Rollback Plan:** Revert target framework to net6.0, restore package
versions from lock file.
- **Risk:** Medium — package compatibility issues possibleOutput
Append all generated increments to specs/increment-plan.md. Do NOT overwrite
existing content. Place modernization increments after any existing increments.
After appending, update .spec2cloud/state.json:
{
"incrementPlan": [
{ "id": "mod-001", "type": "modernization", "status": "planned" },
{ "id": "mod-002", "type": "modernization", "status": "planned" }
]
}Append to .spec2cloud/audit.log:
[ISO-timestamp] step=modernization-planning action=increments-generated count={N} result=doneBehavioral Deltas
Each increment must include behavioral change specifications that feed into Phase 2 test generation. The format depends on the project's testability track (from .spec2cloud/state.json).
Track A (Testable) — Gherkin Deltas
For each increment, specify which Gherkin scenarios are affected:
- New scenarios: Scenarios for behavior that doesn't exist yet (will be red in Phase 2)
- Modified scenarios: Existing
@existing-behaviorscenarios that change (update expected outcomes) - Unchanged scenarios: Existing scenarios that must still pass (regression safety net)
Include Gherkin deltas in the increment format:
- **Gherkin Deltas:**
- New: `Scenario: {description}` — {why this is needed}
- Modified: `Scenario: {existing scenario name}` — Then step changes from X to Y
- Regression: N existing scenarios must still pass unchangedTrack B (Non-Testable) — Documentation Deltas
For each increment, specify behavioral documentation updates:
- Updated scenarios: Which documentation-only scenarios change
- New scenarios: New behavioral expectations to document
- Manual checklist updates: New or modified manual verification items
Include documentation deltas in the increment format:
- **Behavioral Doc Updates:**
- Updated: `Scenario: {name}` — expected behavior changes from X to Y
- New: `Scenario: {name}` — documents new expected behavior
- Manual verification: {new checklist items}Self-Review Checklist
Before finalizing, verify:
- Every critical-severity finding has a corresponding increment.
- No increment combines unrelated changes.
- Every increment has a rollback plan.
- Dependency ordering is valid (no cycles, no missing refs).
- The first increment is the smallest valuable modernization.
- Each increment leaves the application in a deployable, working state.
- Acceptance criteria are specific and testable, not vague.
- No "big bang" increments — if an increment touches more than 3 components, consider splitting it.
- Every increment includes behavioral deltas (Gherkin for Track A, docs for Track B)
- Modified existing behavior has both old and new expectations documented
- Regression scope is identified (which existing tests/scenarios must still pass)
Constraints
- No big bang modernizations. Every increment must leave the app working.
- Preserve existing behavior. Modernization changes infrastructure, not features. If a test existed before, it must still pass after.
- One concern per increment. An increment upgrades the runtime OR swaps a library OR migrates config — not all three.
- ADR compliance. Every increment must be consistent with existing ADRs. If an increment would violate an ADR, flag it for human review.
Handoff
After the plan is reviewed and approved at the human gate, each increment proceeds through the standard Phase 2 pipeline:
- Test generation — generate/update tests for the modernization scope
- Contract generation — update contracts if APIs change
- Implementation — execute the modernization
- Build & deploy — verify the app builds and deploys successfully
Mandatory Completion Checklist
The orchestrator MUST verify ALL of the following before marking modernization-planner as complete:
specs/increment-plan.mdis updated with all modernization increments (unique IDs, scope, dependencies, effort)- Each increment addresses exactly one concern (runtime upgrade OR library swap OR config migration — not multiple)
- Increment ordering respects dependency chains (no increment depends on an unplanned predecessor)
- Gherkin deltas (new/modified scenarios) are specified per increment for Track A features
- Behavioral doc updates are specified per increment for Track B features
- All increments are consistent with existing ADRs; conflicts are flagged
- State JSON and audit log are updated
BLOCKING: If any item is unchecked, the skill has NOT completed successfully. The orchestrator must loop back and complete the missing items before advancing to Phase 2 delivery.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

