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.
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
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
-
Usuario pergunta sobre dado que nao esta mapeado
- Agent usa esta skill para descobrir campos
- Retorna informacao enriquecida ao usuario
-
Implementar nova consulta
- Descobrir estrutura do modelo
- Mapear campos relevantes
- Documentar em rastreando-odoo (references/relacionamentos.md)
-
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-odooem 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 |
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-01-26
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!