MNE-EEG Tool (Base/Tool Layer)
SkillDev toolsUse this skill whenever any NeuroClaw modality skill (especially eeg-skill) needs to execute concrete MNE-Python operations for EEG loading, preprocessing, filtering, artifact removal, epoching, frequency-band analysis, or feature extraction. This is the dedicated base/tool skill that contains all specific MNE-Python code and usage patterns.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the MNE-EEG Tool (Base/Tool Layer) skill
What this skill tells your AI
The instructions your AI receives, as published by cuhk-aim-group/neurodiscovery in skills/mne-eeg-tool/SKILL.md and read by ahel’s review.
Overview
mne-eeg-tool is the NeuroClaw base/tool skill that provides all concrete MNE-Python implementation for EEG processing.
It is never called directly by the user. It is exclusively delegated to by the modality-layer skill eeg-skill (and any future EEG-related modality skills).
This skill:
- Contains the complete, ready-to-run MNE-Python code (covers all standard preprocessing and feature extraction tasks).
- Handles environment setup verification.
- Provides a single, well-documented wrapper script (
eeg_pipeline.py) that implements all common EEG tasks, including the newly added continuous-data branch, functional connectivity, ERP features, frontal alpha asymmetry, and microstate analysis. - Routes every execution through
claw-shellfor safety and logging.
Research use only — outputs are for scientific analysis.
Agent Reference Rule
When the agent needs MNE-EEG implementation code, it should first consult the curated snippet in skills/mne-eeg-tool/scripts/ instead of copying from the embedded wrapper below.
Reference snippet available:
scripts/eeg_pipeline_reference.py-> full EEG pipeline: load, bad-channel detection, filtering, ICA, epoching, frequency bands, connectivity, ERP features, alpha asymmetry, microstates
Example:
python skills/mne-eeg-tool/scripts/eeg_pipeline_reference.py \
--input path/to/data.set \
--resting \
--output-dir eeg_output/
Quick Reference (Core Functions)
| Function | Purpose | New in this update? |
|---|---|---|
load_eeg() | Load .set / .edf / .bdf / .fif / BIDS + validation | — |
detect_and_interpolate_bad_channels() | Auto-detect + interpolate noisy channels | Yes |
preprocess_filtering() | Resample + high-pass + notch + bandpass | — |
remove_artifacts() | ICA + AutoReject + EOG/ECG regression | Yes |
continuous_data_cleaning() | Resting-state pipeline (no events) | Yes |
rereference_and_epoch() | Average reference + epoching + baseline correction | — |
extract_frequency_bands() | Split into δ/θ/α/β/γ bands + power matrices | — |
extract_features() | Band power, CSP, Hjorth, sample entropy, etc. | — |
compute_connectivity() | PLV, coherence, wPLI, imaginary coherence | Yes |
extract_erp_features() | Peak amplitude, latency, area under curve | Yes |
compute_alpha_asymmetry() | Frontal alpha asymmetry (emotion studies) | Yes |
run_microstate_analysis() | EEG microstates (resting-state) | Yes |
full_eeg_pipeline() | One-click end-to-end pipeline (any combination) | — |
Installation (Handled by dependency-planner)
This skill is automatically installed when eeg-skill is used:
# Executed via dependency-planner + conda-env-manager
conda create -n neuroclaw-eeg python=3.11 -y
conda activate neuroclaw-eeg
conda install -c conda-forge mne pyentrp scikit-learn pandas numpy matplotlib -y
pip install mne[full] # optional: full extras
NeuroClaw recommended wrapper script
The full EEG pipeline implementation is in scripts/eeg_pipeline_reference.py (see Agent Reference Rule above).
Example:
python skills/mne-eeg-tool/scripts/eeg_pipeline_reference.py \
--input path/to/data.set \
--resting \
--output-dir eeg_output/
Functions: load_eeg, detect_and_interpolate_bad_channels, preprocess_filtering, remove_artifacts, continuous_data_cleaning, rereference_and_epoch, extract_frequency_bands, extract_features, compute_connectivity, extract_erp_features, compute_alpha_asymmetry, run_microstate_analysis, full_eeg_pipeline.
Important Notes & Limitations
- Requires the
neuroclaw-eegconda environment (auto-created bydependency-planner). - Long-running steps (ICA, connectivity, microstates) run safely in
clawtmux session. - Outputs are always written to
./eeg_output/with clear subfolders. - Fully extensible: new functions can be added to
eeg_pipeline.pywithout touchingeeg-skill.
Complementary / Related Skills
claw-shell→ executes this skill’s wrapperdependency-planner+conda-env-manager→ createsneuroclaw-eegenvironment
Reference
Official MNE-Python documentation (https://mne.tools) + MNE-Connectivity + mne-microstates. Aligned with NeuroClaw base/tool skill pattern (freesurfer-tool, dcm2nii, etc.).
Curated reference snippet in this skill:
skills/mne-eeg-tool/scripts/eeg_pipeline_reference.py
Post-Execution Verification (Harness Integration)
After MNE-EEG processing completes, this skill automatically invokes harness-core's VerificationRunner to validate output integrity:
Integrated verification checks:
from skills.harness_core import VerificationRunner, AuditLogger
verifier = VerificationRunner(task_type="eeg_processing")
# 1. EEG file loading success
verifier.add_check("eeg_loading",
checker=lambda: verify_eeg_loaded(output_dir),
severity="error"
)
# 2. Channel count and data shape
verifier.add_check("channel_integrity",
checker=lambda: verify_channel_count(output_dir),
severity="error"
)
# 3. Artifact removal success (ICA, AutoReject)
verifier.add_check("artifact_removal",
checker=lambda: verify_artifact_removal_rate(output_dir, min_rate=0.85),
severity="warning"
)
# 4. Frequency spectrum sanity (not all zeros, reasonable power)
verifier.add_check("frequency_spectrum",
checker=lambda: verify_frequency_spectrum(output_dir),
severity="warning"
)
# 5. Data range and NaN/Inf checks
verifier.add_check("data_integrity",
checker=lambda: verify_no_nan_inf(output_dir),
severity="error"
)
# 6. Connectivity/Features output shape
verifier.add_check("feature_extraction",
checker=lambda: verify_feature_dimensions(output_dir),
severity="warning"
)
report = verifier.run(output_dir)
# Log verification results
logger = AuditLogger(log_file=f"{output_dir}/eeg_verification.jsonl")
logger.log_validation(
task_name="eeg_processing",
checks_passed=len([r for r in report.results if r.passed]),
total_checks=len(report.results),
output_path=output_dir
)
Output: eeg_output/eeg_verification.jsonl (structured audit log with JSONL format)
Created At: 2026-03-25 14:00 HKT Last Updated At: 2026-04-05 02:03 HKT Author: chengwang96
Signals
- GitHub stars
- 85
- Forks
- 4
- Last commit
- Sep 2026
ahel recommends instead
Advanced
- Catalog kind
- skill
- Gateway key
mne-eeg-tool-cuhk-aim-group- Source
- github.com/cuhk-aim-group/neurodiscovery