{"id":"83ca95c1-79ad-444d-b3b9-878c5a6968b8","shortId":"UpCs33","kind":"skill","title":"odoo-upgrade-advisor","tagline":"Step-by-step Odoo version upgrade advisor: pre-upgrade checklist, community vs enterprise upgrade path, OCA module compatibility, and post-upgrade validation.","description":"# Odoo Upgrade Advisor\n\n## Overview\n\nUpgrading Odoo between major versions (e.g., v15 → v16 → v17) requires careful preparation, testing, and validation. This skill provides a structured pre-upgrade checklist, guides you through the upgrade tools (Odoo Upgrade Service and OpenUpgrade), and gives you a post-upgrade validation protocol.\n\n## When to Use This Skill\n\n- Planning a major Odoo version upgrade.\n- Identifying which custom modules need to be migrated.\n- Running the upgrade on a staging environment before production.\n- Validating the system after an upgrade.\n\n## How It Works\n\n1. **Activate**: Mention `@odoo-upgrade-advisor`, state your current and target version.\n2. **Plan**: Receive the full upgrade roadmap and risk assessment.\n3. **Execute**: Get a step-by-step upgrade command sequence.\n\n## Upgrade Paths\n\n| From | To | Supported? | Tool |\n|---|---|---|---|\n| v16 | v17 | ✅ Direct | Odoo Upgrade Service / OpenUpgrade |\n| v15 | v16 | ✅ Direct | Odoo Upgrade Service / OpenUpgrade |\n| v14 | v15 | ✅ Direct | Odoo Upgrade Service / OpenUpgrade |\n| v14 | v17 | ⚠️ Multi-hop | v14→v15→v16→v17 (cannot skip) |\n| v13 or older | any | ❌ Not supported | Manual migration required |\n\n## Examples\n\n### Example 1: Pre-Upgrade Checklist\n\n```text\nBEFORE YOU START:\n  ☑ 1. List all installed modules (Settings → Technical → Modules)\n        Export to CSV and review for custom/OCA modules\n  ☑ 2. Check OCA compatibility matrix for each community module\n        https://github.com/OCA/maintainer-tools/wiki/Migration-Status\n  ☑ 3. Take a full backup (database + filestore) — your restore point\n  ☑ 4. Clone production to a staging environment\n  ☑ 5. Run the Odoo Upgrade pre-analysis:\n        https://upgrade.odoo.com/ → Upload DB → Review breaking changes report\n  ☑ 6. Review custom modules against migration notes\n        (use @odoo-migration-helper for per-module analysis)\n  ☑ 7. Upgrade and test in staging → Fix all errors → Re-test\n  ☑ 8. Schedule a production maintenance window\n  ☑ 9. Notify users of scheduled downtime\n  ☑ 10. Perform production upgrade → Validate → Go/No-Go decision\n```\n\n### Example 2: Community Upgrade with OpenUpgrade\n\n```bash\n# Clone OpenUpgrade for the TARGET version (e.g., upgrading to v17)\ngit clone https://github.com/OCA/OpenUpgrade.git \\\n  --branch 17.0 \\\n  --single-branch \\\n  /opt/openupgrade\n\n# Run the migration against your staging database\npython3 /opt/openupgrade/odoo-bin \\\n  --update all \\\n  --database odoo_staging \\\n  --config /etc/odoo/odoo.conf \\\n  --stop-after-init \\\n  --load openupgrade_framework\n\n# Review the log for errors before touching production\ntail -200 /var/log/odoo/odoo.log | grep -E \"ERROR|WARNING|Traceback\"\n```\n\n### Example 3: Post-Upgrade Validation Checklist\n\n```text\nAfter upgrading, validate these critical areas before going live:\n\nAccounting:\n  ☑ Trial Balance totals match the pre-upgrade snapshot\n  ☑ Open invoices, bills, and payments are accessible\n  ☑ Bank reconciliation can be performed on a test statement\n\nInventory:\n  ☑ Stock valuation report matches pre-upgrade (run Inventory Valuation)\n  ☑ Open Purchase Orders and Sale Orders are visible\n\nHR / Payroll:\n  ☑ All employee records are intact\n  ☑ Payslips from the last 3 months are accessible and correct\n\nCustom Modules:\n  ☑ Every custom module loaded without ImportError or XML error\n  ☑ Run the critical business workflows end-to-end:\n      Create sale order → confirm → deliver → invoice → payment\n\nUsers & Security:\n  ☑ User logins work correctly\n  ☑ Access rights are preserved (spot-check 3-5 users)\n```\n\n## Best Practices\n\n- ✅ **Do:** Always upgrade on a **copy of production** (staging) first — never the live instance.\n- ✅ **Do:** Keep the old version running until the new version is **fully validated and signed off**.\n- ✅ **Do:** Check OCA's migration status page: [OCA Migration Status](https://github.com/OCA/maintainer-tools/wiki/Migration-Status)\n- ✅ **Do:** Use the [Odoo Upgrade Service](https://upgrade.odoo.com/) pre-analysis report to get a list of breaking changes **before writing any code**.\n- ❌ **Don't:** Skip intermediate versions — Odoo requires sequential upgrades (v14→v15→v16→v17).\n- ❌ **Don't:** Upgrade custom modules and Odoo core simultaneously — adapt Odoo core first, then fix custom modules.\n- ❌ **Don't:** Run OpenUpgrade against production directly — always test on a staging copy first.\n\n## Limitations\n\n- Covers **v14–v17** only. Versions v13 and older have a fundamentally different module structure and require manual migration.\n- **Enterprise-exclusive module changes** (e.g., `sign`, `account_accountant`) may have undocumented breaking changes not included in OpenUpgrade.\n- The **Odoo.sh** automated upgrade path has a separate workflow (managed from the Odoo.sh dashboard) not covered here.\n- OWL JavaScript component migration (legacy widget → OWL v16+) is a complex front-end topic beyond the scope of this skill.","tags":["odoo","upgrade","advisor","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding"],"capabilities":["skill","source-sickn33","skill-odoo-upgrade-advisor","topic-agent-skills","topic-agentic-skills","topic-ai-agent-skills","topic-ai-agents","topic-ai-coding","topic-ai-workflows","topic-antigravity","topic-antigravity-skills","topic-claude-code","topic-claude-code-skills","topic-codex-cli","topic-codex-skills"],"categories":["antigravity-awesome-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/odoo-upgrade-advisor","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add sickn33/antigravity-awesome-skills","source_repo":"https://github.com/sickn33/antigravity-awesome-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 34666 github stars · SKILL.md body (4,907 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-23T06:51:42.110Z","embedding":null,"createdAt":"2026-04-18T21:41:56.140Z","updatedAt":"2026-04-23T06:51:42.110Z","lastSeenAt":"2026-04-23T06:51:42.110Z","tsv":"'-200':375 '-5':502 '/)':557 '/etc/odoo/odoo.conf':358 '/oca/maintainer-tools/wiki/migration-status':234 '/oca/maintainer-tools/wiki/migration-status)':548 '/oca/openupgrade.git':336 '/opt/openupgrade':342 '/opt/openupgrade/odoo-bin':351 '/var/log/odoo/odoo.log':376 '1':115,198,207 '10':308 '17.0':338 '2':128,223,316 '3':138,235,383,455,501 '4':245 '5':252 '6':267 '7':284 '8':296 '9':302 'access':415,458,494 'account':399,643,644 'activ':116 'adapt':595 'advisor':4,12,32,121 'alway':507,610 'analysi':259,283,560 'area':395 'assess':137 'autom':656 'backup':239 'balanc':401 'bank':416 'bash':321 'best':504 'beyond':686 'bill':411 'branch':337,341 'break':264,567,648 'busi':475 'cannot':185 'care':44 'chang':265,568,640,649 'check':224,500,537 'checklist':16,57,202,388 'clone':246,322,333 'code':572 'command':147 'communiti':17,230,317 'compat':24,226 'complex':681 'compon':673 'config':357 'confirm':484 'copi':511,615 'core':593,597 'correct':460,493 'cover':618,669 'creat':481 'critic':394,474 'csv':217 'current':124 'custom':91,269,461,464,589,601 'custom/oca':221 'dashboard':667 'databas':240,349,354 'db':262 'decis':314 'deliv':485 'differ':629 'direct':157,164,171,609 'downtim':307 'e':378 'e.g':39,328,641 'employe':447 'end':478,480,684 'end-to-end':477 'enterpris':19,637 'enterprise-exclus':636 'environ':103,251 'error':292,370,379,471 'everi':463 'exampl':196,197,315,382 'exclus':638 'execut':139 'export':215 'filestor':241 'first':515,598,616 'fix':290,600 'framework':365 'front':683 'front-end':682 'full':132,238 'fulli':531 'fundament':628 'get':140,563 'git':332 'github.com':233,335,547 'github.com/oca/maintainer-tools/wiki/migration-status':232 'github.com/oca/maintainer-tools/wiki/migration-status)':546 'github.com/oca/openupgrade.git':334 'give':70 'go':397 'go/no-go':313 'grep':377 'guid':58 'helper':278 'hop':180 'hr':444 'identifi':89 'importerror':468 'includ':651 'init':362 'instal':210 'instanc':519 'intact':450 'intermedi':576 'inventori':425,434 'invoic':410,486 'javascript':672 'keep':521 'last':454 'legaci':675 'limit':617 'list':208,565 'live':398,518 'load':363,466 'log':368 'login':491 'mainten':300 'major':37,85 'manag':663 'manual':193,634 'match':403,429 'matrix':227 'may':645 'mention':117 'migrat':96,194,272,277,345,540,544,635,674 'modul':23,92,211,214,222,231,270,282,462,465,590,602,630,639 'month':456 'multi':179 'multi-hop':178 'need':93 'never':516 'new':528 'note':273 'notifi':303 'oca':22,225,538,543 'odoo':2,9,30,35,64,86,119,158,165,172,255,276,355,552,578,592,596 'odoo-migration-help':275 'odoo-upgrade-advisor':1,118 'odoo.sh':655,666 'old':523 'older':189,625 'open':409,436 'openupgrad':68,161,168,175,320,323,364,606,653 'order':438,441,483 'overview':33 'owl':671,677 'page':542 'path':21,150,658 'payment':413,487 'payrol':445 'payslip':451 'per':281 'per-modul':280 'perform':309,420 'plan':83,129 'point':244 'post':27,74,385 'post-upgrad':26,73,384 'practic':505 'pre':14,55,200,258,406,431,559 'pre-analysi':257,558 'pre-upgrad':13,54,199,405,430 'prepar':45 'preserv':497 'product':105,247,299,310,373,513,608 'protocol':77 'provid':51 'purchas':437 'python3':350 're':294 're-test':293 'receiv':130 'reconcili':417 'record':448 'report':266,428,561 'requir':43,195,579,633 'restor':243 'review':219,263,268,366 'right':495 'risk':136 'roadmap':134 'run':97,253,343,433,472,525,605 'sale':440,482 'schedul':297,306 'scope':688 'secur':489 'separ':661 'sequenc':148 'sequenti':580 'servic':66,160,167,174,554 'set':212 'sign':534,642 'simultan':594 'singl':340 'single-branch':339 'skill':50,82,691 'skill-odoo-upgrade-advisor' 'skip':186,575 'snapshot':408 'source-sickn33' 'spot':499 'spot-check':498 'stage':102,250,289,348,356,514,614 'start':206 'state':122 'statement':424 'status':541,545 'step':6,8,143,145 'step-by-step':5,142 'stock':426 'stop':360 'stop-after-init':359 'structur':53,631 'support':153,192 'system':108 'tail':374 'take':236 'target':126,326 'technic':213 'test':46,287,295,423,611 'text':203,389 'tool':63,154 'topic':685 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-ai-workflows' 'topic-antigravity' 'topic-antigravity-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-codex-cli' 'topic-codex-skills' 'total':402 'touch':372 'traceback':381 'trial':400 'undocu':647 'updat':352 'upgrad':3,11,15,20,28,31,34,56,62,65,75,88,99,111,120,133,146,149,159,166,173,201,256,285,311,318,329,386,391,407,432,508,553,581,588,657 'upgrade.odoo.com':260,556 'upgrade.odoo.com/)':555 'upload':261 'use':80,274,550 'user':304,488,490,503 'v13':187,623 'v14':169,176,181,582,619 'v15':40,162,170,182,583 'v16':41,155,163,183,584,678 'v17':42,156,177,184,331,585,620 'valid':29,48,76,106,312,387,392,532 'valuat':427,435 'version':10,38,87,127,327,524,529,577,622 'visibl':443 'vs':18 'warn':380 'widget':676 'window':301 'without':467 'work':114,492 'workflow':476,662 'write':570 'xml':470","prices":[{"id":"cb820945-1366-4830-80c5-799363e4ccf4","listingId":"83ca95c1-79ad-444d-b3b9-878c5a6968b8","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"sickn33","category":"antigravity-awesome-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:41:56.140Z"}],"sources":[{"listingId":"83ca95c1-79ad-444d-b3b9-878c5a6968b8","source":"github","sourceId":"sickn33/antigravity-awesome-skills/odoo-upgrade-advisor","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/odoo-upgrade-advisor","isPrimary":false,"firstSeenAt":"2026-04-18T21:41:56.140Z","lastSeenAt":"2026-04-23T06:51:42.110Z"}],"details":{"listingId":"83ca95c1-79ad-444d-b3b9-878c5a6968b8","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"odoo-upgrade-advisor","github":{"repo":"sickn33/antigravity-awesome-skills","stars":34666,"topics":["agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity","antigravity-skills","claude-code","claude-code-skills","codex-cli","codex-skills","cursor","cursor-skills","developer-tools","gemini-cli","gemini-skills","kiro","mcp","skill-library"],"license":"mit","html_url":"https://github.com/sickn33/antigravity-awesome-skills","pushed_at":"2026-04-23T06:41:03Z","description":"Installable GitHub library of 1,400+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections.","skill_md_sha":"c8279b4bc34bd9b088f3081343e77526e9dd74e8","skill_md_path":"skills/odoo-upgrade-advisor/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/odoo-upgrade-advisor"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"odoo-upgrade-advisor","description":"Step-by-step Odoo version upgrade advisor: pre-upgrade checklist, community vs enterprise upgrade path, OCA module compatibility, and post-upgrade validation."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/odoo-upgrade-advisor"},"updatedAt":"2026-04-23T06:51:42.110Z"}}