neurokit2 – skill Dữ liệu & Khoa học cho agent AI
Xây dựng và kiểm tra quy trình nghiên cứu NeuroKit2 có thể tái lập cho tiền xử lý chuỗi thời gian sinh lý, phân tích sự kiện/khoảng thời gian, căn chỉnh đa phương thức, độ biến thiên và độ phức tạp. Dùng khi code import neurokit2 hoặc cần các API, schema hiện tại và kiểm tra theo phương pháp — không dùng để chẩn đoán hay kiểm định thiết bị.
Cài skill neurokit2 bằng một lệnh
Chọn công cụ bạn đang dùng, copy lệnh và dán vào terminal. Skill sẽ nằm trong thư mục skills của công cụ đó và sẵn sàng dùng ở phiên làm việc tiếp theo.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/neurokit2-7bf64.tgz | tar xz -C ~/.claude/skills
Gọi trong Claude Code: /neurokit2 – rồi mô tả công việc bạn muốn làm.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/neurokit2-7bf64.tgz | tar xz -C ~/.codex/skills
Gọi trong Codex: $neurokit2 – rồi mô tả công việc bạn muốn làm.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/neurokit2-7bf64.tgz | tar xz -C ~/.hermes/skills
Gọi trong Hermes Agent: /neurokit2 – rồi mô tả công việc bạn muốn làm.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/neurokit2-7bf64.tgz | tar xz -C ~/.deepcode/skills
Gọi trong DeepSeek: /neurokit2 – rồi mô tả công việc bạn muốn làm.
Nội dung SKILL.md
Nội dung SKILL.md gốc bằng tiếng Anh.
NeuroKit2
Scope and evidence cutoff
Use this skill for method-aware, reproducible biosignal research with NeuroKit2. The
snapshot was checked on 2026-10-01 against:
- stable PyPI 0.2.13, released 2026-03-02;
- Python metadata (
>=3.10; classifiers 3.10–3.14) and wheel dependencies; - GitHub release notes/tags,
NEWS.rst, source at tagv0.2.13; - official API pages/examples (the live site identified itself as
0.2.13.dev214); and
- pinned 0.2.13 runtime signatures and synthetic output schemas.
The current wheel requires pandas<3.0.0. The refreshed core checks use Python 3.13,
NumPy 2.5.3, and pandas 2.3.3; forcing pandas 3 conflicts with upstream metadata.
API fragments below assume caller-provided arrays and imports. Optional MNE source
reconstruction, cvxEDA, EMD, and pyRQA paths are source-reviewed, not runtime-validated
by this refresh. Synthetic checks establish software behavior, not empirical validity.
The live documentation can be ahead of the stable wheel. Prefer the pinned runtime
for reproducible work and name both versions if consulting development docs.
Boundary
NeuroKit2 is a research and educational toolbox. Do not present its output as:
- a diagnosis, treatment recommendation, patient-monitoring decision, or alarm;
- validation, certification, or regulatory evidence for a medical device; or
- proof that a physiological construct is measured validly in a new sensor,
protocol, environment, population, or disease group.
Validate acquisition hardware, electrode/optode placement, units, sampling and clock
accuracy, preprocessing, detector/decomposition method, population, task, and
outcomes for the intended study. Preserve raw data and an auditable exclusion log.
Use deidentified local files only; do not place PHI in prompts, logs, examples, or
bundled fixtures.
Reproducible installation
uv pip install "neurokit2==0.2.13"For optional features, create a uv project, add only the packages actually required at
reviewed exact versions, and commit/review the resulting uv.lock before
uv sync --locked. NeuroKit2 exposes an upstream full extra, but this skill
intentionally does not install that floating transitive set in an automated workflow.
Optional capabilities can require MNE, cvxopt, Plotly, PyEMD, pyRQA, Pillow, OpenCV,
or file readers. Record the resolved environment with the analysis. Provision any MNE
data/template download as an explicit, checksummed study input. Do not install a moving
development branch for a reproducible study.
Required data contract
Before processing, record:
1. signal identity and sensor/channel configuration;
2. native sampling rate in Hz and physical unit (or explicitly arbitrary_unit);
3. clock, timestamp origin, drift correction, and synchronization evidence;
4. polarity/orientation and acquisition-side filters/gain;
5. missing samples, discontinuities, saturation, flatlines, motion, and annotations;
6. whether event onsets are zero-based sample indices or seconds;
7. planned preprocessing order, methods, parameters, exclusions, and outputs; and
8. participant-level grouping needed to prevent leakage in later statistics.
Never infer units from a column name. Do not silently treat samples as milliseconds,
volts, microsiemens, or arbitrary units.
Core workflow
1. Inspect before transforming
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=uSThe inspector is bounded and emits no row values or paths. Resolve non-monotonic time,
duplicate samples, gaps, non-finite values, flat runs, and sampling-rate disagreement
before filtering.
2. Preserve preprocessing order
Use this default reasoning order, adapting it to the acquisition and cited method:
1. preserve immutable raw signal and annotations;
2. verify time base, units, polarity, clipping, gaps, and artifacts;
3. segment at long gaps; only interpolate short gaps under a declared policy;
4. apply modality-specific cleaning at the native sampling rate;
5. detect peaks/onsets or decompose components;
6. inspect quality outputs and raw overlays;
7. correct peaks only with logged categories and sensitivity checks;
8. derive rates/features;
9. align continuous modalities on a declared common time grid; and
10. map event indices to that grid, epoch, baseline, and analyze.
Do not resample binary markers or peak-index arrays as ordinary continuous signals.
Map their timestamps to the target grid. Filtering and interpolation can create edge
artifacts and false precision; retain masks for padded, missing, and rejected regions.
3. Treat schemas as runtime observations
Return columns depend on NeuroKit2 version, function, method, signal availability, and
analysis mode. Never claim that one column list is universal.
signals, info = nk.ecg_process(ecg, sampling_rate=250)
observed_schema = {
"columns": list(signals.columns),
"info_keys": sorted(info),
}Persist the observed schema with package version, method parameters, sampling rate, and
quality/exclusion summary. Reference files list verified default schemas for 0.2.13,
not guarantees for every method.
Current patterns
ECG, corrected peaks, and duration-aware HRV
In stable 0.2.13, ecg_process() performs cleaning, R-peak detection with
correct_artifacts=True, rate, default averageQRS quality, DWT delineation, and phase.
signals, info = nk.ecg_process(ecg, sampling_rate=250, method="neurokit")
time_hrv = nk.hrv_time(info, sampling_rate=250)Inspect ECG_R_Peaks_Uncorrected and ECG_fixpeaks_*; a corrected series is not
automatically a valid NN series. For frequency/nonlinear HRV, enforce metric-specific
duration and beat-count requirements. Five minutes is the conventional short-term
reference; ULF is a long-recording measure, and VLF interpretation from short records
is unsafe. Do not interpret LF/HF as a direct sympathovagal balance. PPG pulse-rate
variability is not interchangeable with ECG HRV.
Use the bounded pipeline:
python skills/neurokit2/scripts/ecg_hrv_pipeline.py \
--synthetic --sampling-rate 250 --duration 300 \
--domains time,frequency,nonlinearThe helper gates frequency analysis using the first-to-last corrected-peak span,
separately from recording duration. It uses Welch, 4 Hz interval interpolation, and
normalize=False; absolute band powers are in ms². Its numerical gates do not
establish valid NN intervals or adequate data for every returned metric. ULF remains
unsupported by this short-recording workflow; VLF needs separate justification.
EDA with explicit decomposition
The stable default eda_process(method="neurokit") uses high-pass tonic/phasic
decomposition, not cvxEDA. Choose and report decomposition explicitly:
clean = nk.eda_clean(eda, sampling_rate=100, method="neurokit")
components = nk.eda_phasic(clean, sampling_rate=100, method="highpass")
markers, info = nk.eda_peaks(
components["EDA_Phasic"],
sampling_rate=100,
method="neurokit",
amplitude_min=0.1,
)For neurokit/kim2004, amplitude_min is relative to the largest detected response;
it is not an absolute microsiemens threshold. Other supported detectors ignore that
argument, which the helper records explicitly. cvxEDA needs optional cvxopt.
python skills/neurokit2/scripts/eda_pipeline.py \
--synthetic --sampling-rate 100 --duration 60 \
--phasic-method highpass --peak-method neurokitEvents, epochs, and baseline
events_find() reports zero-based sample onsets; duration/spacing arguments are in
samples. epochs_create() takes epoch limits in seconds.
events = nk.events_find(trigger, threshold=0.5, duration_min=2)
epochs = nk.epochs_create(
signals,
events,
sampling_rate=100,
epochs_start=-0.2,
epochs_end=0.8,
baseline_correction=False,
)Plan sample-exact windows first:
python skills/neurokit2/scripts/plan_epochs.py \
--events 1000,2500,4000 --event-unit samples \
--sampling-rate 100 --recording-samples 5000 \
--epoch-start -0.2 --epoch-end 0.8 \
--baseline-start -0.2 --baseline-end 0In 0.2.13 the epoch slice is end-exclusive, but the generated floating time index
includes epochs_end. Built-in baseline correction subtracts the epoch mean from its
start through t=0; use manual correction for a narrower prespecified baseline.
Boundary epochs are padded and can contain NaN. Decide drop/pad/error before analysis.
RSA and multimodal processing
bio_process() assumes all inputs already share one sampling rate and alignment. It
does not resample, synchronize, estimate drift, or create nested modality dictionaries;
its info output is flat. Unequal lengths are concatenated by index and can introduce
NaN. RSA is added only when synchronized ECG and RSP are present.
Validate a stri
… (nội dung đầy đủ có trong gói tải về)
Skill liên quan
- hyperliquid – Dữ liệu thị trường Hyperliquid, lịch sử tài khoản, đánh giá giao dịch.
- neuropixels-analysis – Phân tích toàn bộ quy trình dữ liệu ghi điện ngoại bào Neuropixels với SpikeInterface…
- data-quality-auditor – Kiểm tra dữ liệu về độ đầy đủ, tính nhất quán, độ chính xác và tính hợp lệ. Lập hồ sơ…
- database-designer – Dùng khi người dùng yêu cầu thiết kế schema cơ sở dữ liệu, lập kế hoạch migration dữ…
- database-schema-designer – Dùng khi người dùng yêu cầu tạo sơ đồ ERD, chuẩn hóa schema cơ sở dữ liệu, thiết kế quan…
- onekgpd – Truy vấn bộ dữ liệu 1000 Genomes Project (3.202 cá thể đã giải trình tự toàn bộ bộ gen…
- deep-research – Thực hiện một cuộc nghiên cứu bài bản, đa nguồn cho câu hỏi hoặc quyết định quan trọng…
- jupyter-notebook – Lặp lại việc viết Python qua kernel Jupyter đang chạy (hamelnb).