Blockchain Indexing
Nethereum/Nethereum
Index blockchain data (blocks, transactions, logs, tokens) to PostgreSQL/SqlServer/SQLite with progress tracking, reorg handling, and hosted services (.NET/C).
Official agent skill
by github in github/awesome-copilot
Migrates .NET/C data access code from Oracle to PostgreSQL (Npgsql).
$ npx skills add github/awesome-copilot --skill migrating-oracle-to-postgres-data-access-code -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install github/awesome-copilot migrating-oracle-to-postgres-data-access-code --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/github/awesome-copilot.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/migrating-oracle-to-postgres-data-access-code .claude/skills/migrating-oracle-to-postgres-data-access-code && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "migrating-oracle-to-postgres-data-access-code" agent skill from https://github.com/github/awesome-copilot/tree/main/skills/migrating-oracle-to-postgres-data-access-code into .claude/skills/migrating-oracle-to-postgres-data-access-code/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "migrating-oracle-to-postgres-data-access-code", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/github/awesome-copilot/tree/main/skills/migrating-oracle-to-postgres-data-access-codeType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add github/awesome-copilot --skill migrating-oracle-to-postgres-data-access-code -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install github/awesome-copilot migrating-oracle-to-postgres-data-access-code --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/github/awesome-copilot.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/migrating-oracle-to-postgres-data-access-code .agents/skills/migrating-oracle-to-postgres-data-access-code && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "migrating-oracle-to-postgres-data-access-code" agent skill from https://github.com/github/awesome-copilot/tree/main/skills/migrating-oracle-to-postgres-data-access-code into .agents/skills/migrating-oracle-to-postgres-data-access-code/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "migrating-oracle-to-postgres-data-access-code", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add github/awesome-copilot --skill migrating-oracle-to-postgres-data-access-code -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install github/awesome-copilot migrating-oracle-to-postgres-data-access-code --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/github/awesome-copilot.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/migrating-oracle-to-postgres-data-access-code .cursor/skills/migrating-oracle-to-postgres-data-access-code && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "migrating-oracle-to-postgres-data-access-code" agent skill from https://github.com/github/awesome-copilot/tree/main/skills/migrating-oracle-to-postgres-data-access-code into .cursor/skills/migrating-oracle-to-postgres-data-access-code/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "migrating-oracle-to-postgres-data-access-code", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/github/awesome-copilot.git --path skills/migrating-oracle-to-postgres-data-access-code--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add github/awesome-copilot --skill migrating-oracle-to-postgres-data-access-code -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install github/awesome-copilot migrating-oracle-to-postgres-data-access-code --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/github/awesome-copilot.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/migrating-oracle-to-postgres-data-access-code .gemini/skills/migrating-oracle-to-postgres-data-access-code && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "migrating-oracle-to-postgres-data-access-code" agent skill from https://github.com/github/awesome-copilot/tree/main/skills/migrating-oracle-to-postgres-data-access-code into .gemini/skills/migrating-oracle-to-postgres-data-access-code/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "migrating-oracle-to-postgres-data-access-code", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install github/awesome-copilot migrating-oracle-to-postgres-data-access-codeInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add github/awesome-copilot --skill migrating-oracle-to-postgres-data-access-code -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/github/awesome-copilot.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/migrating-oracle-to-postgres-data-access-code .github/skills/migrating-oracle-to-postgres-data-access-code && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "migrating-oracle-to-postgres-data-access-code" agent skill from https://github.com/github/awesome-copilot/tree/main/skills/migrating-oracle-to-postgres-data-access-code into .github/skills/migrating-oracle-to-postgres-data-access-code/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "migrating-oracle-to-postgres-data-access-code", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add github/awesome-copilot --skill migrating-oracle-to-postgres-data-access-code -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install github/awesome-copilot migrating-oracle-to-postgres-data-access-code --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/github/awesome-copilot.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/migrating-oracle-to-postgres-data-access-code .opencode/skills/migrating-oracle-to-postgres-data-access-code && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "migrating-oracle-to-postgres-data-access-code" agent skill from https://github.com/github/awesome-copilot/tree/main/skills/migrating-oracle-to-postgres-data-access-code into .opencode/skills/migrating-oracle-to-postgres-data-access-code/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "migrating-oracle-to-postgres-data-access-code", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
migrating-oracle-to-postgres-data-access-codeMigrates .NET/C data access code from Oracle to PostgreSQL (Npgsql).
Migrating Oracle To Postgres Data Access Code is an agent skill from github/awesome-copilot, published by the product's own GitHub organization. Migrates .NET/C data access code from Oracle to PostgreSQL (Npgsql). Replaces Oracle NuGet packages, rewrites OracleConnection/OracleCommand/OracleDataReader usage, fixes DbType mappings, updates stored procedure invocation patterns, and adapts connection string configuration. Use when migrating the application code layer of a .NET project during an Oracle-to-PostgreSQL database migration.
Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Databases, covering Database migrations. It works with PostgreSQL, .NET and C#. The repository describes itself as: Community-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot. The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 727ff2e. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
dotnetFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Migrating Oracle To Postgres Data Access Code loads about 2k tokens when it runs. Until then it costs about 110 tokens; SKILL.md has 787 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from github/awesome-copilot at commit 727ff2e, republished under its MIT licence (© github). 787 words, ~2,016 tokens.
.claude/skills/migrating-oracle-to-postgres-data-access-code/SKILL.md (or your agent's skills folder).Migrate the C# data access layer of a single .Postgres-copy project from Oracle (Oracle.ManagedDataAccess) to PostgreSQL (Npgsql). Work item by item through Reports/{ProjectName}/MigrationChecklist.md.
.Postgres project copy exists (created in Phase 5 setup).Reports/{ProjectName}/MigrationChecklist.md exists and is the source of truth for what to change.Reports/{ProjectName}/OracleRiskAnalysis.md exists for cross-referencing behavioral differences.Progress:
- [ ] Step 1: Replace NuGet packages
- [ ] Step 2: Update connection string configuration
- [ ] Step 3: Rewrite ADO.NET type references
- [ ] Step 4: Fix DbType mappings
- [ ] Step 5: Migrate stored procedure invocation
- [ ] Step 6: Address Oracle-specific SQL and syntax
- [ ] Step 7: Build and verifyStep 1: Replace NuGet packages
In the .csproj of the .Postgres project:
Oracle.ManagedDataAccess.Core, Oracle.EntityFrameworkCore (and any other Oracle.* packages)Npgsql (for ADO.NET) and/or Npgsql.EntityFrameworkCore.PostgreSQL (for EF Core)System.Data abstractions (IDbConnection, IDbCommand) are used project-wide, the surface-level code may need fewer changes — identify them first.Step 2: Update connection string configuration
appsettings.json, appsettings.{env}.json, web.config, app.config, or environment variable configuration.Host=localhost;Port=5432;Database=mydb;Username=myuser;Password=mypasswordIConfiguration).OracleConnection). Prefer keeping the same key name to minimize application config changes.Step 3: Rewrite ADO.NET type references
Replace Oracle-specific ADO.NET types with Npgsql equivalents:
| Oracle type | Npgsql replacement |
|---|---|
OracleConnection | NpgsqlConnection |
OracleCommand | NpgsqlCommand |
OracleDataReader | NpgsqlDataReader |
OracleDataAdapter | NpgsqlDataAdapter |
OracleParameter | NpgsqlParameter |
OracleTransaction | NpgsqlTransaction |
OracleException | NpgsqlException |
OracleDbType | NpgsqlDbType (from NpgsqlTypes namespace) |
Update using directives accordingly (using Oracle.ManagedDataAccess.Client → using Npgsql).
If the codebase uses IDbConnection/IDbCommand abstractions registered via DI, update only the DI registration and connection string — the consuming code may not need changes.
Step 4: Fix DbType and NpgsqlDbType mappings
Oracle parameter types do not map 1:1 to Npgsql. Review every OracleParameter (now NpgsqlParameter) that sets an explicit type:
| Oracle type | Notes |
|---|---|
OracleDbType.Varchar2 | Use NpgsqlDbType.Varchar or omit (Npgsql infers from value) |
OracleDbType.Clob | Use NpgsqlDbType.Text |
OracleDbType.Number | Use NpgsqlDbType.Numeric or NpgsqlDbType.Integer depending on precision |
OracleDbType.Date | Use NpgsqlDbType.Date (date only) or NpgsqlDbType.Timestamp (if time component used) |
OracleDbType.TimeStamp | Use NpgsqlDbType.Timestamp |
OracleDbType.RefCursor | Use NpgsqlDbType.Refcursor — see Step 5 |
OracleDbType.Char | Use NpgsqlDbType.Char |
For parameters where Oracle inferred the type from the value, Npgsql also infers — explicit type setting is often unnecessary and can be removed.
Step 5: Migrate stored procedure invocation
Oracle and PostgreSQL stored procedure invocation differ significantly:
CommandType.StoredProcedure for function calls. For procedures that use OUT parameters, PostgreSQL requires CommandType.Text with CALL proc_name(...) syntax in some versions of Npgsql — verify against the target Npgsql version.RETURNS TABLE / RETURNS SETOF, use ExecuteReader() directly — no cursor parameter needed.RETURNS refcursor, call within a transaction, read the cursor name from the output parameter, then issue FETCH ALL IN "<cursor_name>".OracleRefCursor).INOUT or function return values. Verify parameter direction matches the migrated procedure signature.NEXTVAL: Replace SELECT {SEQUENCE}.NEXTVAL FROM DUAL with SELECT nextval('{sequence_name}').@param_name; Oracle used :param_name. Update all parameter name prefixes.Step 6: Address Oracle-specific SQL and C# patterns
Review inline SQL strings and query builders for Oracle-specific constructs and replace:
| Oracle construct | PostgreSQL replacement |
|---|---|
ROWNUM <= n | LIMIT n |
ROWNUM = 1 | LIMIT 1 |
NVL(x, y) | COALESCE(x, y) |
DECODE(expr, v1, r1, ...) | CASE WHEN expr = v1 THEN r1 ... END |
SYSDATE / SYSTIMESTAMP | NOW() or CURRENT_TIMESTAMP |
TO_CHAR(date, fmt) | TO_CHAR(date, fmt) (mostly compatible; verify format strings) |
TO_DATE(str, fmt) | TO_DATE(str, fmt) (verify format strings) |
TO_NUMBER(str) | CAST(str AS NUMERIC) or str::NUMERIC |
| ` | |
DUAL table | Remove FROM DUAL; PostgreSQL evaluates SELECT expr without a table |
CONNECT BY hierarchy | Rewrite using recursive CTEs (WITH RECURSIVE) |
MERGE INTO | Rewrite as INSERT ... ON CONFLICT DO UPDATE |
Empty string '' as NULL | Oracle treats '' as NULL; PostgreSQL does not — check comparisons and IS NULL guards |
VARCHAR2 | VARCHAR or TEXT |
Step 7: Build and verify
After addressing all checklist items:
dotnet build on the .Postgres project. Fix any remaining compilation errors.Oracle.ManagedDataAccess, OracleConnection, OracleCommand, :param patterns.Reports/{ProjectName}/MigrationChecklist.md.If the project uses Oracle.EntityFrameworkCore:
DbContext configuration: .UseOracle(...) → .UseNpgsql(...)OracleDbContextOptionsBuilder references.OnModelCreating for Oracle-specific configurations (e.g., HasColumnType("NUMBER") → HasColumnType("numeric")).modelBuilder.HasSequence<int>("seq_name").StartsAt(1).IncrementsBy(1) syntax is compatible; verify column defaults referencing sequences..Postgres copy — never modify the original Oracle-targeting project.© github, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/migrating-oracle-to-postgres-data-access-code of github/awesome-copilot.
Open the folder on GitHubat commit 727ff2e
Migrating Oracle To Postgres Data Access Code next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Migrating Oracle To Postgres Data Access Code this skillgithub/awesome-copilot | 40k | — | ~2k | Automated safety check: Pass | MIT | |
| Blockchain IndexingNethereum/Nethereum | 2.3k | — | ~4.8k | Automated safety check: Pass | MIT | |
| Scaffolding Oracle To Postgres Migration Test Projectboshi-xixixi/TraeSkill | 274 | — | ~632 | Automated safety check: Pass | MIT | |
| Supabase Postgres Best Practicessupabase/agent-skills | 2.7k | 24 repos | ~808 | Automated safety check: Pass | MIT | |
| Saleor Django Migration Rulessaleor/saleor | 23k | — | ~1.6k | Automated safety check: Pass | BSD-3-Clause | |
| Migrationgocronx-team/gocron | 808 | — | ~1.1k | Automated safety check: Pass | MIT |
Nethereum/Nethereum
Index blockchain data (blocks, transactions, logs, tokens) to PostgreSQL/SqlServer/SQLite with progress tracking, reorg handling, and hosted services (.NET/C).
boshi-xixixi/TraeSkill
Scaffolds an xUnit integration test project for validating Oracle-to-PostgreSQL database migration behavior in .NET solutions.
supabase/agent-skills
Gives the agent Postgres rules to consult before writing or changing tables, queries, indexes, RLS policies or migrations, and when diagnosing slow queries.
saleor/saleor
Rules for writing Django migrations in Saleor that avoid long table locks and stay compatible with zero-downtime rolling deploys.
gocronx-team/gocron
Create, review, or verify gocron database migrations across SQLite, MySQL, and PostgreSQL.
Observal/Observal
Administers Observal users, settings, diagnostics, review queues, security events, audit logs, SAML, SCIM, the local Observal server, its upgrades and rollback, and its own PostgreSQL and ClickHouse…
github/awesome-copilot
Maps an unfamiliar codebase into seven evidence-backed documents in docs/codebase/, using a scan script and templates, for onboarding or architecture write-ups.
github/awesome-copilot
Designs Azure infrastructure from a natural-language description, or diagrams an existing resource group, then refines the design through conversation and deploys it with Bicep.
github/awesome-copilot
Generates, edits and validates draw.io files with correct mxGraph XML, covering flowcharts, architecture, sequence, ER and UML class diagrams.
github/awesome-copilot
Cleans raw credit data and screens variables before loan modeling, dropping unstable, noisy or redundant features and writing an Excel report of every step.
github/awesome-copilot
Builds a warm, browser-based daily focus board the user updates by talking to their agent, with Eisenhower priorities, a brain-dump box and kind not-today carryover.
github/awesome-copilot
End-to-end skill for building, testing, linting, versioning, and publishing a production-grade Python library to PyPI.
Works with
Categories
Migrates .NET/C data access code from Oracle to PostgreSQL (Npgsql). Migrating Oracle To Postgres Data Access Code is an agent skill from github/awesome-copilot, published by the product's own GitHub organization.NET/C data access code from Oracle to PostgreSQL (Npgsql).
Migrating Oracle To Postgres Data Access Code fits situations like: migrating the application code layer of a .NET project during an Oracle-to-PostgreSQL database migration; tasks that involve Database migrations.
Run `npx skills add github/awesome-copilot --skill migrating-oracle-to-postgres-data-access-code -a claude-code`. Or copy the skill folder (skills/migrating-oracle-to-postgres-data-access-code in github/awesome-copilot) into .claude/skills/migrating-oracle-to-postgres-data-access-code in your project. Claude Code loads it when a task matches its description.
Run `npx skills add github/awesome-copilot --skill migrating-oracle-to-postgres-data-access-code -a codex`. Or copy the skill folder (skills/migrating-oracle-to-postgres-data-access-code in github/awesome-copilot) into .agents/skills/migrating-oracle-to-postgres-data-access-code in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add github/awesome-copilot --skill migrating-oracle-to-postgres-data-access-code -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/migrating-oracle-to-postgres-data-access-code, .gemini/skills/migrating-oracle-to-postgres-data-access-code, .github/skills/migrating-oracle-to-postgres-data-access-code and .opencode/skills/migrating-oracle-to-postgres-data-access-code in your project.
Going by SKILL.md and its folder, Migrating Oracle To Postgres Data Access Code needs the command-line tools its instructions call (dotnet).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Migrating Oracle To Postgres Data Access Code is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 8.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Migrating Oracle To Postgres Data Access Code: Blockchain Indexing (Nethereum/Nethereum, 2.3k stars), Scaffolding Oracle To Postgres Migration Test Project (boshi-xixixi/TraeSkill, 274 stars), Supabase Postgres Best Practices (supabase/agent-skills, 2.7k stars) and Saleor Django Migration Rules (saleor/saleor, 23k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
github (a GitHub organization, an official publisher) maintains it in github/awesome-copilot, which has 39,748 GitHub stars. The repository holds 417 skills in this directory. The repository was last updated on October 7, 2026.
Source: github/awesome-copilot on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.