validate-data
QA an analysis before sharing -- methodology, accuracy, and bias checks
Install / Use
npx skills add anthropics/knowledge-work-plugins --skill validate-dataInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
Data & AnalyticsSupported Platforms
Our assessment of validate-data
validate-data scores 96/100 on our quality scale, 20th of 219 Data & Analytics skills we index (top 10%).
Its SKILL.md is 15 KB long, well organised into 53 sections with 8 code examples: a thorough specification that gives an agent plenty to work with.
With 25,526 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated 2 days ago, so validate-data is actively maintained.
- It is released under the Apache-2.0 license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands.
Automated pattern scan on 2026-09-26. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.
validate-data compared with similar skills
All 4 of these similar skills score higher than validate-data; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| validate-data (this skill)by anthropics | 96 | 25.5k | 2d ago | SKILL.md |
| claude-memby thedotmack | 100 | 94.7k | today | CLAUDE.md |
| algorithmic-artby anthropics | 100 | 177.9k | 4d ago | SKILL.md |
| pptxby anthropics | 100 | 177.9k | 4d ago | SKILL.md |
| designby nextlevelbuilder | 100 | 130.2k | 5d ago | SKILL.md |
Frequently asked questions
- How do I install validate-data?
- Run
npx skills add anthropics/knowledge-work-plugins --skill validate-data. The install tabs above show the steps for each supported agent. - Which AI agents does validate-data work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is validate-data safe to use?
- Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. It is Apache-2.0-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is validate-data still maintained?
- The repository was last updated 2 days ago, so validate-data is actively maintained.
Skill content
View source on GitHubname: validate-data description: QA an analysis before sharing -- methodology, accuracy, and bias checks. Use when reviewing an analysis before a stakeholder presentation, spot-checking calculations and aggregation logic, verifying a SQL query's results look right, or assessing whether conclusions are actually supported by the data. argument-hint: "<analysis to review>"
/validate-data - Validate Analysis Before Sharing
If you see unfamiliar placeholders or need to check which tools are connected, see CONNECTORS.md.
Review an analysis for accuracy, methodology, and potential biases before sharing with stakeholders. Generates a confidence assessment and improvement suggestions.
Usage
/validate-data <analysis to review>
The analysis can be:
- A document or report in the conversation
- A file (markdown, notebook, spreadsheet)
- SQL queries and their results
- Charts and their underlying data
- A description of methodology and findings
Workflow
1. Review Methodology and Assumptions
Examine:
- Question framing: Is the analysis answering the right question? Could the question be interpreted differently?
- Data selection: Are the right tables/datasets being used? Is the time range appropriate?
- Population definition: Is the analysis population correctly defined? Are there unintended exclusions?
- Metric definitions: Are metrics defined clearly and consistently? Do they match how stakeholders understand them?
- Baseline and comparison: Is the comparison fair? Are time periods, cohort sizes, and contexts comparable?
2. Run the Pre-Delivery QA Checklist
Work through the checklist below — data quality, calculation, reasonableness, and presentation checks.
3. Check for Common Analytical Pitfalls
Systematically review against the detailed pitfall catalog below (join explosion, survivorship bias, incomplete period comparison, denominator shifting, average of averages, timezone mismatches, selection bias).
4. Verify Calculations and Aggregations
Where possible, spot-check:
- Recalculate a few key numbers independently
- Verify that subtotals sum to totals
- Check that percentages sum to 100% (or close to it) where expected
- Confirm that YoY/MoM comparisons use the correct base periods
- Validate that filters are applied consistently across all metrics
Apply the result sanity-checking techniques below (magnitude checks, cross-validation, red-flag detection).
5. Assess Visualizations
If the analysis includes charts:
- Do axes start at appropriate values (zero for bar charts)?
- Are scales consistent across comparison charts?
- Do chart titles accurately describe what's shown?
- Could the visualization mislead a quick reader?
- Are there truncated axes, inconsistent intervals, or 3D effects that distort perception?
6. Evaluate Narrative and Conclusions
Review whether:
- Conclusions are supported by the data shown
- Alternative explanations are acknowledged
- Uncertainty is communicated appropriately
- Recommendations follow logically from findings
- The level of confidence matches the strength of evidence
7. Suggest Improvements
Provide specific, actionable suggestions:
- Additional analyses that would strengthen the conclusions
- Caveats or limitations that should be noted
- Better visualizations or framings for key points
- Missing context that stakeholders would want
8. Generate Confidence Assessment
Rate the analysis on a 3-level scale:
Ready to share -- Analysis is methodologically sound, calculations verified, caveats noted. Minor suggestions for improvement but nothing blocking.
Share with noted caveats -- Analysis is largely correct but has specific limitations or assumptions that must be communicated to stakeholders. List the required caveats.
Needs revision -- Found specific errors, methodological issues, or missing analyses that should be addressed before sharing. List the required changes with priority order.
Output Format
## Validation Report
### Overall Assessment: [Ready to share | Share with caveats | Needs revision]
### Methodology Review
[Findings about approach, data selection, definitions]
### Issues Found
1. [Severity: High/Medium/Low] [Issue description and impact]
2. ...
### Calculation Spot-Checks
- [Metric]: [Verified / Discrepancy found]
- ...
### Visualization Review
[Any issues with charts or visual presentation]
### Suggested Improvements
1. [Improvement and why it matters]
2. ...
### Required Caveats for Stakeholders
- [Caveat that must be communicated]
- ...
Pre-Delivery QA Checklist
Run through this checklist before sharing any analysis with stakeholders.
Data Quality Checks
- [ ] Source verification: Confirmed which tables/data sources were used. Are they the right ones for this question?
- [ ] Freshness: Data is current enough for the analysis. Noted the "as of" date.
- [ ] Completeness: No unexpected gaps in time series or missing segments.
- [ ] Null handling: Checked null rates in key columns. Nulls are handled appropriately (excluded, imputed, or flagged).
- [ ] Deduplication: Confirmed no double-counting from bad joins or duplicate source records.
- [ ] Filter verification: All WHERE clauses and filters are correct. No unintended exclusions.
Calculation Checks
- [ ] Aggregation logic: GROUP BY includes all non-aggregated columns. Aggregation level matches the analysis grain.
- [ ] Denominator correctness: Rate and percentage calculations use the right denominator. Denominators are non-zero.
- [ ] Date alignment: Comparisons use the same time period length. Partial periods are excluded or noted.
- [ ] Join correctness: JOIN types are appropriate (INNER vs LEFT). Many-to-many joins haven't inflated counts.
- [ ] Metric definitions: Metrics match how stakeholders define them. Any deviations are noted.
- [ ] Subtotals sum: Parts add up to the whole where expected. If they don't, explain why (e.g., overlap).
Reasonableness Checks
- [ ] Magnitude: Numbers are in a plausible range. Revenue isn't negative. Percentages are between 0-100%.
- [ ] Trend continuity: No unexplained jumps or drops in time series.
- [ ] Cross-reference: Key numbers match other known sources (dashboards, previous reports, finance data).
- [ ] Order of magnitude: Total revenue is in the right ballpark. User counts match known figures.
- [ ] Edge cases: What happens at the boundaries? Empty segments, zero-activity periods, new entities.
Presentation Checks
- [ ] Chart accuracy: Bar charts start at zero. Axes are labeled. Scales are consistent across panels.
- [ ] Number formatting: Appropriate precision. Consistent currency/percentage formatting. Thousands separators where needed.
- [ ] Title clarity: Titles state the insight, not just the metric. Date ranges are specified.
- [ ] Caveat transparency: Known limitations and assumptions are stated explicitly.
- [ ] Reproducibility: Someone else could recreate this analysis from the documentation provided.
Common Data Analysis Pitfalls
Join Explosion
The problem: A many-to-many join silently multiplies rows, inflating counts and sums.
How to detect:
-- Check row count before and after join
SELECT COUNT(*) FROM table_a; -- 1,000
SELECT COUNT(*) FROM table_a a JOIN table_b b ON a.id = b.a_id; -- 3,500 (uh oh)
How to prevent:
- Always check row counts after joins
- If counts increase, investigate the join relationship (is it really 1:1 or 1:many?)
- Use
COUNT(DISTINCT a.id)instead ofCOUNT(*)when counting entities through joins
Survivorship Bias
The problem: Analyzing only entities that exist today, ignoring those that were deleted, churned, or failed.
Examples:
- Analyzing user behavior of "current users" misses churned users
- Looking at "companies using our product" ignores those who evaluated and left
- Studying properties of "successful" outcomes without "unsuccessful" ones
How to prevent: Ask "who is NOT in this dataset?" before drawing conclusions.
Incomplete Period Comparison
The problem: Comparing a partial period to a full period.
Examples:
- "January revenue is $500K vs. December's $800K" -- but January isn't over yet
- "This week's signups are down" -- checked on Wednesday, comparing to a full prior week
How to prevent: Always filter to complete periods, or compare same-day-of-month / same-number-of-days.
Denominator Shifting
The problem: The denominator changes between periods, making rates incomparable.
Examples:
- Conversion rate improves because you changed how you count "eligible" users
- Churn rate changes because the definition of "active" was updated
How to prevent: Use consistent definitions across all compared periods. Note any definition changes.
Average of Averages
The problem: Averaging pre-computed averages gives wrong results when group sizes differ.
Example:
- Group A: 100 users, average revenue $50
- Group B: 10 users, average revenue $200
- Wrong: Average of averages = ($50 + $200) / 2 = $125
- Right: Weighted average = (100*$50 + 10*$200) / 110 = $63.64
How to prevent: Always aggregate from raw data. Never average pre-aggregated averages.
Timezone Mismatches
The problem: Different data sources use different timezones, causing misalignment.
Examples:
- Event timestamps in UTC vs. user-facing dates in local time
- Daily rollups that use different cutoff times
How to prevent: Standardize all timestamps to a single timezone (UTC recommended) before analysis. Document the timezone used.
Selection Bias in Segmentation
The problem: Segments are defined by the outcome you're measuring, creating circular logic.
Examples:
- "Users who completed onboarding have higher retention" -- obviously, they self-selected
- "Power users generate more revenue" -- they became power users BY generating revenue
How to prevent: Define segments based on pre-treatment characteristics, not outcomes.
Other Statistical Traps
- Simpson's paradox: Trend reverses when data is aggregated vs. segmented
- Correlation presented as causation without supporting evidence
- Small sample sizes leading to unreliable conclusions
- Outliers disproportionately affecting averages (should medians be used instead?)
- Multiple testing / cherry-picking significant results
- Look-ahead bias: Using future information to explain past events
- Cherry-picked time ranges that favor a particular narrative
Result Sanity Checking
Magnitude Checks
For any key number in your analysis, verify it passes the "smell test":
| Metric Type | Sanity Check | |---|---| | User counts | Does this match known MAU/DAU figures? | | Revenue | Is this in the right order of magnitude vs. known ARR? | | Conversion rates | Is this between 0% and 100%? Does it match dashboard figures? | | Growth rates | Is 50%+ MoM growth realistic, or is there a data issue? | | Averages | Is the average reasonable given what you know about the distribution? | | Percentages | Do segment percentages sum to ~100%? |
Cross-Validation Techniques
- Calculate the same metric two different ways and verify they match
- Spot-check individual records -- pick a few specific entities and trace their data manually
- Compare to known benchmarks -- match against published dashboards, finance reports, or prior analyses
- Reverse engineer -- if total revenue is X, does per-user revenue times user count approximately equal X?
- Boundary checks -- what happens when you filter to a single day, a single user, or a single category? Are those micro-results sensible?
Red Flags That Warrant Investigation
- Any metric that changed by more than 50% period-over-period without an obvious cause
- Counts or sums that a
Truncated for display — read the full file on GitHub.
Related Skills
claude-mem
94.7kPersistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More
algorithmic-art
177.9kCreating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems.
pptx
177.9kUse this skill any time a .pptx or .potx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx or .potx file (even if the extracted content will be used elsewhere, like in an em…
design
130.2kComprehensive design skill: brand identity, design tokens, UI styling, logo generation (55 styles, Gemini, Atlas Cloud, or MuAPI AI), corporate identity program (50 deliverables, CIP mockups), HTML presentations (Chart.js), banner design (22 styles, social/ads/web/print), icon design (15 styles, SVG…
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
