odoo-17 — Claude Code skill: an Odoo 17 development reference
A reference skill for Odoo 17 work: ORM and models, XML views, OWL, QWeb reports, access rules, migrations. Useful when you touch a custom addon or paste a traceback.
npx skills add unclecatvn/agent-skills --skill odoo-17 -a claude-code
npx skills add unclecatvn/agent-skills --skill odoo-17.0 -a claude-codeWhat odoo-17 does
The skill is an index. SKILL.md holds a topic table, and the actual write-ups sit in references/, one file per topic — eighteen of them: actions, decorators, controllers, data, development, fields, manifest, migration, mixins, model, OWL, performance, reports, security, testing, transactions, translation, views. The agent opens the one that matches the task instead of reading the whole pack.
Every guide is based on reading Odoo 17 source: odoo/models.py, odoo/fields.py, odoo/api.py, odoo/http.py, odoo/exceptions.py. There is a separate references/api-highlights.md with quick review checks before you write code; the ❌ items mark what no longer belongs in Odoo 17. The globs field (**/*.{py,xml,csv,js,ts,css,scss}) pulls the skill in when those extensions show up in your work.
The author suggests installing the odoo-workflow skill alongside this one — it traces real source and builds a Context Brief with file:line. Conventions in the guides are advisory: when they clash with an existing stable addon, Odoo 17 runtime behaviour wins, then the addon style, then the convention. Worth remembering during a refactor, because the skill will not push you to rewrite a module that already works.
What it helps with
- read a traceback from a custom addon and find the cause
- write a domain and
searchcall for a business rule - build a QWeb report with PDF output and a custom paper format
- set up ACLs, record rules and groups for a new model
- migrate a module to a new version and move its data
Example prompts for the agent
- look at this traceback from addons/my_module and tell me what broke
- add a computed field to sale.order and recompute it with @api.depends
- why does this form fail with an XML error? check the views guide
How to install odoo-17
1Skills CLI (Vercel)
npx skills add unclecatvn/agent-skills --skill odoo-17 -a claude-codenpx skills add unclecatvn/agent-skills --skill odoo-17.0 -a claude-code2Manually: put the files in place
~/.claude/skills/odoo-17.0/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/odoo-17.0/
1Skills CLI (Vercel)
npx skills add unclecatvn/agent-skills --skill odoo-17.0 -a codex2Manually: put the files in place
.agents/skills/odoo-17.0/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add unclecatvn/agent-skills --skill odoo-17.0 -a cursor2Manually: put the files in place
.cursor/skills/odoo-17.0/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install unclecatvn/agent-skills odoo-17.02Manually: put the files in place
.github/skills/odoo-17.0/SKILL.md1Skills CLI (Vercel)
npx skills add unclecatvn/agent-skills --skill odoo-17.0 -a gemini-cli2Platform CLI
gemini skills install https://github.com/unclecatvn/agent-skills --path skills/odoo-17.0Manually: put the files in place
.devin/skills/odoo-17.0/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add unclecatvn/agent-skills --skill odoo-17.0 -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about odoo-17
How do I install odoo-17 in Claude?
Use the skills CLI: npx skills add unclecatvn/agent-skills --skill odoo-17 -a claude-code. The same repo also ships it as odoo-17.0: npx skills add unclecatvn/agent-skills --skill odoo-17.0 -a claude-code. The installed file lands at ~/.claude/skills/odoo-17.0/SKILL.md.
What does the odoo-17 skill do?
It gives the agent an Odoo 17 development reference: ORM and models, XML/CSV data and views, OWL components, QWeb reports, security, cron and server actions, migrations, tests, i18n and performance. The agent reads the matching guide from references/ for the task at hand.
Do I need the odoo-workflow skill too?
The author suggests installing it alongside: odoo-workflow traces real source and builds a Context Brief with file:line. Without it, odoo-17 still works as a guide-based reference.
Source text
SKILL.md · MIT
---
name: odoo-17
description: >
Odoo 17 development reference for Python models and ORM (search, domain, read_group, compute fields),
XML/CSV data and views, OWL/JS client code, QWeb reports, security (ACL, record rules, groups),
cron and server actions, migrations and module upgrades, tests, i18n, and performance.
Use this skill whenever work involves Odoo 17 or custom addons—even if the user only pastes a traceback,
mentions addons/ or __manifest__.py, describes form/tree/kanban/XML errors, HTTP controllers, or
business rules on models—including building features, fixing bugs, refactoring, or reviewing addon code.
Includes CSS/SCSS asset authoring and review for Odoo addons.
globs: "**/*.{py,xml,csv,js,ts,css,scss}"
---
# Odoo 17 Skill - Master Index
Master index for all Odoo 17 development guides. Read the appropriate guide from `references/` based on your task.
## Quick Reference
| Topic | File | When to Use |
|-------|------|-------------|
| Actions | `references/odoo-17-actions-guide.md` | Creating actions, menus, scheduled jobs, server actions |
| API Decorators | `references/odoo-17-decorator-guide.md` | Using @api decorators, compute fields, validation |
| Controllers | `references/odoo-17-controller-guide.md` | Writing HTTP endpoints, routes, web controllers |
| Data Files | `references/odoo-17-data-guide.md` | XML/CSV data files, records, shortcuts |
| Development | `references/odoo-17-development-guide.md` | Creating modules, manifest, reports, security, wizards |
| Field Types | `references/odoo-17-field-guide.md` | Defining model fields, choosing field types |
| Manifest | `references/odoo-17-manifest-guide.md` | __manifest__.py configuration, dependencies, hooks |
| Migration | `references/odoo-17-migration-guide.md` | Upgrading modules, data migration, version changes |
| Mixins | `references/odoo-17-mixins-guide.md` | mail.thread, activities, email aliases, tracking |
| Model Methods | `references/odoo-17-model-guide.md` | Writing ORM queries, CRUD operations, domain filters |
| OWL Components | `references/odoo-17-owl-guide.md` | Building OWL UI components, hooks, services |
| Performance | `references/odoo-17-performance-guide.md` | Optimizing queries, fixing slow code, preventing N+1 |
| Reports | `references/odoo-17-reports-guide.md` | QWeb reports, PDF/HTML, templates, paper formats |
| Security | `references/odoo-17-security-guide.md` | Access rights, record rules, field permissions |
| Testing | `references/odoo-17-testing-guide.md` | Writing tests, mocking, assertions, browser testing |
| Transactions | `references/odoo-17-transaction-guide.md` | Handling database errors, savepoints, UniqueViolation |
| Translation | `references/odoo-17-translation-guide.md` | Adding translations, localization, i18n |
| Views & XML | `references/odoo-17-view-guide.md` | Writing XML views, actions, menus, QWeb templates |
## Coding Conventions
Before writing code, run the `odoo-workflow` skill if it is installed (trace the real
source, Context Brief with `file:line`, definition of done); install it alongside this pack.
Read `references/api-highlights.md` before writing code and apply its Quick review
checks: the ❌ items are what not to use in Odoo 17.
Apply the relevant convention section in the guide you open. Conventions are
advisory: preserve the style of an existing stable addon and keep diffs
focused. When guidance conflicts, prefer Odoo 17 runtime/source behavior,
then the surrounding addon style, then the convention.
- Module layout and asset placement: development and controller guides.
- XML formatting and external IDs: data, view, action, report, and security guides.
- Python naming, imports, recordsets, transactions, and translations: model,
field, decorator, performance, transaction, and translation guides.
- JavaScript and CSS/SCSS: development guide.
## File Structure
```
skills/odoo-17.0/
├── SKILL.md # This file - master index
└── references/ # Development guides
├── odoo-17-actions-guide.md
├── odoo-17-controller-guide.md
├── odoo-17-data-guide.md
├── odoo-17-decorator-guide.md
├── odoo-17-development-guide.md
├── odoo-17-field-guide.md
├── odoo-17-manifest-guide.md
├── odoo-17-migration-guide.md
├── odoo-17-mixins-guide.md
├── odoo-17-model-guide.md
├── odoo-17-owl-guide.md
├── odoo-17-performance-guide.md
├── odoo-17-reports-guide.md
├── odoo-17-security-guide.md
├── odoo-17-testing-guide.md
├── odoo-17-transaction-guide.md
├── odoo-17-translation-guide.md
└── odoo-17-view-guide.md
```
## Base Code Reference (Odoo 17)
All guides are based on analysis of Odoo 17 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
## External Documentation
- [Odoo 17 Official Documentation](https://github.com/odoo/documentation/tree/17.0)
- [Odoo 17 Developer Reference](https://github.com/odoo/documentation/blob/17.0/content/developer/reference/backend/orm.rst)
- [Odoo 17 Coding Guidelines](https://raw.githubusercontent.com/odoo/documentation/17.0/content/contributing/development/coding_guidelines.rst)
© unclecatvn · MIT · unclecatvn/agent-skills