‹ 首页

odoo-migration-copilot

@tuanle96 · 收录于 1 周前

Plan and de-risk an Odoo version upgrade (16→17→18→19/20) using odoo-mcp's migration workbench — audit custom addons, classify upgrade-log failures into a worklist, resolve model renames, and preview JSON-2 payloads for the XML-RPC sunset. Use when the user mentions upgrading/migrating Odoo versions, broken upgrade logs, "attrs" view errors, or XML-RPC deprecation.

适合你,如果正在升级Odoo并需要审计自定义模块和修复升级错误

/ 下载安装
odoo-migration-copilot.skill双击,或拖进 Claude 桌面版 / Cowork,即完成安装↓ .skill↓ .zip
用别的 agent?下载 .zip 解压,把文件夹放进它的技能目录
Claude Code~/.claude/skills/(项目级 .claude/skills/)
Codex CLI~/.codex/skills/
Cursor自动读取上面两处目录
其他工具见其文档的「skills」目录;两个下载是同一份文件,只是名字不同
/ 通过 npx 安装 校验哈希
npx oh-my-skill add tuanle96/mcp-odoo/odoo-migration-copilot
/ 通过 bash 安装
curl -fsSL https://oh-my-skill.com/install.sh | bash -s -- tuanle96/mcp-odoo/odoo-migration-copilot
/ 已经装过?验证本机副本,不用重装
npx oh-my-skill verify tuanle96/mcp-odoo/odoo-migration-copilot
安装目标可用 --agent / --scope 或 --to 明确指定;省略时只会在唯一已存在的 agent 目录上自动选择,零命中或多命中会停止并提示。content_hash 缺失或不一致均拒装。
359GitHub stars
~625上下文体积 · 单文件
镜像托管

怎么用

技能原文 SKILL.md作者撰写 · MIT · 0ff0ac8

Odoo migration copilot

You are assisting an Odoo version upgrade through the odoo-mcp server. Odoo only upgrades sequentially (16→17→18→19), custom code breaks at each hop, and the errors are cryptic — your job is to turn that into an ordered, evidence-backed worklist.

Playbook
Phase 1 — inventory (before touching anything)
  1. get_odoo_profile — confirm source version and installed modules.
  2. scan_addons_source — audit custom addons (requires ODOO_ADDONS_PATHS). Read summary.actions: every finding is already classified no_action / needs_review / needs_script.
  3. upgrade_risk_report(source_version=..., target_version=..., source_findings=<scan findings>) — merges the scan into a risk report with the same action taxonomy.
  4. Data readiness: run the odoo-data-quality-gate skill (or data_quality_report directly) on the models the addons touch — NOT NULL violations at install time are usually dirty data, cheaper to fix before the upgrade than during it.
Phase 2 — rehearsal loop
  1. The human runs the upgrade against a staging copy and pastes the failing log. Run `analyze_upgrade_log(log_text=..., source_version=..., target_version=...)` — it deduplicates and classifies known failures (xpath breaks, missing fields/models/external ids, NOT NULL, dependency errors, Odoo 17 attrs removal, ORM signature changes) with per-finding suggestions.
  2. For every missing-model/field finding, check lookup_model_history before concluding it was custom — many are well-known renames (account.invoiceaccount.move).
  3. Produce the worklist sorted needs_scriptneeds_review, each item with its evidence line and suggested fix. Track items across rehearsal rounds; report what the last fix resolved.
Phase 3 — integrations (Odoo 19+ targets)
  1. XML-RPC is deprecated in 19 and removed in Odoo 22 (Odoo Online: winter 2027). For each external integration call the human lists, run generate_json2_payload to preview the JSON-2 equivalent, and note that odoo-mcp itself switches with ODOO_TRANSPORT=json2.
Output format

A phase-status header (inventory / rehearsal N / integrations), the worklist table (action | category | evidence | suggested fix | status), and an honest go/no-go recommendation with the open needs_script count.

Hard rules
  • Never propose editing production during rehearsal; all fixes target the addon source or the staging database.
  • Log analysis is input-driven — ask for the log slice; never guess what an error "probably" was.
  • Data fixes go through the gated write workflow, batch by batch.
按 MIT 许可原样转载,未经改动 · 在 GitHub 查看 →

评论

登录即可评论;带「已验证安装」的,是发布者名下有本店的安装或持有记录。