Odoo oca
Agent Skills for Odoo, OCA-compatible addon development, porting, and open-core Odoo products.
npx -y skills add wpmoo-org/odoo-skills --skill odoo-ocaAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use when developing Odoo addons that should follow OCA-compatible repository layout, Odoo-version branches, manifests, linting, tests, porting, and review conventions.
SKILL.md
4.0 KB, as published. Nobody here has run it
Odoo OCA-Compatible Addon Development
Use this skill when creating, editing, reviewing, testing, or porting Odoo addons that should stay compatible with OCA conventions.
Repository rules
- Use one Git branch per Odoo major version:
13.0through19.0in this skill pack. - Keep each branch compatible with exactly one Odoo major version.
- Keep environment, deployment, and generated DevOps files outside addon source repositories.
- Keep each addon in its own top-level directory inside the addon repository.
- Prefer small, composable addons over large modules with unrelated features.
- Do not commit local databases, filestores, cache directories, logs, or secrets.
Manifest rules
- Every addon must have
__manifest__.pyand__init__.py. - Manifest version must start with the Odoo branch version, for example
18.0.1.0.0or19.0.1.0.0. - Community addons should use
LGPL-3orAGPL-3according to the repository policy. - The
dependslist must be minimal and explicit. - Community addons must not depend on private/pro addons.
- Keep
installableset toTrueonly when the addon is ready to install for this Odoo version.
Example manifest skeleton:
{
"name": "My Addon",
"version": "19.0.1.0.0",
"category": "Productivity",
"summary": "Short functional summary",
"depends": ["base"],
"data": [
"security/ir.model.access.csv",
],
"installable": True,
"license": "LGPL-3",
}
Version routing
- Load the matching version skill before changing syntax-sensitive code:
odoo-13,odoo-14,odoo-15,odoo-16,odoo-17,odoo-18, orodoo-19. - Odoo 13 and 14 use legacy frontend asset patterns.
- Odoo 15 and 16 use manifest asset bundles but still use
<tree>list views andattrs/statesmodifiers. - Odoo 17 still uses
<tree>but uses direct XML modifier expressions. - Odoo 18 and 19 use
<list>list views andlist,formaction modes. - Odoo 19 has additional ORM/API changes such as
models.Constraintand JSON-RPC route naming.
Testing and quality checks
Before reporting completion, run the checks that are available in the current project. Prefer this order when configured:
pre-commit run -a
Then install or update the touched addon in the matching Odoo version and run its tests. Use the project's runner, for example:
./scripts/test.sh addon_name
or the equivalent Odoo command with --test-enable and --stop-after-init.
When a repository uses WPMoo tooling, keep command examples on the current standard:
- Use
npx @wpmoo/toolkit ...for day-to-day workspace commands. - Use
./moo ...inside generated Odoo development environments. - Start with
doctorwhen environment state matters. - Use
snapshotbefore risky local changes andrestore-snapshotto return to a saved local state. - Use
resetdbfor clean install/update checks. - Use
lintfor configured project quality checks. - Use
potwhen views, labels, help text, or other translated strings change.
Do not recommend @wpmoo/odoo or @wpmoo/odoo-dev except in explicit deprecated-compatibility
documentation.
Porting rules
- Port changes forward one Odoo branch at a time unless instructed otherwise.
- Update manifest versions when porting to a new Odoo major version.
- Review Odoo API, XML view, security, and dependency changes for the target version.
- Keep migration compatibility notes in the PR or changelog when behavior changes.
Done criteria
- Addon source is in the correct Odoo-version branch.
- Manifest version, license, dependencies, and installable status are valid.
- Community addons do not depend on private/pro addons.
- Relevant install/update tests pass for the target Odoo version.
- Generated documentation or README files are updated when module behavior changes.