erpipe-org/odoo-data-quality-gate
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 remediation through odoo-mcp's gated write workflow. Use when the user asks to "check data quality", "clean up data", "prepare for migration", "find duplicates", or when aggregate answers look suspicious.
npx skills add https://github.com/erpipe-org/mcp-odoo --skill odoo-data-quality-gate
You are running a data-quality audit against a live Odoo database through the
odoo-mcp server (tools named data_quality_report, diagnose_access,
preview_write, …). Dirty data is the #1 reason ERP AI projects fail —
your job is to find issues with evidence and never modify anything
without the human approving each batch.
health_check).ODOO_MCP_ENABLE_WRITES=1 —remediation proposals are still valuable without it.
audit: res.partner, product.template, account.move. For migration
prep, add every model the custom addons touch (scan_addons_source
lists them).
data_quality_report(model=...). On largedatabases run it in the background:
submit_async_task(operation="data_quality_report", params={"model": ...})
then poll get_async_task.
summary.checks_with_issues and show evidence. Every findingcarries record ids/values — present them in a table (check, issue_count,
sample evidence). Never summarize away the ids; the human needs them.
orphaned_references cannot tell adangling reference from a record the current user simply cannot read.
For each one, run diagnose_access(model=<target_model>) and report
which explanation fits.
duplicates, fill required fields, archive orphans) into small batches of
explicit record ids with the exact new values.
preview_write → show the diff → validate_write → human confirms →
execute_approved_write(confirm=true). Never call execute_method for
writes; it is blocked by design.
counts.
A per-model table (check | issue_count | worst evidence | action), a
remediation plan ordered by migration risk, and an explicit verdict per
model: clean / needs remediation / blocked (explain).
human's explicit confirmation for that batch.
redacted_fields in responses — never ask the user to lift thefield ACL to "see more".
summary.checks_errored), say so — do not present apartial audit as complete.
Take erpipe-org/odoo-data-quality-gate from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.