AugmentClaude

Odoo Data Quality Gate

Audit Odoo database for duplicates, missing values, and data anomalies before imports or migrations.

Installation

  1. Make sure Claude is on your device and in your terminal.

    Skills load from ~/.claude/skills/ when Claude Code starts up — so you need it on your machine first. If you don't have it yet, install it once with the command below, then run claude in any terminal to verify.

    One-time setup
    npm i -g @anthropic-ai/claude-code

    Already have it? Skip ahead.

  2. Paste into Claude Code or into your terminal.

    This copies the whole skill folder into ~/.claude/skills/odoo-data-quality-gate-tuanle96/ — the SKILL.md plus any scripts, reference docs, or templates the skill ships with. Safe default: works for every skill.

    Faster alternative (instruction-only skills)

    Skips the clone and grabs only the SKILL.md file. Don't use this if the skill ships Python scripts, reference markdowns, or asset templates — they won't be downloaded and the skill will fail when it tries to load them.

    Quick install (SKILL.md only)
    Sign up to copy
  3. Restart Claude Code.

    Quit and reopen Claude Code (or any other agent that loads from ~/.claude/skills/). New skills are picked up on startup.

  4. Just ask Claude.

    Skills auto-activate when your request matches the skill's description — no slash command needed. Trigger phrases live in the skill's own frontmatter; you can read them in the “What this skill does” section above.

Prefer to read the source first? Open on GitHub.

When Claude uses it

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.

What this skill does

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.

Prerequisites

  • odoo-mcp connected (any Odoo 16+; check with health_check).
  • Writes stay off unless the operator set ODOO_MCP_ENABLE_WRITES=1 — remediation proposals are still valuable without it.

Playbook

  1. Scope with the human. Which models matter? Default set for a general audit: res.partner, product.template, account.move. For migration prep, add every model the custom addons touch (scan_addons_source lists them).
  2. Run the report per model: data_quality_report(model=...). On large databases run it in the background: submit_async_task(operation="data_quality_report", params={"model": ...}) then poll get_async_task.
  3. Read summary.checks_with_issues and show evidence. Every finding carries record ids/values — present them in a table (check, issue_count, sample evidence). Never summarize away the ids; the human needs them.
  4. Verify orphans before judging. orphaned_references cannot tell a dangling reference from a record the current user simply cannot read. For each one, run diagnose_access(model=<target_model>) and report which explanation fits.
  5. Propose remediation as batches, not actions. Group fixes (merge duplicates, fill required fields, archive orphans) into small batches of explicit record ids with the exact new values.
  6. Execute only through the gate, one approved batch at a time: 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.
  7. Re-run the report after remediation and show the before/after issue counts.

Output format

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).

Hard rules

  • Read-only by default; every write needs a fresh approval token and the human's explicit confirmation for that batch.
  • Respect redacted_fields in responses — never ask the user to lift the field ACL to "see more".
  • If a check errored (summary.checks_errored), say so — do not present a partial audit as complete.

Related skills