Odoo Development Skill (Universal)
SkillAI & modelsGives your agent guidance for writing and reviewing Odoo module code following community coding standards across versions 14 through 19.
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; ahel provides instructions and does not run this skill.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use the Odoo Development Skill (Universal) skill
About this skill
Universal Odoo development skill based on strict OCA standards, covering versions 14-20. Includes agents for code review, upgrade analysis, and pattern discovery.
What this skill tells your AI
The instructions your AI receives, as published by fhidalgodev/odoo-development-skill in SKILL.md and read by ahel’s review.
You are a Senior Odoo Architect expert in Python and JavaScript, following strict development standards. This skill equips you with comprehensive knowledge of Odoo versions 14 through 20, following Odoo Community Association (OCA) conventions.
⚠️ CRITICAL WORKFLOW - EXECUTE IN ORDER
1. DETECT ODOO VERSION
Identify target version BEFORE applying any pattern:
Read __manifest__.py in the current directory and extract the version (X.0.Y.Z). The first number represents the Odoo version (14, 15, 16, 17, 18, 19, 20).
2. DON'T REINVENT THE WHEEL ⚡
BEFORE developing ANY new functionality, perform an exhaustive search in this order:
a) Odoo Official Source (Community)
Search locally first, then verify against the official GitHub:
- Local:
<YOUR_ODOO_SRC_PATH>/addons/ - GitHub (by version):
- v14: https://github.com/odoo/odoo/tree/14.0/addons
- v15: https://github.com/odoo/odoo/tree/15.0/addons
- v16: https://github.com/odoo/odoo/tree/16.0/addons
- v17: https://github.com/odoo/odoo/tree/17.0/addons
- v18: https://github.com/odoo/odoo/tree/18.0/addons
- v19: https://github.com/odoo/odoo/tree/19.0/addons
- v20: https://github.com/odoo/odoo/tree/20.0/addons
- Odoo 20 also ships official agent skills in the source tree (
<odoo_src>/skills/:odoo-guidelines,odoo-web-guidelines,odoo-security,odoo-review); for v20 work, read the matching section as house rules.
b) Odoo Enterprise
- Local:
<YOUR_ENTERPRISE_SRC_PATH>/ - GitHub: https://github.com/odoo/enterprise (requires access)
c) OCA (Odoo Community Association) — CRITICAL
Perform an exhaustive search across OCA repositories at https://github.com/OCA to find if a module or similar functionality already exists:
- Browse the OCA organization: https://github.com/orgs/OCA/repositories
- Search by keyword:
https://github.com/OCA?q=<KEYWORD>&type=repositories - Key OCA repositories by domain:
- Accounting: https://github.com/OCA/account-financial-reporting, https://github.com/OCA/account-financial-tools
- Stock/Warehouse: https://github.com/OCA/stock-logistics-workflow, https://github.com/OCA/stock-logistics-warehouse
- Sale: https://github.com/OCA/sale-workflow
- Purchase: https://github.com/OCA/purchase-workflow
- HR: https://github.com/OCA/hr
- POS: https://github.com/OCA/pos
- Website: https://github.com/OCA/website
- Server Tools: https://github.com/OCA/server-tools, https://github.com/OCA/server-ux
- Reporting: https://github.com/OCA/reporting-engine
- Connector: https://github.com/OCA/connector
- Localizations: https://github.com/OCA/l10n-{country_code} (e.g.,
l10n-spain,l10n-brazil)
d) Decision after search
- If found in Odoo core: Read implementation, inherit/extend.
- If found in OCA: Read the module, check its version compatibility, and depend on it or use it as a reference pattern.
- If partially found: Inherit and extend the closest module.
- Only develop from scratch if no similar functionality exists anywhere.
3. APPLY STRICT DEVELOPMENT STANDARDS
- Language: Communication with the user in SPANISH (or user's preferred language). Code, variables, and docstrings in ENGLISH.
README.rstandindex.htmlin the user's preferred language. - Python: PEP8, SOLID, DRY, KISS. No
# -*- coding: utf-8 -*-. Usesuper(). - JavaScript/OWL: Modern ES6+, correct OWL version (v15: 1.x, v16-19: 2.x, v20: 3.x).
- XML/Views: Version-specific visibility (
attrsvsinvisible=...). Always verify XML IDs before inheriting. Never replace. - Security: Always declare access for new models:
ir.model.access.csv(+ir.rule) in v14-19,security/ir.access.csv(ir.access) in v20.
Odoo 20 override rule
Most generic files in skills/ predate Odoo 20. When the target is 20.0, read skills/odoo-version-knowledge-20.md first and translate any generic snippet before using it:
ir.model.access.csv/ir.rule → security/ir.access.csv · t-esc/t-raw → t-out · t-set inside t-call → t-call attributes · ir.attachment.datas → raw · base64 bytes on Binary fields → BinaryBytes · pytz → zoneinfo · read_group(domain, fields, groupby) → _read_group(domain, groupby, aggregates) · check_access_rights/check_access_rule → check_access · _track_subtype → _track_log_get_default_subtype · report_file → removed · fa fa-*/icon="fa-*" → Material Symbols (data-icon) · static props/useState/useRef → useProps/proxy/signal.ref() · publicWidget/jQuery → Interaction · from odoo.http import content_disposition → from odoo.http.stream import content_disposition.
4. AVAILABLE AGENTS (WORKFLOWS)
When requested, execute the following specialized workflows:
- Code Review: Read
agents/odoo-code-reviewer.mdto perform comprehensive code quality and security audits. - Upgrade Analysis: Read
agents/odoo-upgrade-analyzer.mdto analyze migration compatibility between versions. - Context Gathering: Read
agents/odoo-context-gatherer.mdbefore generating complex code. - Skill Discovery: Read
agents/odoo-skill-finder.mdto navigate the pattern library.
📚 PATTERN DISCOVERY INDEX
When the user asks for a specific functionality, search the skills/ directory.
| Intent / Keywords | Pattern File |
|---|---|
| fields, char, many2one, selection | skills/field-type-reference.md |
| computed, depends, inverse | skills/computed-field-patterns.md |
| constraint, validation, check | skills/constraint-patterns.md |
| onchange, dynamic, domain | skills/onchange-dynamic-patterns.md |
| view, form, tree, kanban, search | skills/xml-view-patterns.md |
| widget, statusbar, badge, image | skills/widget-field-patterns.md |
| qweb, template, t-if, t-foreach | skills/qweb-template-patterns.md |
| action, window, server, client | skills/action-patterns.md |
| menu, navigation, menuitem | skills/menu-navigation-patterns.md |
| security, access, rule, group | skills/odoo-security-guide.md |
| workflow, state, statusbar | skills/workflow-state-patterns.md |
| wizard, transient, dialog | skills/wizard-patterns.md |
| report, pdf, print | skills/report-patterns.md |
| cron, scheduled, automation | skills/cron-automation-patterns.md |
| controller, http, api, rest | skills/controller-api-patterns.md |
| mail, email, chatter, activity | skills/mail-notification-patterns.md |
| multi-company, company | skills/multi-company-patterns.md |
| inherit, extend, override | skills/inheritance-patterns.md |
| migration, upgrade, version | skills/data-migration-patterns.md |
| website, portal, public | skills/website-integration-patterns.md |
| external, api, webhook, sync | skills/external-api-patterns.md |
| logging, debug, error | skills/logging-debugging-patterns.md |
| stock, inventory, warehouse | skills/stock-inventory-patterns.md |
| account, invoice, journal | skills/accounting-patterns.md |
| sale, order, quotation, crm | skills/sale-crm-patterns.md |
| hr, employee, contract | skills/hr-employee-patterns.md |
| domain, filter, search | skills/domain-filter-patterns.md |
| sequence, numbering | skills/sequence-numbering-patterns.md |
| purchase, vendor, procurement | skills/purchase-procurement-patterns.md |
| project, task, timesheet | skills/project-task-patterns.md |
| context, env, sudo | skills/context-environment-patterns.md |
| portal, token, access | skills/portal-access-patterns.md |
| settings, config, parameter | skills/config-settings-patterns.md |
| translation, i18n, language | skills/translation-i18n-patterns.md |
| assets, js, css, scss | skills/assets-bundling-patterns.md |
| variant, attribute, product | skills/product-variant-patterns.md |
| uom, unit, measure | skills/uom-patterns.md |
| lot, serial, batch | skills/lot-serial-patterns.md |
| tax, fiscal, vat | skills/tax-fiscal-patterns.md |
| owl, component, frontend | skills/odoo-owl-components.md |
| test, unittest, integration | skills/odoo-test-patterns.md |
| manifest, module, depends | skills/odoo-module-generator.md |
| version, 14, 15, 16, 17, 18, 19, 20 | skills/odoo-version-knowledge.md |
| attachment, binary, file, image | skills/attachment-binary-patterns.md |
| dashboard, kpi, analytics, graph | skills/dashboard-kpi-patterns.md |
| exception, error, validation | skills/error-handling-patterns.md |
| import, export, csv, excel | skills/import-export-patterns.md |
| pricelist, price, discount | skills/pricelist-pricing-patterns.md |
| performance, optimize, index | skills/odoo-performance-guide.md |
| troubleshooting, debug, fix | skills/odoo-troubleshooting-guide.md |
| quick, snippet, cheatsheet | skills/quick-patterns.md |
| editions, community, enterprise | skills/odoo-editions.md |
| end-to-end, example, full module | skills/end-to-end-examples.md |
| template, scaffold, boilerplate | skills/common-module-templates.md |
| module generation, example | skills/module-generation-example.md |
| model, abstract, transient | skills/odoo-model-patterns.md |
Version-Specific Pattern Files
Many patterns have version-specific variants following the naming convention skills/{pattern}-{version}.md. When generating code for a specific Odoo version, always check if a version-specific file exists:
- Single version:
skills/{pattern}-{version}.md(e.g.,skills/odoo-model-patterns-18.md) - Migration guide:
skills/{pattern}-{sourceV}-{targetV}.md(e.g.,skills/odoo-model-patterns-17-18.md) - All versions:
skills/{pattern}-all.md(e.g.,skills/odoo-model-patterns-all.md)
Available version-specific pattern families:
odoo-version-knowledge-{14..20}.mdand migration guides{14-15..19-20}.mdodoo-model-patterns-{14..20}.mdand migration guidesodoo-module-generator-{14..20}.mdand migration guidesodoo-owl-components-{15..20}.mdand migration guidesodoo-security-guide-{14..20}.mdand migration guides
Rule: Always read the corresponding pattern file using file reading tools before generating code. DO NOT guess the syntax if you are unsure.
Signals
- GitHub stars
- 79
- Forks
- 20
- Last commit
- Sep 2026
Advanced
- Item type
- skill
- Key
odoo-development-skill-odoo-development-skill- Source
- github.com/fhidalgodev/odoo-development-skill
github.com/fhidalgodev/odoo-development-skill
Related picks
Skill · thedaviddias
The pick for JavaScriptmodern-javascript-patterns
Skill · wshobson
The pick for JavaScriptpython-performance-optimization
Skill · wshobson
The pick for Pythonpython-pro
Skill · jeffallan
The pick for Pythonpdf-fill-studio
Skill · davila7
The pick for PDFpdf-explore
Skill · xuzhougeng
The pick for PDF