360 Secure SkillHub
360 安全技能中心

Odoo Data Quality Gate

这是针对Odoo 16+数据库的数据质量审计工具,通过odoo-mcp执行。核心功能:检测重复值、必填项缺失、孤立引用等问题并提供证据,按批次生成修复方案,需人工确认后执行合规修复。典型场景:AI项目前置校验、数据清理、迁移准备、可疑聚合结果核查。输入为指定检查模型等参数,输出含分模型问题表、修复计划及合规判定结论。

tuanle96
tuanle96
热度 10.57
最近更新 2026-07-03 02:12:25
分类:数据依赖:MCP 服务应用场景:数据处理 / 报告撰写

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add odoo-data-quality-gate
Metadata
name
odoo-data-quality-gate
description
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.

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.