odoo-19
About
This skill provides a master index of Odoo 19 development guides for quick reference. It helps developers locate specific guides for tasks like creating actions, using API decorators, working with data files, and module development. Use it as a centralized index when working with Odoo 19 code to find detailed guidance efficiently.
Quick Install
Claude Code
Recommended/plugin add https://github.com/majiayu000/claude-skill-registrygit clone https://github.com/majiayu000/claude-skill-registry.git ~/.claude/skills/odoo-19Copy and paste this command in Claude Code to install this skill
Documentation
Odoo 19 Skill - Master Index
Master index for all Odoo 19 guides. Use this to quickly find the appropriate guide for your task.
Quick Reference
| Topic | File | When to Use |
|---|---|---|
| Actions | odoo-19-actions-guide.md | Creating actions, menus, scheduled jobs, server actions |
| API Decorators | odoo-19-decorator-guide.md | Using @api decorators, compute fields, validation |
| Data Files | odoo-19-data-guide.md | XML/CSV data files, records, shortcuts |
| Development | odoo-19-development-guide.md | Creating modules, manifest, reports, security, wizards |
| Field Types | odoo-19-field-guide.md | Defining model fields, choosing field types |
| Manifest | odoo-19-manifest-guide.md | manifest.py configuration, dependencies, hooks |
| Mixins | odoo-19-mixins-guide.md | mail.thread, activities, email aliases, tracking |
| Model Methods | odoo-19-model-guide.md | Writing ORM queries, CRUD operations, domain filters |
| Performance | odoo-19-performance-guide.md | Optimizing queries, fixing slow code, preventing N+1 |
| Reports | odoo-19-reports-guide.md | QWeb reports, PDF/HTML, templates, paper formats |
| Security | odoo-19-security-guide.md | Access rights, record rules, field permissions |
| Testing | odoo-19-testing-guide.md | Writing tests, mocking, assertions, browser testing |
| Translation | odoo-19-translation-guide.md | Adding translations, localization, i18n |
| Transactions | odoo-19-transaction-guide.md | Handling database errors, savepoints, UniqueViolation |
| Controllers | odoo-19-controller-guide.md | Writing HTTP endpoints, routes, web controllers |
| Views & XML | odoo-19-view-guide.md | Writing XML views, actions, menus, QWeb templates |
| OWL Components | odoo-19-owl-guide.md | Building OWL UI components, hooks, services |
| Migration | odoo-19-migration-guide.md | Upgrading modules, data migration, version changes |
Guide Index
Actions Guide
File: odoo-19-actions-guide.md
When to read:
- Creating window actions, URL actions, server actions
- Setting up scheduled/cron jobs
- Configuring report actions
- Creating client-side actions
- Understanding action bindings
Controller Guide
File: odoo-19-controller-guide.md
When to read:
- Creating HTTP endpoints
- Writing web controllers
- Setting up routes
- Choosing auth types (user, public, none)
- Handling JSON vs HTTP responses
Data Files Guide
File: odoo-19-data-guide.md
When to read:
- Creating XML data files
- Understanding record, field, delete, function tags
- Using CSV data files
- Working with shortcuts (menuitem, template, asset)
- Understanding noupdate attribute
Decorator Guide
File: odoo-19-decorator-guide.md
When to read:
- Using
@api.dependsfor computed fields - Using
@api.constrainsfor validation - Using
@api.ondelete(Odoo 19) for delete validation - Using
@api.onchangefor form UI updates - Using
@api.modelfor model-level methods
Development Guide
File: odoo-19-development-guide.md
When to read:
- Creating new modules
- Writing
__manifest__.py - Setting up module structure
- Configuring access rights (CSV)
- Creating record rules
- Building wizards (TransientModel)
- Creating reports
Field Guide
File: odoo-19-field-guide.md
When to read:
- Defining new model fields
- Choosing appropriate field types (Char, Text, Monetary, etc.)
- Setting field parameters (required, default, index, etc.)
- Creating computed fields
- Setting up relational fields (Many2one, One2many, Many2many)
Manifest Guide
File: odoo-19-manifest-guide.md
When to read:
- Configuring
__manifest__.py - Setting up module dependencies
- Defining asset bundles
- Declaring external dependencies (Python, binary)
- Using module hooks (pre_init, post_init, uninstall)
- Understanding auto_install behavior
Migration Guide
File: odoo-19-migration-guide.md
When to read:
- Upgrading modules from earlier versions
- Writing migration scripts (pre, post, end)
- Handling data migration
- Using module hooks (pre_init, post_init, uninstall)
- Version-specific migration logic
Mixins Guide
File: odoo-19-mixins-guide.md
When to read:
- Using mail.thread (messaging, chatter, field tracking)
- Setting up mail.alias.mixin (email aliases)
- Adding mail.activity.mixin (activities)
- Using utm.mixin (campaign tracking)
- Website publishing (website.published.mixin)
- SEO metadata (website.seo.metadata)
- Customer ratings (rating.mixin)
Model Guide
File: odoo-19-model-guide.md
When to read:
- Writing model methods
- Using ORM queries (
search,read,create,write,unlink) - Working with domain filters
- Understanding recordsets and prefetching
- Batch operations
OWL Guide
File: odoo-19-owl-guide.md
When to read:
- Building OWL components
- Using hooks (useState, onWillStart, onMounted, etc.)
- Using services (orm, rpc, action, dialog, notification)
- Component lifecycle management
- JavaScript/OWL translations with
_t()
Performance Guide
File: odoo-19-performance-guide.md
When to read:
- Fixing N+1 query problems
- Optimizing slow code
- Reducing database queries
- Understanding prefetch behavior
- Using
search_read(),read_group(),mapped(),filtered()
Reports Guide
File: odoo-19-reports-guide.md
When to read:
- Creating QWeb reports (PDF/HTML)
- Writing report templates
- Configuring paper formats
- Creating custom reports with _get_report_values
- Adding barcodes to reports
- Using custom fonts
- Creating translatable reports
Security Guide
File: odoo-19-security-guide.md
When to read:
- Configuring access rights (ACL)
- Creating record rules
- Understanding field-level access
- Multi-company security
- Preventing security pitfalls (SQL injection, XSS)
- Public/Portal user security
Testing Guide
File: odoo-19-testing-guide.md
When to read:
- Writing unit tests (TransactionCase)
- Writing browser tests (HttpCase)
- Using test decorators (@tagged, @users, @warmup)
- Testing with Form class
- Mocking external APIs
- Query count assertions
Translation Guide
File: odoo-19-translation-guide.md
When to read:
- Adding translatable strings in Python (
_(),_lt()) - Adding translatable strings in JavaScript (
_t()) - Creating translatable QWeb templates
- Setting up translated fields (
translate=True) - Managing PO files
- Exporting/importing translations
- Working with languages (
res.lang)
Transaction Guide
File: odoo-19-transaction-guide.md
When to read:
- Handling database errors (UniqueViolation, NotNullViolation)
- Using savepoints for error isolation
- Understanding transaction states
- Dealing with serialization failures
- Commit and rollback patterns
View Guide
File: odoo-19-view-guide.md
When to read:
- Writing list views (use
<list>not<tree>in Odoo 19) - Writing form views
- Writing search views
- Creating view inheritance with xpath
- Writing QWeb templates
- Creating actions and menus
File Structure
agent-skills/skills/odoo/19.0/
├── SKILL.md # THIS FILE - master index
├── dev/ # Development guides folder
│ ├── odoo-19-actions-guide.md # ir.actions.*, cron, bindings
│ ├── odoo-19-controller-guide.md # HTTP, routing, controllers
│ ├── odoo-19-data-guide.md # XML/CSV data files, records
│ ├── odoo-19-decorator-guide.md # @api decorators
│ ├── odoo-19-development-guide.md # Manifest, wizards (overview)
│ ├── odoo-19-field-guide.md # Field types, parameters
│ ├── odoo-19-manifest-guide.md # __manifest__.py reference
│ ├── odoo-19-mixins-guide.md # mail.thread, activities, etc.
│ ├── odoo-19-model-guide.md # ORM, CRUD, search, domain
│ ├── odoo-19-migration-guide.md # Migration scripts, hooks
│ ├── odoo-19-owl-guide.md # OWL components, services
│ ├── odoo-19-performance-guide.md # N+1 prevention, optimization
│ ├── odoo-19-reports-guide.md # QWeb reports, PDF/HTML
│ ├── odoo-19-security-guide.md # ACL, record rules, security
│ ├── odoo-19-testing-guide.md # Test classes, decorators
│ ├── odoo-19-transaction-guide.md # Savepoints, errors
│ ├── odoo-19-translation-guide.md # Translations, i18n
│ └── odoo-19-view-guide.md # XML views, QWeb
├── CLAUDE.md # Claude Code specific
└── AGENTS.md # AI agents setup
Base Code Reference (Odoo 19)
All guides are based on analysis of Odoo 19 source code:
odoo/models.py- ORM implementationodoo/fields.py- Field typesodoo/api.py- Decoratorsodoo/http.py- HTTP layerodoo/exceptions.py- Exception typesodoo/tools/translate.py- Translation systemodoo/addons/base/models/res_lang.py- Language modeladdons/web/static/src/core/l10n/translation.js- JS translations
For setup instructions with different AI IDEs, see AGENTS.md
GitHub Repository
Related Skills
content-collections
MetaThis skill provides a production-tested setup for Content Collections, a TypeScript-first tool that transforms Markdown/MDX files into type-safe data collections with Zod validation. Use it when building blogs, documentation sites, or content-heavy Vite + React applications to ensure type safety and automatic content validation. It covers everything from Vite plugin configuration and MDX compilation to deployment optimization and schema validation.
creating-opencode-plugins
MetaThis skill provides the structure and API specifications for creating OpenCode plugins that hook into 25+ event types like commands, files, and LSP operations. It offers implementation patterns for JavaScript/TypeScript modules that intercept and extend the AI assistant's lifecycle. Use it when you need to build event-driven plugins for monitoring, custom handling, or extending OpenCode's capabilities.
sglang
MetaSGLang is a high-performance LLM serving framework that specializes in fast, structured generation for JSON, regex, and agentic workflows using its RadixAttention prefix caching. It delivers significantly faster inference, especially for tasks with repeated prefixes, making it ideal for complex, structured outputs and multi-turn conversations. Choose SGLang over alternatives like vLLM when you need constrained decoding or are building applications with extensive prefix sharing.
evaluating-llms-harness
TestingThis Claude Skill runs the lm-evaluation-harness to benchmark LLMs across 60+ standardized academic tasks like MMLU and GSM8K. It's designed for developers to compare model quality, track training progress, or report academic results. The tool supports various backends including HuggingFace and vLLM models.
