quality-control
Skill0 starsChanged 53 days agoApache-2.0View on GitHub
QC for geophysical data: completeness, physical-bounds checks, fill-value audit, satellite QA flag decoding, discontinuity detection.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- Liberty91LTD/cti-skillstheir own version, first seen Sep 30, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- Liberty91LTD/cti-skills★ 35same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository11 other files it gives its agents.
- analysis-reviewSkill
- basic-statisticsSkill
- cartographySkill
- consult-knowledgeSkill
- data-formatsSkill
- discover-dataSkill
- reportSkill
- reproducibilitySkill
- startSkill
- uncertainty-quantificationSkill
- xarray-fundamentalsSkill
The file
We split this skill into the rules it gives an agent
8 rules. About 0 are common, 8 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈8
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 16
Before reporting any check, consult installed knowledge concepts first, as the consult-knowledge skill sets out, by the dataset, variable, …
- Distinctive: line 47
Physical bounds: Every value inside the hard bounds of its variable.
- Distinctive: line 89
Never run bounds checks before the fill-value audit.
- Distinctive: line 91
Never threshold or average a packed QA integer as if it were data.
- Distinctive: line 92
Never treat QA flags as quantitative uncertainty.
- Distinctive: line 93
Never silently delete or interpolate flagged data.
- Distinctive: line 95
Never pass a dataset as "QC clean" without reporting all six checks with evidence.
- Distinctive: line 97
Never inline a screening bound, a sentinel value, or a QA bit layout in this skill.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
quality-control
Quality control for geophysical datasets: invocable directly ("run QC on this dataset") and consulted automatically before analysis. The six-check structure reconstructs the v0.1 enumeration that the specification's acceptance criteria reference (docs/SPECIFICATION.md in open-science-pillars/marketplace).
Consult the bundle for this dataset
Before reporting any check, consult installed knowledge concepts first, as the consult-knowledge skill sets out, by the dataset, variable, and check in play; this skill carries no dataset facts, sentinel lists, screening numbers, or QA bit layouts. The concepts it leans on:
- the sentinel list and detection recipe:
conventions/common-fill-values.md; - the physical-bounds screening table:
conventions/physical-bounds-screening.md; - the satellite QA bit and class layouts:
conventions/satellite-qa-flag-decoding.md; - calendar and time-axis rules:
conventions/calendars.md; - the dataset's own known-issues / gotcha concepts, for named instrument or version transitions.
Numbers, sentinel values, and bit layouts are read from the concepts, never from this file.
The six checks, in order
Order matters: a bounds check on unmasked sentinels reports garbage, so the fill audit precedes bounds.
- Coordinates and time axis. Latitude within [-90, 90], longitude convention identified, coordinates monotonic after sorting; time axis monotonic, no duplicates, cadence as documented; calendar identified.
- Fill-value audit.
_FillValue/missing_valueattributes present and applied; scan minima/maxima for unmasked sentinels and checkencodingfor packing applied twice or not at all. The sentinel list and the detection recipe are read fromconventions/common-fill-values.md, not carried here. - Completeness. Missing fraction per variable, overall and per time step; the longest gap, reported in time units, with its dates; spatial holes distinguished from temporal gaps.
- Physical bounds. Every value inside the hard bounds of its
variable; values outside the plausible-but-legal range listed for
review rather than auto-rejected. Hard versus plausible is the method;
the screening numbers per variable are read from
conventions/physical-bounds-screening.md, and regional analyses tighten them. State which bounds were applied. - QA flag decoding. Satellite products: decode the bit-packed QA
layer with bitwise operations and mask accordingly; never threshold a
packed QA integer numerically. The product bit and class layouts
(MODIS, Landsat C2, Sentinel-2, and kin) are read from
conventions/satellite-qa-flag-decoding.md, not carried here; state which bits or classes were masked and what fraction that removed. - Discontinuity detection. Spikes (rolling-median deviation test), steps (change in mean across a break, instrument or version transitions), and suspicious exact repeats (stuck sensor, duplicated granule).
Report each check with a verdict and one line of evidence. Flagged data is masked and reported, never silently deleted; interpolation across a reported gap happens only when stated in the methods.
QA flags are categorical: they are never a quantitative uncertainty (uncertainty-quantification carries that rule). The screening numbers (the physical-bounds table) and the product QA layouts (MODIS, Landsat C2, Sentinel-2) are dataset facts and live in the concepts named in "Consult the bundle for this dataset", read and cited per run, never inlined here.
Discontinuity detection
- Spikes: deviation from a centered rolling median beyond k robust standard deviations (k around 5 for geophysical series); report count and worst offenders with dates.
- Steps: compare means across candidate break dates (known instrument or version transitions first; the dataset concept's known-issues section names them); a persistent shift after a transition date is a finding for the provider, not something to quietly detrend.
- Exact repeats: identical consecutive values or identical granules beyond chance suggest a stuck sensor or duplicated file.
Must NOT (hard refusals and gates: invariant, universal, fire without consulting anything)
- Never run bounds checks before the fill-value audit. (Ordering gate: a bounds check on unmasked sentinels reports garbage.)
- Never threshold or average a packed QA integer as if it were data.
- Never treat QA flags as quantitative uncertainty.
- Never silently delete or interpolate flagged data; mask, report, and state any infilling in the methods.
- Never pass a dataset as "QC clean" without reporting all six checks with evidence.
- Never inline a screening bound, a sentinel value, or a QA bit layout in this skill; read them from the concepts and cite them per run.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

