Agent skill

Odoo Read

by heypinchy in heypinchy/pinchy

Query and summarize data from a connected Odoo instance with the odoo read tools (describe, count, read, aggregate).

AGPL-3.0Auto-check passed

Install Odoo Read

skills CLI
$ npx skills add heypinchy/pinchy --skill odoo-read -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install heypinchy/pinchy odoo-read --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/heypinchy/pinchy.git skills-src && mkdir -p .claude/skills && cp -r skills-src/packages/web/src/lib/skills/odoo-read .claude/skills/odoo-read && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
odoo-read
GitHub stars
182
Token cost
~965 tokens
SKILL.md length
413 words
Files
1
Skills in repo
18
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Query and summarize data from a connected Odoo instance with the odoo read tools (describe, count, read, aggregate).

  • Works in 3 steps: Always call odoo_describe_model first… → Use odoo_count to check dataset size… → Use odoo_read for detailed records,…
  • An agent needs to look up records
  • SKILL.md covers Mandatory Workflow, Identifier Disambiguation (id…, Query Syntax Reference and Output Formatting, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Odoo Read is an agent skill from heypinchy/pinchy. Query and summarize data from a connected Odoo instance with the odoo read tools (describe, count, read, aggregate). Use whenever an agent needs to look up records, run analytics, or report on Odoo data. Covers the mandatory describe-first workflow, id vs defaultcode disambiguation, the domain/aggregate query syntax, and how to format results.

Its SKILL.md is about 970 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It works with Odoo. The repository describes itself as: Self-hosted AI agent platform built on OpenClaw. Enterprise-ready, offline-capable, open source. 🦞. The licence is AGPL-3.0.

When your agent uses it

  • An agent needs to look up records
  • Report on Odoo data

Example prompts

  • “/odoo-read”

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Always call odoo_describe_model first before querying any model. This gives you the exact field names and types. Never guess field names…
  2. Use odoo_count to check dataset size before fetching large result sets.
  3. Use odoo_read for detailed records, odoo_aggregate for sums/averages/grouping.

What it can do on your machine

Read from SKILL.md and the folder at commit 5159959. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are json).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Odoo Read loads about 965 tokens when it runs. Until then it costs about 90 tokens; SKILL.md has 413 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~90
When it runs · the whole SKILL.md, loaded when a task matches
~965

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from heypinchy/pinchy at commit 5159959, republished under its AGPL-3.0 licence (© heypinchy). 413 words, ~965 tokens.

Download SKILL.mdSave it as .claude/skills/odoo-read/SKILL.md (or your agent's skills folder).
name
odoo-read
description
Query and summarize data from a connected Odoo instance with the odoo_* read tools (describe, count, read, aggregate). Use whenever an agent needs to look up records, run analytics, or report on Odoo data. Covers the mandatory describe-first workflow, id vs default_code disambiguation, the domain/aggregate query syntax, and how to format results.

Reading Odoo data

You query a connected Odoo instance through a fixed set of read tools — odoo_list_models, odoo_describe_model, odoo_count, odoo_read, and odoo_aggregate. This skill is the shared foundation for every Odoo agent: how to discover fields, how to write queries, and how to present results. Model-specific field lists live in each agent's own persona (## Available Data).

Mandatory Workflow

  1. Always call odoo_describe_model first before querying any model. This gives you the exact field names and types. Never guess field names — they differ from what you might expect (e.g., product_uom_qty not quantity, amount_total not total). Use odoo_list_models to discover which models are available.
  2. Use odoo_count to check dataset size before fetching large result sets.
  3. Use odoo_read for detailed records, odoo_aggregate for sums/averages/grouping.

Identifier Disambiguation (id vs default_code)

Odoo uses two unrelated identifiers on product-like models, and confusing them is a frequent source of silent search failures (the query returns nothing, the agent guesses, the downstream action lands on the wrong record):

  • id — Odoo's internal numeric primary key (e.g. 42). Opaque. Appears in URLs.
  • default_code — the human-readable internal reference / SKU (e.g. WIDGET-12).

When the user mentions a product reference, SKU, or "internal reference", filter by default_code. When they reference "the record ID" or paste a number from a URL, filter by id. Never use one when the user wrote the other.

Query Syntax Reference

Filters (domain)

Array of [field, operator, value] tuples. Operators: =, !=, >, >=, <, <=, in, not in, like, ilike. Example: [["state", "=", "sale"], ["date_order", ">=", "2026-01-01"]]

Show full SKILL.md (170 more words)Show less
odoo_read — order parameter

String with field name and direction: "date_order desc" or "amount_total asc".

odoo_aggregate — groupby and fields
  • groupby: array of field names, optionally with date granularity: ["partner_id"], ["date_order:month"], ["date_order:year"]
  • fields: array of field names with aggregation operator: ["amount_total:sum"], ["partner_id:count_distinct"], ["price_unit:avg"]
  • Important: The orderby parameter in odoo_aggregate sorts groups. Use a field from the groupby or an aggregated field: "amount_total desc".
  • Limitation: You cannot sort aggregation results by a computed aggregate that isn't in the fields list. If you need custom sorting, fetch the groups and sort yourself.
Example: Revenue by month
json
{
  "model": "sale.order",
  "filters": [["state", "=", "sale"]],
  "fields": ["amount_total:sum"],
  "groupby": ["date_order:month"]
}
Example: Top customers by revenue
json
{
  "model": "sale.order",
  "filters": [["state", "=", "sale"]],
  "fields": ["amount_total:sum"],
  "groupby": ["partner_id"],
  "orderby": "amount_total desc",
  "limit": 10
}

Output Formatting

  • Use tables for comparisons and rankings
  • Use bullet points for summaries
  • Always include totals and counts
  • Format currency as EUR with 2 decimals
  • Format dates as DD.MM.YYYY

General Rules

  • Never guess or fabricate data — only report what the API returns
  • If a query returns too many results, use count first and suggest filters
  • If you lack access to a model, say so clearly
  • Always state the time period of your analysis

© heypinchy, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in packages/web/src/lib/skills/odoo-read of heypinchy/pinchy.

Open the folder on GitHubat commit 5159959

Compare with similar skills

Odoo Read next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Odoo Read compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Odoo Read this skillheypinchy/pinchy182—~965Automated safety check: PassAGPL-3.0
Odoo Workflowunclecatvn/agent-skills145—~4.7kAutomated safety check: PassMIT
Odoo Agency Fleet Reviewerpipe-org/mcp-odoo421—~699Automated safety check: PassMIT
Odoo Data Quality Gateerpipe-org/mcp-odoo421—~765Automated safety check: PassMIT
Code Reviewunclecatvn/agent-skills145—~1.3kAutomated safety check: PassMIT
Odoo Migration Copiloterpipe-org/mcp-odoo421—~770Automated safety check: PassMIT

Similar skills

  • Odoo Workflow

    unclecatvn/agent-skills

    Mandatory pre-code gate and definition-of-done for ANY Odoo change (add field, override method, inherit view/xpath, OWL/JS patch, wizard, cron, controller, report, security, migration, bug fix…

    145 GitHub stars~4.7k tokensUpdated 16 days ago
    DevelopmentAuto-check passed
  • Odoo Agency Fleet Review

    erpipe-org/mcp-odoo

    Review many client Odoo databases at once through odoo-mcp's cross-instance tools — fleet-wide accounting health, per-client aging, partial-failure triage — for agencies and partners managing 5–50…

    421 GitHub stars~699 tokensUpdated 1 mo ago
    Business, Finance & HRAuto-check passed
  • Odoo Data Quality Gate

    erpipe-org/mcp-odoo

    Audit an Odoo database's data quality with evidence before trusting AI answers, importing, or migrating — duplicates, missing required values, orphaned references, format anomalies — and drive…

    421 GitHub stars~765 tokensUpdated 1 mo ago
    Data & AnalyticsAuto-check passed
  • Code Review

    unclecatvn/agent-skills

    A skill your agent uses when receiving code review feedback (especially if unclear or technically questionable), when completing tasks or major features requiring review before proceeding, or before…

    145 GitHub stars~1.3k tokensUpdated 16 days ago
    DevelopmentAuto-check passed
  • Odoo Migration Copilot

    erpipe-org/mcp-odoo

    Plan and de-risk an Odoo version upgrade (16→17→18→19/20) using odoo-mcp's migration workbench — audit custom addons, classify upgrade-log failures into a worklist, resolve model renames, and…

    421 GitHub stars~770 tokensUpdated 1 mo ago
    Agent WorkflowsAuto-check passed
  • Odoo 16

    unclecatvn/agent-skills

    Odoo 16 development reference for Python models and ORM (search, domain, readgroup, compute fields), XML/CSV data and views, OWL/JS client code, QWeb reports, security (ACL, record rules, groups)…

    145 GitHub stars~1.4k tokensUpdated 16 days ago
    Frontend & DesignAuto-check passed

More from heypinchy/pinchy

All 18 skills in this repo
  • Knowledge Search

    heypinchy/pinchy

    Answer questions from the organization's indexed documents using knowledgesearch, and cite every claim back to a retrieved passage.

    182 GitHub stars~1.4k tokensUpdated 20 days ago
    Auto-check passed
  • Review Docs

    heypinchy/pinchy

    Use before opening a PR that changes docs/ or a user-visible surface (an API route, the tool registry, an agent template, the audit event catalogue, the settings navigation, plugin tools), and when…

    182 GitHub stars~1.3k tokensUpdated 20 days ago
    Auto-check passed
  • Update Dependencies

    heypinchy/pinchy

    A skill your agent uses when bumping general npm/pnpm dependencies across the Pinchy workspace (root, packages/web, packages/plugins/, docs), when the user asks to "update dependencies," "check for…

    182 GitHub stars~1.5k tokensUpdated 20 days ago
    Auto-check passed
  • A skill your agent uses when a new Ollama Cloud model is announced or available (e.g.

    182 GitHub stars~3.9k tokensUpdated 20 days ago
    Auto-check: notes
  • Update Openclaw

    heypinchy/pinchy

    A skill your agent uses when bumping the pinned OpenClaw core version (openclaw npm package), when preparing a Pinchy release, or when the user asks to "update OpenClaw" / "upgrade OpenClaw" / check…

    182 GitHub stars~2.8k tokensUpdated 20 days ago
    Auto-check passed
  • Cut Pinchy Release

    heypinchy/pinchy

    A skill your agent uses when cutting, tagging, or publishing a new Pinchy version — e.g.

    182 GitHub stars~11k tokensUpdated 20 days ago
    Auto-check: notes

Works with

Questions about Odoo Read

What does Odoo Read do?

Query and summarize data from a connected Odoo instance with the odoo read tools (describe, count, read, aggregate). Odoo Read is an agent skill from heypinchy/pinchy. Query and summarize data from a connected Odoo instance with the odoo read tools (describe, count, read, aggregate).

When should I use Odoo Read?

Odoo Read fits situations like: an agent needs to look up records; report on Odoo data.

How do I install Odoo Read in Claude Code?

Run `npx skills add heypinchy/pinchy --skill odoo-read -a claude-code`. Or copy the skill folder (packages/web/src/lib/skills/odoo-read in heypinchy/pinchy) into .claude/skills/odoo-read in your project. Claude Code loads it when a task matches its description.

How do I install Odoo Read in Codex?

Run `npx skills add heypinchy/pinchy --skill odoo-read -a codex`. Or copy the skill folder (packages/web/src/lib/skills/odoo-read in heypinchy/pinchy) into .agents/skills/odoo-read in your project. Codex loads it when a task matches its description.

Can I use Odoo Read in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add heypinchy/pinchy --skill odoo-read -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/odoo-read, .gemini/skills/odoo-read, .github/skills/odoo-read and .opencode/skills/odoo-read in your project.

What does Odoo Read need to run?

SKILL.md names no scripts, command-line tools or credentials: Odoo Read is instructions for the agent only.

Does Odoo Read access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Odoo Read safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Odoo Read use?

Odoo Read is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Odoo Read use?

About 965 tokens (SKILL.md is roughly 3.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Odoo Read?

Skills that share tags, products or a category with Odoo Read: Odoo Workflow (unclecatvn/agent-skills, 145 stars), Odoo Agency Fleet Review (erpipe-org/mcp-odoo, 421 stars), Odoo Data Quality Gate (erpipe-org/mcp-odoo, 421 stars) and Code Review (unclecatvn/agent-skills, 145 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Odoo Read?

heypinchy (a GitHub organization) maintains it in heypinchy/pinchy, which has 182 GitHub stars. The repository holds 18 skills in this directory. The repository was last updated on September 21, 2026.

Source: heypinchy/pinchy on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.