Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add Viindoo/odoo-mcp-client/plugin install odoo-ai-agentsWrote 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.
[](https://agentmods.dev/skills/viindoo/odoo-mcp-client/odoo-forward-port)<a href="https://agentmods.dev/skills/viindoo/odoo-mcp-client/odoo-forward-port"><img src="https://agentmods.dev/badge/skills/viindoo/odoo-mcp-client/odoo-forward-port/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/viindoo/odoo-mcp-client/odoo-forward-port"><img src="https://agentmods.dev/badge/skills/viindoo/odoo-mcp-client/odoo-forward-port.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00024 | $0.04167 |
| Opus 5.5 | $0.00010 | $0.01667 |
| Sonnet 5.5 | $0.00005 | $0.00833 |
| Haiku 4.5 | $0.00002 | $0.00417 |
Grade C, and why
odoo-forward-port scanned grade C with 1 finding 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 7d ago.
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.
Recursive force deletehighDestructive command
rm -rf with a variable or a broad path is one typo away from removing the wrong tree.
`find <ISOLATE_DIR>/forward-port/ -mindepth 1 -maxdepth 1 -type d -mmin +43200 -exec rm -rf {} +` How it starts
The opening of the file, as written. The whole thing — 158 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Role
Forward-port conductor: own the git topology, the per-commit SEMANTIC pipeline and the subagent lifecycle. The git unit is the RANGE (Hard rule 2). Delegate leaf work and every P6 / P6-TEST / P7 gate to specialist agents
and read-only delegates ([[fp-symbol-survival-check]] - Who runs this check); you record verdicts
and finding lines, never produce them. A green merge + lint + install proves nothing (Hard rules 4-5). Code, module docs and docs-site pages
all run HERE; P0 picks the lane (docs-site: references/fp-docs-site-lane.md,
replacing only the content phases).
Route out: no commit -> odoo-coding; API delta only -> odoo-version-diff; review ->
odoo-code-review; deprecation sweep -> odoo-deprecation-audit; same-series replay ->
odoo-git-rebase; whole-cluster upgrade -> odoo-modules-upgrade; standalone design ->
odoo-solution-design; N disjoint WIs with
cherry-pick + squash -> odoo-planning; upgrade plan only -> /odoo-plan-upgrade.
/odoo-forward-port <source-ref> <target-branch> [--scope <mod1,mod2>] [--since <sha>], parsed from
$ARGUMENTS in P0 (missing source-ref / target-branch -> ask once before any read
or git-ops request). ONE shape, no mode flag; to land PART of a branch pass that sub-range's TIP SHA.
Hard rules
- Target-branch-lock - NEVER checkout, switch, commit, merge, rebase, reset or push target
branch B (reads allowed). Integrate only in the JOB-tier worktree
fp/<slug>branched FROM B (<path>/fp-integration); P8 adapts DIRECTLY there, no per-module child worktree. Every mutation goes viagit-toolkit:git-ops(${CLAUDE_PLUGIN_ROOT}/snippets/git-delegation.md); saga:${CLAUDE_PLUGIN_ROOT}/skills/_shared/integration-loop.md. - ONE merge, ONE merge commit - a single true merge of the range TIP, left uncommitted
(
[[fp-merge-absorption]]), closed by one merge commit; every source SHA is preserved; the commit count never sets the merge count. BANNED: (i) merging or committing one source commit at a time; (ii) cherry-pick at ANY granularity. A batch merges its own tip once; a FROZEN source merges alike. - Intent before code - forward the behavior, never a source hunk. SSOT
[[fp-intent-4outcome]]. - Verify by behavior - the forwarded INTENT test passes on the target AND its node's test leg
broke the rule and restored the code
(
${CLAUDE_PLUGIN_ROOT}/snippets/test-sensitivity-contract.md); a bucket-(a) source test passes with the commit's code out of play. - Symbol-survival before adapt - after every merge run P6 on conflicted AND merge-clean-but- source-touched files; resolve every broken symbol into a bucket first.
- Human gates are P4 (plan) and P12 (PR merge); local merges are self-decided. P4 is the one
Plan-Mode gate (
${CLAUDE_PLUGIN_ROOT}/snippets/planning-gate-contract.md§ One Plan-Mode gate); P10 concludes each batch onfp/<slug>unasked and lands nothing on B; no auto-merge. - Buckets (a)/(d) are still ABSORBED - never narrow the range to exclude them; record bucket +
reason on the
merge-log.mdrow and in the merge commit body. - Verify subagent claims - never trust a leaf's GREEN; run the P9 verify yourself per batch.
- Acceptance (P11) is mandatory, narrow escape only: no DONE without ACCEPTED or a recorded escape.
- i18n reconcile is mandatory, narrow escape only: 8e COMPUTES the conditions, P9.5 DISPATCHES
odoo-i18nper batch; skip only via an enumerated escape on the module'smerge-log.mdrow (${CLAUDE_PLUGIN_ROOT}/snippets/i18n-mandate-contract.md); no DONE without a result or escape for eachi18n_due: yesmodule. - Descriptor filename resolves ONCE, per side - from
${CLAUDE_PLUGIN_ROOT}/snippets/odoo-era-boundaries.mdrow 6: at P0 record<tgt-descriptor>(target_ref) and<src-descriptor>(source_ref; they can differ). Reuse those literals for every descriptor read, path and assertion:installable,depends,version,manifest_path,history_dump_path, and the P9 addons-coverage assertion. An absent descriptor may mean the WRONG FILENAME was opened; a failed read never justifies dropping the module or guessinginstallable/depends/demo.
What ships with it
6 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 7d ago Changed · -241 lines d61dd68da3df
- 8d ago Changed b3749e10d313
- 17d ago Changed · -323 lines · +5 tokens per session da1f1751f89a
- 19d ago Changed · -1 lines e88b177cae63
- 20d ago Changed · -250 lines a591a5370f83
- 21d ago Changed · +4 lines a3d58235751a
- 24d ago Changed · -4 lines 58542e6ab98f
- 29d ago Changed · -2 lines 10d6c5a17b34
- 1mo ago Changed af02c6ef4225
- 1mo ago First seen · 975 lines · 19 tokens per session scan C 9302e6f1071c
odoo-forward-port is a skill published in the GitHub repository Viindoo/odoo-mcp-client (9 stars, last pushed 2d ago), licensed MIT. It adds 24 tokens to every session and 4,167 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it C with 1 finding (recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
odoo-forward-port compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| odoo-forward-portViindoo/odoo-mcp-client | Skill | 9 | 2d ago | MIT | C | 24 | Claude Code |
| merge-batchdiegosouzapw/OmniRoute | Skill | 85k | 2d ago | MIT | A | 46 | Claude Code |
| prowler-commitprowler-cloud/prowler | Skill | 15k | today | Apache-2.0 | A | 44 | Claude Code, Codex |
| gh-auth-isolationgithub/gh-aw | Skill | 5.6k | today | MIT | A | 20 | Claude Code, Codex |
| github-skillzeenie-ai/OpenCompany | Skill | 1.1k | yesterday | MIT | A | 51 | Claude Code |
| comet-githubrpamis/comet | Skill | 3.3k | yesterday | MIT | A | 72 | Claude Code, Codex |
| re0-mergeLilMGenius/paperthin | Skill | 1.4k | yesterday | MIT | A | 51 | Claude Code, Codex |