cid-api-exploration

Discover Odoo CID ERP models and fields via ir.model metadata introspection.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/Ascenseurs-Menetrey-SA/amsa-claude-skills --skill cid-api-exploration
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: cid-api-exploration
Source: https://github.com/Ascenseurs-Menetrey-SA/amsa-claude-skills/tree/main/exploration-cid
Command: npx skills add https://github.com/Ascenseurs-Menetrey-SA/amsa-claude-skills --skill cid-api-exploration

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps you quickly understand which Odoo (CID ERP) models and fields exist and whether they are accessible for synchronization, avoiding guesswork and brittle hardcoded mappings.

Core Features & Use Cases

  • Dynamic model discovery (ir.model): Find candidate Odoo models by prefix or keyword and identify their metadata scope.
  • Field exploration (ir.model.fields): Enumerate fields for a given model, including type (ttype), storage availability (store), required flags, and relation targets.
  • Access & relationship analysis (ir.model.access / relation fields): Validate that API access is possible and interpret Many2One/One2Many/Many2Many structures to plan reliable sync logic.

Use Case Example: You need to sync additional accounting data into your system and you are unsure which model/fields are stored and queryable; you use this Skill to locate the model, list its stored fields, map relations, and decide what to implement next.

Quick Start

Ask the Skill to explore the available CID Odoo models and then list the stored fields for a specific model such as account.move.

Frequently Asked Questions about cid-api-exploration

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I discover available Odoo models and fields for backend sync integration?

To discover Odoo models and fields, introspect ir.model metadata to find candidate models by keyword, then enumerate fields via ir.model.fields to check ttype, store flags, and relation targets. This validates API access and identifies queryable fields for synchronization.

What's the best way to map Many2One and One2Many relations in Odoo for data sync?

Mapping Odoo Many2One and One2Many relations requires interpreting ir.model.fields metadata to identify relation targets and validate access. You must carefully treat stored fields and false-valued relations during schema exploration to build reliable sync logic without brittle hardcoded mappings.

How do I handle Odoo selection fields when reading data via the API?

Odoo selection fields must be handled as Python-string literals during API read operations. You use literal_eval to correctly parse selection field values returned from domain-based search_read queries, ensuring accurate data extraction for backend integrations and field mapping.

Can I check if an Odoo model field is stored and queryable before syncing?

You can verify if an Odoo field is stored and queryable by introspecting ir.model.fields metadata for the store attribute and required flags. This schema exploration prevents synchronization gaps by confirming which fields support domain-based search_read queries.

Why does my Odoo data sync fail with false-valued relation fields?

Odoo sync failures with false-valued relations occur when stored relational fields return false instead of a valid record ID. Careful treatment of these false-valued relations during schema introspection and field discovery prevents brittle mapping errors in backend integration sync logic.

Do I need API access validation before introspecting Odoo model schemas?

Yes, API access validation via ir.model.access is required before introspecting Odoo model schemas to ensure synchronization queries succeed. Validating access rights alongside field exploration confirms that domain-based search_read operations will execute without permission errors.