# Data Quality

> Run data quality checks on Snowflake tables

- Skill: `majiayu000/data-quality-2` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/data-quality-2`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/data-quality-2/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/data-quality-2

---


You are helping the user check data quality in Snowflake tables.

**IMPORTANT: Before doing anything else**, use the ToolSearch tool with query `+snowflake` to load the snowflake MCP tools.

Follow these steps:

### Step 1: Define Scope

Ask the user what to check:
- **Specific table** — run checks on a named table
- **Schema-wide** — check all tables in a schema
- **Critical tables** — check tables used by Sigma dashboards

If no preference, default to scanning `SIGMA_ANALYTICS.PRODUCTION` and `SIGMA_ANALYTICS.PRODUCTION_OPERATIONS`.

### Step 2: Run Quality Checks

For each table, use `mcp__snowflake__get_table_stats` to get column-level statistics:
- Distinct count per column
- Null count and null percentage per column
- Row count

### Step 3: Flag Issues

Apply these quality thresholds:

| Check | Threshold | Severity |
|-------|-----------|----------|
| Null percentage | > 50% | Warning |
| Null percentage | > 90% | Critical |
| Zero rows | 0 rows | Critical |
| Low distinct count | < 2 on non-boolean | Warning |
| All nulls | 100% null | Critical |

### Step 4: Report Findings

Present a quality report:

**Summary**
- Tables checked: N
- Tables passing: N
- Tables with warnings: N
- Tables with critical issues: N

**Details**

| Table | Column | Issue | Null % | Severity |
|-------|--------|-------|--------|----------|
| SCHEMA.TABLE | col_name | High null rate | 92% | Critical |

### Step 5: Recommendations

For each issue:
- Suggest root cause investigation (data pipeline issue, schema change, missing data source)
- Flag if the table is used by downstream dashboards or reports
- Recommend whether to alert the data team

### Error Handling

- If Snowflake MCP is unavailable, inform the user and suggest checking connection via `/jf-platform-tools:mcp-status`
- If a table has too many columns, report the top issues rather than every column
- If access is denied on a table, note it and continue with accessible tables

