返回 Skill 列表
extension
分类: 开发与工程无需 API Key

descobrindo-odoo-estrutura

发现任何Odoo模型的字段和结构。列出表字段,按名称查找字段,检查记录,执行通用查询。使用场景:不熟悉Odoo模型时,需要发现字段名称,探索表结构,对未映射模型进行查询。

person作者: jakexiaohubgithub

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

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

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

Buscar campo especifico

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

Inspecionar registro

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

Consulta generica com filtro

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?"

# 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.

# 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)"

# 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 |