Agent skill

descobrindo-odoo-estrutura

Descobre campos e estrutura de qualquer modelo do Odoo. Lista campos de tabela, busca campo por nome, inspeciona registro, faz consulta generica. Use quando: nao conhecer um modelo Odoo, precisar descobrir nome de campo, explorar estrutura de tabela, consulta em modelo nao mapeado.

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/devops/descobrindo-odoo-estrutura

SKILL.md

Descobrindo Odoo Estrutura

Skill para descoberta de campos e estrutura de modelos do Odoo.

QUANDO USAR: Quando o Agent nao conhecer um modelo/campo especifico do Odoo e precisar descobrir a estrutura para enriquecer a resposta ao usuario.

Casos de Uso

  1. Usuario pergunta sobre dado que nao esta mapeado

    • Agent usa esta skill para descobrir campos
    • Retorna informacao enriquecida ao usuario
  2. Implementar nova consulta

    • Descobrir estrutura do modelo
    • Mapear campos relevantes
    • Documentar em rastreando-odoo (references/relacionamentos.md)
  3. Debug de integracoes

    • Inspecionar registro especifico
    • Verificar valores de campos

Script Disponivel

descobrindo.py

bash
source .venv/bin/activate && \
python .claude/skills/descobrindo-odoo-estrutura/scripts/descobrindo.py [opcoes]

Operacoes Disponiveis

Operacao Flag Descricao Exemplo
Listar campos --listar-campos Lista todos os campos do modelo --modelo res.partner --listar-campos
Buscar campo --buscar-campo Busca campo por nome/descricao --modelo res.partner --buscar-campo cnpj
Inspecionar --inspecionar Mostra todos os campos de um registro --modelo res.partner --inspecionar 123
Consulta generica --filtro Consulta com filtro JSON --modelo res.partner --filtro '[["name","ilike","teste"]]'

Parametros

Parametro Obrigatorio Descricao
--modelo Sim Nome do modelo Odoo (ex: res.partner, account.move)
--listar-campos Nao Lista todos os campos do modelo
--buscar-campo Nao Termo para buscar nos nomes/descricoes dos campos
--inspecionar Nao ID do registro para inspecionar
--filtro Nao Filtro em formato JSON
--campos Nao Campos a retornar (JSON), usado com --filtro
--limit Nao Limite de resultados (padrao: 10)
--json Nao Saida em formato JSON

Exemplos de Uso

Descobrir campos de um modelo

bash
python .../descobrindo.py --modelo l10n_br_ciel_it_account.dfe --listar-campos

Buscar campo especifico

bash
python .../descobrindo.py --modelo res.partner --buscar-campo cnpj

Inspecionar registro

bash
python .../descobrindo.py --modelo res.partner --inspecionar 123

Consulta generica com filtro

bash
python .../descobrindo.py \
  --modelo res.partner \
  --filtro '[["vat","ilike","93209765"]]' \
  --campos '["id","name","vat"]' \
  --limit 5

Cenarios Praticos de Descoberta

Cenario 1: Usuario pergunta sobre campo desconhecido

Situacao: "Qual o campo que guarda o codigo de barras do produto?"

bash
# Passo 1: Buscar campos relacionados a "barcode" no modelo product.product
source .venv/bin/activate && \
python .claude/skills/descobrindo-odoo-estrutura/scripts/descobrindo.py \
  --modelo product.product \
  --buscar-campo barcode

# Resultado esperado: Lista campos como barcode, barcode_ids, etc.

Acao apos descoberta: Documentar no CLAUDE.md ou references/MODELOS_CAMPOS.md se for campo frequentemente usado.


Cenario 2: Debug de campo com valor inesperado

Situacao: "Qual o valor do campo X no registro Y?"

NOTA: Para RASTREAR documentos (NF, PO, SO), use a skill rastreando-odoo em vez desta.

bash
# Inspecionar TODOS os campos de um registro especifico
source .venv/bin/activate && \
python .claude/skills/descobrindo-odoo-estrutura/scripts/descobrindo.py \
  --modelo res.partner \
  --inspecionar 12345

Resultado: Ver todos os valores de campos do registro para debug.


Cenario 3: Preparar nova integracao

Situacao: "Preciso criar integracao com modelo stock.picking (movimentacao de estoque)"

bash
# Passo 1: Listar TODOS os campos do modelo
source .venv/bin/activate && \
python .claude/skills/descobrindo-odoo-estrutura/scripts/descobrindo.py \
  --modelo stock.picking \
  --listar-campos \
  --json > /tmp/stock_picking_campos.json

# Passo 2: Buscar campos especificos de interesse
python .claude/skills/descobrindo-odoo-estrutura/scripts/descobrindo.py \
  --modelo stock.picking \
  --buscar-campo partner

python .claude/skills/descobrindo-odoo-estrutura/scripts/descobrindo.py \
  --modelo stock.picking \
  --buscar-campo origin

# Passo 3: Pegar um registro de exemplo para entender estrutura
python .claude/skills/descobrindo-odoo-estrutura/scripts/descobrindo.py \
  --modelo stock.picking \
  --filtro '[["state","=","done"]]' \
  --limit 1 \
  --inspecionar

Proximo passo: Usar skill integracao-odoo para criar o Service com os campos descobertos.

Modelos Conhecidos (Referencia)

Modelo Descricao Skill Relacionada
l10n_br_ciel_it_account.dfe Documentos Fiscais rastreando-odoo
l10n_br_ciel_it_account.dfe.line Linhas dos DFE rastreando-odoo
res.partner Parceiros (clientes, fornecedores) rastreando-odoo
account.move Faturas/Lancamentos rastreando-odoo
account.move.line Linhas de fatura rastreando-odoo
purchase.order Pedidos de compra rastreando-odoo
sale.order Pedidos de venda rastreando-odoo
product.product Produtos -

Fluxo de Trabalho

Usuario pergunta sobre dado desconhecido
        │
        ▼
Agent verifica: modelo/campo conhecido?
        │
        ├── SIM → Usa rastreando-odoo para consultar fluxos
        │
        └── NAO → Usa esta skill para descobrir
                    │
                    ▼
              descobrindo.py --modelo X --listar-campos
                    │
                    ▼
              Retorna informacao ao usuario

Relacionado

Skill Uso
rastreando-odoo Consultas e rastreamento de fluxos documentais (NF, PO, SO, titulos)
integracao-odoo Desenvolvimento de novas integracoes
gerindo-expedicao Consultas de carteira, separacoes e estoque

Didn't find tool you were looking for?

Be as detailed as possible for better results