mne-connectivity — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited mne-connectivity (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Functional/effective connectivity of neurophysiology data via the MNE MCP server. This skill is skeptical by design: most connectivity mistakes (volume conduction inflating zero-lag coherence, trial-count/SNR bias, common-reference artifact) run without any error and produce a beautiful heatmap — so the discipline is to grill before computing and critique before believing.
Companion skills:mne-mcp-guardfor technical execution safety;mne-methodology-criticfor Phase 3. Loaded objects persist in one MNE session. Connectivity needs the `[full]` extra (mne-connectivity; PAC viapactools/tensorpac).
Do not compute connectivity until these are answered. If the user can't answer one, propose a sensible default and explicitly flag the open risk — never silently choose.
Design & claim
pre × post) Is the claim undirected (coupling) or directed/effective (who drives whom)?
The question that decides validity
many sensors with zero phase lag, which inflates coherence and PLV — they cannot tell true coupling from one spread-out source. For sensor-space EEG/MEG, prefer measures that discard the zero-lag component: imaginary coherence, wPLI, or PLI. (Using coh/PLV to claim genuine sensor connectivity without this caveat is the single most common fatal error here.)
Data & parameters
sensor-space edges are between electrodes, not brain regions.
apparent connectivity**; consider source space, current-source-density / Laplacian, or a reference-robust measure.
Inference plan (pin this down NOW, not after seeing results)
family; pre-register the seed/edges or plan a network-level/cluster correction.
SNR-biased* — fewer/noisier trials lowers* estimated connectivity. Match n, or correct.
sensitivity to differential SNR between the two signals.
mne_check_status (confirm mne-connectivity is importable);mne_plot_psd and read the PNG — connectivity is band-specific, so confirm the band of interest actually has power and is line-noise-free.
mne_connectivity(returns a heatmap + strongest pairs):
mne_connectivity(epochs_name="epochs", method="wpli", fmin=8, fmax=13) # alpha-band wPLI(method="imcoh" / "pli" for field-spread-robust; "coh"/"plv" only with an explicit caveat.)
mne_run_code with the mne_connectivity library: from mne_connectivity import spectral_connectivity_epochs
con = spectral_connectivity_epochs(
epochs, method=["wpli", "imcoh"], mode="multitaper",
fmin=8, fmax=13, faverage=True, mt_adaptive=True)
wpli = con[0].get_data(output="dense")[:, :, 0] # (n_ch, n_ch) band-averagedTime-resolved: spectral_connectivity_time(...) for a per-epoch / sliding estimate.
pactools or tensorpac (needs the extra): from tensorpac import Pac
p = Pac(idpac=(2, 0, 0), f_pha=(4, 8, 1, 0.5), f_amp=(30, 80, 5, 2)) # MI; theta phase × gamma amp
pac = p.filterfit(epochs.info["sfreq"], epochs.get_data(picks=ch)[:, 0, :])Always compare against a surrogate distribution (shuffle phase) — raw PAC values are biased.
validate model order; report that stationarity/SNR were checked. Prefer source space for any anatomical directional claim.
consider source space for any anatomical interpretation. Archive the equivalent code + figures (the mne-analyst archiving convention).
Best-practice reminders: report per-group rejection rate and retained trial count; state sensor-vs-source explicitly; pre-register seed/edges/band or correct over the real pair family.
Hand the design + result to `mne-methodology-critic` (invoke the skill, or dispatch it as a subagent with references/methodology-checklist.md). For connectivity work it will specifically check:
a volume-conduction caveat (FAIL);
Report its BLOCK / REVISE / PASS verdict to the user and act on it before stating conclusions.
See references/connectivity-methods.md for deeper recipes (measure selection vs field spread, spectral_connectivity_epochs, PAC with surrogates, Granger caveats, and source-space connectivity).
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.