Odoo Migration Copilot

Turns Odoo upgrade logs and addon scans into a classified worklist via the odoo-mcp server

Works with setup

Test report

Verdict
Works with setup
Score
8.0/10
Tested
Jul 21, 2026
Environment
Claude Code 2.x (agent harness)
Upstream re-checked
Aug 10, 2026 · 4902ea8

Cloned the repo and installed skills/odoo-migration-copilot into a throwaway HOME (export HOME=$(mktemp -d)) — SKILL.md lands at the right path, frontmatter parses to exactly name+description, no scripts referenced, no curl|sh / base64 / secret-exfil / injection text anywhere under skills/, and raw fetches of the SKILL.md, the sibling odoo-data-quality-gate skill, diagnostics.py and data/odoo_renames.json all returned HTTP 200. The MCP server needs live Odoo credentials, but four of the five tools the playbook calls are pure input-driven functions, so I executed analyze_upgrade_log_report, scan_addons_source_report, upgrade_risk_report, lookup_model_history_report and generate_json2_payload_report directly against a 14-line synthetic Odoo 16-to-17 failure log and a synthetic acme_sales addon tree; only get_odoo_profile and data_quality_report were unrunnable. The skill artifact gained real structure over my unaided baseline — the prescribed action|category|evidence|fix|status table, an explicit "no-go, 9 open needs_script", and lookup_model_history pinning account.invoice to account.move as of Odoo 13.0 with the move_type filter note, plus a verified POST /json/2/sale.order/search_read preview. Against that, analyze_upgrade_log's regexes silently skipped two of the eleven error lines my prose baseline caught ("Model acme.commission.rule references undefined model account.invoice" and "dependency website_theme_install not found"), and scored the cascade line "Failed to load registry" as its own needs_script item, so following the tool output literally yields a thinner worklist than reading the log yourself.

Scored on four weighted criteria — install, triggering, output vs. baseline, docs. How scoring works

  • Installs cleanly 5/5
  • Triggers reliably 5/5
  • Output vs. baseline 6/10
  • Docs & honesty 4/5

What Odoo Migration Copilot does

A three-phase playbook for Odoo version upgrades (16 to 17 to 18 to 19/20) that drives the odoo-mcp server's migration tools: scan_addons_source and upgrade_risk_report for inventory, analyze_upgrade_log to classify staging failures as no_action / needs_review / needs_script, lookup_model_history to resolve model renames, and generate_json2_payload for the XML-RPC-to-JSON-2 transition. Output is a phase header, an action/category/evidence/fix/status worklist table, and a go/no-go call with the open needs_script count. Triggers when you mention upgrading or migrating Odoo versions, a failing upgrade log, Odoo 17 "attrs" view errors, or XML-RPC deprecation.

How to install Odoo Migration Copilot

git clone --depth 1 https://github.com/tuanle96/mcp-odoo.git /tmp/odoo-migration-copilot-src
mkdir -p ~/.claude/skills
cp -R /tmp/odoo-migration-copilot-src/skills/odoo-migration-copilot ~/.claude/skills/odoo-migration-copilot
# REQUIRED, not optional: the skill is only a playbook — every step calls a tool from the
# odoo-mcp MCP server. Without that server connected the skill has nothing to run.
#   uvx odoo-mcp --setup      # prints the MCP client config snippet
# Needs Odoo connection env vars (ODOO_URL / ODOO_DB / ODOO_USER / ODOO_PASSWORD or API key).
# Phase 1 addon audit additionally needs ODOO_ADDONS_PATHS pointing at your custom addon tree.
# Sibling skill referenced by Phase 1 step 4 (install it too if you want the data gate):
#   cp -R /tmp/odoo-migration-copilot-src/skills/odoo-data-quality-gate ~/.claude/skills/odoo-data-quality-gate
# Upstream also offers: npx skills add erpipe-org/mcp-odoo  (installs all 4 skills in the pack)

Skills live in ~/.claude/skills/ (global) or .claude/skills/ (per-project). Restart Claude Code after installing.

Commands — how to trigger Odoo Migration Copilot

  • /odoo-migration-copilot Turns Odoo upgrade logs and addon scans into a classified worklist via the odoo-mcp server

It also activates on plain-language prompts like these:

  • Plan our Odoo upgrade from 16 to 18
  • Fix these broken upgrade log errors
  • Preview the JSON-2 payload changes for our upgrade

Frequently asked questions

Is the Odoo Migration Copilot skill free?
Yes. The skill itself is free from tuanle96/mcp-odoo. SkillProof publishes the install command and an independent test verdict at no cost.
Does Odoo Migration Copilot work with Claude Code?
We tested it with Claude Code 2.x (agent harness) on Jul 21, 2026. Verdict: Works with setup. Cloned the repo and installed skills/odoo-migration-copilot into a throwaway HOME (export HOME=$(mktemp -d)) — SKILL.md lands at the right path, frontmatter parses to exactly name+description, no scripts referenced, no curl|sh / base64 / secret-exfil / injection text anywhere under skills/, and raw fetches of the SKILL.md, the sibling odoo-data-quality-gate skill, diagnostics.py and data/odoo_renames.json all returned HTTP 200. The MCP server needs live Odoo credentials, but four of the five tools the playbook calls are pure input-driven functions, so I executed analyze_upgrade_log_report, scan_addons_source_report, upgrade_risk_report, lookup_model_history_report and generate_json2_payload_report directly against a 14-line synthetic Odoo 16-to-17 failure log and a synthetic acme_sales addon tree; only get_odoo_profile and data_quality_report were unrunnable. The skill artifact gained real structure over my unaided baseline — the prescribed action|category|evidence|fix|status table, an explicit "no-go, 9 open needs_script", and lookup_model_history pinning account.invoice to account.move as of Odoo 13.0 with the move_type filter note, plus a verified POST /json/2/sale.order/search_read preview. Against that, analyze_upgrade_log's regexes silently skipped two of the eleven error lines my prose baseline caught ("Model acme.commission.rule references undefined model account.invoice" and "dependency website_theme_install not found"), and scored the cascade line "Failed to load registry" as its own needs_script item, so following the tool output literally yields a thinner worklist than reading the log yourself.
What is the Odoo Migration Copilot SkillProof Score?
8.0/10 — installs cleanly 5/5, triggers reliably 5/5, output vs. baseline 6/10, docs & honesty 4/5.
How do I install Odoo Migration Copilot?
Copy the install command from this page, run it in your terminal, and restart Claude Code. Skills live in ~/.claude/skills/ (global) or .claude/skills/ inside a project.
Can I use Odoo Migration Copilot with Cursor, Copilot, Gemini CLI, Codex or other AI tools?
The SKILL.md format is native to Claude (Claude Code, Desktop, claude.ai). The instructions inside adapt to other assistants: Cursor rules, GitHub Copilot instructions, Windsurf rules, Custom GPTs, AGENTS.md for OpenAI Codex, and GEMINI.md for Google Gemini CLI — our conversion guides cover each, and the free converter on the tools page does the wrapping for you.