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.
npx skills add erpipe-org/mcp-odoo --skill odoo-month-end-closegit clone --depth 1 https://github.com/erpipe-org/mcp-odooWrote 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/erpipe-org/mcp-odoo/odoo-month-end-close)<a href="https://agentmods.dev/skills/erpipe-org/mcp-odoo/odoo-month-end-close"><img src="https://agentmods.dev/badge/skills/erpipe-org/mcp-odoo/odoo-month-end-close/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/erpipe-org/mcp-odoo/odoo-month-end-close"><img src="https://agentmods.dev/badge/skills/erpipe-org/mcp-odoo/odoo-month-end-close.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00081 | $0.00725 |
| Opus 5 | $0.00041 | $0.00362 |
| Sonnet 5 | $0.00016 | $0.00145 |
| Haiku 4.5 | $0.00008 | $0.00072 |
Grade A, and why
odoo-month-end-close 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 11d 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.
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.
Copies of this mod
1 near-identical copy found in the catalogue:
- odoo-month-end-close — 100% identical, 0 lines differ
How it starts
The opening of the file, as written. The whole thing — 59 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Odoo month-end close
You are running a month-end close review against a live Odoo database through odoo-mcp. Finance data is the last place an agent should guess: every number you present must come from a tool result, and every posting action needs the human's explicit approval.
Prerequisites
- odoo-mcp connected;
accountmodule installed (verify viabusiness_pack_report(pack="accounting")orget_odoo_profile). - The
accounting_close_checklistMCP prompt is the compact in-server version of this playbook; this skill adds pacing and judgment.
Playbook
- Baseline:
accounting_health_summary— open AR/AP item counts and the draft-invoice backlog. This is your before-photo; show it. - Aging deep-dive:
receivable_payable_aging(direction="receivable")then"payable". Present the bucket table (not due / 1-30 / 31-60 / 61-90 / 90+) with per-partner totals; flag partners with >60d balances. - Draft backlog:
search_records(model="account.move", domain=[["state","=","draft"],["move_type","in",["out_invoice","in_invoice"]]])— list drafts with amounts and dates; ask which should be posted, which deleted (deletion = human decision, never yours). - Unreconciled sweep: search
account.move.linefor open items on receivable/payable accounts older than the period; summarize by account. Useaggregate_records(groupbyaccount_id) instead of paging raw lines. - Anomaly pass: run
data_quality_report(model="account.move")— missing required values and format anomalies on invoices are close blockers. - Actions through the gate. Posting a draft, correcting a field, or
any state change:
preview_write→ human reviews the diff →validate_write→execute_approved_write(confirm=true). One document batch at a time. - Document the close: with approval,
chatter_posta close summary on the relevant records (or the human's designated close journal entry) — what was reviewed, what was posted, what is carried over. - After-photo: re-run
accounting_health_summary; report the delta.
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.
- 11d ago First seen · 59 lines · 81 tokens per session scan A 698449228590
odoo-month-end-close is a skill published in the GitHub repository erpipe-org/mcp-odoo (408 stars, last pushed 17d ago), licensed MIT. It adds 81 tokens to every session and 725 once invoked, about $0.0004 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-30.
Other skills, from other repositories
expense-review-policy
Review invoices and contracts against accounts-payable policy before human approval.
dcf-model
Build discounted cash flow valuation workbooks in Excel.
comps-analysis
Build comparable-company valuation workbooks in Excel.
stocks
Stock quotes, history, search, compare, crypto via Yahoo.
polymarket
Query Polymarket: markets, prices, orderbooks, history.
mpp-agent
Pay HTTP 402 APIs via Machine Payments Protocol (MPP).