agentleFS
actinon-comactinon-com/brass-monkey/skills/odoo-introspector/SKILL.md

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.

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
  1. Very specific:

    Mandate: All static resources (e.g., core-models.md, *-fields.json) provided in skills are convenience snapshots of standard Odoo models.

    line 12
  2. Very specific:

    When inspecting an Odoo model (via inspect_model), you must assume the following baseline for every field unless a property flag explicitly …

    line 16
  3. Very specific:

    Search: Use list_models with a search_term to find the technical name (e.g., sale.order) of the business object you need.

    line 37
  4. Very specific:

    Inspect: Use inspect_model to understand the fields, their types, and their relationships.

    line 38
  5. Very specific:

    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 …

    line 39
  6. Very specific:

    Trace: Use trace_ui_path to map a technical model back to the user's visual interface (Menu -> Action -> View).

    line 40

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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_model to 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 (via ir.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. Pass with_translations: true to read or write all languages; without it you only see and change the user's language. See odoo-data-ops §9.

3. Orchestrated Field Metadata

Beyond basic properties, inspect_model provides middleware-driven enhancements:

  • Search Hints (hint): Relational fields (Many2one) often include a hint property containing the Odoo domain. Use this to construct your search_read filters 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

  1. Search: Use list_models with a search_term to find the technical name (e.g., sale.order) of the business object you need.
  2. Inspect: Use inspect_model to understand the fields, their types, and their relationships.
    • 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 associated forms and lists.
  3. Trace: Use trace_ui_path to 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?".
  4. Reference: Consult the odoo-field-types resource for deep-dives into complex relations. Use search_records for breadth searches and get_record for 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).

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.