odoo-18

Master index for Odoo 18 guides. This file provides a quick reference to find the appropriate detailed guide for each topic. Use this as an index to locate specific guides when working with Odoo 18 code.

16 stars

Best use case

odoo-18 is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Master index for Odoo 18 guides. This file provides a quick reference to find the appropriate detailed guide for each topic. Use this as an index to locate specific guides when working with Odoo 18 code.

Teams using odoo-18 should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/odoo-18/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/development/odoo-18/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/odoo-18/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How odoo-18 Compares

Feature / Agentodoo-18Standard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Master index for Odoo 18 guides. This file provides a quick reference to find the appropriate detailed guide for each topic. Use this as an index to locate specific guides when working with Odoo 18 code.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Odoo 18 Skill - Master Index

Master index for all Odoo 18 guides. Use this to quickly find the appropriate guide for your task.

## Quick Reference

| Topic | File | When to Use |
|-------|------|-------------|
| [Actions](#actions-guide) | `odoo-18-actions-guide.md` | Creating actions, menus, scheduled jobs, server actions |
| [API Decorators](#decorator-guide) | `odoo-18-decorator-guide.md` | Using @api decorators, compute fields, validation |
| [Data Files](#data-guide) | `odoo-18-data-guide.md` | XML/CSV data files, records, shortcuts |
| [Development](#development-guide) | `odoo-18-development-guide.md` | Creating modules, manifest, reports, security, wizards |
| [Field Types](#field-guide) | `odoo-18-field-guide.md` | Defining model fields, choosing field types |
| [Manifest](#manifest-guide) | `odoo-18-manifest-guide.md` | __manifest__.py configuration, dependencies, hooks |
| [Mixins](#mixins-guide) | `odoo-18-mixins-guide.md` | mail.thread, activities, email aliases, tracking |
| [Model Methods](#model-guide) | `odoo-18-model-guide.md` | Writing ORM queries, CRUD operations, domain filters |
| [Performance](#performance-guide) | `odoo-18-performance-guide.md` | Optimizing queries, fixing slow code, preventing N+1 |
| [Reports](#reports-guide) | `odoo-18-reports-guide.md` | QWeb reports, PDF/HTML, templates, paper formats |
| [Security](#security-guide) | `odoo-18-security-guide.md` | Access rights, record rules, field permissions |
| [Testing](#testing-guide) | `odoo-18-testing-guide.md` | Writing tests, mocking, assertions, browser testing |
| [Translation](#translation-guide) | `odoo-18-translation-guide.md` | Adding translations, localization, i18n |
| [Transactions](#transaction-guide) | `odoo-18-transaction-guide.md` | Handling database errors, savepoints, UniqueViolation |
| [Controllers](#controller-guide) | `odoo-18-controller-guide.md` | Writing HTTP endpoints, routes, web controllers |
| [Views & XML](#view-guide) | `odoo-18-view-guide.md` | Writing XML views, actions, menus, QWeb templates |
| [OWL Components](#owl-guide) | `odoo-18-owl-guide.md` | Building OWL UI components, hooks, services |
| [Migration](#migration-guide) | `odoo-18-migration-guide.md` | Upgrading modules, data migration, version changes |

---

## Guide Index

### Actions Guide
**File**: `odoo-18-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-18-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-18-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-18-decorator-guide.md`

**When to read**:
- Using `@api.depends` for computed fields
- Using `@api.constrains` for validation
- Using `@api.ondelete` (Odoo 18) for delete validation
- Using `@api.onchange` for form UI updates
- Using `@api.model` for model-level methods

---

### Development Guide
**File**: `odoo-18-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-18-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-18-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-18-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-18-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-18-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-18-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-18-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-18-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-18-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-18-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-18-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-18-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-18-view-guide.md`

**When to read**:
- Writing list views (use `<list>` not `<tree>` in Odoo 18)
- Writing form views
- Writing search views
- Creating view inheritance with xpath
- Writing QWeb templates
- Creating actions and menus

---

## File Structure

```
agent-skills/skills/odoo/18.0/
├── SKILL.md                       # THIS FILE - master index
├── dev/                           # Development guides folder
│   ├── odoo-18-actions-guide.md     # ir.actions.*, cron, bindings
│   ├── odoo-18-controller-guide.md  # HTTP, routing, controllers
│   ├── odoo-18-data-guide.md        # XML/CSV data files, records
│   ├── odoo-18-decorator-guide.md   # @api decorators
│   ├── odoo-18-development-guide.md # Manifest, wizards (overview)
│   ├── odoo-18-field-guide.md       # Field types, parameters
│   ├── odoo-18-manifest-guide.md    # __manifest__.py reference
│   ├── odoo-18-mixins-guide.md      # mail.thread, activities, etc.
│   ├── odoo-18-model-guide.md       # ORM, CRUD, search, domain
│   ├── odoo-18-migration-guide.md   # Migration scripts, hooks
│   ├── odoo-18-owl-guide.md          # OWL components, services
│   ├── odoo-18-performance-guide.md  # N+1 prevention, optimization
│   ├── odoo-18-reports-guide.md      # QWeb reports, PDF/HTML
│   ├── odoo-18-security-guide.md    # ACL, record rules, security
│   ├── odoo-18-testing-guide.md      # Test classes, decorators
│   ├── odoo-18-transaction-guide.md # Savepoints, errors
│   ├── odoo-18-translation-guide.md # Translations, i18n
│   └── odoo-18-view-guide.md        # XML views, QWeb
├── CLAUDE.md                      # Claude Code specific
└── AGENTS.md                      # AI agents setup
```

---

## Base Code Reference (Odoo 18)

All guides are based on analysis of Odoo 18 source code:
- `odoo/models.py` - ORM implementation
- `odoo/fields.py` - Field types
- `odoo/api.py` - Decorators
- `odoo/http.py` - HTTP layer
- `odoo/exceptions.py` - Exception types
- `odoo/tools/translate.py` - Translation system
- `odoo/addons/base/models/res_lang.py` - Language model
- `addons/web/static/src/core/l10n/translation.js` - JS translations

---

**For setup instructions with different AI IDEs, see [AGENTS.md](./AGENTS.md)**

Related Skills

odoo-code-review

16
from diegosouzapw/awesome-omni-skill

Review Odoo code for correctness, security, performance, and Odoo 18 standards. Use when reviewing Odoo modules, diffs, or pull requests; produce a scored report with weighted criteria.

odoo-app-automator

16
from diegosouzapw/awesome-omni-skill

AI agent for automated Odoo module creation, deployment, and third-party integration. Scaffolds custom modules, generates Odoo Studio configurations, sets up containers, and automates app deployment following Odoo 19 best practices.

odoo-19

16
from diegosouzapw/awesome-omni-skill

Master index for Odoo 19 guides. This file provides a quick reference to find the appropriate detailed guide for each topic. Use this as an index to locate specific guides when working with Odoo 19 code.

add-odoo-model

16
from diegosouzapw/awesome-omni-skill

Add integration for an additional Odoo Studio model to an existing Odoo PWA project. Use when user wants to add support for another model, mentions "add new model", "integrate another Odoo model", or similar.

odoo-debugger

16
from diegosouzapw/awesome-omni-skill

Analyzes and resolves Odoo 16.0 issues including SVL linking problems, queue job failures, view errors, and business logic bugs. This skill should be used when the user reports problems such as "Debug this SVL linking issue" or "Queue job is failing" or "View not showing correctly" or "Figure out why this vendor bill isn't linking to stock moves".

bgo

10
from diegosouzapw/awesome-omni-skill

Automates the complete Blender build-go workflow, from building and packaging your extension/add-on to removing old versions, installing, enabling, and launching Blender for quick testing and iteration.

Coding & Development

python-development-python-scaffold

16
from diegosouzapw/awesome-omni-skill

You are a Python project architecture expert specializing in scaffolding production-ready Python applications. Generate complete project structures with modern tooling (uv, FastAPI, Django), type hint

python-development

16
from diegosouzapw/awesome-omni-skill

专业的 Python 开发技能,涵盖现代 Python 3.10+、FastAPI、Django、Flask、异步编程、数据处理和最佳实践。使用此技能开发 Python Web 应用、构建 FastAPI/Django 项目、实现异步编程,或需要 Python 架构设计和性能优化指导时使用。

python-dev

16
from diegosouzapw/awesome-omni-skill

Python development standards and practices for zero-fabrication, test-driven development with strict quality gates. Use when working on Python projects that require rigorous testing, linting, and architecture standards with real integrations only.

python-core

16
from diegosouzapw/awesome-omni-skill

Create, write, build, debug, test, refactor, and optimize Python 3.10+ applications across all domains (data science, backend APIs, scripting, automation). Manage dependencies with uv (preferred), poetry, or pip. Implement type hints (typing module, generics, protocols), write tests with pytest (fixtures, parametrize, mocking), work with pandas DataFrames (creation, selection, groupby, merge), use dataclasses and decorators, handle errors with logging integration, and follow TDD workflows (Red-Green-Refactor). Configure virtual environments, pyproject.toml, and static analysis tools (mypy, pyright). Use when implementing Python features, fixing bugs, writing tests, managing packages, analyzing data, or building Python projects.

python-coder

16
from diegosouzapw/awesome-omni-skill

Modern Python 3.12+ development with uv, ruff, and production-ready practices. Routes to specialized skills for frameworks and testing.

python-best-practices

16
from diegosouzapw/awesome-omni-skill

Python development best practices, patterns, and conventions. Use when writing Python code, reviewing .py files, discussing pytest, asyncio, type hints, pydantic, dataclasses, or Python project structure. Triggers on mentions of Python, pytest, mypy, ruff, black, FastAPI, Django, Flask.