PREREQUISITE: This skill needs an initialized
jinko-sdkconnection and an SDK satisfying itsmetadata.requires_sdkrange. Run thejinko-sdk-setupskill (../jinko-sdk-setup/SKILL.md) and proceed only once its check passes. A session code can be exchanged only once, so callget_session_codeagain before this skill's own SDK process. If that skill is not found, install it fromnovainsilico/jinko-skills.
Preserve what the source reports. Keep estimated, transformed, and directly transcribed values distinguishable.
Inputs
Require the source artifact and the requested series. For a Jinkō-ready output,
also require the target obsId mapping, model units, and any scenario/arm scope.
Ask for missing mappings rather than guessing them.
Workflow
- Locate each requested series and record its citation plus page, table, figure, panel, or supplement. Prefer machine-readable tables over OCR and OCR over graphical digitization. If no suitable extraction tool is available, request a tabular source instead of estimating visually.
- Extract only reported values. For graphical digitization, retain the raw digitized points and identify them as estimates. Do not fit, smooth, aggregate, or impute unless explicitly requested; record any such transformation.
- Preserve the reported statistic. Do not interchange raw values, means, medians, SD, SE, confidence intervals, IQR, or min/max. Convert units only when the source and target units are known, recording the formula and original values. Express Jinkō time values as ISO-8601 durations.
- For general extraction, emit a readable CSV or Markdown table with series, time/condition, value or bounds, unit, and source locator.
- For Jinkō output, follow the row schema owned by
jinko-data-table. Use point rows for reported point values and range rows only for reported lower/upper bounds. SetobsId,armScope,unit, andexperimentRefexplicitly. - Run the
jinko-data-tablecreation script in dry-run mode with the expected--allowed-obs-idvalues,--require-unit, and--require-experiment-ref. On approval, add--require-fitness --apply. The script owns row/schema checks, upload, and the servervalidForFitnessFunctiongate.
Return
Return the extracted file and a compact report containing:
- source locator and extraction method for each series;
- original statistic, units, and any transformations or conversions;
- assumptions, unreadable values, and digitization uncertainty;
- for Jinkō output, data-table SID, URL, observable mapping, and confirmed
validForFitnessFunction: True.
If the server does not explicitly report fitness compatibility as true, return the table as not calibration-ready. Never silently replace or manufacture values to make a table pass validation.