Agent skill

Odoo Write

by heypinchy in heypinchy/pinchy

Create and update records in a connected Odoo instance with odoocreate / odoowrite, following the standard write discipline.

AGPL-3.0Auto-check passed

Install Odoo Write

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

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

GitHub CLI
$ gh skill install heypinchy/pinchy odoo-write --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-write .claude/skills/odoo-write && 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-write
GitHub stars
182
Token cost
~990 tokens
SKILL.md length
534 words
Files
1
Skills in repo
18
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Create and update records in a connected Odoo instance with odoocreate / odoowrite, following the standard write discipline.

  • An agent has write access and needs to add
  • SKILL.md covers Never write without confirming…, Duplicate-check before every…, One create call per record —… and Never guess relation IDs, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Odoo Write is an agent skill from heypinchy/pinchy. Create and update records in a connected Odoo instance with odoocreate / odoowrite, following the standard write discipline. Use whenever an agent has write access and needs to add or change data. Covers draft-first and confirm-before-write, duplicate checks, single-call creation with inline child lines, never guessing relation IDs, and verifying the record after create.

Its SKILL.md is about 990 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 has write access and needs to add

Example prompts

  • “/odoo-write”

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.

    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 Write loads about 990 tokens when it runs. Until then it costs about 97 tokens; SKILL.md has 534 words of instructions outside code blocks.

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

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). 534 words, ~990 tokens.

Download SKILL.mdSave it as .claude/skills/odoo-write/SKILL.md (or your agent's skills folder).
name
odoo-write
description
Create and update records in a connected Odoo instance with odoo_create / odoo_write, following the standard write discipline. Use whenever an agent has write access and needs to add or change data. Covers draft-first and confirm-before-write, duplicate checks, single-call creation with inline child lines, never guessing relation IDs, and verifying the record after create.

Writing to Odoo

When an agent has write access, odoo_create and odoo_write change real business data. This skill is the shared discipline every write follows. The model-specific procedure (which fields, which states, which dedup keys) lives in each agent's own persona; this skill is the invariant contract that sits underneath all of them.

Use it together with [[odoo-read]] — you always read before you write.

Never write without confirming first

Every odoo_create or odoo_write on business data is preceded by an explicit confirmation step. After you have prepared the change, present a clean summary to the user (the key fields, amounts, dates, partners, and what will happen) and ask before writing. Only proceed on an unambiguous yes. This holds even for a single-record edit.

Where a model has a draft → posted/confirmed lifecycle (invoices, orders, transfers, manufacturing orders), create in draft first and never advance the state in the same step you create the record. Draft records are reversible; confirming/posting/validating usually is not.

Duplicate-check before every create

Before creating a new record, odoo_read for an existing match first (partner by name, invoice by partner + date + amount, task by name + project, transfer by partner + date + type). If you find a likely duplicate, STOP and tell the user instead of creating a second one. This guards against double-writing when a previous create succeeded silently before a provider error.

One create call per record — inline the child lines

Lines belong to their parent. Create the parent and its lines in a SINGLE odoo_create call by passing the child records inline (e.g. invoice_line_ids, order_line, move_ids_without_package) with Odoo's [0, 0, {…}] command tuples. Never create the child records separately from a parent you also just created — that pattern leaves half-finished records if a call fails between the two steps.

Never guess relation IDs

For any many2one / many2many field (partner, account, tax, product, stage, location…), look the target up with odoo_read and use the returned reference. Never invent a numeric id or a _pinchy_ref. If a lookup returns several plausible matches, ask the user which one rather than guessing.

Show full SKILL.md (194 more words)Show less

Verify the record after you create it

Immediately after odoo_create returns, odoo_read the new record and compare the meaningful totals/fields against the source the user gave you (the receipt, the delivery note, the request). If they match within tolerance, continue to the confirmation step. If they diverge, STOP — show the user the diff and wait for guidance. Never silently rewrite a record to force a match.

Bulk operations: per-record review, single write

When a change touches more than a few records, summarize each affected record to the user (not just the count) and wait for confirmation. On yes, you may issue a single odoo_write with the full id list for efficiency — but every record must have been individually surfaced first.

Action tools over raw state writes

Some transitions have dedicated action tools (e.g. confirming an order, validating a transfer, marking an MO done, recording an approval). Prefer those over writing state by hand — a raw state write skips Odoo's side effects (deliveries, procurement, back-flushing, accounting) and leaves a broken record. When an action tool reports that Odoo needs a follow-up decision (backorder, consumption, second approval step), relay that to the user instead of retrying.

© 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-write of heypinchy/pinchy.

Open the folder on GitHubat commit 5159959

Compare with similar skills

Odoo Write 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 Write compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Odoo Write this skillheypinchy/pinchy182—~990Automated safety check: PassAGPL-3.0
Odoo Workflowunclecatvn/agent-skills143—~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-skills143—~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…

    143 GitHub stars~4.7k tokensUpdated 15 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…

    143 GitHub stars~1.3k tokensUpdated 15 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)…

    143 GitHub stars~1.4k tokensUpdated 15 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 18 days ago
    Auto-check passed
  • Odoo Read

    heypinchy/pinchy

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

    182 GitHub stars~965 tokensUpdated 18 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 18 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 18 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 18 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 18 days ago
    Auto-check passed

Works with

Questions about Odoo Write

What does Odoo Write do?

Create and update records in a connected Odoo instance with odoocreate / odoowrite, following the standard write discipline. Odoo Write is an agent skill from heypinchy/pinchy. Create and update records in a connected Odoo instance with odoocreate / odoowrite, following the standard write discipline.

When should I use Odoo Write?

Odoo Write fits situations like: an agent has write access and needs to add.

How do I install Odoo Write in Claude Code?

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

How do I install Odoo Write in Codex?

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

Can I use Odoo Write 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-write -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-write, .gemini/skills/odoo-write, .github/skills/odoo-write and .opencode/skills/odoo-write in your project.

What does Odoo Write need to run?

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

Does Odoo Write 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 Write 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 Write use?

Odoo Write 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 Write use?

About 990 tokens (SKILL.md is roughly 4k 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 Write?

Skills that share tags, products or a category with Odoo Write: Odoo Workflow (unclecatvn/agent-skills, 143 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, 143 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Odoo Write?

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.