Odoo Migration Copilot
Turns Odoo upgrade logs and addon scans into a classified worklist via the odoo-mcp server
Test report
- Verdict
- Works with setup
- Score
- 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-copilotTurns 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.