15 Commits

Author SHA1 Message Date
Timothy Kassis
3c8fc0fd16 Update examples and skills documentation
- Added a new example for virtual spatial transcriptomics from archival H&E slides, detailing objectives, disciplines, skills used, and workflow steps.
- Introduced the NCATS ARAX skill for querying biomedical knowledge-graph relationships, including detailed usage instructions and capabilities.
- Updated the examples list to reflect the new addition and ensure comprehensive coverage of relevant topics.
2026-08-14 12:39:02 -07:00
Timothy Kassis
07021b927e Add new example for Phase 2 regimen development in examples.md and enhance pharmacology skills section in skills.md. The new example outlines a comprehensive workflow from first-in-human dose to a defensible Phase 2 regimen, detailing objectives, disciplines, skills used, and a structured prompt. Additionally, the skills section now includes a dedicated entry for PK/PD modeling, emphasizing its applications in pharmacometrics. 2026-07-28 11:22:46 -07:00
Timothy Kassis
844f4a35cc Add analytical-method-validation skill
New skill for bench analytical scientists in regulated labs: planning,
evaluating, and documenting validation, verification, and transfer of
analytical procedures under whichever framework governs.

Frameworks. ICH Q2(R2) and Q14 and ICH M10 are encoded directly from their
openly licensed text, read from the adopted PDFs rather than from secondary
summaries. USP <1220>/<1225>/<1226>, the CLSI EP series, and ISO/IEC 17025 are
paywalled, so they are cited by designation and scope only and never
reproduced or reconstructed; edition numbers taken from listings rather than
the documents are marked for confirmation.

Q2(R2) content covers the restructured characteristics (range as the parent of
response and lower range limits), Table 1 tests by measured attribute, Table 2
reportable ranges, the recommended-data minima, and the 30 Nov 2023 error
correction. M10's chromatographic and ligand-binding-assay criteria are kept
strictly separate, including the LBA-only total-error limit and the differing
ISR tolerances.

Scripts. Six standard-library CLIs, no numpy and no network, computing the
statistics that decide fitness for purpose rather than the ones that look
reassuring:

- plan_validation.py         framework selection and a protocol whose
                             acceptance criteria must be pre-stated
- check_response.py          lack-of-fit F against pure error, residual runs
                             test, back-calculated error per level, and a
                             heteroscedasticity check for weighting
- check_accuracy_precision.py recovery with confidence intervals, and
                             precision decomposed per level into repeatability
                             and intermediate precision
- check_detection_limits.py  DL/QL by every approach Q2(R2) allows, compared
                             against the reporting threshold
- check_bioanalytical_run.py M10 run acceptance including the per-level QC rule
- compare_methods.py         Deming and Passing-Bablok regression plus TOST
                             equivalence against a pre-stated margin

Distributions are built from the regularised incomplete beta and gamma
functions and checked against published quantiles.

Scope. The skill reports and computes. It does not decide that a procedure is
validated, accept or reject a run, close an investigation, or replace the
analyst, technical reviewer, quality unit, or regulator.

Also adds 111 tests in tests/analytical-method-validation, a docs/skills.md
entry, examples.md Example 36b, and updates the README skill count to 156.
2026-07-27 16:34:28 -07:00
Timothy Kassis
e608baad6e Add pathogen-variant-surveillance skill
Query live pathogen genomic surveillance through the GenSpectrum LAPIS
API: which viral lineages are circulating now, how fast they are
growing, and what mutations they carry. Covers 15 instances spanning
SARS-CoV-2, influenza A (including H5N1 and the seasonal H3N2/H1N1pdm
clades), and the Pathoplexus organisms.

This is a class of question large models answer confidently and wrongly.
Lineage names post-date training; the nomenclature is a live data
structure rather than a convention (XFG only resolves through
alias_key.json); and 294 of the ~6,230 designated names have been
withdrawn or redesignated, so remembered facts are not merely stale.

Four standard-library CLIs, no API key:

  resolve_lineage.py     is this name still valid, what does it expand
                         to, what is it descended from
  lineage_prevalence.py  discover the top lineages in a window, then
                         weekly prevalence with Wilson intervals,
                         coverage flags, and a guarded growth fit
  mutation_profile.py    defining mutations, or a diff between two
                         lineages, for assay-match questions
  reporting_lag.py       measure how long sequences take to arrive and
                         derive a trust cutoff

Nothing hardcodes a field name. Schemas differ materially between
instances -- dateFrom is correct on SARS-CoV-2 and a hard 400 on H5N1 --
so every script reads /sample/databaseConfig and picks the collection,
submission, and lineage columns from what the instance declares.

The API traps documented in references/lapis-api.md were all verified
against the live services. The sharpest: a trailing '*' expands to
descendants only where the column carries a lineage index. pangoLineage=
XFG returns 4 and XFG* returns 640; on H5N1, clade=2.3.4.4b returns
62413 and clade=2.3.4.4b* returns 0. Silently wrong in both directions,
so lineage_filter() refuses to build the query that lies.

Two statistical guards, both prompted by wrong output during testing.
A lineage observed zero times in every week produced a confident
+0.105/week slope from the continuity correction alone as the
denominator shrank; growth fits now require real observations. And the
quasi-binomial dispersion is floored at 1, since an estimate below the
model's own scale reports an interval narrower than binomial sampling
allows.

117 tests, including live checks gated behind LAPIS_LIVE_TESTS=1 that
document the API behaviour the scripts were built against.
2026-07-27 15:40:33 -07:00
Timothy Kassis
051f93f59f Update README, examples, and skills documentation to reflect the addition of new skills and version bump to 2.57.0. The README now highlights 154 skills, including the new Ontology Term Resolution and Genomic Coordinates skills, and provides updated examples for interdisciplinary workflows. The skills documentation has been expanded to include detailed descriptions of the new skills and their functionalities. 2026-07-26 18:14:01 -07:00
Timothy Kassis
6d22863f8d Replace iso-13485-certification with iso-standards-readiness
Fold the ISO 13485 skill into an umbrella standards-readiness skill so a
single skill covers several standards instead of one skill per standard
competing for selection on every compliance-adjacent prompt.

SKILL.md becomes a router: boundary, ISO/IEC copyright rules, current
baseline, assurance-lane discipline, the shared workflow, and the CLI
contract. Per-standard depth moves into references/.

Covers four standards in this version:

- ISO 13485 medical device QMS (certification lane)
- ISO 14971 device risk management (no lane of its own)
- ISO/IEC 17025 testing and calibration laboratories (accreditation)
- ISO 15189 medical laboratories (accreditation)

_catalog.py becomes a StandardProfile registry. Each profile carries its
own process domains, scope-activity vocabulary, and scope-item fields.
validate_scope_intake, validate_evidence_manifest, and gap_analyzer take
--standard; argparse choices refuse an unlisted value with exit 2 rather
than defaulting. audit_document_records, check_capa, and
check_supplier_controls were already standard-agnostic; check_traceability
and check_qmsr_transition stay device-specific.

New references/assurance-lanes.md exists because lane confusion, not
missing documents, causes most substantive errors in this work:
laboratories are accredited and not certified, ISO 15189 accreditation
does not satisfy CLIA, and ISO 14971 has no certificate at all.

The source ledger adds entries for ISO/IEC 17025, ISO 15189, ISO/TR
24971, the GLOBAC transition, ILAC P10/G8, and the CMS CLIA lane. ISO
catalogue metadata gathered on 2026-07-26 is marked [confirm on iso.org],
since iso.org refused automated access and those entries came from
secondary summaries.

Also adds laboratory and medical-laboratory scope-intake templates, both
fail-closed, and updates docs/skills.md and docs/examples.md so the
catalog links do not 404.

Verified: skills-ref validate passes for this skill and all others; 20
tests and 23 subtests pass directly and under run_all.py --isolated;
security scan clean (1 LOW, no HIGH+). The LOW finding is a pre-existing
unreachable assert in _common.py, verified rather than "fixed".
2026-07-26 16:26:52 -07:00
Timothy Kassis
9319f43f9c Synchronize repository documentation
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-24 10:57:01 -07:00
Timothy Kassis
53c58974f3 Update DNAnexus, ETE, FlowIO, LatchBio, MarkItDown, MatchMS, Opentrons, pysam, Qiskit, and SHAP skills
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-23 10:43:55 -07:00
Timothy Kassis
dab7aa6729 Update examples 2026-06-11 15:28:42 -07:00
Timothy Kassis
758bad1185 Enhance documentation for cellxgene-census and deepTools skills. Update cellxgene-census to version 1.1, expanding description, compatibility notes, and data structure details for single-cell and spatial transcriptomics. Revise deepTools to version 1.1, improving installation instructions, normalization methods, and adding new features for effective genome size and scaling. Update quick reference and workflow scripts for better usability and clarity. 2026-06-07 15:21:00 -07:00
Timothy Kassis
75c41d78a2 Add support of Hugging Science 2026-05-01 11:02:23 -07:00
Timothy Kassis
b58ad7e874 Update README, examples and kills list 2026-03-30 16:56:17 -07:00
Timothy Kassis
15d9e4699a Update examples 2026-01-05 13:49:00 -08:00
Timothy Kassis
90de96a99b Add support for generating scientific illustrations using Nano Banan Pro and Flux.2 Pro 2025-11-30 09:30:58 -05:00
Timothy Kassis
5b7081cbff Add examples 2025-11-06 17:04:04 -08:00