odoo-development — скилл для Claude Code: разработка на Odoo
Скилл для ИИ-агента, который подсказывает, как писать модули Odoo: модели на Python ORM, XML-представления, права доступа.
npx skills add Mindrally/skills --skill odoo-development -a claude-codeЧто делает odoo-development
Скилл задаёт агенту роль эксперта по Python, Odoo и корпоративным бизнес-приложениям. Внутри — набор правил: как определять модели через models.Model, какие декораторы API применять (@api.model, @api.depends, @api.onchange, @api.constrains), как строить представления форм, деревьев, kanban и календаря на XML и расширять их через <xpath> и <field>. Отдельные разделы — про контроллеры с @http.route, обработку ошибок через ValidationError и UserError, логирование через _logger и тесты на встроенном фреймворке Odoo.
Есть блок про безопасность: ACL и record rules в XML, группы пользователей, права в ir.model.access.csv. Плюс интернационализация через _(), автоматические и серверные действия, cron-задачи, шаблоны QWeb. В конце — рекомендованная структура каталогов модуля с папками models, views, security, data, controllers, wizards, reports и два примера кода: определение модели и XML-описание формы.
Скилл придерживается принципа «расширять через наследование, а не править ядро». Если ваш проект как раз лезет в исходники Odoo напрямую, это повод проверить, не сломает ли обновление ваши правки. Установка идёт через npx skills add — нужен Node.js с npx.
Какие задачи решает
- описать модель Odoo с полями, состояниями и вычисляемым display_name
- собрать XML-форму с statusbar и группировкой полей
- настроить права доступа через
ir.model.access.csvи record rules - поймать неверный ввод через
@api.constrainsиValidationError - разложить модуль по папкам models, views, security, data
Примеры запросов агенту
- Создай модуль Odoo с моделью custom.model, полем name и состоянием draft/confirmed
- Добавь XML-представление формы для custom.model с виджетом statusbar
- Настрой ACL и record rules для новой модели в ir.model.access.csv
Как установить odoo-development
1Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill odoo-development -a claude-code2Вручную: положить файлы
~/.claude/skills/odoo-development/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/odoo-development/
1Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill odoo-development -a codex2Вручную: положить файлы
.agents/skills/odoo-development/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill odoo-development -a cursor2Вручную: положить файлы
.cursor/skills/odoo-development/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install Mindrally/skills odoo-development2Вручную: положить файлы
.github/skills/odoo-development/SKILL.md1Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill odoo-development -a gemini-cli2Командой платформы
gemini skills install https://github.com/Mindrally/skills --path odoo-developmentВручную: положить файлы
.devin/skills/odoo-development/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill odoo-development -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора168
Похожие
Рядом в теме «Бэкенд и API»
Всё по теме «Бэкенд и API» →Вопросы о odoo-development
Как установить odoo-development в Claude?
Выполните npx skills add Mindrally/skills --skill odoo-development -a claude-code. Скилл окажется в ~/.claude/skills/odoo-development/SKILL.md.
Что делает скилл odoo-development?
Даёт агенту правила разработки под Odoo: модели на Python ORM, XML-представления, контроллеры, права доступа, cron-задачи и структура модуля.
Для каких платформ подходит скилл?
Кроме Claude есть установка для Codex, Cursor, GitHub Copilot, Gemini CLI и OpenCode — команды отличаются только флагом -a.
Исходный текст
SKILL.md · Apache-2.0
---
name: odoo-development
description: Expert guidance for Odoo ERP development including Python ORM, XML views, and module architecture
metadata:
maintainer: Mindrally
source: https://github.com/Mindrally/skills
---
# Odoo Development
You are an expert in Python, Odoo, and enterprise business application development.
## Key Development Principles
### Code Quality & Architecture
- Write clear, technical responses with precise Odoo examples in Python, XML, and JSON
- Leverage Odoo's ORM, API decorators, and XML view inheritance for modularity
- Follow PEP 8 standards and Odoo best practices
- Use descriptive naming aligned with Odoo conventions
### Structural Organization
- Separate concerns across models, views, controllers, data, and security
- Create well-documented `__manifest__.py` files
- Organize modules with clear directory structures
## ORM & Python Implementation
- Define models inheriting from `models.Model`
- Apply API decorators appropriately:
- `@api.model` for model-level methods
- `@api.multi` for recordset methods
- `@api.depends` for computed fields
- `@api.onchange` for UI field changes
- Create XML-based UI views (forms, trees, kanban, calendar, graphs)
- Use XML inheritance via `<xpath>` and `<field>` for modifications
- Implement controllers with `@http.route` for HTTP endpoints
## Error Management & Validation
- Utilize built-in exceptions (`ValidationError`, `UserError`)
- Enforce constraints via `@api.constrains`
- Implement robust validation logic
- Use try-except blocks strategically
- Leverage Odoo's logging system (`_logger`)
- Write tests using Odoo's testing framework
## Security & Access Control
- Define ACLs and record rules in XML
- Manage user permissions through security groups
- Prioritize security at all architectural layers
- Implement proper access rights in ir.model.access.csv files
## Internationalization & Automation
- Mark translatable strings with `_()`
- Leverage automated actions and server actions
- Use cron jobs for scheduled tasks
- Use QWeb for dynamic HTML templating
## Performance Optimization
- Optimize ORM queries with domain filters and context
- Cache static or rarely-updated data
- Offload intensive tasks to scheduled actions
- Simplify XML structures through inheritance
- Use prefetch_fields and compute methods efficiently
## Guiding Conventions
1. Apply "Convention Over Configuration"
2. Enforce security throughout all layers
3. Maintain modular architecture
4. Document comprehensively
5. Extend via inheritance, never modify core code
## Module Structure Best Practices
```
module_name/
├── __init__.py
├── __manifest__.py
├── models/
│ ├── __init__.py
│ └── model_name.py
├── views/
│ └── model_name_views.xml
├── security/
│ ├── ir.model.access.csv
│ └── security_rules.xml
├── data/
│ └── data.xml
├── controllers/
│ ├── __init__.py
│ └── main.py
├── static/
│ └── src/
├── wizards/
│ ├── __init__.py
│ └── wizard_name.py
└── reports/
└── report_templates.xml
```
## Model Definition Example
```python
from odoo import models, fields, api
from odoo.exceptions import ValidationError
class CustomModel(models.Model):
_name = 'custom.model'
_description = 'Custom Model'
name = fields.Char(string='Name', required=True)
active = fields.Boolean(default=True)
state = fields.Selection([
('draft', 'Draft'),
('confirmed', 'Confirmed'),
], default='draft')
@api.depends('name')
def _compute_display_name(self):
for record in self:
record.display_name = record.name
@api.constrains('name')
def _check_name(self):
for record in self:
if len(record.name) < 3:
raise ValidationError("Name must be at least 3 characters")
```
## View Definition Example
```xml
<record id="custom_model_form" model="ir.ui.view">
<field name="name">custom.model.form</field>
<field name="model">custom.model</field>
<field name="arch" type="xml">
<form>
<header>
<field name="state" widget="statusbar"/>
</header>
<sheet>
<group>
<field name="name"/>
<field name="active"/>
</group>
</sheet>
</form>
</field>
</record>
```
© Mindrally · Apache-2.0 · Mindrally/skills