Pular para o conteúdo
Skillpedia
APIs e servidores (backend)48 mil · #3730

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

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/odoo-module-developer/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/odoo-module-developer/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-developer

Ou 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.md
Conteú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, compute e constraint.

Como Funciona

  1. Ativar: Mencione @odoo-module-developer e descreva o módulo que você deseja construir.
  2. Estruturar: Obtenha a estrutura completa de pastas com __manifest__.py, __init__.py, modelos, visualizações e arquivos de segurança.
  3. 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 _name com um namespace (por exemplo, hospital.patient).
  • ✅ Fazer: Use _inherit = ['mail.thread'] para adicionar chatter/logging automaticamente.
  • ✅ Fazer: Especifique version no manifesto como {odoo_version}.{major}.{minor}.{patch}.
  • ✅ Fazer: Defina 'author' e 'website' em __manifest__.py para 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.csv ou 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-builder para 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-tests para 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.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#3730
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas