Odoo 16
Agent Skills for Odoo, OCA-compatible addon development, porting, and open-core Odoo products.
npx -y skills add wpmoo-org/odoo-skills --skill odoo-16Assembled 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 creating, reviewing, migrating, or debugging Odoo 16.0 addons, especially OCA-style addons that need 16.0 ORM, view, asset, security, testing, or migration guidance.
SKILL.md
2.5 KB, as published. Nobody here has run it
Odoo 16 Development Skill
Use this skill when creating, reviewing, migrating, or debugging Odoo 16.0 addons, especially OCA-style addons.
First Steps
- Confirm the target branch, dependency policy, and whether the addon belongs to an OCA repository or a private repository following OCA rules.
- Read
references/official-sources.mdfor the official Odoo 16 and OCA source map. - Pick the focused reference files for the task:
references/module-backend-security.mdreferences/ui-frontend.mdreferences/testing-quality-oca.mdreferences/porting-upgrade.md
- Prefer local repository conventions over generic examples when they are stricter and still compatible with Odoo 16.0.
Version Rules
- Target branch names and manifest versions must use
16.0. - XML list views use
<tree>, not<list>. - Action
view_modevalues usetree,form, notlist,form. attrsandstatesare valid Odoo 16 view modifier mechanisms.- Use manifest
assetsbundles for frontend assets. - Do not add Odoo 17+ view modifier syntax, Odoo 18+ HOOT patterns, or Odoo 19 ORM-only APIs unless the target repository already provides a compatibility layer.
- Follow OCA metadata, linting, README fragment, migration, and test conventions when the addon is OCA-style.
Development Checklist
- Keep manifests explicit:
name,version,depends,license,author,website,data,demo, andassetsonly when needed. - Use
models.Model,models.TransientModel, ormodels.AbstractModelaccording to persistence and API needs. - Keep business constraints in Python unless an SQL constraint is the simpler durable guarantee.
- Use access CSV files and record rules for security. Menus and views are not security boundaries.
- Keep XML IDs stable and migration-friendly.
- Keep frontend code in Odoo 16 asset bundles and use
/** @odoo-module **/for native JavaScript modules. - Write focused tests and tag install-time or post-install tests deliberately.
Validation
Run the bundled lightweight validator on an addon path before final review:
node skills/odoo-16/scripts/validate-addon.mjs /path/to/addon
Then run the repository's normal OCA checks, typically pre-commit hooks,
pylint-odoo --valid-odoo-versions=16.0, and Odoo tests with the right
database and --test-tags.