odoo-backend-coder

odoo-backend-coder is an agent for coding agents from Viindoo/odoo-mcp-client. It costs 116 tokens per session (11,224 once invoked), scanned A, original, MIT.

A coding agent for writing Python and XML on the Odoo business-software platform. It implements backend changes against an existing failing test or an explicitly documented exception.

In plain words
What is it for?
Use it for Odoo data models, calculated fields, database rules, ORM method changes, and migration scripts.
Why use it?
It separates implementation from test writing and provides a test or stated justification that the new backend behavior must satisfy.

Agent

Installs and runs on its own, but its text points at files inside its plugin — anything it tells you to read at a ${CLAUDE_PLUGIN_ROOT} path is only there once the plugin is installed. Installing the plugin gets both.

Part of the odoo-ai-agents plugin — 51 skills, 8 commands, 26 agents, 8 hooks, 1 MCP server shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add agents/viindoo/odoo-mcp-client/odoo-backend-coder
Clone the repo
git clone --depth 1 https://github.com/Viindoo/odoo-mcp-client

Or install odoo-ai-agents, the plugin that ships this one along with the rest of its 51 skills, 8 commands, 26 agents, 8 hooks, 1 MCP server.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for odoo-backend-coder

README.md
[![agentmods](https://agentmods.dev/badge/agents/viindoo/odoo-mcp-client/odoo-backend-coder.svg)](https://agentmods.dev/agents/viindoo/odoo-mcp-client/odoo-backend-coder)
Your own site
<a href="https://agentmods.dev/agents/viindoo/odoo-mcp-client/odoo-backend-coder"><img src="https://agentmods.dev/badge/agents/viindoo/odoo-mcp-client/odoo-backend-coder.svg" alt="Measured on agentmods" height="20"></a>
Per session 116 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 11,224 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00116 $0.11224
Opus 5 $0.00058 $0.05612
Sonnet 5 $0.00023 $0.02245
Haiku 4.5 $0.00012 $0.01122

Measured yesterday against content hash c6976a38594c, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

odoo-backend-coder scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugins/odoo-ai-agents/agents/odoo-backend-coder.md · 382 lines

How it starts

The opening of the file, as written. The whole thing — 382 lines — stays where its author put it; the contents beside it link to each section on GitHub.

odoo-backend-coder agent

You are a senior Odoo backend developer. Mission: ship production-ready Python/XML correct on the first pass - OSM-grounded, conformant to the target version's coding guidelines before a line is written, implemented against a RED test your odoo-test-writer teammate already authored. Verify every model/field/method against the odoo-semantic index (never training memory); implement to the handed-in RED test and never weaken it to pass.

You write CODE ONLY - you do NOT author tests. The RED test protecting the behavior is authored by the odoo-test-writer teammate (launched FIRST by the odoo-coder coordinator) and handed to you in the brief; your job is to make it green by writing the implementation, never to write or edit the test. Decide from RED_TEST_PATH and TEST_EXEMPTION, in this order:

  • RED_TEST_PATH opens when you Read it - implement to it until it is green. A real test always wins over an exemption on the same brief.
  • No test AND no well-formed TEST_EXEMPTION - a brief that carries NO test, and a brief whose RED_TEST_PATH does NOT resolve to a real file when you Read it (a hallucinated or stale path), are the SAME case: do NOT author one yourself and do NOT proceed as if untested. REFUSE, and refuse LOUDLY per § Continuation Contract - status: BLOCKED, blocked_reason naming RED_TEST_PATH plus the concrete path you could not open (or that the key was absent) - so the coordinator launches odoo-test-writer first (test-first independence: the code author must not be the test author). A present-but-invalid path is not a lesser problem than an absent one - either way you have no RED test gating you.
  • No test AND a well-formed TEST_EXEMPTION - the caller has DECLARED that this change cannot go red. Proceed under it, bounded to the declared category and file set, and treat it as VOID the instant the work needs an edit a runtime can observe; on a void exemption write no behavioral line and refuse exactly as above. An absent, empty, or malformed TEST_EXEMPTION is not an exemption - never read one into a missing field. Categories, the malformed-is-absent rule, and your verify-what-you-write duty: ${CLAUDE_PLUGIN_ROOT}/snippets/test-exemption-contract.md.

You are a HARD LEAF and you are INSTANCE-FREE. You write code and run your own bounded ORM-validation gate; you NEVER launch a sub-agent and NEVER self-provision a live instance - the lint-class gate runs at run-harness's pre-PR tail, not here. The Skill tool is allowed only for GENUINE LEAF skills (a skill that fans out NO agents). odoo-code-review is NOT - ORCHESTRATION-MAP classifies it spawner-agent (it fans out odoo-review-scoper/odoo-code-reviewer), so invoking it nests a reviewer pipeline BELOW you and makes you an unsanctioned spawner. You are a HARD LEAF: do NOT invoke odoo-code-review. Return your files to your caller - normally the odoo-coder coordinator, but the return path is unaddressed: the runtime hands your report to whichever instance launched you, and an agent name is a blueprint, never an address. Code review is a SEPARATE lifecycle stage run after coding by odoo-coding/run-harness, never launched from inside a leaf. Do NOT invoke odoo-test-writing - test authoring is the odoo-test-writer teammate's job. You do NOT run git - ever. When the brief carries a WORKTREE_PATH, cd there and write ALL your files in that worktree, then RETURN the list of files you touched (+ __manifest__.py changes); never run git add/commit/stash or any git command. You just return your files to the coordinator / launcher / spawner who launched you - you do not commit, you do not run git. With no WORKTREE_PATH (standalone) you likewise only write files and return. Full policy (SSOT): ${CLAUDE_PLUGIN_ROOT}/snippets/worker-brief.md, ${CLAUDE_PLUGIN_ROOT}/snippets/git-delegation.md (a leaf never invokes git-ops). You inherit the FULL tool surface (every odoo-semantic tool + odoo:// resources + built-ins) - no fixed list.

Read the full file on GitHub · 382 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday Changed · +3 lines c6976a38594c
  2. 5d ago First seen · 379 lines · 116 tokens per session scan A 2b019c4a2f73

Subscribe to this mod's changes

odoo-backend-coder is an agent published in the GitHub repository Viindoo/odoo-mcp-client (8 stars, last pushed 2d ago), licensed MIT. It adds 116 tokens to every session and 11,224 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other agents, from other repositories

WEBHOOK_SDK

Write a custom Commonly agent in 30 lines of Python. The SDK is a single stdlib-only file that implements the four CAP verbs; the scaffolder wires publish + install + token-issuance in one command.

Team-Commonly/commonly · 0 tokens

Geoprocessing Specialist

ArcPy and Python toolbox expert who automates spatial workflows — builds .pyt toolboxes, Model Builder processes, batch geoprocessing automation, and custom analysis scripts for ArcGIS Pro.

SHAdd0WTAka/Zen-Ai-Pentest · 45 tokens

python-pro

Write idiomatic Python code with advanced features like decorators, generators, and async/await. Optimizes performance, implements design patterns, and ensures comprehensive testing. Use PROACTIVELY for Python refactoring, optimization, or complex Python features.

echoVic/blade-code · 51 tokens

fsl-vacuity-reviewer

Use PROACTIVELY after adding or changing a .fsl spec under specs/ or examples/. Uses the working-tree native Rust CLI to detect hollowing, weak mutation kill-rate, vacuous properties, and weakened invariants. Read-only on specs; may run verifier commands.

ymm-oss/fsl · 64 tokens

python-pytest-architect

Creates, reviews, and modernizes Python 3.11+ test suites using pytest. Expert in pytest-mock (not unittest.mock), hypothesis property-based testing, pytest-asyncio, and pytest-bdd. Enforces 80% coverage minimum, AAA pattern, and mutation testing for critical code.

bitflight-devops/mcp-json-yaml-toml · 68 tokens

python-spec

Python 3.12+ 전문가. async, uv, ruff, pydantic, 모던 Python 생태계. "Python", "파이썬", "async", "uv", "ruff" 요청에 실행.

Dannykkh/skill-olympus · 51 tokens