Skip to content

Commit 578d1fc

Browse files
authored
Merge pull request #36 from mlederbauer/feat/general-fair-data-review
feat: FAIR data review guidelines
2 parents 69fceee + a16fa30 commit 578d1fc

2 files changed

Lines changed: 239 additions & 0 deletions

File tree

Lines changed: 238 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,238 @@
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)

.agents/skills/general-peer-review/SKILL.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ To see how the reviewer evaluates a proposed Action Plan for scientific methodol
6969
## See Also
7070
- [general-deep-research](../general-deep-research/SKILL.md)
7171
- [general-presentation](../general-presentation/SKILL.md)
72+
- [general-fair-data-review](../general-fair-data-review/SKILL.md)
7273

7374
---
7475

0 commit comments

Comments
 (0)