odoo-plugins

Comprehensive Odoo ERP upgrade skill for Claude Code - Automates migrations between Odoo versions 14-19 with pattern detection and fixes

120
安装命令
npx skhub add --skillset @ahmed-lakosha/odoo-plugins

包含的技能

Odoo frontend JavaScript patterns for website themes. Covers publicWidget framework (complete pattern with editableMode handling), Owl v1/v2 component patterns, _t() translation best practices, Bootstrap 4-to-5 migration, version detection, and critical development rules. Supports Odoo 14-19. <example> Context: User wants to create a publicWidget user: "Create a publicWidget for my Odoo website" assistant: "I will create a publicWidget with editableMode handling and proper cleanup." <commentary>publicWidget creation.</commentary> </example> <example> Context: User asks about Owl components user: "How do I create an Owl component in Odoo 18?" assistant: "I will show the Owl v2 pattern with static template and props." <commentary>Owl component pattern.</commentary> </example> <example> Context: User needs help with translations user: "How do I translate JavaScript strings in Odoo?" assistant: "Use _t() at DEFINITION TIME for static labels, not runtime wrappers." <commentary>Translation best practices.</commentary> </example> <example> Context: User migrating Bootstrap classes user: "Convert Bootstrap 4 classes to Bootstrap 5 for Odoo 17" assistant: "Replace ml-* with ms-*, mr-* with me-*, text-left with text-start." <commentary>Bootstrap migration.</commentary> </example>
00
Docker infrastructure manager for Odoo — production deployment, nginx proxy, CI/CD pipelines, performance tuning, multi-version image management, container debugging, and centralized workspace orchestration for Odoo 14-19 Enterprise. v2.0 consolidates nginx, debug, and perf into natural language triggers alongside the /odoo-docker sub-command interface. <example> Context: User wants to deploy Odoo to production with Docker user: "Deploy my Odoo 17 project to production using Docker" assistant: "I will use the odoo-docker skill to generate a production docker-compose.yml with Odoo, PostgreSQL, and nginx containers, with proper volume mounts and restart policies." <commentary>Core trigger - production Docker deployment.</commentary> </example> <example> Context: User wants nginx reverse proxy configuration user: "Set up nginx as a reverse proxy in front of my Odoo Docker container" assistant: "I will use the odoo-docker skill to generate an nginx.conf with SSL termination, WebSocket longpolling proxy, and proper cache headers for Odoo static assets." <commentary>Infrastructure trigger - nginx configuration for Odoo.</commentary> </example> <example> Context: User has a crashing Docker container user: "My Odoo Docker container keeps restarting - how do I debug it?" assistant: "I will use the odoo-docker skill to check container logs, verify environment variables, inspect the Odoo config, and identify the startup failure cause." <commentary>Debugging trigger - container crash diagnosis.</commentary> </example> <example> Context: User needs nginx reverse proxy for Odoo user: "Generate nginx config for my Odoo Docker setup" assistant: "I will use the odoo-docker skill to generate an optimized nginx.conf with gzip, WebSocket proxy, caching, and rate limiting." <commentary>Nginx trigger - reverse proxy configuration.</commentary> </example> <example> Context: User's container keeps crashing user: "My Odoo container keeps restarting, help me debug it" assistant: "I will use the odoo-docker skill to check container status, logs, health, network, and volumes systematically." <commentary>Debug trigger - container troubleshooting.</commentary> </example> <example> Context: User wants performance optimization user: "Analyze and tune my Odoo Docker performance" assistant: "I will use the odoo-docker skill to analyze Docker config, PostgreSQL tuning, resource limits, and generate recommendations." <commentary>Performance trigger - Docker tuning analysis.</commentary> </example> <example> Context: User wants to build Docker images user: "Build Docker image for Odoo 17 with my custom modules" assistant: "I will use the odoo-docker skill to create a Dockerfile and build the image with proper layer caching." <commentary>Build trigger - Docker image creation.</commentary> </example>
00
Comprehensive Odoo i18n toolkit for extracting translatable strings, validating .po files, generating translation reports, managing Arabic/RTL layouts, and handling multilingual deployments across Odoo 14-19. <example> Context: User wants to extract translatable strings user: "Extract all translatable strings from my Odoo 17 module to a .pot file" assistant: "I will use the odoo-i18n skill to scan Python _() calls, XML translate attributes, and field strings, then generate a properly structured .pot template file." <commentary>Core trigger - translation extraction workflow.</commentary> </example> <example> Context: User wants Arabic translation user: "Generate an Arabic .po file for my Odoo module" assistant: "I will use the odoo-i18n skill to create an ar.po file with RTL-aware formatting and placeholder translations for all extractable strings." <commentary>Language-specific trigger - Arabic/RTL translation generation.</commentary> </example> <example> Context: User wants to validate a translation file user: "Validate my Arabic .po file for errors" assistant: "I will use the odoo-i18n skill to check syntax, encoding, empty translations, fuzzy entries, and RTL-specific issues." <commentary>Validate trigger - .po file validation.</commentary> </example> <example> Context: User wants to find missing translations user: "Find all strings missing Arabic translation in my module" assistant: "I will compare the .pot template against ar.po and report all untranslated or fuzzy entries." <commentary>Missing trigger - translation gap analysis.</commentary> </example> <example> Context: User wants RTL/SCSS help user: "Fix the RTL layout issues in my Odoo theme for Arabic" assistant: "I will use the odoo-i18n skill to apply CSS logical properties, [dir='rtl'] overrides, and Font Awesome icon swaps for Arabic support." <commentary>RTL trigger - Arabic layout and styling guidance.</commentary> </example> <example> Context: User needs to export/import translations via Odoo CLI user: "Export translations for my module using Odoo CLI" assistant: "I will use the odoo-i18n skill to run the Odoo export command and generate the .po file." <commentary>Export trigger - Odoo CLI translation export.</commentary> </example> <example> Context: User needs to load a language into Odoo user: "How do I activate Arabic language in my Odoo database?" assistant: "I will use the odoo-i18n skill to load the Arabic language pack and activate it via shell or CLI." <commentary>Language activation trigger.</commentary> </example> <example> Context: User has translation issues after deployment user: "My translations are not showing after I updated the module" assistant: "I will diagnose the issue: check encoding, language activation, module update, and browser cache." <commentary>Troubleshooting trigger - translation visibility issues.</commentary> </example>
00
Professional Odoo Email Templates & QWeb Reports - Complete toolkit for creating, managing, and debugging email templates and PDF reports across Odoo 14-19. Includes wkhtmltopdf setup, Arabic/RTL support, bilingual patterns, and comprehensive validation. <example> Context: User wants to create an email template user: "Create an invoice confirmation email template in Odoo 17" assistant: "I will use the odoo-report skill to create a mail.template record with QWeb body, dynamic fields, and correct ir.attachment handling." <commentary>Core trigger - new email template creation.</commentary> </example> <example> Context: User wants a PDF report user: "Design a QWeb PDF report for purchase orders" assistant: "I will use the odoo-report skill to create a report action, QWeb template with page layout, header/footer, and register it in the module manifest." <commentary>PDF report workflow trigger.</commentary> </example> <example> Context: User has a broken email template user: "My email template is sending plain text instead of HTML" assistant: "I will use the odoo-report skill to diagnose the template body_html field, check subtype_id, and verify the mail.template arch is structured correctly for HTML rendering." <commentary>Debugging trigger - email template not rendering correctly.</commentary> </example> <example> Context: User wants to analyze a template user: "Analyze this email template for issues and improvements" assistant: "I will use the odoo-report skill to check template structure, context variables, rendering patterns, and suggest improvements." <commentary>Analyze trigger - template quality review.</commentary> </example> <example> Context: User wants to migrate templates between versions user: "Migrate my templates from Odoo 14 to 17" assistant: "I will use the odoo-report skill to apply version-specific transformations: t-esc to t-out, report_template to report_template_ids, and add template_category." <commentary>Migration trigger - version upgrade.</commentary> </example> <example> Context: User wants pre-deployment validation user: "Validate my QWeb report template before deployment" assistant: "I will check syntax, context variable usage, security patterns, and version compatibility." <commentary>Validate trigger - pre-deployment template check.</commentary> </example> <example> Context: User wants to see templates user: "List all email templates for sale.order in my module" assistant: "I will scan the module for mail.template and ir.actions.report records targeting the sale.order model." <commentary>List trigger - template discovery.</commentary> </example> <example> Context: User wants to preview output user: "Preview this email template with sample data" assistant: "I will generate a preview using the template's QWeb expressions with realistic sample context variables." <commentary>Preview trigger - template output preview.</commentary> </example> <example> Context: User wants automatic fixes user: "Fix common issues in my email template" assistant: "I will apply safe transformations to fix encoding, missing fields, broken QWeb expressions, and version-specific syntax." <commentary>Fix trigger - auto-fix template issues.</commentary> </example>
00
Comprehensive Odoo security auditor for model access rules, HTTP route authentication, sudo() usage, SQL injection risks, and record rule completeness across Odoo 14-19. <example> Context: User wants a full security audit user: "Run a complete security audit on my HR module" assistant: "I will audit access rules, HTTP routes, sudo usage, and SQL injection risks across all files in the module." <commentary>Full audit trigger - comprehensive security review.</commentary> </example> <example> Context: User wants to check access rules user: "Check if all models have proper access rules in ir.model.access.csv" assistant: "I will scan all Python model definitions and compare against ir.model.access.csv to find missing read/write/create/unlink rules." <commentary>Access check trigger - ir.model.access.csv completeness.</commentary> </example> <example> Context: User wants to find risky sudo usage user: "Find all places where sudo() is used without proper context" assistant: "I will scan for .sudo() calls, categorize by context (controller, compute, action), and flag privilege escalation risks." <commentary>Sudo finder trigger - privilege escalation risk analysis.</commentary> </example> <example> Context: User wants SQL injection audit user: "Scan my module for SQL injection vulnerabilities" assistant: "I will scan all Python files for unsafe cr.execute() patterns, string formatting in queries, and missing parameterization." <commentary>SQL injection trigger - scans for unsafe database query patterns.</commentary> </example>
00
Complete Odoo server lifecycle manager — run, deploy, initialize, and manage Odoo across local venv, Docker, and any IDE. Handles server startup/shutdown, environment initialization, database management, Docker orchestration, and IDE configuration for Odoo 14-19. <example> Context: User wants to start the Odoo server user: "Start the Odoo 17 server for my TAQAT project" assistant: "I will activate the virtual environment, locate the TAQAT17.conf config, and start the server with the correct addons path." <commentary>Server start trigger.</commentary> </example> <example> Context: User wants to stop the server user: "Stop the Odoo server" assistant: "I will find and kill the process on port 8069/8072." <commentary>Server stop trigger.</commentary> </example> <example> Context: User wants database backup user: "Backup the taqat17 database" assistant: "I will use pg_dump to create a backup of the taqat17 database with custom format." <commentary>Database operation trigger.</commentary> </example> <example> Context: User wants IDE configuration user: "Set up VSCode for my Odoo 17 project with debug configs" assistant: "I will generate .vscode/launch.json, tasks.json, settings.json, and extensions.json with Odoo-specific configurations." <commentary>IDE config trigger - generates full VSCode workspace setup.</commentary> </example> <example> Context: User wants to initialize a new environment user: "Initialize a new Odoo 17 environment with database" assistant: "I will create a venv, install requirements, configure PostgreSQL, generate .conf, and create the database." <commentary>Environment init trigger.</commentary> </example> <example> Context: User wants to create a new module user: "Create a new module called hr_overtime in the TAQAT project" assistant: "I will scaffold a complete module with models, views, security, and tests." <commentary>Module scaffold trigger.</commentary> </example> <example> Context: User wants to check if module is production-ready user: "Is my module ready for production?" assistant: "I will run tests, security audit, translation validation, and template checks to generate a GO/NO-GO verdict." <commentary>Quality gate trigger.</commentary> </example>
00
Comprehensive Odoo testing toolkit for generating test skeletons, running test suites, creating mock data, and analyzing test coverage across Odoo 14-19. Supports TransactionCase, HttpCase, SavepointCase, and integrates with Azure DevOps for CI/CD test result reporting. <example> Context: User wants test cases for a custom model user: "Generate test cases for my custom sale.order extension module" assistant: "I will use the odoo-test skill to analyze the model definition and generate TransactionCase test skeletons covering CRUD operations, computed fields, and business logic." <commentary>Core trigger - test skeleton generation from model definition.</commentary> </example> <example> Context: User wants mock data for testing user: "Create realistic mock data for testing my inventory module" assistant: "I will use the odoo-test skill to generate a mock data factory with realistic product, partner, and stock.move records using Odoo demo data patterns." <commentary>Test data creation trigger.</commentary> </example> <example> Context: User wants to analyze test coverage user: "Show me which parts of my module have no test coverage" assistant: "I will use the odoo-test skill to scan the module for untested models, methods, and views, then generate a coverage report with priority recommendations." <commentary>Coverage analysis trigger - finding gaps in the test suite.</commentary> </example> <example> Context: User wants test skeletons for a model user: "Generate test cases for my sale.order extension" assistant: "I will analyze the model definition and generate TransactionCase test skeletons covering CRUD, computed fields, and business logic." <commentary>Test generation trigger.</commentary> </example> <example> Context: User wants mock data user: "Create realistic mock data for testing my inventory module" assistant: "I will generate a mock data factory with realistic product, partner, and stock.move records using Odoo demo data patterns." <commentary>Mock data trigger.</commentary> </example> <example> Context: User wants to run tests user: "Run tests for my custom module with post_install tag" assistant: "I will execute the test suite with --test-enable and --test-tags=post_install, showing colored output." <commentary>Test run trigger.</commentary> </example> <example> Context: User wants coverage analysis user: "Show me which parts of my module have no test coverage" assistant: "I will scan for untested models, methods, and views, then generate a coverage report with priority recommendations." <commentary>Coverage analysis trigger.</commentary> </example> <example> Context: User wants E2E tests user: "Generate Playwright E2E tests for my Odoo module" assistant: "I will create Playwright test files covering login, navigation, form submission, and data validation for the module's web interface." <commentary>E2E test trigger.</commentary> </example>
00
Comprehensive Odoo ERP upgrade assistant for migrating modules between Odoo versions (14-19). Handles XML views, Python API changes, JavaScript/OWL components, theme SCSS variables, manifest updates, security implementations, and database migrations. Use when user asks to upgrade Odoo modules, fix version compatibility issues, migrate themes between versions, or resolve Odoo 17/18/19 migration errors. Specializes in frontend RPC service migrations, view XML transformations, theme variable restructuring, and portal template XPath fixes. <example> Context: User wants to upgrade an Odoo module to a newer version user: "Upgrade my Odoo 16 module to Odoo 17" assistant: "I will use the odoo-upgrade skill to analyze your module, apply XML view transformations, update Python API decorators, and fix manifest version strings for Odoo 17 compatibility." <commentary>Core trigger - version migration request with module in scope.</commentary> </example> <example> Context: User hits migration errors after an Odoo version change user: "My module breaks with tree views in Odoo 19 - how do I fix it?" assistant: "I will use the odoo-upgrade skill to convert all tree views to list views, update attrs expressions to inline invisible, and fix any other Odoo 19 breaking changes." <commentary>Error-driven trigger - fix specific migration breakage.</commentary> </example> <example> Context: User needs data migration scripts user: "Generate migration scripts for upgrading my module from Odoo 17 to 19" assistant: "I will create pre-migrate.py and post-migrate.py scripts handling field renames, data transformations, and cleanup." <commentary>Data migration trigger - generates migration script templates.</commentary> </example>
00
Odoo theme scaffolding and creation pipeline. Generates complete, installable Odoo theme modules with proper file structure, SCSS configuration, page templates, mirror models, theme.utils activation, and auto-fix installation. Supports Odoo 14-19. <example> Context: User wants to create a new Odoo website theme user: "Create a new website theme for Odoo 17" assistant: "I will use the theme-create skill to scaffold a complete theme module." <commentary>Core trigger - new theme creation.</commentary> </example> <example> Context: User wants to scaffold a theme from Figma user: "Build an Odoo 17 theme from this Figma design" assistant: "I will scaffold the theme module and extract design tokens from Figma." <commentary>Theme creation with Figma extraction.</commentary> </example> <example> Context: User wants mirror models for multi-website user: "Create theme mirror models for my website pages" assistant: "I will generate theme.ir.ui.view and theme.website.page records." <commentary>Mirror model generation.</commentary> </example> <example> Context: User wants to fix a broken theme installation user: "My theme won't install, I get an undefined variable error" assistant: "I will diagnose the SCSS load order issue and fix the map-merge pattern." <commentary>Theme installation debugging.</commentary> </example>
00
Figma-to-Odoo design workflow and complete page template reference. Covers Figma extraction pipeline (colors, typography, layout), Chrome MCP automation, design-to-template matching methodology, header/footer decision flowcharts, and dynamic page reference (11 headers, 9 footers, shop, blog, cart templates with XML IDs). <example> Context: User wants to implement a Figma design user: "Implement this Figma design as an Odoo 17 theme" assistant: "I will analyze the Figma design and match it to Odoo templates." <commentary>Design-to-code workflow.</commentary> </example> <example> Context: User asks which header template to use user: "Which Odoo header template matches a hamburger menu design?" assistant: "Use template_header_hamburger." <commentary>Template matching query.</commentary> </example> <example> Context: User wants to know footer options user: "What footer templates are available in Odoo?" assistant: "There are 9 footer templates ranging from default to slideout." <commentary>Footer template reference.</commentary> </example>
00
Complete SCSS variable reference for Odoo themes. Covers all three core variable systems: $o-theme-font-configs (Google Fonts), $o-color-palettes (color system with 5 semantic colors), and $o-website-values-palettes (115+ keys for typography, buttons, inputs, headers, footers, layout). Includes SCSS load order rules and color derivation. <example> Context: User asks about SCSS variables user: "What SCSS variables can I configure in my Odoo theme?" assistant: "I will use the theme-scss skill to show the complete variable reference." <commentary>Variable reference lookup.</commentary> </example> <example> Context: User wants to configure colors user: "How do I set up o-color-1 through o-color-5?" assistant: "I will explain the semantic color system and palette configuration." <commentary>Color palette configuration.</commentary> </example> <example> Context: User gets undefined variable error user: "I get 'Undefined variable $o-color-palettes' in my theme" assistant: "This is a SCSS load order issue. Theme files load BEFORE core variables." <commentary>SCSS debugging - load order issue.</commentary> </example> <example> Context: User wants to configure fonts user: "How do I add Google Fonts to my Odoo theme?" assistant: "Use $o-theme-font-configs with the font query parameter, not the full URL." <commentary>Font configuration.</commentary> </example>
00
Complete Odoo website snippet reference and creation guide. Covers snippet architecture, 81+ static snippet templates (structure, gallery, features, dynamic, inner content, mega menus), dynamic snippets system, snippet options (we-* elements), custom snippet creation for Odoo 14-19, and version-aware registration (simple vs groups). <example> Context: User wants to create a custom snippet user: "Create a custom snippet for my Odoo website" assistant: "I will create a version-aware snippet with template, registration, and options." <commentary>Custom snippet creation.</commentary> </example> <example> Context: User wants to know available snippets user: "What snippets are available in Odoo?" assistant: "Odoo has 81+ static snippets across 6 categories." <commentary>Snippet inventory reference.</commentary> </example> <example> Context: User wants a dynamic snippet user: "Create a dynamic snippet that shows latest products" assistant: "I will create a dynamic snippet with filter, display template, and data source." <commentary>Dynamic snippet creation.</commentary> </example> <example> Context: User needs snippet options user: "Add customization options to my snippet" assistant: "I will create snippet_options XML with we-* elements." <commentary>Snippet options system.</commentary> </example>
00