odoo-introspector
Skill2 starsChanged 3 months agoMITView on GitHub
MANDATORY for technical discovery. Expertise in Odoo's internal ORM structures, field types, and metadata interpretation.
In this repository30 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- odoo-attendanceSkill
- odoo-crmSkill
- odoo-dashboardsSkill
- odoo-data-opsSkill
- odoo-devSkill
- odoo-documentsSkill
- odoo-field-serviceSkill
- odoo-financeSkill
- odoo-frontdeskSkill
- odoo-get-startedSkill
- odoo-helpdeskSkill
- odoo-hrSkill
- odoo-inventorySkill
- odoo-knowledgeSkill
- odoo-mrpSkill
- odoo-plmSkill
- odoo-productsSkill
- odoo-projectsSkill
- odoo-purchasingSkill
- odoo-qualitySkill
- odoo-relationsSkill
- odoo-reportsSkill
- odoo-salesSkill
- odoo-securitySkill
- odoo-spreadsheetsSkill
- odoo-uxSkill
- odoo-websiteSkill
- odoo-worksheetsSkill
- odoo-workspaceSkill
The file
We split this skill into the rules it gives an agent
6 rules. About 0 are common, 0 are distinctive, and 6 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 12
Mandate: All static resources (e.g., core-models.md, *-fields.json) provided in skills are convenience snapshots of standard Odoo models.
- Very specific: line 16
When inspecting an Odoo model (via inspect_model), you must assume the following baseline for every field unless a property flag explicitly …
- Very specific: line 37
Search: Use list_models with a search_term to find the technical name (e.g., sale.order) of the business object you need.
- Very specific: line 38
Inspect: Use inspect_model to understand the fields, their types, and their relationships.
- Very specific: line 39
Proactive Discovery: Use flags like show_methods: true to find Server Actions and View Buttons, or show_ui: true to find the XML IDs of …
- Very specific: line 40
Trace: Use trace_ui_path to map a technical model back to the user's visual interface (Menu -> Action -> View).
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Skill: Odoo Introspector
This skill provides the agent with the necessary expertise to examine, understand, and interpret Odoo's internal ORM (Object-Relational Mapping) structures and metadata.
Core Mandates
1. Static Resources vs. Live Truth
- Mandate: All static resources (e.g.,
core-models.md,*-fields.json) provided in skills are convenience snapshots of standard Odoo models. They are NOT exhaustive and do NOT include custom fields added via Odoo Studio or third-party modules. - Verification: If a user mentions a field that is not in your resources, or if a task requires absolute technical precision, you MUST call
inspect_modelto retrieve the "Live Truth" from the target Odoo instance. NEVER argue with a user about a field's existence based on a static resource.
2. Baseline Field Assumptions
When inspecting an Odoo model (via inspect_model), you must assume the following baseline for every field unless a property flag explicitly overrides it:
- Storage: The field is stored in the database (
store: true). - Mutability: The field is both readable and writable (
readonly: false). - Optionality: The field is optional (
required: false). - Scope: The field is shared across all companies in the instance (
company_dependent: false). - Translation: The field is NOT translatable (
translate: false).
2. Interpreting Lean Property Encoding
The inspect_model tool uses a compressed "Lean Property Encoding" strategy. Deviations from the baseline assumptions are listed in a properties array:
required: The field MUST be provided during creation.readonly: The field is managed by the system and cannot be manually written.company-dependent: The field value is stored per-company (viair.property).not-stored: The field is computed on-the-fly and cannot be used in direct SQL-like searches unless it is explicitly marked as stored.translatable: The field supports multiple languages. Passwith_translations: trueto read or write all languages; without it you only see and change the user's language. Seeodoo-data-ops§9.
3. Orchestrated Field Metadata
Beyond basic properties, inspect_model provides middleware-driven enhancements:
- Search Hints (
hint): Relational fields (Many2one) often include ahintproperty containing the Odoo domain. Use this to construct yoursearch_readfilters for that model. - Label Expansion: Relational fields are automatically expanded by the server where possible, providing both the ID and the display name.
Model Discovery Workflow
- Search: Use
list_modelswith asearch_termto find the technical name (e.g.,sale.order) of the business object you need. - Inspect: Use
inspect_modelto understand the fields, their types, and their relationships.- Proactive Discovery: Use flags like
show_methods: trueto find Server Actions and View Buttons, orshow_ui: trueto find the XML IDs of associated forms and lists.
- Proactive Discovery: Use flags like
- Trace: Use
trace_ui_pathto map a technical model back to the user's visual interface (Menu -> Action -> View). This is essential for answering "How does a user manage this data?". - Reference: Consult the
odoo-field-typesresource for deep-dives into complex relations. Usesearch_recordsfor breadth searches andget_recordfor 360-degree deep-dives.
Note: All introspection tools support the instance_alias parameter if you need to explore a non-default environment.
Available Resources
odoo-field-types.md: Technical guide for Many2one, One2many, Many2many, and Compute fields.core-models.md: Optimized schemas for ubiquitous models (e.g.,res.partner).
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

