← JinkōCONTENT HISTORYWHAT CHANGED · RULE-BASED ANALYSIS
Update to Jinkō
Snapshot Sep 30, 2026 · 23:13 UTC · version 1.8.0
Collection source: not recorded for this historical snapshot.
First saved snapshot
No earlier snapshot is available to establish a change.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"description": "Build or edit a Jinkō computational model (QSP/PK-PD) via the jinko-sdk: parameters, categorical parameters, compartments, species, ODEs, reactions, dosing events, algebraic rules, baseline checks, solving options, units, and component tags. Use this skill whenever the user wants to create a model from scratch, create an empty model, edit an existing model, add or modify components, apply input/source/output tags, configure unit checking, define model-level dosing events, validate diagnostics, or debug model sanity or simple_solve errors. Prefer editing existing models over recreating them. Do not use this skill for running trials; use jinko-trial for trial execution.",
"included_files": [
{
"relative_path": "agents/openai.yaml",
"size_in_bytes": 257
},
{
"relative_path": "evals/evals.json",
"size_in_bytes": 3165
},
{
"relative_path": "references/model-components.md",
"size_in_bytes": 5753
},
{
"relative_path": "references/model-validation.md",
"size_in_bytes": 1457
},
{
"relative_path": "references/unit_docs.md",
"size_in_bytes": 16381
},
{
"relative_path": "references/units_static_info.json",
"size_in_bytes": 14879
},
{
"relative_path": "scripts/create_minimal_model.py",
"size_in_bytes": 7146
},
{
"relative_path": "scripts/edit_existing_model_batch.py",
"size_in_bytes": 5546
},
{
"relative_path": "scripts/iso8601.py",
"size_in_bytes": 14032
},
{
"relative_path": "scripts/tag_model_components.py",
"size_in_bytes": 5906
},
{
"relative_path": "scripts/validate_model_readiness.py",
"size_in_bytes": 9622
}
],
"name": "jinko-model",
"skill_md_contents": "---\nname: jinko-model\ndescription: >-\n Build or edit a Jinkō computational model (QSP/PK-PD) via the jinko-sdk: parameters, categorical parameters, compartments, species, ODEs, reactions, dosing events, algebraic rules, baseline checks, solving options, units, and component tags. Use this skill whenever the user wants to create a model from scratch, create an empty model, edit an existing model, add or modify components, apply input/source/output tags, configure unit checking, define model-level dosing events, validate diagnostics, or debug model sanity or simple_solve errors. Prefer editing existing models over recreating them. Do not use this skill for running trials; use jinko-trial for trial execution.\ncompatibility: >-\n Check set-up with the `jinko-sdk-setup` skill. Model creation/editing requires write access to the Jinkō project.\nmetadata:\n author: Nova In Silico\n requires_sdk: \">=1.8,<2.0\"\nlicense: MIT\n---\n\n# Jinkō Model SDK Workflows\n\nUse this skill for technical model construction and editing through the SDK. Keep the scope on SDK mechanics and model validity, not biological plausibility. Initialize the connection with `jinko-sdk-setup` first.\n\n> **PREREQUISITE:** This skill needs an initialized `jinko-sdk` connection and an\n> SDK satisfying its `metadata.requires_sdk` range. Run the `jinko-sdk-setup` skill\n> (`../jinko-sdk-setup/SKILL.md`) and proceed only once its check passes. If that\n> skill is not found, install it from `novainsilico/jinko-skills`.\n\n## Required Workflow\n\n1. If a model was already supplied, prefer editing it over creating a new one. Create one only when needed, in a dedicated folder, with `client.create_empty_model()`.\n2. Retrieve the model, inspect its components, tags, units, solving options, and diagnostics before proposing edits. Inspect the unit-checking mode with `model.get_unit_check()`.\n3. Set the unit-checking mode with `model.set_unit_check(\"UnitCheckAndConvertAllSpeciesToExtentUnits\")`. Do not select another mode unless a human explicitly directs it after the consequences are explained.\n4. Give every directly declared numeric value a unit: numeric parameter formulas, compartment volumes, and species initial conditions. A parameter whose value is derived from an expression may omit its declared unit when the expression determines it. Validate non-trivial units against `references/units_static_info.json` and diagnostics.\n5. Attach the built-in platform tags before considering the model complete:\n - `i::vpop` for inputs that vary across virtual patients.\n - `i::protocol` for inputs that vary across protocol arms or scenarios.\n - One evidence-backed source tag for each applicable value-bearing input: `s::knowledge`, `s::arbitrary`, or `s::to-calibrate`. Leave an uncertain input untagged and report it for review. Never assign `s::calibrated` during construction; it records an accepted calibration result.\n - `output` for important time-series outputs to plot or calibrate against.\n6. Use high-level SDK methods and `model.components.batch(version=\"...\")` for related component changes. The platform tags above already exist; do not recreate them. Create declarations only for other, custom tags.\n7. Re-fetch the model, require no error diagnostics, and run `simple_solve()` for representative `output` components. For events, verify the expected pre-/post-event change.\n\nUse `scripts/create_minimal_model.py`, `scripts/tag_model_components.py`, and `scripts/validate_model_readiness.py` rather than long ad-hoc snippets. Scripts are dry-run by default and mutate only with `--apply`.\n\nFor solver time-grid calculations, use `scripts/iso8601.py`. Solving times can be set with `model.set_solving_times(t_max=timedelta(...), t_step=timedelta(...), additional_periods=[{\"t_max\":timedelta(...), ...])`.\n\n## Reference Routing\n\n- Read `references/model-components.md` for component batching, tags, events, formulas, and algebraic rules.\n- Read `references/unit_docs.md` for unit semantics and conversion behavior.\n- Read `references/model-validation.md` for diagnostics and readiness checks.\n"
}SHA-256 of public snapshot: ccb8c3c35027af9af0d3b242264910ed7fe0e8a553722d39c1f493379a548742