Back to Skills

creating-oracle-to-postgres-master-migration-plan

Discovers all projects in a .NET solution, classifies each for Oracle-to-PostgreSQL migration eligibility, and produces a persistent master migration plan. Use when starting a multi-project Oracle-to-PostgreSQL migration, creating a migration inventory, or assessing which .NET projects contain Oracle dependencies.

36,699stars4,595forksUpdated 7/17/2026

Security Assessment

Safe(100/100)
Security Score100/100

About creating-oracle-to-postgres-master-migration-plan

creating-oracle-to-postgres-master-migration-plan analyzes a .NET solution and produces a persistent master migration plan for moving from Oracle to PostgreSQL. It discovers every project in the solution, classifies each project for migration eligibility, and writes a structured plan file that downstream agents and skills can parse. It is intended for the start of a multi-project Oracle-to-PostgreSQL migration, for building a migration inventory, or for assessing which .NET projects contain Oracle dependencies.

The workflow runs in four steps. Step 1 discovers projects by finding the solution file (a .sln or .slnx extension, asking the user if multiple exist) and parsing it to extract all .csproj references, noting each project's name, path, and type. Step 2 classifies every non-test project by scanning for Oracle indicators: NuGet references such as Oracle.ManagedDataAccess and Oracle.EntityFrameworkCore (in .csproj and packages.config), Oracle connection strings in appsettings.json, web.config, or app.config, code usage of OracleConnection, OracleCommand, and OracleDataReader, and DDL cross-references under .github/oracle-to-postgres-migration/DDL/Oracle/. Each project receives one of four classifications: MIGRATE, SKIP, ALREADY_MIGRATED, or TEST_PROJECT. Step 3 presents the classified list to the user for adjustments to classifications or migration ordering. Step 4 writes the plan to .github/oracle-to-postgres-migration/Reports/Master Migration Plan.md using an exact template with a solution summary table, a project inventory table, and a migration order section, ordering foundational and shared libraries before their dependents.

The skill targets engineers and teams running .NET-based Oracle-to-PostgreSQL migrations who need a reliable inventory and sequencing plan before conversion work begins. Its output is deliberately structured because downstream consumers depend on the template layout, so following the exact format is a requirement. It is documented in a single SKILL.md and focuses on discovery, classification, and planning rather than performing the actual schema or code conversion.

FAQ

What Oracle indicators does it look for?

NuGet references like Oracle.ManagedDataAccess and Oracle.EntityFrameworkCore (in .csproj and packages.config), Oracle connection strings in appsettings.json, web.config, or app.config, code usage of OracleConnection, OracleCommand, and OracleDataReader, and DDL cross-references under .github/oracle-to-postgres-migration/DDL/Oracle/.

What classifications can a project receive?

One of four: MIGRATE (has Oracle interactions requiring conversion), SKIP (no Oracle indicators), ALREADY_MIGRATED (a -postgres or .Postgres duplicate exists and appears processed), or TEST_PROJECT (handled by the testing workflow).

Where is the plan saved and in what format?

It is saved to .github/oracle-to-postgres-migration/Reports/Master Migration Plan.md using an exact template with a Solution Summary table, a Project Inventory table, and a Migration Order section. The structure must be followed because downstream consumers depend on it.

Does this skill perform the actual migration?

No. It discovers projects, classifies migration eligibility, and writes the master plan. Migration ordering places shared and foundational libraries before their dependents, but the conversion work itself is handled separately.

What happens if the solution has multiple solution files?

The skill looks for the solution file (.sln or .slnx) in the workspace root and asks the user which one to use if multiple exist.

Install creating-oracle-to-postgres-master-migration-plan

Download and extract the skill files to your .claude/skills/ directory.

Quick Setup:

  1. Copy the skill folder to .claude/skills/
  2. Claude will automatically detect and use the skill