EC Sample Tracker

v1.0.0

Track and manage electrochemistry samples from synthesis to characterization with data linking, event logging, search, export, and dashboard visualization.

0· 62·0 current·0 all-time
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description (electrochemistry sample tracker) match the code and SKILL.md: CLI commands for add/list/link/search/export/dashboard, an SQLite DB, and a YAML config are all present and expected.
Instruction Scope
SKILL.md and the CLI instruct local operations only (creating samples.db, writing config.yaml, generating PNG/CSV/MD exports). The code will read files you explicitly link (e.g., CSV/XLSX data) and attempts limited automatic parsing for 'ec' links if scipy/numpy are available. There are no network calls, subprocess execs, or directives to read unrelated system state, but the tool will read any filesystem paths you provide and will write config.yaml and samples.db in the working directory.
Install Mechanism
No install spec is provided (no packages/binaries are pulled). The Python script imports optional libraries (yaml, matplotlib, PIL, scipy, numpy) but does not declare them in an install manifest—this is a minor inconsistency (user must ensure Python deps are installed) but not a security concern by itself.
Credentials
The skill requests no environment variables, credentials, or special config paths. Files it uses (config.yaml, samples.db, user-provided data files) align with its stated purpose.
Persistence & Privilege
always is false and the skill does not attempt to alter other skills or system-wide agent settings. It does persist its own config (config.yaml) and database (samples.db) in the working directory, which is expected behavior for this type of tool.
Assessment
This appears to be a coherent, local CLI tool for tracking lab samples. Points to consider before installing/running: - Source provenance: the package has no homepage and an unknown source — prefer code from a known repository or author when possible. - Local file access: the tool creates/updates config.yaml and samples.db in its working directory and will read any file paths you pass to the link command (so do not link sensitive files). - Dependencies: it imports optional Python packages (PyYAML, matplotlib, Pillow, scipy, numpy). You may need to install these in the environment you run it in; consider using a virtualenv. - Run isolation: because this is an executable script from an unknown source, consider running it in a sandbox/container or inspect the code locally before execution. - Backups: the script updates next_id in config.yaml and writes to the SQLite DB — back up existing data if you plan to run it against a directory with important files. If you want, I can list the exact optional Python dependencies to install, or point out the exact lines that read/write config and DB for easier code inspection.

Like a lobster shell, security has layers — review code before you run it.

electrochemistryvk975s47yttr4nvh28nc9vg425h857zaxinventoryvk975s47yttr4nvh28nc9vg425h857zaxlaboratoryvk975s47yttr4nvh28nc9vg425h857zaxlatestvk975s47yttr4nvh28nc9vg425h857zaxsample-managementvk975s47yttr4nvh28nc9vg425h857zax
62downloads
0stars
1versions
Updated 1d ago
v1.0.0
MIT-0

ec-sample-tracker-1.0.0 — Sample Tracker for Electrochemistry Labs

Track physical samples from synthesis through every characterization result. Connect samples to their storage locations, synthesis records, and all associated data files (LSV/CV/EIS/XRD/SEM/TEM etc.).

Usage

ec-sample-tracker <command> [options]

Commands

  • add — Register a new sample
  • list — List samples with filters
  • status — Show sample status overview
  • link — Attach data files or notes to a sample
  • search — Search samples by name, tag, synthesis date, or property
  • log — Log an experimental event (measurement, storage move, aging)
  • export — Export sample records as CSV/JSON/Markdown
  • import — Bulk import from CSV
  • dashboard — Visual dashboard of sample inventory and status

Sample Record Schema

sample_id       — Auto-generated (e.g. CAT-2026-0042)
name            — Sample name/label
synthesis_date  — YYYY-MM-DD
synthesis_method — hydrothermal / electrodeposition / impregnation / sol-gel / thermal decomposition / commercial
precursors      — Comma-separated list
substrate       — GC / Ti foil / Ni foam / FTO / ITO / Carbon paper / None
catalyst_load   — mg/cm² (if applicable)
target_reaction — OER / HER / ORR / CO2RR / other
tags            — Comma-separated tags
storage_location — fridge-4 / rack-A2 / desiccator-2 / given-out
owner           — Name
notes           — Free-text notes
status          — active / degraded / given-out / disposed / lost

Link Types

  • ec — LSV/CV/EIS/CP/CA files
  • xrd — XRD data
  • sem / tem — Electron microscopy
  • raman — Raman spectra
  • xps — XPS data
  • photo — Sample photos
  • note — Free-text notes
  • protocol — Synthesis protocol PDF

Configuration (config.yaml)

lab_name: "Electrochemistry Lab"
id_prefix: "CAT"
next_id: 1
storage_locations:
  - fridge-4
  - rack-A2
  - rack-B1
  - desiccator-2
  - drawer-3
  - given-out
default_owner: "xray"
db_file: "samples.db"
data_root: "/home/xray/data"

Dashboard

Generates a 4-panel PNG dashboard:

  1. Sample count by status (pie chart)
  2. Samples by reaction type (bar chart)
  3. Storage location distribution (bar chart)
  4. Recent activity log (text table)

Examples

# Add a new sample
ec-sample-tracker add --name "NiFe-LDH/CF-2026-042" \
  --method hydrothermal --precursors "Ni(NO3)2,Fe(NO3)3" \
  --substrate "Ni foam" --load 2.1 --reaction OER \
  --tags "NiFe-LDH,hydrothermal,batch-42" \
  --storage fridge-4 --notes "Synthesized for OER stability test"

# Link characterization data
ec-sample-tracker link CAT-2026-0042 --type ec --file ~/data/oer_lsv_042.csv
ec-sample-tracker link CAT-2026-0042 --type xrd --file ~/data/xrd_042.asc

# Search samples
ec-sample-tracker search --tag NiFe-LDH --reaction OER
ec-sample-tracker search --synth-date-after 2026-03-01

# List all active samples
ec-sample-tracker list --status active

# Log an experimental event
ec-sample-tracker log CAT-2026-0042 --event "LSV cycling started" \
  --note "100 cycles in 1M KOH, 10 mA/cm²"

# Export all samples
ec-sample-tracker export --format markdown --output samples-report.md

# Generate dashboard
ec-sample-tracker dashboard --output sample-dashboard.png

Database

Uses SQLite (samples.db) with tables:

  • samples — Core sample records
  • links — File/note attachments
  • events — Timestamped experimental events
  • measurements — Quantitative measurement results (overpotential, Tafel, ECSA, etc.)

Output Files

  • samples.db — SQLite database
  • samples.csv — Full export
  • sample-dashboard.png — Visual dashboard (300 DPI)
  • sample-YYYY-MM-DD.md — Markdown report

Use Cases

  • Track which samples have LSV/CV/EIS data collected
  • Find all samples from a specific synthesis batch or precursor combination
  • Log degradation events and link to characterization
  • Generate sample inventory for lab audits or paper supplementary
  • Connect synthesis records to performance metrics

Comments

Loading comments...