odoo-module-developer
Faz seu agente criar novos módulos personalizados para o Odoo. Ele ensina a estruturar o código e a usar as melhores práticas de desenvolvimento.
O que ela faz
Este assistente ajuda a criar e organizar módulos personalizados para o Odoo, um sistema de gestão empresarial. Ele te guia na criação da estrutura de arquivos, definição de dados e boas práticas de programação.
Quando usar
- ✓Quando você precisa criar um novo módulo do zero no Odoo.
- ✓Ao querer adicionar novas funcionalidades ou campos a um módulo existente.
- ✓Para corrigir erros relacionados à estrutura ou configuração de um módulo.
Exemplo do que pedir para a IA
“Crie um módulo chamado 'controle_estoque' com um modelo para produtos.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Você descreve o módulo que deseja criar. O assistente gera a estrutura básica de pastas e arquivos, incluindo o arquivo de configuração principal (__manifest__.py) e um exemplo de arquivo para definir os dados (modelos).
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill odoo-module-developerOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/odoo-module-developer/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Desenvolvedor de Módulos Odoo
Visão Geral
Esta habilidade transforma sua IA em uma desenvolvedora especialista em módulos customizados do Odoo. Ela guia você através da criação de novos módulos, definição de modelos, configuração de segurança e seguindo as convenções de codificação do Odoo para as edições Community e Enterprise.
Quando Usar Esta Habilidade
- Iniciando um novo módulo customizado do Odoo do zero.
- Estendendo um modelo Odoo existente (por exemplo, adicionando campos ao
sale.order). - Solucionando erros de carregamento de módulo ou problemas de manifesto.
- Implementando corretamente os métodos
onchange,computeeconstraint.
Como Funciona
- Ativar: Mencione
@odoo-module-developere descreva o módulo que você deseja construir. - Estruturar: Obtenha a estrutura completa de pastas com
__manifest__.py,__init__.py, modelos, visualizações e arquivos de segurança. - Revisar: Cole o código existente e obtenha uma revisão com base nas melhores práticas do Odoo.
Exemplos
Exemplo 1: Estruturar um Novo Módulo
Prompt: Create a module called "hospital_management" with a model for patients
Estrutura gerada:
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:
{
'name': 'Hospital Management',
'version': '17.0.1.0.0',
'category': 'Healthcare',
'depends': ['base', 'mail'],
'data': [
'security/security.xml',
'security/ir.model.access.csv',
'views/hospital_patient_views.xml',
],
'installable': True,
'license': 'LGPL-3',
}
models/hospital_patient.py:
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)
Melhores Práticas
- ✅ Fazer: Sempre prefixe seu modelo
_namecom um namespace (por exemplo,hospital.patient). - ✅ Fazer: Use
_inherit = ['mail.thread']para adicionar chatter/logging automaticamente. - ✅ Fazer: Especifique
versionno manifesto como{odoo_version}.{major}.{minor}.{patch}. - ✅ Fazer: Defina
'author'e'website'em__manifest__.pypara que seu módulo seja identificável na lista de Apps. - ❌ Não fazer: Modificar arquivos de modelo do Odoo core diretamente — sempre use
_inherit. - ❌ Não fazer: Esquecer de adicionar novos modelos ao
ir.model.access.csvou os usuários terão erros de acesso. - ❌ Não fazer: Usar espaços ou letras maiúsculas em nomes de pastas — o Odoo requer nomes de módulo em snake_case.
Limitações
- Não cobre componentes JavaScript OWL ou desenvolvimento de widgets frontend — use
@odoo-xml-views-builderpara XML de visualização. - O exemplo de manifesto visa o Odoo 17; verifique a versão exata e a sintaxe de módulo/visualização suportada. Versões mais antigas do Odoo também usam manifestos de módulo; não infira um corte inexistente de manifesto.
- Não cobre configuração multi-empresa ou multi-website; estes requerem campos de modelo adicionais (
company_id,website_id). - Não gera arquivos de teste automatizados — use
@odoo-automated-testspara isso.
A árvore exibida é uma estrutura, não um módulo instalável completo: forneça imports, visualizações XML, grupos nomeados, ACLs e regras de registro antes de afirmar que funciona. Evite acesso amplo padrão a dados do paciente; chatter/rastreamento pode divulgar valores sensíveis, portanto, selecione campos e seguidores deliberadamente. Teste a instalação, o cálculo/restrições de múltiplos registros e o acesso não autorizado em um banco de dados descartável, nunca através de uma atualização de módulo de produção não solicitada.
Perguntas frequentes
O que é um módulo Odoo?
Um módulo é um pacote de código que adiciona funcionalidades ao sistema Odoo, como gestão de vendas, estoque, contabilidade, etc.
O que é o arquivo __manifest__.py?
É um arquivo de configuração essencial para qualquer módulo Odoo. Ele contém informações como o nome do módulo, versão, dependências e quais arquivos de dados ele utiliza.
O que significa 'model inheritance'?
É uma técnica para estender ou modificar a funcionalidade de um modelo (tabela de dados) já existente no Odoo, sem alterar o código original. Você pode adicionar novos campos, métodos ou regras.
Detalhes
Descrição original do autor
Expert guide for creating custom Odoo modules. Covers __manifest__.py, model inheritance, ORM patterns, and module structure best practices.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3730
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
api-connector-builder
Faz seu agente construir novas conexões com APIs seguindo o padrão já existente. Use quando precisar adicionar mais uma integração sem criar um novo jeito de fazer.
affaan-m/ECC
api-design
Ajuda seu agente a projetar APIs REST seguindo as melhores práticas. É útil para definir como as APIs se comunicam, como os erros são mostrados e como organizar os dados.
affaan-m/ECC
backend-patterns
Ajuda seu agente com padrões de arquitetura do lado do servidor e otimização de banco de dados. É útil para construir ou revisar o código que roda no servidor.
affaan-m/ECC