Agent skills for Odoo addon development and OCA module migration
개요
is an Odoo-focused skill pack with a small set of generic engineering workflows for AI coding agents. Odoo work is full of sharp edges: version-specific ORM APIs, XML loading order, record rules, sudo() boundaries, multi-company behavior, asset bundles, OWL version differences, and OCA migration conventions. Generic agents regularly miss those details. This repo gives your agent a practical operating manual: what to inspect, what to ask, what not to run without confirmation, and which Odoo-specific or architectural risks to check before claiming a task is done. After publishing to npm, the package can also be run as: The installer copies all skills into both ~/.claude/skills and ~/.config/opencode/skills by default. Existing skills with the same names are moved into a timestamped .backup-odoo-skills-* folder before replacement. Restart or reload your agent so it picks up the new skill list. Add a portal endpoint that lets customers download a PDF report for their own records.
README
Table Of Contents
- What Is This?
- Why Use It?
- Quick Start
- Real-World Example
- Skills
- Project Structure
- Recommended Environment
- How It Works
- Designed For
- Deliberately Out Of Scope
- Stats
What Is This?
Odoo Skills is an Odoo-focused skill pack with a small set of generic engineering workflows for AI coding agents.
Odoo work is full of sharp edges: version-specific ORM APIs, XML loading order, record rules, sudo() boundaries, multi-company behavior, asset bundles, OWL version differences, and OCA migration conventions. Generic agents regularly miss those details.
This repo gives your agent a practical operating manual: what to inspect, what to ask, what not to run without confirmation, and which Odoo-specific or architectural risks to check before claiming a task is done.
Why Use It?
| Generic Agent | With Odoo Skills |
|---|---|
| Guesses the Odoo version from memory | Detects version from branch, manifests, docs, config, or local source |
| Treats Odoo like normal Python + XML | Checks ORM, manifests, security CSVs, record rules, views, assets, tests, and version-specific APIs |
| Suggests commands that may touch the wrong database | Reads local setup docs/base command and asks before database-touching commands |
| Misses multi-company and portal/public exposure | Reviews groups, ACLs, record rules, sudo(), domains, and company isolation together |
| Mixes migration cleanup with feature changes | Keeps OCA migration compatibility work separate from behavior changes |
| Adds code without proving behavior | Writes Odoo tests at the ORM, form, access, controller, report, or mocked integration seam |
| Uses generic frontend advice | Routes OWL work through component, template, reactivity, props, assets, and migration guidance |
Quick Start
Install directly with npx from GitHub:
npx github:mart337i/odoo-skills
Install only one target:
npx github:mart337i/odoo-skills --target opencode
npx github:mart337i/odoo-skills --target claude
After publishing to npm, the package can also be run as:
npx @mart337i/odoo-skills
The installer copies all skills into both ~/.claude/skills and ~/.config/opencode/skills by default. Existing skills with the same names are moved into a timestamped .backup-odoo-skills-* folder before replacement.
For local development, clone the repo:
git clone https://github.com/mart337i/odoo-skills.git
cd odoo-skills
Then symlink into Claude-style skills:
./scripts/link-skills.sh
Restart or reload your agent so it picks up the new skill list.
Real-World Example
Prompt:
Add a portal endpoint that lets customers download a PDF report for their own records.
| Without Odoo Skills | With Odoo Skills |
|---|---|
Adds a controller and calls sudo() to fetch the record |
Asks which model/report, confirms portal ownership rule, checks auth, CSRF, access rights, record rules, and whether sudo() is safe |
| Puts the route in any controller file | Inspects existing controller structure and route naming conventions |
| Returns a PDF if the ID exists | Verifies the current user can access that record and cannot enumerate others |
| Skips verification | Traces route -> model -> report flow and proposes a portal/controller test or realistic user access check before running commands |
The point is not more ceremony. The point is fewer security bugs, fewer broken module updates, and less cleanup after the agent “helped.”
Skills
| Skill | Use It For |
|---|---|
| grill-me | Stress-test generic plans and designs by asking one high-leverage question at a time. |
| grill-with-docs | Stress-test plans against project domain language, CONTEXT.md, and ADRs, updating docs as decisions crystallise. |
| improve-codebase-architecture | Find deepening opportunities that make a codebase more testable, navigable, and modular. |
| odoo | General Odoo addon development: exploration, debugging, architecture review, manifest/docs sync, models, views, controllers, reports, tests, and security. |
| odoo-17.0 | Odoo 17 reference guides for actions, controllers, data, decorators, fields, manifests, migrations, mixins, models, OWL, performance, reports, security, testing, transactions, translations, and views. |
| odoo-18.0 | Odoo 18 reference guides for actions, controllers, data, decorators, fields, manifests, migrations, mixins, models, OWL, performance, reports, security, testing, transactions, translations, and views. |
| odoo-19.0 | Odoo 19 reference guides for actions, controllers, data, decorators, fields, manifests, migrations, mixins, models, OWL, performance, reports, security, testing, transactions, translations, and views. |
| odoo-20.0 | Odoo 20 reference guides for actions, controllers, data, decorators, fields, manifests, migrations, mixins, models, OWL, performance, reports, security, testing, transactions, translations, and views. |
| odoo-code-review | Review Odoo code for correctness, security, performance, migrations, tests, manifests, and official coding guidelines. |
| odoo-code-tracer | Trace execution through controllers, buttons, cron jobs, model methods, overrides, computes, onchanges, constraints, database operations, side effects, and security checks. |
| odoo-grill-me | Stress-test Odoo plans before implementation: addon boundaries, models, security, UI flows, data, OWL, migrations, and verification. |
| odoo-idea-gates | Validate whether an Odoo module, addon, app, or product idea should exist: existing alternatives, buyer demand, wedge, reach, Odoo fit, and value equation. |
| odoo-migration | End-to-end OCA module migration workflow for [MIG] pull requests, with version tips from 8.0 through 20.0. |
| odoo-owl | Build, review, debug, and migrate Odoo OWL frontend code: components, templates, reactivity, hooks, props, plugins, registries, and assets. |
| odoo-report-design | Design and review QWeb HTML/PDF reports with print-safe assets, paper formats, pagination, localization, and stable layout. |
| odoo-report-migration | Migrate QWeb/PDF reports across Odoo versions while preserving data, paper geometry, access behavior, and intended visual output. |
| odoo-test-writer | Create Odoo tests with TransactionCase, SingleTransactionCase, HttpCase, AccountTestInvoicingCommon, Form helper, tags, mocks, access tests, workflow tests, and coverage patterns. |
| odoo-website | Build Odoo website and portal flows with QWeb, public and portal controllers, website assets, and frontend integration. |
| odoo-web-security | Review browser-facing Odoo security: public routes, portal ownership, CSRF, XSS, tokens, uploads, and sudo() boundaries. |
| odoo-web-testing | Test Odoo HTTP routes, browser tours, JavaScript behavior, assets, templates, and public/portal access matrices. |
| zoom-out | Get a higher-level map of unfamiliar code and how the relevant modules and callers fit together. |
Project Structure
odoo-skills/
├── AGENTS.md
├── CLAUDE.md
├── README.md
├── bin/
│ └── odoo-skills.js
├── package.json
├── scripts/
│ └── link-skills.sh
└── skills/
├── grill-me/
├── grill-with-docs/
├── improve-codebase-architecture/
├── odoo/
├── odoo-17.0/
├── odoo-18.0/
├── odoo-19.0/
├── odoo-20.0/
├── odoo-code-review/
├── odoo-code-tracer/
├── odoo-grill-me/
├── odoo-idea-gates/
├── odoo-migration/
├── odoo-owl/
├── odoo-report-design/
├── odoo-report-migration/
├── odoo-test-writer/
├── odoo-website/
├── odoo-web-security/
├── odoo-web-testing/
└── zoom-out/
There are no bucket folders. Skills live directly under skills/ so they are easy to link into different agent environments.
Recommended Environment
If your Odoo source checkout is outside the project being edited, expose it so agents can inspect framework code instead of relying on memory:
export ODOO_SOURCE=/path/to/odoo
You can also expose your local Odoo command and setup docs:
export ODOO_BASE_COMMAND="/path/to/odoo/odoo-bin -c /path/to/odoo.conf --addons-path=/path/to/addons"
export ODOO_TOOL_README=/path/to/local-development/README.md
ODOO_BASE_COMMAND is the base command agents should inspect before proposing install/update/test commands. ODOO_TOOL_README points to local setup documentation agents should read before using project-specific tooling.
Put those exports in your shell profile if you want them available in every agent session.
How It Works
flowchart LR
A[Developer prompt] --> B[AI agent]
B --> C[Odoo Skills]
C --> D[Repo inspection]
C --> E[Odoo conventions]
C --> F[Security and migration guardrails]
D --> G[Safer Odoo change]
E --> G
F --> G
The skills push agents toward a simple discipline:
- Detect the Odoo version and repo shape.
- Use version-specific references for Odoo 17, 18, 19, and 20 when detailed API guidance is needed.
- Read manifests, models, views, security, assets, tests, and docs before editing.
- Trace execution paths when behavior depends on controllers, buttons, cron jobs, overrides, or side effects.
- Write tests at the Odoo behavior seam: ORM, form, access, workflow, controller, report, or mocked integration.
- Use local Odoo source and setup docs when available.
- Ask before running commands that touch databases or services.
- Verify at the Odoo behavior seam, not just with generic static checks.
Designed For
- Odoo addon development.
- Odoo module and app idea validation before implementation.
- OCA repositories.
- OCA module migrations between major Odoo versions.
- QWeb/PDF report design, review, and visual-preservation migrations.
- OWL/web client frontend work.
- Odoo code reviews and architecture checks.
- Odoo test writing for custom modules.
- Odoo execution tracing and impact analysis.
- Odoo 17, 18, and 19 version-specific reference lookup.
- Odoo 20 version-specific reference lookup.
- Generic plan grilling, documentation-aware design work, architecture review, and codebase orientation.
- Agents working in unfamiliar Odoo codebases.
- Odoo website, portal, public controller, browser security, and web testing work.
Deliberately Out Of Scope
OpenUpgrade workflows are not covered. The migration skill is for normal OCA module migration and [MIG] pull request preparation.
Stats
| Metric | Value |
|---|---|
| Skills | 21 |
| Installer | npx github:mart337i/odoo-skills |
| OCA migration coverage | 8.0 through 20.0 |
| Version reference coverage | Odoo 17.0, 18.0, 19.0, 20.0 |
| Main focus | Odoo addon engineering plus generic engineering workflows |
| Frontend coverage | OWL, Odoo assets, templates, QWeb, website, portal, reactivity, migration |
| Report coverage | QWeb HTML/PDF design, print assets, paper formats, pagination, visual regression, report migration |
| Web coverage | Public/portal security, CSRF, XSS, ownership, browser flows, tours, JavaScript, assets |
| Testing coverage | TransactionCase, SingleTransactionCase, HttpCase, Form helper, mocks, tags, access tests, browser tests |
| Safety focus | code review, execution tracing, security, multi-company, manifests, database-touching commands |
추천 도구
다른 키워드를 입력하거나 필터를 제거해 보세요.
설치
npx skillfish add mart337i/odoo-skills