Use this skill whenever the user wants to perform standardized preprocessing of functional MRI (fMRI) and anatomical MRI data using fMRIPrep. Triggers include: 'fmriprep', 'fMRIPrep', 'fMRI preprocessing', 'BIDS fMRI', 'run fmriprep', 'preprocess bold', 'BOLD preprocessing', 'anatomical preprocessing', or any request involving BIDS-organized fMRI datasets.
Scanned 9/4/2026
Install to Claude Code
npx -y skills add gabrielmoreira/agent-skills-mirror --skill fmriprep-tool --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Fmriprep Tool?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/gabrielmoreira-fmriprep-tool)More formats (shields.io, HTML) on the badges page.
---
name: fmriprep-tool
description: "Use this skill whenever the user wants to perform standardized preprocessing of functional MRI (fMRI) and anatomical MRI data using fMRIPrep. Triggers include: 'fmriprep', 'fMRIPrep', 'fMRI preprocessing', 'BIDS fMRI', 'run fmriprep', 'preprocess bold', 'BOLD preprocessing', 'anatomical preprocessing', or any request involving BIDS-organized fMRI datasets."
license: MIT License (NeuroClaw custom skill – freely modifiable within the project)
layer: base
skill_type: tool
dependencies:
- claw-shell
- bids-organizer
---
# fMRIPrep Tool
## Overview
fMRIPrep is a robust, standardized preprocessing pipeline for BIDS-compliant functional and anatomical MRI data. It performs best-practice steps including anatomical segmentation, functional motion correction, susceptibility distortion correction, coregistration, normalization to standard space, and generates comprehensive QC reports.
This skill serves as the **NeuroClaw interface-layer wrapper** for fMRIPrep and strictly follows the hierarchical design:
1. Check whether fMRIPrep and its dependencies (Docker or Singularity) are installed.
2. If missing → invoke `dependency-planner` to generate a safe installation plan.
3. Detect input BIDS dataset structure and confirm output directory.
4. Generate a clear, numbered execution plan with exact command, flags, estimated runtime, and risks.
5. Present the plan and wait for explicit user confirmation (“YES” / “execute” / “proceed”).
6. On confirmation → delegate the entire pipeline execution to `claw-shell`.
7. After completion, summarize outputs, highlight QC reports, and suggest next steps (e.g., feeding results into analysis or paper-writing).
**Research use only.**
## Quick Reference
| Task | Recommended Command / Approach | Typical Runtime (per subject) |
|-------------------------------|---------------------------------------------------------------------|-------------------------------|
| Full fMRIPrep pipeline | `fmriprep bids_dir output_dir participant --fs-license-file license.txt` | 2–8 hours |
| Anatomical only | `--anat-only` | 30–90 min |
| Functional only (after anat) | `--bold-only` | 1–4 hours |
| Use FreeSurfer recon-all | `--fs-subjects-dir /path/to/fs` | +2–6 hours |
| Skip susceptibility distortion| `--ignore fieldmaps` | Reduces time |
| Low memory mode | `--mem-mb 8000 --nthreads 4` | For limited resources |
| Generate detailed QC reports | Default behavior (outputs in `sub-*/figures/` and `reports/`) | Included |
## Common Shell Command Examples
```bash
# Standard full pipeline (most common)
fmriprep \
/data/bids \
/data/fmriprep_output \
participant \
--participant-label sub-001 sub-002 \
--fs-license-file /home/cwang/clawd/license.txt \
--nthreads 8 \
--mem-mb 16000 \
--output-spaces MNI152NLin2009cAsym \
--clean-workdir
# Anatomical preprocessing only
fmriprep /data/bids /data/fmriprep_output participant --anat-only
# Use Singularity instead of Docker (common on clusters)
singularity run --cleanenv \
/path/to/fmriprep.simg \
/data/bids /data/fmriprep_output participant \
--fs-license-file /license.txt
```
## Installation (Handled by dependency-planner)
Use `dependency-planner` with one of the following requests:
- “Install latest fMRIPrep using Docker”
- “Install latest fMRIPrep using Singularity”
- “Install fMRIPrep via conda/mamba in neuroclaw-fmriprep environment”
After installation, verify with:
```bash
fmriprep --version
```
**Prerequisites**:
- Valid FreeSurfer license (`license.txt`)
- Docker or Singularity
- Sufficient disk space (~10–30 GB per subject) and RAM (≥16 GB recommended)
## NeuroClaw recommended wrapper script
```python
# fmriprep_wrapper.py (placed inside the skill folder for reference)
import subprocess
import argparse
from pathlib import Path
def run_fmriprep(bids_dir, output_dir, participant_labels=None, nthreads=8, mem_mb=16000):
cmd = [
"fmriprep",
str(bids_dir),
str(output_dir),
"participant",
"--fs-license-file", "/home/cwang/clawd/license.txt",
"--nthreads", str(nthreads),
"--mem-mb", str(mem_mb),
"--output-spaces", "MNI152NLin2009cAsym",
"--clean-workdir"
]
if participant_labels:
cmd.extend(["--participant-label"] + participant_labels)
print("Running:", " ".join(cmd))
subprocess.run(cmd, check=True)
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("--bids-dir", required=True)
parser.add_argument("--output-dir", required=True)
parser.add_argument("--subjects", nargs="+", default=None)
args = parser.parse_args()
run_fmriprep(args.bids_dir, args.output_dir, args.subjects)
```
## Important Notes & Limitations
- All actual fMRIPrep execution is routed through `claw-shell` (especially important for long-running pipelines).
- fMRIPrep is computationally intensive and disk-heavy. Always run with appropriate resource limits.
- A valid FreeSurfer license file is required if surface reconstruction is enabled.
- Outputs include preprocessed BOLD, anatomical derivatives, and rich HTML QC reports in `sub-*/figures/`.
- Work directory can become very large; use `--clean-workdir` when possible.
## When to Call This Skill
- User has a BIDS-organized dataset and wants standardized fMRI preprocessing.
- Before advanced analysis (GLM, connectivity, MVPA, etc.).
- After `dcm2nii` when converting raw scanner data to BIDS format.
## Post-Execution Verification (Harness Integration)
After fMRIPrep completes, this skill **automatically invokes harness-core's VerificationRunner** to validate preprocessing output quality:
**Integrated verification checks**:
```python
from skills.harness_core import VerificationRunner, AuditLogger
import json
from pathlib import Path
verifier = VerificationRunner(task_type="fmriprep_preprocessing")
# 1. Output directory structure
verifier.add_check("output_structure",
checker=lambda: verify_fmriprep_output_structure(output_dir),
severity="error"
)
# 2. Preprocessed BOLD integrity
verifier.add_check("bold_preprocessing",
checker=lambda: verify_bold_files_exist(output_dir),
severity="error"
)
# 3. Anatomical derivatives (T1w, brain mask)
verifier.add_check("anatomical_derivatives",
checker=lambda: verify_anatomical_space_files(output_dir),
severity="error"
)
# 4. Motion parameters / confounds file
verifier.add_check("confounds_available",
checker=lambda: verify_confounds_files(output_dir),
severity="warning"
)
# 5. No NaN/Inf in preprocessed BOLD data
verifier.add_check("bold_data_integrity",
checker=lambda: verify_bold_no_nan_inf(output_dir),
severity="error"
)
# 6. QC reports generated
verifier.add_check("qc_reports",
checker=lambda: verify_qc_reports_exist(output_dir),
severity="warning"
)
# 7. fMRIPrep HTML report accessible
verifier.add_check("html_report",
checker=lambda: Path(output_dir).glob("**/report.html"),
severity="warning"
)
report = verifier.run(output_dir)
# Log verification results
logger = AuditLogger(log_file=f"{output_dir}/fmriprep_verification.jsonl")
logger.log_validation(
task_name="fmriprep_preprocessing",
checks_passed=len([r for r in report.results if r.passed]),
checks_failed=len([r for r in report.results if not r.passed]),
warnings=len([r for r in report.results if r.severity == "warning" and not r.passed]),
report_summary=report.to_dict()
)
if report.failed:
raise ValueError(f"fMRIPrep verification failed: {report.summary}")
```
**Output files generated**:
- `{output_dir}/fmriprep_verification.jsonl` — structured audit log
- `{output_dir}/.fmriprep_verification_timestamp` — verification completion marker
## Complementary / Related Skills
- `dependency-planner` → install fMRIPrep and dependencies
- `claw-shell` → safe execution of long-running pipeline
- `harness-core` → automated verification and audit logging
## More Advanced Features
For advanced options (custom templates, surface-based processing, ICA-AROMA, etc.), please refer to the official fMRIPrep documentation:
- Official Documentation: https://fmriprep.org/
- User Guide: https://fmriprep.org/en/stable/
- BIDS App specification: https://bids-apps.neuroimaging.io/
You may use the `multi-search-engine` or `academic-research-hub` skill to retrieve the latest best practices or example commands.
---
Created At: 2026-03-25 17:10 HKT
Last Updated At: 2026-04-05 02:01 HKT
Author: chengwang96Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!