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.

28,804 stars

Best use case

creating-oracle-to-postgres-master-migration-plan is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

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.

Teams using creating-oracle-to-postgres-master-migration-plan should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/creating-oracle-to-postgres-master-migration-plan/SKILL.md --create-dirs "https://raw.githubusercontent.com/github/awesome-copilot/main/plugins/oracle-to-postgres-migration-expert/skills/creating-oracle-to-postgres-master-migration-plan/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/creating-oracle-to-postgres-master-migration-plan/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

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

Feature / Agentcreating-oracle-to-postgres-master-migration-planStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

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.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# Creating an Oracle-to-PostgreSQL Master Migration Plan

Analyze a .NET solution, classify every project for Oracle→PostgreSQL migration eligibility, and write a structured plan that downstream agents and skills can parse.

## Workflow

```
Progress:
- [ ] Step 1: Discover projects in the solution
- [ ] Step 2: Classify each project
- [ ] Step 3: Confirm with user
- [ ] Step 4: Write the plan file
```

**Step 1: Discover projects**

Find the Solution File (it has a `.sln` or `.slnx` extension) in the workspace root (ask the user if multiple exist). Parse it to extract all `.csproj` project references. For each project, note the name, path, and type (class library, web API, console, test, etc.).

**Step 2: Classify each project**

Scan every non-test project for Oracle indicators:

- NuGet references: `Oracle.ManagedDataAccess`, `Oracle.EntityFrameworkCore` (check `.csproj` and `packages.config`)
- Config entries: Oracle connection strings in `appsettings.json`, `web.config`, `app.config`
- Code usage: `OracleConnection`, `OracleCommand`, `OracleDataReader`
- DDL cross-references under `.github/oracle-to-postgres-migration/DDL/Oracle/` (if present)

Assign one classification per project:

| Classification | Meaning |
|---|---|
| **MIGRATE** | Has Oracle interactions requiring conversion |
| **SKIP** | No Oracle indicators (UI-only, shared utility, etc.) |
| **ALREADY_MIGRATED** | A `-postgres` or `.Postgres` duplicate exists and appears processed |
| **TEST_PROJECT** | Test project; handled by the testing workflow |

**Step 3: Confirm with user**

Present the classified list. Let the user adjust classifications or migration ordering before finalizing.

**Step 4: Write the plan file**

Save to: `.github/oracle-to-postgres-migration/Reports/Master Migration Plan.md`

Use this exact template — downstream consumers depend on the structure:

````markdown
# Master Migration Plan

**Solution:** {solution file name}
**Solution Root:** {REPOSITORY_ROOT}
**Created:** {timestamp}
**Last Updated:** {timestamp}

## Solution Summary

| Metric | Count |
|--------|-------|
| Total projects in solution | {n} |
| Projects requiring migration | {n} |
| Projects already migrated | {n} |
| Projects skipped (no Oracle usage) | {n} |
| Test projects (handled separately) | {n} |

## Project Inventory

| # | Project Name | Path | Classification | Notes |
|---|---|---|---|---|
| 1 | {name} | {relative path} | MIGRATE | {notes} |
| 2 | {name} | {relative path} | SKIP | No Oracle dependencies |

## Migration Order

1. **{ProjectName}** — {rationale, e.g., "Core data access library; other projects depend on it."}
2. **{ProjectName}** — {rationale}
````

Order projects so that shared/foundational libraries are migrated before their dependents.

Related Skills

issue-fields-migration

28865
from github/awesome-copilot

Bulk-migrate metadata to GitHub issue fields from two sources: repo labels (e.g. priority labels to a Priority field) and Project V2 fields. Use when users say "migrate my labels to issue fields", "migrate project fields to issue fields", "convert labels to issue fields", "copy project field values to issue fields", or ask about adopting issue fields. Issue fields are org-level typed metadata (single select, text, number, date) that replace label-based workarounds with structured, searchable, cross-repo fields.

gtm-enterprise-account-planning

28865
from github/awesome-copilot

Strategic account planning and execution for enterprise deals. Use when planning complex sales cycles, managing multiple stakeholders, applying MEDDICC qualification, tracking deal health, or building mutual action plans. Includes the "stale MAP equals dead deal" pattern.

devops-rollout-plan

28865
from github/awesome-copilot

Generate comprehensive rollout plans with preflight checks, step-by-step deployment, verification signals, rollback procedures, and communication plans for infrastructure and application changes

cli-mastery

28865
from github/awesome-copilot

Interactive training for the GitHub Copilot CLI. Guided lessons, quizzes, scenario challenges, and a full reference covering slash commands, shortcuts, modes, agents, skills, MCP, and configuration. Say "cliexpert" to start.

breakdown-plan

28865
from github/awesome-copilot

Issue Planning and Automation prompt that generates comprehensive project plans with Epic > Feature > Story/Enabler > Test hierarchy, dependencies, priorities, and automated tracking.

winui3-migration-guide

28865
from github/awesome-copilot

UWP-to-WinUI 3 migration reference. Maps legacy UWP APIs to correct Windows App SDK equivalents with before/after code snippets. Covers namespace changes, threading (CoreDispatcher to DispatcherQueue), windowing (CoreWindow to AppWindow), dialogs, pickers, sharing, printing, background tasks, and the most common Copilot code generation mistakes.

structured-autonomy-plan

28865
from github/awesome-copilot

Structured Autonomy Planning Prompt

update-implementation-plan

28865
from github/awesome-copilot

Update an existing implementation plan file with new or update requirements to provide new features, refactoring existing code or upgrading packages, design, architecture or infrastructure.

create-implementation-plan

28865
from github/awesome-copilot

Create a new implementation plan file for new features, refactoring existing code or upgrading packages, design, architecture or infrastructure.

create-github-issues-feature-from-implementation-plan

28865
from github/awesome-copilot

Create GitHub Issues from implementation plan phases using feature_request.yml or chore_request.yml templates.

scaffolding-oracle-to-postgres-migration-test-project

28865
from github/awesome-copilot

Scaffolds an xUnit integration test project for validating Oracle-to-PostgreSQL database migration behavior in .NET solutions. Creates the test project, transaction-rollback base class, and seed data manager. Use when setting up test infrastructure before writing migration integration tests, or when a test project is needed for Oracle-to-PostgreSQL validation.

reviewing-oracle-to-postgres-migration

28865
from github/awesome-copilot

Identifies Oracle-to-PostgreSQL migration risks by cross-referencing code against known behavioral differences (empty strings, refcursors, type coercion, sorting, timestamps, concurrent transactions, etc.). Use when planning a database migration, reviewing migration artifacts, or validating that integration tests cover Oracle/PostgreSQL differences.