AgentSkillsCN

descobrindo-odoo-estrutura

发现Odoo任意模型中的字段与结构。列出表中所有字段,按名称查找字段,检查单条记录,执行通用查询。当您:不了解某个Odoo模型、需要查明字段名称、探索表结构、或对未映射的模型进行查询时,可使用此技能。

SKILL.md
--- frontmatter
name: descobrindo-odoo-estrutura
description: "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."

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

OperacaoFlagDescricaoExemplo
Listar campos--listar-camposLista todos os campos do modelo--modelo res.partner --listar-campos
Buscar campo--buscar-campoBusca campo por nome/descricao--modelo res.partner --buscar-campo cnpj
Inspecionar--inspecionarMostra todos os campos de um registro--modelo res.partner --inspecionar 123
Consulta generica--filtroConsulta com filtro JSON--modelo res.partner --filtro '[["name","ilike","teste"]]'

Parametros

ParametroObrigatorioDescricao
--modeloSimNome do modelo Odoo (ex: res.partner, account.move)
--listar-camposNaoLista todos os campos do modelo
--buscar-campoNaoTermo para buscar nos nomes/descricoes dos campos
--inspecionarNaoID do registro para inspecionar
--filtroNaoFiltro em formato JSON
--camposNaoCampos a retornar (JSON), usado com --filtro
--limitNaoLimite de resultados (padrao: 10)
--jsonNaoSaida 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)

ModeloDescricaoSkill Relacionada
l10n_br_ciel_it_account.dfeDocumentos Fiscaisrastreando-odoo
l10n_br_ciel_it_account.dfe.lineLinhas dos DFErastreando-odoo
res.partnerParceiros (clientes, fornecedores)rastreando-odoo
account.moveFaturas/Lancamentosrastreando-odoo
account.move.lineLinhas de faturarastreando-odoo
purchase.orderPedidos de comprarastreando-odoo
sale.orderPedidos de vendarastreando-odoo
product.productProdutos-

Fluxo de Trabalho

code
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

SkillUso
rastreando-odooConsultas e rastreamento de fluxos documentais (NF, PO, SO, titulos)
integracao-odooDesenvolvimento de novas integracoes
gerindo-expedicaoConsultas de carteira, separacoes e estoque