Scaffolding Oracle To Postgres Migration Test Project
Scaffolds an xUnit integration test project targeting Oracle in .NET solutions. Creates the test project, transaction-rollback base class, and seed data manager. Use only during Phase 3, before writing Oracle baseline integration tests. Do not invoke during Phase 6 — the PostgreSQL test project is produced by migrating this project, not by running this skill again.
Intro in this page language first. The official description stays in its original wording; we do not rewrite SKILL.md.
What it does
Scaffolds an xUnit integration test project targeting Oracle in .NET solutions. Creates the test project, transaction-rollback base class, and seed data manager. Use only during Phase 3, before writing Oracle baseline integration tests. Do not invoke during Phase 6 — the PostgreSQL test project is produced by migrating this project, not by running this skill again.
When to use it
The official description does not include a separate “Use when”. Per the spec, agents activate this skill when the task matches keywords in that description.
How agents load it
Per Agent Skills progressive disclosure: name and description load at startup (~100 tokens); the full SKILL.md body loads when the skill activates; scripts/, references/, and assets/ load only as needed. This file's sections: Scaffolding an Integration Test Project for Oracle-to-PostgreSQL Migration; Workflow; Key Constraints. It includes spec-recommended sections: step-by-step instructions.
File analysis
File analysis: instruction-only skill (SKILL.md). The agent loads the full body when activated.
Scaffolding an Integration Test Project for Oracle-to-PostgreSQL MigrationWorkflowKey Constraints
Scaffolds an xUnit integration test project targeting Oracle in .NET solutions. Creates the test project, transaction-rollback base class, and seed data manager. Use only during Phase 3, before writing Oracle baseline integration tests. Do not invoke during Phase 6 — the PostgreSQL test project is produced by migrating this project, not by running this skill again.
DiscoverThe client exposes names and descriptions to the agent.
ActivateYour request or the task context selects the skill and loads its instructions.
Load resourcesReferenced scripts, documentation and assets are used when needed.
Choose the target agent and installation scope, keep referenced package files, then verify the skill appears in the client's catalog.
Ask your Agent to install
Copy these instructions to a compatible agent and confirm the target directory matches your client.
Install the agent skill "scaffolding-oracle-to-postgres-migration-test-project" into my project. The full SKILL.md and official description are at https://zicq.com/en/skills/skl-8bced312eb538ba1-Scaffolding-Oracle-To-Postgres-Migration.html
Save it as .cursor/skills/scaffolding-oracle-to-postgres-migration-test-project/SKILL.md or .claude/skills/scaffolding-oracle-to-postgres-migration-test-project/SKILL.md and keep the frontmatter name and description exactly as-is.
The CLI lets you choose the agent interactively. The default scope is the project; use -g for user scope. Confirm package availability with the discovery command, then use npx skills list to inspect installed skills.
Readable layout
name: scaffolding-oracle-to-postgres-migration-test-project
description: 'Scaffolds an xUnit integration test project targeting Oracle in .NET solutions. Creates the test project, transaction-rollback base class, and seed data manager. Use only during Phase 3, before writing Oracle baseline integration tests. Do not invoke during Phase 6 — the PostgreSQL test project is produced by migrating this project, not by running this skill again.'
Scaffolding an Integration Test Project for Oracle-to-PostgreSQL Migration
Creates a compilable, empty xUnit test project with transaction management and seed data infrastructure for a single target project. Run once per project before writing tests.
Workflow
Progress:
- [ ] Step 1: Inspect the target project
- [ ] Step 2: Create the xUnit test project
- [ ] Step 3: Implement transaction-rollback base class
- [ ] Step 4: Implement seed data manager
- [ ] Step 5: Verify the project compiles
Step 1: Inspect the target project
Read the target project's .csproj to determine the .NET version and existing package references. Match these versions exactly — do not upgrade.
Step 2: Create the xUnit test project
Target the same .NET version as the application under test.
Add NuGet packages for Oracle database connectivity (Oracle.ManagedDataAccess.Core) and xUnit.
Add a project reference to the target project only — no other application projects.
Add an appsettings.json configured for Oracle database connectivity.
Step 3: Implement transaction-rollback base class
Create a base test class that opens a transaction before each test and rolls it back after.
Catch and handle all exceptions to guarantee rollback.
Make the pattern inheritable by all downstream test classes.
Step 4: Implement seed data manager
Create a global seed manager for loading test data within the transaction scope.
Do not commit seed data — transactions roll back after each test.
Do not use TRUNCATE TABLE — preserve existing database data.
Establish a naming convention for seed file location that downstream test creation will follow.
Step 5: Verify the project compiles
Build the test project and confirm it compiles with zero errors before finishing.
Key Constraints
Phase 3 only — this skill scaffolds the Oracle-targeting test project. The PostgreSQL test project (Phase 6) is created by copying and migrating this project; do not run this skill again at that point.
Oracle is the golden behavior source — scaffold for Oracle only, not PostgreSQL.
Keep to existing .NET and C# versions; do not introduce newer language or runtime features.
Output is an empty test project with infrastructure only — no test cases.