Install
openclaw skills install stdf-readerParse and analyze STDF (Standard Test Data Format) semiconductor test files. Convert STDF to CSV/XLSX, generate analysis reports, correlation reports, PDF charts, and extract specific test data.
openclaw skills install stdf-readerThis skill provides access to the STDF Reader CLI tool for parsing and analyzing semiconductor STDF test data files.
Install via pip (python version 3.9+):
pip install stdf-reader
Use the virtual environment for running any commands:
source .venv/bin/activate
Parse one or more STDF files into a CSV log for analysis:
stdf-reader convert-csv <stdf_file(s)> [-o output_name]
Options:
--ignore-tnum — Ignore test number (match by name only)--ignore-chnum — Ignore channel number in test name--no-merge — Output separate CSV per file (default: merge into one)Example:
stdf-reader convert-csv input.stdf
# Output: input.stdf_csv_log.csv
stdf-reader convert-csv lot1.stdf lot2.stdf -o merged_output
# Output: merged_output_csv_log.csv
Parse STDF file into a formatted Excel table (shows all record types):
stdf-reader convert-xlsx <stdf_file>
Convert STDF V4-2007.1 files with STR/PSR diagnosis records to ASCII CSV:
stdf-reader convert-diag <stdf_file>
Extract a specific STDF record type (DTR, GDR, TSR) to CSV:
stdf-reader extract-record <stdf_file> --type DTR
Generate comprehensive XLSX report from CSV (includes data statistics, bin summary, wafer map):
stdf-reader report <csv_file(s)> [-o output.xlsx]
Compare means across 2+ STDF files merged in a single CSV:
stdf-reader correlation <csv_file(s)> [-o output.xlsx]
Compare test data across different test sites:
stdf-reader s2s <csv_file(s)> [-o output.xlsx] [--cherry-pick "1,3,5"]
Options:
--cherry-pick "1,3,5" — Site numbers to pick, comma-separatedGenerate PDF with trendline + histogram charts for selected tests:
# By regex pattern
stdf-reader pdf <csv_file> --regex "IDD.*"
# All tests
stdf-reader pdf <csv_file> --all
# Specific tests
stdf-reader pdf <csv_file> --tests "210 - IDD_Static <> curr"
Options:
--no-limits — Don't plot failure limit lines--group-by-file — Group trends by file instead of by siteExtract only specific tests from a CSV file:
stdf-reader extract-tests <csv_file> --regex "VDD.*"
List all test instances in a CSV file:
stdf-reader list-tests <csv_file>
stdf-reader list-tests <csv_file> --filter "IDD.*"
Swap rows and columns in a CSV file:
stdf-reader transpose <csv_file>
convert-csv input.stdflist-tests input.stdf_csv_log.csvreport input.stdf_csv_log.csvpdf input.stdf_csv_log.csv --regex "pattern"convert-csv → {input}_csv_log.csvconvert-xlsx → {input}_excel.xlsxconvert-diag → {input}_diag_log.csvextract-record → {input}_{TYPE}_Rec.csvreport → {base}_analysis_report_{timestamp}.xlsxcorrelation → {base}_correlation_report_{timestamp}.xlsxs2s → {base}_s2s_correlation_table{timestamp}.xlsxpdf → {input}_results.pdfAll outputs default to the same directory as the input unless -o is specified.