ahmed-lakosha/odoo-upgrade-skill
Comprehensive Odoo ERP upgrade skill for Claude Code - Automates migrations between Odoo versions 14-19 with pattern detection and fixes
5 stars3 forksUpdated Oct 24, 2025
npx skills add ahmed-lakosha/odoo-upgrade-skillREADME
Odoo Upgrade Skill for Claude Code
A comprehensive Claude Code skill for automating Odoo ERP module upgrades between versions 14-19, with special focus on the breaking changes in Odoo 19.
๐ Features
- Automated Pattern Detection: Identifies and fixes common migration issues
- Multi-Version Support: Handles migrations from Odoo 14 through 19
- RPC Service Migration: Automatically converts frontend RPC calls for Odoo 19
- XML Transformation: Fixes view definitions, kanban templates, and search views
- Python API Updates: Handles import changes and deprecated methods
- Theme Migration: Updates SCSS variables and font configurations
- Comprehensive Error Catalog: Documents 25+ common errors with solutions
- Helper Scripts: Python scripts for batch processing
๐ฆ Installation
As a Claude Code Skill
- Copy the skill to your Claude Code skills directory:
# For project-specific use
cp -r C:\tmp\plugins\odoo-upgrade-skill .claude\skills\
# For global use
cp -r C:\tmp\plugins\odoo-upgrade-skill %USERPROFILE%\.claude\skills\
- The skill will be automatically available when you ask Claude to upgrade Odoo modules.
As a Standalone Tool
- Clone or copy the repository:
git clone <repository-url> odoo-upgrade-skill
cd odoo-upgrade-skill
- Install Python dependencies:
pip install lxml
๐ฏ Quick Start
Using with Claude Code
Simply ask Claude:
- "Upgrade my Odoo module from version 17 to 19"
- "Fix RPC service errors in my Odoo 19 module"
- "Migrate my theme to Odoo 19"
Claude will automatically use this skill when detecting Odoo upgrade tasks.
Using Helper Scripts Standalone
Fix RPC Service Issues
python scripts/fix_rpc_service.py path/to/module
Update Manifests
python scripts/upgrade_manifest.py path/to/module --target 19
Process Entire Project
python scripts/upgrade_manifest.py path/to/project --recursive --target 19
python scripts/fix_rpc_service.py path/to/project
๐ What Gets Fixed
JavaScript/Frontend (Odoo 19)
- โ RPC service removal and replacement with fetch
- โ
Module annotations (
/** @odoo-module **/) - โ Service registration changes
- โ Import path updates
XML Views
- โ
<tree>โ<list>conversion - โ
Remove
edit="1"attributes - โ
Fix search view
<group>tags - โ
Replace
active_idwithid - โ
Kanban template name changes (
kanban-boxโcard) - โ
Remove
js_classattributes - โ
Remove
numbercallfrom cron jobs
Python Code
- โ
slugfunction compatibility - โ
url_forimport changes - โ External dependency declarations
- โ API decorator updates
Themes/SCSS
- โ Variable naming conventions
- โ
Font configuration with
map-merge - โ Color palette menu/footer assignments
- โ Unit conversions (px โ rem)
Manifests
- โ
Version format (e.g.,
19.0.1.0.0) - โ Missing license key
- โ External dependencies
- โ Auto-detect Python packages
๐ Example: Relief Center Migration
This skill was developed while migrating a complex humanitarian aid system from Odoo 17 to 19:
Project Stats:
- 5 interdependent modules
- 115 files analyzed
- 32 files modified
- 450+ lines changed
- 10 RPC calls migrated
- 7 JavaScript components fixed
Key Issues Resolved:
- Frontend RPC service unavailable
- Kanban views broken
- Search filters not working
- Theme colors not applying
- MapTiler integration failing
๐ Documentation Structure
odoo-upgrade-skill/
โโโ SKILL.md # Main skill definition
โโโ patterns/
โ โโโ common_patterns.md # Universal patterns
โ โโโ odoo18_to_19.md # Version-specific changes
โโโ fixes/
โ โโโ xml_fixes.md # XML transformation templates
โ โโโ javascript_fixes.md # JS/OWL migration templates
โโโ scripts/
โ โโโ upgrade_manifest.py # Manifest updater
โ โโโ fix_rpc_service.py # RPC service fixer
โโโ reference/
โ โโโ error_catalog.md # 25+ common errors
โโโ README.md # This file
๐ ๏ธ Manual Intervention Required
Some issues require manual review:
- Complex business logic changes
- Custom widget rewrites
- Third-party module compatibility
- Database schema migrations
- Report template updates
๐งช Testing After Upgrade
Always test after upgrading:
# Install upgraded module
python -m odoo -d test_db -i module_name --stop-after-init
# Run with development mode
python -m odoo -d test_db --dev=xml,css,js
# Run tests
python -m odoo -d test_db --test-enable -i module_name
๐ Version Compatibility
| From Version | To Version | Difficulty | Major Changes |
|---|---|---|---|
| 17 โ 18 | 18 | Low |
...
Publisher
Statistics
Stars5
Forks3
Open Issues0
CreatedOct 24, 2025