
Agent skill: migrate Odoo 14–19 modules to Odoo 20 and prove they install
概览
is an agent skill that migrates a custom Odoo module (or a whole addons folder) from , then proves the result . It installs the module on a throwaway database and clicks through it in a real browser; getting the code to compile is not where it stops. It works with any coding agent that can read files and run shell commands. - The scanner knows 100+ breaking changes, and Odoo 20 breaks some code without an error: server t-esc renders nothing, _sql_constraints are dropped, name_get is never called, oe_chatter disappears, and overrides with an old signature crash only when called. The scanner counts these as seriously as install errors. - The module is copied into a separate Odoo 20 tree, with one git commit per phase, so every change is a diff you can review. Odoo core is checked for changes after every automatic pass. - A renamed copy of an Odoo module is rebuilt from the upstream Odoo 20 code, keeping your model names and only your real changes.
README
以下为原文 README 节选,完整内容请查看原文。
odoo-migrate-to-20 is an agent skill that migrates a custom Odoo module (or a whole addons folder) from Odoo 14, 15, 16, 17, 18 or 19 to Odoo 20, then proves the result installs and runs. It installs the module on a throwaway database and clicks through it in a real browser; getting the code to compile is not where it stops. It works with any coding agent that can read files and run shell commands.
- Nothing silent gets through. The scanner knows 100+ breaking changes, and Odoo 20 breaks some
code without an error: server
t-escrenders nothing,_sql_constraintsare dropped,name_getis never called,oe_chatterdisappears, and overrides with an old signature crash only when called. The scanner counts these as seriously as install errors. - Your original is never touched. The module is copied into a separate Odoo 20 tree, with one git commit per phase, so every change is a diff you can review. Odoo core is checked for changes after every automatic pass.
- Forks are rebased, not ported. A renamed copy of an Odoo module is rebuilt from the upstream Odoo 20 code, keeping your model names and only your real changes.
Install in 3 steps
1. Install the skill. Run this, then pick your coding agent when it asks:
npx skills add tanim913/odoo-migrate-to-20 -g
No Node.js? Use the included installer instead:
git clone https://github.com/tanim913/odoo-migrate-to-20.git
cd odoo-migrate-to-20
./install.sh --for all --project ~/work/my-odoo-repo # or e.g. --for cursor,claude
install.sh also adds the /odoo-migrate-to-20 command to Cursor, Antigravity, Copilot and
Gemini CLI.
2. Check your machine. Run this once; it must end with READY:
~/.agents/skills/odoo-migrate-to-20/scripts/doctor.sh
If it says NOT READY, its FAIL lines tell you what is missing: usually an Odoo 20 checkout, Python 3.12+ or PostgreSQL 16+ (see Requirements).
3. Use it. In your coding agent, type:
/odoo-migrate-to-20 ~/work/odoo16/addons/my_module
or just ask: “migrate my_module from 16 to 20”.
推荐工具
换一个关键词,或者移除筛选条件。
安装
npx skillfish add tanim913/odoo-migrate-to-20