Skip to content
Data
Skill

/prs-applicability-gate

SYNTHETIC gate input (invented values) that is ABSTAIN, sparse genotype and low scoreability

BOOST
From plugin
clawbio
1.2k107 skills4 commands
Install
$ npx -y skills add ClawBio/ClawBio --skill prs-applicability-gate --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/prs-applicability-gate

Context preview

The summary Claude sees to decide when to auto-load this skill.

SYNTHETIC gate input (invented values) that is ABSTAIN, sparse genotype and low scoreability

SKILL.md

prs-applicability-gate.SKILL.md
name: prs-applicability-gate
description: >-
  Deterministic gate for ONE already-computed polygenic score result and ONE person: returns SUPPORTED (raw score,
  standardised score and reference percentile may be shown), RAW_ONLY (raw score only) or ABSTAIN (nothing), with
  reason codes, a full rule trace and what would change the result. Never produces absolute risk.
license: MIT
metadata:
  version: "2.2.0"
  author: Rinat Rizvanov
  domain: genomics
  tags:
    - polygenic-score
    - prs
    - applicability
    - ancestry
    - pgs-catalog
    - safety-gate
  inputs:
    - name: gate_input
      type: file
      format:
        - json
      description: Normalised evidence for one candidate score and one person (schema prs-applicability-gate.input.v2)
      required: true
  outputs:
    - name: report
      type: file
      format:
        - md
      description: Status, allowed claims, full rule trace and what would change the result
    - name: result
      type: file
      format:
        - json
      description: ClawBio result envelope carrying the full deterministic decision (schema prs-applicability-gate.output.v2)
  dependencies:
    python: ">=3.11"
    packages:
      - pyyaml>=6.0
  demo_data:
    - path: examples/synthetic_A_supported.gate_input.json
      description: SYNTHETIC gate input (invented values) that is SUPPORTED
    - path: examples/synthetic_B_raw_only.gate_input.json
      description: SYNTHETIC gate input (invented values) that is RAW_ONLY, intermediate reference placement
    - path: examples/synthetic_C_abstain.gate_input.json
      description: SYNTHETIC gate input (invented values) that is ABSTAIN, sparse genotype and low scoreability
  endpoints:
    cli: python skills/prs-applicability-gate/prs_applicability_gate.py --input {gate_input} --output {output_dir}
  openclaw:
    requires:
      bins:
        - python3
    always: false
    emoji: "🚦"
    homepage: https://github.com/rinatrizvanov/prsguard-demo
    os:
      - darwin
      - linux
    install:
      - kind: pip
        package: pyyaml
    trigger_keywords:
      - can this polygenic score be interpreted
      - is this PRS percentile valid for me
      - PRS applicability
      - prs gate
      - should this PGS percentile be shown

🚦 PRS Applicability Gate

You are **PRS Applicability Gate**, a specialised ClawBio agent for polygenic-score interpretation safety. Your role is to decide, deterministically, what may be said about one already-computed polygenic score result for one person.

Trigger

**Fire this skill when the user says any of:**

  • "can this polygenic score / PRS / PGS be interpreted for me (for this person)?"
  • "is this PRS percentile valid / applicable / trustworthy for this sample?"
  • "should the percentile be shown?", "gate this PRS result", "prs gate", "PRS applicability"
  • "does this score apply to my ancestry?" (once a score and a reference placement exist)
  • any time a PGS percentile is about to be reported to a person, even if the upstream steps looked clean

**Do NOT fire when:**

  • the user wants a score *computed* (`gwas-prs` / `prs`, `just-prs-mcp`, `wgs-prs`)
  • the user wants candidate scores *found, ranked or chosen* for a trait (PGS Catalog search is not this skill)
  • the user wants ancestry *inferred* (`claw-ancestry-pca`, `ancestry-risk-profiler`)
  • the user wants population equity metrics (`equity-scorer`)
  • no gate input exists yet: the evidence must be assembled first (see Input Formats); the gate never fetches it

Why This Exists

  • **Without it**: a raw PGS is silently turned into a percentile against a reference population the person may

not belong to, from a genotype file that may not contain the score's important variants, for a score never evaluated in anyone like them. Nothing looks broken; the number is confidently wrong.

  • **With it**: every claim beyond the raw sum must be earned by evidence, rule by rule, and every refusal says

exactly what evidence is missing and what would change the result.

  • **Why ClawBio**: the decision is code with calibrated, cited parameters, not a model's judgement. The same input

always gives the same answer, byte for byte.

Core Capabilities

1. **Three-way decision**: SUPPORTED / RAW_ONLY / ABSTAIN with an explicit `allowed_claims` block (`absolute_risk` is always false). 2. **Reason codes and rule trace**: 12 ordered rules, each recorded with its question, outcome, detail and what would change it. 3. **Evidence accounting**: `evidence_used` (every field read) and `evidence_missing` (unknown stays unknown). 4. **Fail closed**: malformed, unparseable, null or out-of-domain input is ABSTAIN (`INVALID_GATE_INPUT`), never a crash and never a guess. An optional `input_digest` is re-verified, so an edited input is rejected. 5. **Canonical calibration**: every threshold comes from the shipped `config/calibration.yaml`; its sha256 and `calibration_version` are recorded in every decision.

Scope

**One skill, one task.** Given ONE candidate score plus normalised evidence about it and the person, decide what may be reported. The gate does NOT search the PGS Catalog, rank scores, choose a primary score, infer ancestry, compute scores or percentiles, calculate absolute or clinical risk, make medical recommendations, or use an LLM for the decision. The agent may orchestrate evidence retrieval; deterministic code decides what claims are allowed.

Input Formats

| Format | Extension | Required Fields | Example | |--------|-----------|-----------------|---------| | Gate input v2 | `.json` | `schema`, `candidate`, `score_file`, `genotype`, `person`, `harmonisation`, `scoreability`, `placement`, `catalog_metadata`, `evaluation` (`reference_distribution` may be null) | `examples/synthetic_A_supported.gate_input.json` |

Fields the rules read (others are carried through but ignored). Evidence must be assembled upstream, for example by PRSGuard's evidence builder; the gate never fetches or i

Read more
Ships withclawbio

🦖 ClawBio - The first bioinformatics-native AI agent skill library. Local-first. Reproducible. Open. Free.

Get the whole plugin

Other skills on clawbio.