Curve Lab
Paste the following prompt into your AI chat to install this skill:
Please install @user_6bbd6f5f/curve-lab according to https://skillhub.cn/install/skillhub.md.
About this skill
Problem
When a CSV/TXT contains columns with very different scales, such as temperature, pressure, flow, and vibration, a generic chart tool can easily force them into one Y axis or require manual split charts. Curve Lab turns tabular data into an adjustable multi-axis curve diagram in the browser: pick an X column, select one or more Y series, group columns by comparable scale, and decide whether smoothing is needed.
How it works
The skill is a zero-dependency static web app. Its core logic lives in scripts/curve-synthesizer.js, while the UI lives in templates/index.html. A typical flow starts from a confirmed CSV/TXT file, then opens the local page or serves the templates/ directory. The wizard has three steps:
- X axis: choose exactly one column, often time, an index, or a numeric sequence.
- Y axes: select one or more data columns.
- Axis groups: assign each Y column to a left or right Y-axis group, adding more groups when needed.
For smoothing, the skill suggests data-aware options: moving average is useful for noisy sensor data, with a common window of 5-10; spline interpolation is better for sparse points; dense clean data may be left unsmoothed. The moving-average implementation returns a smoothed copy and leaves the original untouched. Spline interpolation is a simplified Catmull-Rom approach, requires at least four points, and produces a visually smoother curve at the cost of amplitude precision. After rendering, the chart can be exported as PNG, JSON, or CSV, with the CSV using UTF-8 BOM for Excel compatibility.
Limits and cautions
The tool only reads source files and runs entirely in the browser, so data does not leave the user's machine. It supports CSV and TXT only, with automatic delimiter detection in the order tab, ;, and ,. Time columns are detected heuristically by names such as time, date, timestamp, or 时间, while the current X axis remains linear, converting timestamps to epoch milliseconds. It can handle duplicate column names, 10k+ rows, and mixed-type columns, but legends may overlap, the preview may show only the first 20 rows, and text values do not produce data points. If a stricter time scale is needed, adjust scales.x.type or process the exported data.
Use Cases
- Given a sensor CSV, split temperature, voltage, and current into different Y-axis groups and draw comparison curves.
- Process a collected TXT file, detect the time column, generate a time-series line chart, and export a PNG for reports.
- For sparse sampling points, apply spline interpolation to make the curve more continuous, then export JSON for front-end use.
- Adjust the moving-average window in the browser to inspect smoothed noisy data without modifying the original CSV.
Best For
- Engineers analyzing sensor captures who need multiple different-scale metrics on one chart.
- Technical students writing lab reports who need to export curve PNGs and compare smoothed results.
- Front-end or data engineers building device dashboards who need quick time-series and anomaly inspection.
- Analysts organizing collected tables who want local browser charting and export without uploading data.
Related Skills
Analyzes smart customer-service chat logs with semantic clustering to generate word clouds, Top K frequent questions, and personalized guess-you-ask recommendations.
Maps natural-language Reddit requests to KeyAPI REST workflows, validates endpoint contracts against official docs, and executes search, detail, comment, ranking, and report tasks.
Schedules fetching from NEP and custom academic sites, filters and ranks papers by keywords, generates Chinese summaries, and pushes Feishu cards with local download archiving.
Accepts screenshots or tweet URLs, recursively fetches nodes, runs cross-platform iterative searches, and renders a verified propagation map as an HTML page with Mermaid topology.