1. 基本信息
| 项目 | 内容 | 数据来源 |
|---|---|---|
| 名称 | creating-oracle-to-postgres-master-migration-plan | — |
| 作者/维护者 | GitHub(github/awesome-copilot 仓库) |
GitHub API |
| 来源链接 | https://github.com/github/awesome-copilot/tree/main/skills/creating-oracle-to-postgres-master-migration-plan | — |
| 许可证 | MIT | GitHub API |
| GitHub Stars | 39,096(合集仓库整体,非本技能个体数据) | GitHub API |
| Forks | 4,958(合集仓库整体) | GitHub API |
| 最新版本 | 无独立版本号;仓库持续滚动更新,本技能文件最近一次改动 2026-08-11 | GitHub API(commits) |
| 安装方式 | 直接复制目录,或通过 Copilot 插件市场安装 | 见第 10 章 |
2. 功能介绍与亮点
这是一套面向 .NET 项目的 Oracle→PostgreSQL 数据库迁移工作流中的“起点”技能。核心能力:
- 自动发现项目:解析工作区内的
.sln/.slnx解决方案文件,提取全部.csproj项目引用,记录名称、路径与类型(类库、Web API、控制台、测试项目等)。 - 逐项目分类:扫描每个非测试项目的 Oracle 依赖信号——NuGet 包引用(
Oracle.ManagedDataAccess、Oracle.EntityFrameworkCore)、配置文件中的 Oracle 连接字符串、代码里的OracleConnection/OracleCommand/OracleDataReader用法,并将每个项目标记为“需迁移”“可跳过”“已迁移”或“测试项目”四类之一。 - 人工确认环节:分类结果先展示给用户确认或调整,再落盘,避免误判直接进入下游流程。
- 生成结构化计划文件:按固定模板写出
MasterMigrationPlan.md,包含项目清单表、迁移顺序建议(按依赖关系排序,基础库先行);模板结构固定,供同系列的下游技能(迁移存储过程、迁移数据访问代码等)解析读取。
主要亮点:官方(GitHub)出品、完全开源可审计、纯文本/文档生成类技能,不涉及外部网络请求或第三方服务依赖。
3. 适用场景
所属分类:工程效率与代码质量
适用于正在规划将 .NET 多项目解决方案从 Oracle 迁移到 PostgreSQL 的开发团队——尤其是项目数量较多、需要先摸清“哪些项目真的有 Oracle 依赖、迁移顺序该怎么排”的迁移负责人或架构师。它是整条迁移工作流的第一步:生成的清单文件会被同系列的存储过程迁移、数据访问层迁移、测试脚手架等后续技能直接读取使用。
4. 跨 Agent 兼容性
| Agent | 结论 | 依据 |
|---|---|---|
| Claude Code | 原生支持 | 标准 SKILL.md(YAML frontmatter + Markdown 正文),无外部依赖、无网络请求、无代码执行,符合 Agent Skills 通用规范 |
| Codex | 原生支持 | 纯文本文件解析与文档生成,不涉及联网或系统调用,不受沙箱断网限制 |
| OpenClaw | 未验证 | 未找到该平台的直接安装记录,但技能本身不含平台专有语法,理论上可直接迁移 |
| Hermes Agent | 未验证 | 同上,未找到具体验证来源 |
5. 推荐理由
对任何要启动 Oracle→PostgreSQL 迁移的 .NET 团队来说,“先搞清楚要迁移哪些项目、按什么顺序迁”是最容易被忽略却最容易返工的一步。这个技能把这件事流程化:自动扫描、给出可核对的分类建议、落一份结构化计划文件,省去手工梳理解决方案的时间,也为后续迁移步骤提供统一的、机器可读的起点。技能本身是纯文档生成逻辑,无代码执行、无外部依赖,风险面很小,适合作为迁移项目的第一个动作直接上手。
6. 评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 7 | GitHub 官方出品;所属合集仓库 39,096 星,该数字属整个合集,不代表本技能自身热度;本技能自身暂无独立于合集之外的第三方讨论或采用数据 |
| 可用性 | 8 | 触发即用、无需 API Key 或付费依赖,步骤清晰(发现→分类→确认→落盘);文件近一次更新为 2026-08-11,维护活跃;需要工作区内已存在 .sln 解决方案作为输入,属该场景本身固有的前置条件 |
| 安全性 | 9 | 纯文本读取(解析 .sln/.csproj/配置文件)与文档写入,无外部网络请求,无需任何凭据;仓库 License 明确(MIT);未发现可疑指令或混淆内容 |
综合评分:8.0(三项均值)
安全检查清单:① 无 shell 命令执行,仅文件读取与 Markdown 写入 ② 运行时不联网外发数据 ③ 不涉及 API Key/凭据 ④ SKILL.md 正文未发现可疑指令或 prompt injection 迹象 ⑤ 作者为 GitHub 官方账号,信誉无造假迹象 ⑥ License 明确(MIT) ⑦ 最近维护时间为 2026-08-11,属近期维护
7. 跟同类 Skills 相比的优势
| 技能 | 定位 | 与本技能的差异 |
|---|---|---|
| reviewing-oracle-to-postgres-migration | 核对迁移风险、按已知行为差异验证迁移结果 | 用于迁移执行之后的复核阶段,不生成迁移清单 |
| creating-oracle-to-postgres-migration-bug-report | 撰写迁移过程中发现的缺陷报告 | 服务于问题记录环节,与项目清单/排序规划无关 |
| db-oracle-skills(Oracle 官方) | 面向 DBA/开发者的 Oracle SQL/PLSQL 调优与安全审查参考 | 聚焦 Oracle 侧的查询调优与安全护栏,不涉及向 PostgreSQL 迁移的规划 |
| database-skills(PlanetScale 官方) | MySQL/PostgreSQL/Vitess 的 schema 设计与查询调优参考 | 面向日常数据库开发场景,不针对“从 Oracle 迁移”这一具体任务 |
| flyway-migrations(Spring Boot 生态) | 编写/审查 Flyway 数据库 schema 迁移脚本 | 针对 Java/Spring Boot 技术栈的迁移脚本编写规范,不做跨数据库厂商的项目级迁移清单规划 |
本技能的差异化在于:上表列出的同类技能均聚焦迁移流程的其他阶段或其他数据库场景,没有一个专门解决“多项目 .NET 解决方案要不要迁移、按什么顺序迁移”这一规划问题;本技能的输出文件还能直接对接同系列的后续迁移执行技能。
8. 用户评价
该技能目前在第三方平台尚无具名用户评价;GitHub 仓库内有一份自动化质量巡检报告记录了该技能的文档结构指标(章节数、代码块数等),但不构成使用者评价。
9. 其他补充
该技能属于 GitHub 官方“Oracle-to-PostgreSQL Migration”技能家族的一部分,家族内另有面向存储过程迁移、数据访问代码迁移、集成测试规划与生成、风险复核、缺陷报告等多个技能,覆盖迁移全流程的不同阶段,可按需组合使用。
10. 安装使用方式
方式一:直接复制
将 skills/creating-oracle-to-postgres-master-migration-plan/SKILL.md 复制到你的 agent 的 skills 目录下(如 Claude Code 的 .claude/skills/creating-oracle-to-postgres-master-migration-plan/)。
方式二:通过 Copilot 插件市场(适用于 GitHub Copilot CLI/VS Code 用户):
copilot plugin marketplace add github/awesome-copilot
copilot plugin install creating-oracle-to-postgres-master-migration-plan@awesome-copilot
安装后无需重启,在对话中提出“帮我梳理这个解决方案里哪些项目要从 Oracle 迁移到 PostgreSQL”或“生成这次迁移的项目清单和顺序”即可触发;技能本身不需要任何额外配置或密钥。
11. 注意事项
- 需要工作区内存在可解析的
.sln/.slnx解决方案文件,纯脚本/非 .NET 项目不适用。 - 输出文件路径与模板结构固定(
.github/oracle-to-postgres-migration/Reports/MasterMigrationPlan.md),若团队已有类似命名的报告目录需注意避免冲突。 - 该技能只做发现与分类规划,不执行实际的代码迁移或数据库操作,需配合同系列其他技能或人工完成后续步骤。
- 跨 Agent 兼容性中 OpenClaw、Hermes Agent 尚未找到直接验证来源,实际使用前建议先行小范围测试。