erpipe-org/odoo-migration-copilot
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.
npx skills add https://github.com/erpipe-org/mcp-odoo --skill 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.
get_odoo_profile — confirm source version and installed modules.scan_addons_source — audit custom addons (requiresODOO_ADDONS_PATHS). Read summary.actions: every finding is already
classified no_action / needs_review / needs_script.
upgrade_risk_report(source_version=..., target_version=..., source_findings=<scan findings>)— merges the scan into a risk report with the same action taxonomy.
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.
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.
lookup_model_historybefore concluding it was custom — many are well-known renames
(account.invoice → account.move).
needs_script → needs_review, each itemwith its evidence line and suggested fix. Track items across rehearsal
rounds; report what the last fix resolved.
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.
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.
addon source or the staging database.
error "probably" was.
Take erpipe-org/odoo-migration-copilot from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.