From basaltbytes-skills
Use when working on Odoo 19 server-side code or backend tests: Python models, ORM recordsets, fields/decorators, domains, SQL/cache, `__manifest__.py`, XML/CSV data, ACLs/rules, `sudo`, controllers, `@route`, `ir.cron`, JSON-2/XML-RPC, QWeb reports, `TransactionCase`, `HttpCase`, `Form`, tours, `start_tour`, or `--test-tags`. Not for web-client JS, Owl internals, Hoot, frontend assets, views, or widgets.
How this skill is triggered — by the user, by Claude, or both
Slash command
/basaltbytes-skills:odoo-backendThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
> The skill is based on Odoo 19.0 backend and external API documentation, generated at 2026-04-22.
GENERATION.mdreferences/best-practices-odoo-19-backend.mdreferences/core-domains-sql-and-cache.mdreferences/core-fields-and-decorators.mdreferences/core-module-structure-and-data.mdreferences/core-orm-models-recordsets.mdreferences/core-security-acl-and-rules.mdreferences/features-actions-and-cron.mdreferences/features-common-mixins.mdreferences/features-controllers-and-http.mdreferences/features-external-api-and-rpc.mdreferences/features-qweb-reports.mdreferences/performance-profiling-and-batching.mdreferences/testing-backend-and-tours.mdThe skill is based on Odoo 19.0 backend and external API documentation, generated at 2026-04-22.
Use this for Odoo-specific server behavior agents often get wrong. It skips generic Python, ORM, and XML material. Load only the narrowest reference that matches the task.
| If the task is about... | Read |
|---|---|
__manifest__.py, XML/CSV loading, record/function tags, noupdate | core-module-structure-and-data |
recordsets, _inherit, _inherits, reserved fields, constraint/index attrs | core-orm-models-recordsets |
computed/related fields, @api.depends, @api.onchange, @api.constrains, @api.model_create_multi, @api.private | core-fields-and-decorators |
domains, search_fetch, _read_group, raw SQL, SQL(...), flushing, cache invalidation, modified(...) | core-domains-sql-and-cache |
ACL CSVs, record rules, sudo, field groups=, RPC exposure, SQL injection, safe_eval, escaping HTML | core-security-acl-and-rules |
action dicts, ir.actions.server, ir.cron, _commit_progress | features-actions-and-cron |
Python controllers, @route, request env, controller inheritance | features-controllers-and-http |
external integrations, bearer-key JSON-2, /json/2, legacy XML-RPC / JSON-RPC execute_kw | features-external-api-and-rpc |
QWeb PDF/HTML reports, paper formats, custom _get_report_values, report assets/fonts | features-qweb-reports |
mail.thread, aliases, activities, common backend mixins | features-common-mixins |
TransactionCase, HttpCase, Form, --test-tags, tours, query-count assertions | testing-backend-and-tours |
| profiling, batching, prefetch, query budgets, indexes | performance-profiling-and-batching |
| final review pass, Odoo 19 deltas, common regressions | best-practices-odoo-19-backend |
self; enforce singleton semantics explicitly._read_group, batch create, recordset-aware loops, and query-count checks catch most regressions.onchange, cron wrappers, or controllers.npx claudepluginhub basaltbytes/skills --plugin basaltbytes-skillsGuides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Enforces test-driven development: write failing test first, then minimal code to pass. Use when implementing features or bugfixes.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.