Skip to content

Guide · Agent skill

How to use the NeuroKit2 agent skill for physiological signal analysis

Updated · written with AI from the project's own documentation and checked against our catalogue data

The neurokit2 skill gives an AI agent a documented method for processing body signals such as ECG, EDA, respiration, EEG, EMG and PPG with the NeuroKit2 Python toolbox. It is aimed at researchers, students, Python developers and lab staff who need reproducible, well-logged analysis. After this guide you will know what the skill changes, how to install it, how to ask for it in plain language, and which limits to respect.

NeuroKit2 Physiological Signal AnalysisK-Dense-AI/scientific-agent-skills · MIT

Quick start

  1. 1Check requirements. Confirm Python 3.10 or newer and that the uv package manager is available.
  2. 2Download the ZIP. Download the neurokit2 ZIP from this page.
  3. 3Install the skill. Unzip into ~/.claude/skills/ or a project's .claude/skills/, or upload the ZIP under Settings → Capabilities → Skills.
  4. 4Install NeuroKit2. Run uv pip install "neurokit2==0.2.13" in your environment.
  5. 5Ask in plain language. Describe your signal type, sampling rate, units and goal in a request that mentions neurokit2 or the analysis you need.
  6. 6Inspect the data. Let the agent run the inspection script on a deidentified local file before any filtering.
  7. 7Review and log. Check the outputs, exclusions and observed schema, and keep them with the analysis record.

What the skill makes the agent do

An agent with this skill follows rules for physiological time-series work instead of writing ad hoc code. Before filtering, it inspects the recording, checks time base, units, gaps and flat runs, and records the sampling rate. It pins the NeuroKit2 version, logs preprocessing steps and exclusions, and computes heart rate variability only when recording length and beat counts are adequate.

  • Inspects recordings before transforming them
  • Pins NeuroKit2 to 0.2.13 and records the observed output schema
  • Records sampling rate and units rather than guessing them from column names
  • Gates HRV analysis on duration and beat counts
  • Warns against presenting results as diagnosis or device validation

Install the neurokit2 skill

Download the ZIP from this page. Unzip it into your personal skills folder ~/.claude/skills/ or into a project's .claude/skills/ folder. Alternatively, upload the ZIP in the Claude apps under Settings → Capabilities → Skills.

The skill's own install command for the Python toolbox is shown below. Install the Python package with it so the pinned version matches the skill.

  • Requires Python 3.10 or newer and the uv package manager
  • Core dependencies include NumPy, SciPy, pandas below 3, scikit-learn, matplotlib, PyWavelets, requests and setuptools
  • Optional EEG, cvxEDA, plotting, file-format and RQA features need separately locked packages such as MNE, cvxopt, PyEMD or pyRQA
uv pip install "neurokit2==0.2.13"

Trigger the skill with natural requests

You do not need special syntax. The skill is meant for requests where code imports neurokit2 or where you need its current APIs and method-aware validation. Describe your data and goal in plain words and mention the signal type, sampling rate and units if you know them.

Good requests name the modality and the outcome, for example asking for ECG preprocessing followed by time-domain HRV, or asking for a check of a recording before analysis.

  • "Inspect this ECG CSV for gaps and flat runs before filtering."
  • "Process this EDA recording at 100 Hz and separate tonic and phasic parts."
  • "Write NeuroKit2 code that computes HRV from these R-peaks and logs the sampling rate."

Run the bundled inspection and ECG/HRV scripts

The skill includes two bounded local command-line scripts. The inspector checks a deidentified local file and reports issues without printing row values or paths. The ECG/HRV pipeline can run on synthetic data, gates frequency analysis on the span of corrected peaks, and reports absolute band powers in ms².

Use only deidentified local files. Do not put patient identifiers in prompts, logs or examples.

  • Inspector flags non-monotonic time, duplicate samples, gaps, non-finite values and flat runs
  • Pipeline uses Welch analysis, 4 Hz interval interpolation and normalize set to false
  • ULF is unsupported in this short-recording workflow
python skills/neurokit2/scripts/inspect_signal.py \ --input recording.csv --root . --deidentified \ --columns ECG,RSP,EDA --time-column time_s \ --units ECG=mV,RSP=a.u.,EDA=uS

Check the output schema and document your choices

Column names returned by NeuroKit2 depend on the version, function, method and signal available. The skill asks the agent to save the observed columns and info keys with the package version, parameters, sampling rate and an exclusion summary, rather than assuming a fixed list.

Ask the agent to keep raw data and an auditable exclusion log. Name the EDA decomposition method explicitly when you report results.

  • Save observed columns and info keys alongside results
  • Record method parameters and sampling rate
  • Keep the raw signal and annotations unchanged
signals, info = nk.ecg_process(ecg, sampling_rate=250) observed_schema = { "columns": list(signals.columns), "info_keys": sorted(info), }

What people use it for

  • Preprocessing and quality checking an ECG recording before heart rate variability analysis
  • Processing skin conductance at a declared sampling rate with explicit tonic and phasic decomposition
  • Writing reproducible NeuroKit2 code for a lab that must log preprocessing steps and exclusions
  • Aligning continuous signals such as ECG and respiration on a declared common time grid

Frequently asked questions

Is the neurokit2 skill free?

The skill is distributed under the MIT licence, as listed on this page. NeuroKit2 is the underlying Python toolbox, and the skill's requirements list its dependencies; check their licences for your own use.

What do I need to run the neurokit2 skill?

You need Python 3.10 or newer and the uv package manager. The skill pins NeuroKit2 0.2.13 and requires NumPy, SciPy, pandas below 3, scikit-learn, matplotlib, PyWavelets, requests and setuptools. Optional EEG, cvxEDA, plotting, file-format and RQA features need separately locked packages.

Where do I install the skill?

Unzip the downloaded ZIP into ~/.claude/skills/ for personal use or into a project's .claude/skills/ folder. You can also upload the ZIP in the Claude apps under Settings → Capabilities → Skills.

Does the skill send my data over the network?

The skill's listing states that it does not use the network. Its scripts run locally on files you provide, and you should still use deidentified data only.

Can I use this for medical diagnosis or patient monitoring?

No. The skill states that NeuroKit2 is a research and educational toolbox and that its outputs must not be presented as diagnosis, treatment advice, alarms or validation of a medical device.

How does this compare with using NeuroKit2 directly?

The skill adds rules and checks around NeuroKit2: inspection before filtering, version pinning, logging and duration gates for HRV. If you only need quick exploratory code and do not need that documentation discipline, using the toolbox directly is simpler.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

This skill suits researchers, students and Python developers who want a documented, reproducible NeuroKit2 workflow with logged preprocessing and clear limits. It is the wrong choice for clinical decisions, patient monitoring, device certification or analysis of identifiable patient data.

Download the skill