|
| 1 | +--- |
| 2 | +name: general-fair-data-review |
| 3 | +description: Review a manuscript or code repository for FAIR data compliance (Findable, Accessible, Interoperable, Reusable), producing a structured report with pass/fail per principle and actionable remediation steps. |
| 4 | +category: [general] |
| 5 | +--- |
| 6 | + |
| 7 | +# General FAIR Data Review |
| 8 | + |
| 9 | +## Goal |
| 10 | + |
| 11 | +Assess whether a manuscript submission or standalone code/data repository satisfies the FAIR Guiding Principles (Wilkinson et al., *Sci. Data* 2016). The output is a structured reviewer report — analogous to a peer-review report — that scores each FAIR sub-principle, identifies gaps, and provides concrete remediation steps the authors can act on before publication. |
| 12 | + |
| 13 | +This skill is complementary to [general-peer-review](../general-peer-review/SKILL.md), which focuses on scientific methodology. Run both in sequence for a complete review. |
| 14 | + |
| 15 | +--- |
| 16 | + |
| 17 | +## Prerequisites |
| 18 | + |
| 19 | +- A manuscript (PDF or markdown) **and/or** a link to a code/data repository (GitHub, Zenodo, Figshare, etc.) |
| 20 | +- Read access to any supplementary files, Data Availability Statements (DAS), or README files provided by the authors |
| 21 | + |
| 22 | +--- |
| 23 | + |
| 24 | +## Instructions |
| 25 | + |
| 26 | +### 1. Identify Review Scope |
| 27 | + |
| 28 | +Determine what artifacts are under review. Three modes exist: |
| 29 | + |
| 30 | +| Mode | Input | Focus | |
| 31 | +|------|-------|-------| |
| 32 | +| **Manuscript + data/code** | PDF + repo URL | Full FAIR review | |
| 33 | +| **Manuscript only** | PDF | DAS quality, metadata richness, identifier presence | |
| 34 | +| **Code/data repo only** | Repo URL / directory | Repository-level FAIR compliance | |
| 35 | + |
| 36 | +State the mode explicitly at the start of the review report. |
| 37 | + |
| 38 | +--- |
| 39 | + |
| 40 | +### 2. Read the Manuscript and Data Availability Statement |
| 41 | + |
| 42 | +Load the manuscript. Locate and extract: |
| 43 | +- The **Data Availability Statement** (DAS) — usually a dedicated section near the end. |
| 44 | +- Any **Code Availability Statement**. |
| 45 | +- All **data/code repository URLs** or DOIs mentioned. |
| 46 | + |
| 47 | +If no DAS exists, flag immediately as a **Critical Finding** (fails F4, A1, R1.1). |
| 48 | + |
| 49 | +--- |
| 50 | + |
| 51 | +### 3. Inspect the Data/Code Repository |
| 52 | + |
| 53 | +For each repository URL found, check the following. If no repository exists, mark all sub-principles below as **Fail**. |
| 54 | + |
| 55 | +``` |
| 56 | +Repository inspection checklist: |
| 57 | +- Does a persistent identifier (DOI, Handle) exist? → F1 |
| 58 | +- Is metadata present and rich (title, authors, description, keywords, license)? → F2, R1 |
| 59 | +- Does the metadata explicitly reference the dataset/code identifier? → F3 |
| 60 | +- Is the repository indexed in a searchable resource (Zenodo, Figshare, OSF, etc.)? → F4 |
| 61 | +- Can the data/code be accessed via a standard protocol (HTTP/HTTPS, FTP)? → A1 |
| 62 | +- Is the protocol open and free (no proprietary portal login required)? → A1.1 |
| 63 | +- If restricted, is there a documented access procedure? → A1.2 |
| 64 | +- Does metadata remain accessible even if data is removed? → A2 |
| 65 | +- Are standard, community-recognized formats used (CIF, JSON, CSV, HDF5, not .xlsx or proprietary)? → I1 |
| 66 | +- Are domain ontologies or controlled vocabularies used for metadata fields? → I2 |
| 67 | +- Are cross-references to related datasets or publications included? → I3 |
| 68 | +- Is a clear, machine-readable license present (CC-BY, MIT, Apache 2.0, etc.)? → R1.1 |
| 69 | +- Is provenance documented (how data was generated, software versions, parameters)? → R1.2 |
| 70 | +- Do files conform to domain community standards (e.g., CIF for crystal structures, SMILES for molecules, HDF5 for trajectories)? → R1.3 |
| 71 | +``` |
| 72 | + |
| 73 | +--- |
| 74 | + |
| 75 | +### 4. Score Each FAIR Sub-Principle |
| 76 | + |
| 77 | +For every sub-principle (F1–F4, A1–A2, I1–I3, R1–R1.3) assign: |
| 78 | + |
| 79 | +- **Pass** — requirement fully met |
| 80 | +- **Partial** — requirement partially met; improvement needed |
| 81 | +- **Fail** — requirement not met or artifact absent |
| 82 | +- **N/A** — not applicable to this submission type |
| 83 | + |
| 84 | +--- |
| 85 | + |
| 86 | +### 5. Atomistic/Computational Science Specific Checks |
| 87 | + |
| 88 | +In addition to the generic FAIR checklist, evaluate the following domain-specific criteria: |
| 89 | + |
| 90 | +**Structures & Trajectories** |
| 91 | +- Crystal structures deposited as `.cif` (not as images or in supplementary PDF tables) |
| 92 | +- MD trajectories deposited in open formats (`.xyz`, `.extxyz`, `.h5md`, `.lammpsdump`) with a `README` specifying units, timestep, ensemble |
| 93 | +- Force field / MLIP checkpoints deposited with version, training set provenance, and validation metrics |
| 94 | + |
| 95 | +**Computational Parameters** |
| 96 | +- DFT: INCAR/POTCAR/KPOINTS or equivalent included or described with exact values (not "similar to ref. X") |
| 97 | +- MLIP: model architecture, training hyperparameters, and train/val/test split recorded |
| 98 | +- MD: timestep, thermostat/barostat settings, equilibration protocol documented |
| 99 | + |
| 100 | +**Software Environment** |
| 101 | +- `environment.yml` or `requirements.txt` present with pinned versions |
| 102 | +- Scripts runnable from the deposited repository without undocumented external dependencies |
| 103 | + |
| 104 | +--- |
| 105 | + |
| 106 | +### 6. Generate the Structured Review Report |
| 107 | + |
| 108 | +Produce a report in the following format: |
| 109 | + |
| 110 | +```markdown |
| 111 | +# FAIR Data Review Report |
| 112 | + |
| 113 | +**Manuscript title:** [title] |
| 114 | +**Review date:** [date] |
| 115 | +**Reviewer:** AI FAIR Data Reviewer (general-fair-data-review skill) |
| 116 | +**Review mode:** [Manuscript + data/code | Manuscript only | Code/data repo only] |
| 117 | + |
| 118 | +--- |
| 119 | + |
| 120 | +## Summary |
| 121 | + |
| 122 | +[2–4 sentences: overall FAIRness level, most critical gaps, overall recommendation: Ready / Minor Revisions / Major Revisions / Not Acceptable] |
| 123 | + |
| 124 | +--- |
| 125 | + |
| 126 | +## FAIR Scorecard |
| 127 | + |
| 128 | +| Principle | Sub-principle | Status | Evidence / Gap | |
| 129 | +|-----------|--------------|--------|----------------| |
| 130 | +| **Findable** | F1: Persistent identifier | Pass/Partial/Fail | ... | |
| 131 | +| | F2: Rich metadata | | | |
| 132 | +| | F3: Metadata references data ID | | | |
| 133 | +| | F4: Indexed in searchable resource | | | |
| 134 | +| **Accessible** | A1: Retrievable via standard protocol | | | |
| 135 | +| | A1.1: Protocol open and free | | | |
| 136 | +| | A1.2: Auth procedure documented | | | |
| 137 | +| | A2: Metadata accessible if data removed | | | |
| 138 | +| **Interoperable** | I1: Formal/shared knowledge representation | | | |
| 139 | +| | I2: FAIR vocabularies used | | | |
| 140 | +| | I3: Qualified references to other data | | | |
| 141 | +| **Reusable** | R1: Rich, accurate, relevant attributes | | | |
| 142 | +| | R1.1: Clear data usage license | | | |
| 143 | +| | R1.2: Detailed provenance | | | |
| 144 | +| | R1.3: Domain community standards met | | | |
| 145 | + |
| 146 | +--- |
| 147 | + |
| 148 | +## Major Concerns |
| 149 | + |
| 150 | +[Number sequentially. For each: state issue → why problematic → actionable fix.] |
| 151 | + |
| 152 | +1. **[Issue title]** |
| 153 | + - *Problem:* ... |
| 154 | + - *Impact:* ... |
| 155 | + - *Fix:* ... |
| 156 | + |
| 157 | +--- |
| 158 | + |
| 159 | +## Minor Concerns |
| 160 | + |
| 161 | +- ... |
| 162 | + |
| 163 | +--- |
| 164 | + |
| 165 | +## Atomistic/Computational Specific Findings |
| 166 | + |
| 167 | +[Report on structure formats, trajectory deposits, software environments, parameter completeness.] |
| 168 | + |
| 169 | +--- |
| 170 | + |
| 171 | +## Questions for Authors |
| 172 | + |
| 173 | +1. ... |
| 174 | + |
| 175 | +--- |
| 176 | + |
| 177 | +## Recommended Repositories (if none provided) |
| 178 | + |
| 179 | +If no repository was deposited, suggest domain-appropriate options: |
| 180 | + |
| 181 | +| Data type | Recommended repository | |
| 182 | +|-----------|----------------------| |
| 183 | +| Crystal structures | CCDC, ICSD, Materials Cloud, Zenodo | |
| 184 | +| Molecular dynamics trajectories | Materials Cloud, Zenodo, NOMAD | |
| 185 | +| ML models / checkpoints | Hugging Face, Zenodo, MACE-Models | |
| 186 | +| General datasets | Zenodo, Figshare, Dryad | |
| 187 | +| Code | GitHub + Zenodo DOI via Zenodo GitHub integration | |
| 188 | +``` |
| 189 | + |
| 190 | +--- |
| 191 | + |
| 192 | +## Document-Specific Workflows |
| 193 | + |
| 194 | +### Manuscript Review (PDF) |
| 195 | + |
| 196 | +> [!WARNING] |
| 197 | +> Read the PDF text directly. Do **not** assume data exists unless a DOI or repository URL is explicitly present in the manuscript body or supplement. |
| 198 | +
|
| 199 | +Steps: |
| 200 | +1. Extract DAS and Code Availability Statement verbatim. |
| 201 | +2. Resolve any DOIs or URLs found. |
| 202 | +3. If DOIs resolve to a live repository, proceed with repository inspection (Step 3). |
| 203 | +4. If only "data available upon request" is stated: flag as **Fail** for F1, F4, A1, R1.1 — this does not meet FAIR standards. |
| 204 | + |
| 205 | +### Code/Data Repository Review Only |
| 206 | + |
| 207 | +Steps: |
| 208 | +1. Read top-level `README.md`. |
| 209 | +2. Check for `LICENSE`, `environment.yml`/`requirements.txt`, `CITATION.cff`. |
| 210 | +3. Inspect directory structure for data files and their formats. |
| 211 | +4. Check metadata on the repository platform (Zenodo record, GitHub About section, etc.). |
| 212 | + |
| 213 | +--- |
| 214 | + |
| 215 | +## Constraints |
| 216 | + |
| 217 | +- **Scope**: Focus strictly on data/code FAIRness. Scientific methodology critique belongs in [general-peer-review](../general-peer-review/SKILL.md). |
| 218 | +- **Tone**: Objective and constructive. Every Fail must include a concrete, actionable fix. |
| 219 | +- **"Data available upon request"**: Always flag as non-FAIR. Not acceptable per RSC Digital Discovery and FAIR principles. |
| 220 | +- **Proprietary formats**: `.xlsx`, `.mat`, Gaussian `.chk`, VASP `WAVECAR` without open alternatives are I1/R1.3 failures. |
| 221 | +- **License absence**: Unlicensed ≠ open. Always flag missing licenses as R1.1 Fail. |
| 222 | + |
| 223 | +--- |
| 224 | + |
| 225 | +## References |
| 226 | + |
| 227 | +- Wilkinson, M. D. et al., "The FAIR Guiding Principles for scientific data management and stewardship", *Sci. Data* **3**, 160018 (2016). [DOI: 10.1038/sdata.2016.18](https://doi.org/10.1038/sdata.2016.18) |
| 228 | +- RSC Digital Discovery Data Review Guidelines. [rsc.org/publishing](https://www.rsc.org/publishing/publish-with-us/publish-a-journal-article/digital-discovery) |
| 229 | + |
| 230 | +## See Also |
| 231 | + |
| 232 | +- [general-peer-review](../general-peer-review/SKILL.md) |
| 233 | +- [general-deep-research](../general-deep-research/SKILL.md) |
| 234 | + |
| 235 | +--- |
| 236 | + |
| 237 | +**Author:** Magdalena Lederbauer |
| 238 | +**Contact:** [GitHub @mlederbauer](https://github.com/mlederbauer) |
0 commit comments