General
odoo-module-developer - Claude MCP Skill
Expert guide for creating custom Odoo modules. Covers __manifest__.py, model inheritance, ORM patterns, and module structure best practices.
SEO Guide: Enhance your AI agent with the odoo-module-developer tool. This Model Context Protocol (MCP) server allows Claude Desktop and other LLMs to expert guide for creating custom odoo modules. covers __manifest__.py, model inheritance, orm patter... Download and configure this skill to unlock new capabilities for your AI workflow.
Documentation
SKILL.md# Odoo Module Developer
## Overview
This skill transforms your AI into an expert Odoo custom module developer. It guides you through scaffolding new modules, defining models, setting up security, and following Odoo's coding conventions for both Community and Enterprise editions.
## When to Use This Skill
- Starting a new custom Odoo module from scratch.
- Extending an existing Odoo model (e.g., adding fields to `sale.order`).
- Troubleshooting module loading errors or manifest issues.
- Implementing `onchange`, `compute`, and `constraint` methods correctly.
## How It Works
1. **Activate**: Mention `@odoo-module-developer` and describe the module you want to build.
2. **Scaffold**: Get the full folder structure with `__manifest__.py`, `__init__.py`, models, views, and security files.
3. **Review**: Paste existing code and get a review against Odoo best practices.
## Examples
### Example 1: Scaffold a New Module
**Prompt:** `Create a module called "hospital_management" with a model for patients`
**Generated structure:**
```text
hospital_management/
āāā __manifest__.py
āāā __init__.py
āāā models/
ā āāā __init__.py
ā āāā hospital_patient.py
āāā views/
ā āāā hospital_patient_views.xml
āāā security/
ā āāā ir.model.access.csv
ā āāā security.xml
āāā data/
```
**`__manifest__.py`:**
```python
{
'name': 'Hospital Management',
'version': '17.0.1.0.0',
'category': 'Healthcare',
'depends': ['base', 'mail'],
'data': [
'security/ir.model.access.csv',
'views/hospital_patient_views.xml',
],
'installable': True,
'license': 'LGPL-3',
}
```
**`models/hospital_patient.py`:**
```python
from odoo import models, fields, api
class HospitalPatient(models.Model):
_name = 'hospital.patient'
_description = 'Hospital Patient'
_inherit = ['mail.thread', 'mail.activity.mixin']
name = fields.Char(string='Patient Name', required=True, tracking=True)
birth_date = fields.Date(string='Birth Date')
doctor_id = fields.Many2one('res.users', string='Assigned Doctor')
state = fields.Selection([
('draft', 'New'),
('confirmed', 'Confirmed'),
('done', 'Done'),
], default='draft', tracking=True)
```
## Best Practices
- ā
**Do:** Always prefix your model `_name` with a namespace (e.g., `hospital.patient`).
- ā
**Do:** Use `_inherit = ['mail.thread']` to add chatter/logging automatically.
- ā
**Do:** Specify `version` in manifest as `{odoo_version}.{major}.{minor}.{patch}`.
- ā
**Do:** Set `'author'` and `'website'` in `__manifest__.py` so your module is identifiable in the Apps list.
- ā **Don't:** Modify core Odoo model files directly ā always use `_inherit`.
- ā **Don't:** Forget to add new models to `ir.model.access.csv` or users will get access errors.
- ā **Don't:** Use spaces or uppercase in folder names ā Odoo requires snake_case module names.
## Limitations
- Does not cover **OWL JavaScript components** or frontend widget development ā use `@odoo-xml-views-builder` for view XML.
- **Odoo 13 and below** have a different module structure (no `__manifest__.py` auto-loading) ā this skill targets v14+.
- Does not cover **multi-company** or **multi-website** configuration; those require additional model fields (`company_id`, `website_id`).
- Does not generate automated test files ā use `@odoo-automated-tests` for that.Signals
Information
- Repository
- arlenagreer/claude_configuration_docs
- Author
- arlenagreer
- Last Sync
- 6/7/2026
- Repo Updated
- 6/4/2026
- Created
- 4/10/2026
Reviews (0)
No reviews yet. Be the first to review this skill!
Related Skills
CLAUDE
Claude-Mem: AI Development Instructions
cursorrules
CrewAI Development Rules
firecrawl-build-onboarding
Get Firecrawl credentials and SDK setup into a project. Use when an application needs `FIRECRAWL_API_KEY`, when an agent should add Firecrawl to `.env`, when the user wants to authenticate Firecrawl for app code, or when choosing the first SDK and docs for a new Firecrawl integration. This skill includes its own browser auth flow, so it does not depend on the website onboarding skill.
firecrawl-build
Integrate Firecrawl into application code whenever a product, agent, or workflow needs web data inside the app ā web search, live search results, page scraping, structured extraction, or browser interaction. Use when building any feature that needs data from the web in code, even if the user does not mention Firecrawl explicitly and only describes wanting web data, website content, search, scraping, or interaction in an application. Trigger for Firecrawl requests, "fire girl" shorthand, and generic app-level web-data needs that should map to `/scrape`, `/search`, or `/interact`. Do not use this skill for one-off terminal-only web tasks during the current session; use `firecrawl/cli` for those.
Related Guides
Bear Notes Claude Skill: Your AI-Powered Note-Taking Assistant
Learn how to use the bear-notes Claude skill. Complete guide with installation instructions and examples.
Mastering tmux with Claude: A Complete Guide to the tmux Claude Skill
Learn how to use the tmux Claude skill. Complete guide with installation instructions and examples.
OpenAI Whisper API Claude Skill: Complete Guide to AI-Powered Audio Transcription
Learn how to use the openai-whisper-api Claude skill. Complete guide with installation instructions and examples.