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-skill

README

GitHub release GitHub stars License

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

  1. 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\
  1. The skill will be automatically available when you ask Claude to upgrade Odoo modules.

As a Standalone Tool

  1. Clone or copy the repository:
git clone <repository-url> odoo-upgrade-skill
cd odoo-upgrade-skill
  1. 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_id with id
  • โœ… Kanban template name changes (kanban-box โ†’ card)
  • โœ… Remove js_class attributes
  • โœ… Remove numbercall from cron jobs

Python Code

  • โœ… slug function compatibility
  • โœ… url_for import 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:

  1. Frontend RPC service unavailable
  2. Kanban views broken
  3. Search filters not working
  4. Theme colors not applying
  5. 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 VersionTo VersionDifficultyMajor Changes
17 โ†’ 1818Low

...

Read full README

Publisher

ahmed-lakoshaahmed-lakosha

Statistics

Stars5
Forks3
Open Issues0
CreatedOct 24, 2025