Skip to content

Releases: smallinaUCSD/growth-percentile-skill

v1.0.0 - First public release

Choose a tag to compare

@smallinaUCSD smallinaUCSD released this 09 Jul 16:56

v1.0.0 - First public release

Highlights since v0.2.0:

  • Project renamed growth-percentile-skill (GitHub repo now matches the
    name already used everywhere else: pyproject.toml, marketplace.json,
    CITATION.cff).
  • README rewritten for end users only (install, first prompt, a "what it
    can do" section, plain-language data handling). Contributor/clinical
    detail moved to new TRUST_AND_LIMITATIONS.md and into CONTRIBUTING.md.
  • SKILL.md: agents now normalize messy, non-adapter-shaped data
    themselves (flexible sex/gender columns, unit and age conversion)
    instead of requiring the end user to reshape data or run a command.
  • Multi-agent install instructions added for Codex, OpenCode, Grok
    Build, Hermes, and OpenClaw, alongside the existing Claude Code plugin
    path.
  • Dropped the scipy dependency. The engine, adapters, and chart
    generator are now pure Python standard library -- a bare python3 is
    enough to run this skill, nothing to install.
  • Chart visuals improved (gridlines with real tick labels, centered
    uppercase titles, uniform percentile-curve styling). Known limitation:
    visual polish is still a work in progress; the underlying numbers are
    already fully audited.
  • Several correctness fixes from an 8-angle code review: a silently
    omitted percentile curve for a common case, a chart crash on
    reference_unavailable results, unescaped patient_id HTML injection, a
    CSV header-parsing bug in growth.py, and two adapters/flat.py bugs
    (--map crash on malformed JSON, falsy-zero values treated as missing).

Full details: CHANGELOG.md

v0.2.0

Choose a tag to compare

@smallinaUCSD smallinaUCSD released this 08 Jul 22:41

v0.2.0

A v2 pass focused on making the skill actually easy to pick up and use
across any coding agent, plus two new capabilities.

Onboarding overhaul

  • README rewritten human-first and agent-agnostic: install -> first
    result (plain English, no terminal) -> bring-your-own-data -> how it
    works -> limitations, instead of leading with terminal commands.
    Works with Claude Code (plugin, tested end-to-end), Cursor, Codex, or
    any agent that can read a markdown file and follow it.
  • AGENTS.md (canonical repo-work instructions) + CLAUDE.md (one-line
    @AGENTS.md pointer), RELEASING.md, PR/issue templates, and a real
    PR-process section in CONTRIBUTING.md.
  • A real, unedited screenshot of the new chart output as the README
    hero image.

New: interactive growth charts

scripts/chart.py renders one self-contained HTML file per patient --
percentile curves plus the patient's own trajectory, for every age-based
indicator present. Pure SVG + vanilla JS, no charting library, no CDN,
no new Python dependency, fully offline.

New: flexible column mapping

adapters/flat.py now accepts an optional column map (--map colmap.json) so a spreadsheet with differently-named columns doesn't
need to be renamed first.

Fixed

A real bug, found while building the chart feature: cdc_lenageinf.csv
and cdc_bmiagerev.csv repeat their header row at the male/female
transition (how CDC actually publishes them) -- this crashed the CSV
parser on a code path nothing had exercised before. Fixed, with a new
golden test vector closing the coverage gap.

See CHANGELOG.md for the full list.

v0.1.0

Choose a tag to compare

@smallinaUCSD smallinaUCSD released this 02 Jul 17:29

v0.1.0

First public release of growth-percentile-skill: an open-source Agent
Skill that computes pediatric growth percentiles and z-scores against
CDC and WHO growth standards, from FHIR, Synthea, or flat-file patient
data — using a frozen, tested, deterministic engine instead of model
arithmetic.

Engine

  • Cole's LMS method against real CDC 2000, CDC 2022 extended-BMI, and
    WHO 2006 reference tables (checksummed, cited, downloaded from source).
  • Automatic WHO-vs-CDC reference selection at the 24-month boundary.
  • CDC's extended-BMI method for severe obesity and modified-z-score
    method for flagging biologically implausible values — both
    independently verified against CDC's own published worked examples
    (see references/METHODOLOGY.md).
  • Unit conversion, weight-for-length/stature pairing, derived-BMI,
    prematurity flagging (flag-only in v1 — see scope notes).

Ingestion

  • Three adapters: FHIR R4, Synthea CSV export, flat CSV/JSON.
  • Tested against real Synthea-generated patient data (FHIR bundle and
    CSV export), not hand-written fixtures — including the discovery that
    Synthea (and much real-world data) uses an ambiguous LOINC code for
    body length/height, resolved with a documented age-based heuristic.

Trust

  • 68 unit/integration tests, all passing, including frozen golden test
    vectors (tests/golden/) protected by CODEOWNERS and a checksum gate.
  • An agent-behavioral eval suite (evals/, EVALUATION.md) — real
    Claude subagents run against 5 scenarios. One failed on first run (an
    agent hand-computed out-of-scope growth-velocity math despite a
    caveat); the SKILL.md guardrail was fixed and re-verified. Both the
    failing and fixed responses are committed for auditability.

Distribution

  • Installable as a Claude Code plugin (.claude-plugin/plugin.json +
    marketplace.json, verified against a live install/uninstall cycle)
    or as a drop-in skill directory for any skill-compatible agent.

Scope (v1)

Weight/length/height/BMI/head-circumference-for-age, ages 0-20 years.
Does not correct for prematurity, apply condition-specific charts, or
compute growth velocity/trend — see references/METHODOLOGY.md §6-7.
Not a diagnostic tool or a substitute for clinical judgment; not FDA
cleared.

See CHANGELOG.md for the full file-by-file list.