Crawler Summary

phenosnap-phenotype-extractor answer-first brief

Extract clinical phenotypes and medication entities from user-provided text using PhenoSnap, producing a timestamped JSON output. --- name: phenosnap-phenotype-extractor description: Extract clinical phenotypes and medication entities from user-provided text using PhenoSnap, producing a timestamped JSON output. user-invocable: true metadata: {"openclaw":{"requires":{"bins":["python3"],"anyBins":["git","curl","powershell"],"env":["HPO_OBO_PATH"]},"primaryEnv":"HPO_OBO_PATH"}} --- When to use Use this skill when the user provides **their own**: - Capability contract not published. No trust telemetry is available yet. 1 GitHub stars reported by the source. Last updated 2/25/2026.

Freshness

Last checked 2/25/2026

Best For

phenosnap-phenotype-extractor is best for the workflows where OpenClaw compatibility matters.

Not Ideal For

Contract metadata is missing or unavailable for deterministic execution.

Evidence Sources Checked

editorial-content, GITHUB OPENCLEW, runtime-metrics, public facts pack

Claim this agent
Agent DossierGitHubSafety: 89/100

phenosnap-phenotype-extractor

Extract clinical phenotypes and medication entities from user-provided text using PhenoSnap, producing a timestamped JSON output. --- name: phenosnap-phenotype-extractor description: Extract clinical phenotypes and medication entities from user-provided text using PhenoSnap, producing a timestamped JSON output. user-invocable: true metadata: {"openclaw":{"requires":{"bins":["python3"],"anyBins":["git","curl","powershell"],"env":["HPO_OBO_PATH"]},"primaryEnv":"HPO_OBO_PATH"}} --- When to use Use this skill when the user provides **their own**: -

OpenClawself-declared

Public facts

5

Change events

1

Artifacts

0

Freshness

Feb 25, 2026

Verifiededitorial-contentNo verified compatibility signals1 GitHub stars

Capability contract not published. No trust telemetry is available yet. 1 GitHub stars reported by the source. Last updated 2/25/2026.

1 GitHub starsTrust evidence available

Trust score

Unknown

Compatibility

OpenClaw

Freshness

Feb 25, 2026

Vendor

Kaichop

Artifacts

0

Benchmarks

0

Last release

Unpublished

Executive Summary

Key links, install path, and a quick operational read before the deeper crawl record.

Verifiededitorial-content

Summary

Capability contract not published. No trust telemetry is available yet. 1 GitHub stars reported by the source. Last updated 2/25/2026.

Setup snapshot

git clone https://github.com/kaichop/phenoskill.git
  1. 1

    Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.

  2. 2

    Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.

Evidence Ledger

Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.

Verifiededitorial-content
Vendor (1)

Vendor

Kaichop

profilemedium
Observed Feb 25, 2026Source linkProvenance
Compatibility (1)

Protocol compatibility

OpenClaw

contractmedium
Observed Feb 25, 2026Source linkProvenance
Adoption (1)

Adoption signal

1 GitHub stars

profilemedium
Observed Feb 25, 2026Source linkProvenance
Security (1)

Handshake status

UNKNOWN

trustmedium
Observed unknownSource linkProvenance
Integration (1)

Crawlable docs

6 indexed pages on the official domain

search_documentmedium
Observed Apr 15, 2026Source linkProvenance

Release & Crawl Timeline

Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.

Self-declaredagent-index

Artifacts Archive

Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.

Self-declaredGITHUB OPENCLEW

Extracted files

0

Examples

0

Snippets

0

Languages

typescript

Parameters

Docs & README

Full documentation captured from public sources, including the complete README when available.

Self-declaredGITHUB OPENCLEW

Docs source

GITHUB OPENCLEW

Editorial quality

ready

Extract clinical phenotypes and medication entities from user-provided text using PhenoSnap, producing a timestamped JSON output. --- name: phenosnap-phenotype-extractor description: Extract clinical phenotypes and medication entities from user-provided text using PhenoSnap, producing a timestamped JSON output. user-invocable: true metadata: {"openclaw":{"requires":{"bins":["python3"],"anyBins":["git","curl","powershell"],"env":["HPO_OBO_PATH"]},"primaryEnv":"HPO_OBO_PATH"}} --- When to use Use this skill when the user provides **their own**: -

Full README

name: phenosnap-phenotype-extractor description: Extract clinical phenotypes and medication entities from user-provided text using PhenoSnap, producing a timestamped JSON output. user-invocable: true metadata: {"openclaw":{"requires":{"bins":["python3"],"anyBins":["git","curl","powershell"],"env":["HPO_OBO_PATH"]},"primaryEnv":"HPO_OBO_PATH"}}

When to use

Use this skill when the user provides their own:

  • clinical phenotypes / symptoms / diagnoses (free text, bullet lists, clinical note-like text), and/or
  • drugs/medications (names, dosages, frequencies).

Examples that should trigger:

  • “Symptoms: ataxia, seizures, developmental delay. Meds: levetiracetam 500 mg BID.”
  • “I’m taking metformin 500mg daily and have fatigue, polyuria, blurry vision.”

When NOT to use

Do not use this skill when:

  • The user asks general questions (e.g., “What is HPO?”, “What is a phenotype?”, “What is GLP-1?”).
  • The user provides text that is not personal clinical information (news articles, academic paragraphs, code, etc.).
  • The user asks you to interpret someone else’s private clinical record (PHI) without clear permission.

Safety & privacy

  • Treat user input as potentially sensitive clinical information.
  • Do not upload user text or extracted results anywhere (this skill is local-only).
  • Before writing any input to disk, redact obvious identifiers:
    • emails, phone numbers, street addresses
    • MRN-like long numeric identifiers (e.g., 8+ digits)
    • names when clearly presented as “Name: …”
  • If the message appears to include highly identifying PHI (e.g., name + DOB + address, or name + MRN), pause and ask for confirmation to proceed, recommending the user remove identifiers first.

Requirements / setup

  • Python: python3 available on PATH.
  • Network access (only for initial PhenoSnap download if missing).
  • HPO OBO file:
    • Default expected path: {baseDir}/resources/hp.obo
    • Override path via environment variable: HPO_OBO_PATH
    • This skill does not auto-download hp.obo. You must supply it.

Recommended (best practice):

  • Use a virtual environment (venv/conda) before running this skill, because it may install Python packages via pip.

Inputs & outputs

  • Input text file (redacted):
    • {baseDir}/artifacts/phenosnap_inputs/input_<YYYYMMDD_HHMMSS>.txt
  • Output JSON file (timestamped):
    • {baseDir}/artifacts/phenosnap_outputs/phenotypes_<YYYYMMDD_HHMMSS>.json
  • Third-party download cache:
    • {baseDir}/third_party/phenosnap_main.zip
    • {baseDir}/third_party/get-pip.py

Detection heuristic (activation check)

Trigger if the user message contains any of:

  • phenotype cues: symptom(s), phenotype(s), Dx, diagnosis, PMH, Hx, history of, or a symptom-like list
  • medication cues: meds, medications, taking, prescribed, plus patterns like:
    • dosages: \b\d+(\.\d+)?\s?(mg|mcg|g|ml|units)\b
    • frequencies: qd, q.d., bid, b.i.d., tid, t.i.d., qhs, qAM, qPM, daily, weekly

Do not trigger for purely informational questions without user-provided phenotype/medication content.


Procedure

0) Create required directories

Create if missing:

  • {baseDir}/PhenoSnap/
  • {baseDir}/artifacts/phenosnap_inputs/
  • {baseDir}/artifacts/phenosnap_outputs/
  • {baseDir}/resources/
  • {baseDir}/third_party/

1) Confirm / redact sensitive identifiers

  1. Scan the user message for identifiers (email/phone/address/MRN/name fields).
  2. If strongly identifying PHI is present (name + DOB/address/MRN):
    • Ask the user to confirm proceeding and recommend removing identifiers.
  3. Produce a redacted version of the user text:
    • Replace emails with [REDACTED_EMAIL]
    • Replace phone numbers with [REDACTED_PHONE]
    • Replace long numeric IDs with [REDACTED_ID]
    • Replace address-like patterns with [REDACTED_ADDRESS]
    • Replace explicit “Name: …” fields with Name: [REDACTED_NAME]

2) Ensure PhenoSnap exists locally

Target location: {baseDir}/PhenoSnap/

2A) If {baseDir}/PhenoSnap/ exists and contains extract_phenotypes.py

Proceed to dependency self-test.

2B) If {baseDir}/PhenoSnap/ does NOT exist (or missing extract_phenotypes.py)

Prefer git; fallback to zip.

If git is available

Run:

  • git clone https://github.com/WGLab/PhenoSnap.git "{baseDir}/PhenoSnap"

If git is NOT available

Download zip:

  • URL: https://github.com/WGLab/PhenoSnap/archive/refs/heads/main.zip
  • Destination: {baseDir}/third_party/phenosnap_main.zip

Download method (pick first available):

  • If curl exists:
    • curl -L "https://github.com/WGLab/PhenoSnap/archive/refs/heads/main.zip" -o "{baseDir}/third_party/phenosnap_main.zip"
  • Else on Windows PowerShell:
    • Invoke-WebRequest -Uri "https://github.com/WGLab/PhenoSnap/archive/refs/heads/main.zip" -OutFile "{baseDir}/third_party/phenosnap_main.zip"

Unzip (choose by OS/tools):

  • Windows PowerShell:
    • Expand-Archive -Path "{baseDir}/third_party/phenosnap_main.zip" -DestinationPath "{baseDir}/third_party/phenosnap_unzip" -Force
  • macOS/Linux with unzip:
    • unzip -o "{baseDir}/third_party/phenosnap_main.zip" -d "{baseDir}/third_party/phenosnap_unzip"

If neither unzip nor Expand-Archive is available, use Python:

  • python3 -c "import zipfile; z=zipfile.ZipFile(r'{baseDir}/third_party/phenosnap_main.zip'); z.extractall(r'{baseDir}/third_party/phenosnap_unzip')"

Then rename/move the extracted folder to {baseDir}/PhenoSnap/:

  • The extracted folder is typically {baseDir}/third_party/phenosnap_unzip/PhenoSnap-main
  • Move/rename to {baseDir}/PhenoSnap/

Final check:

  • Verify {baseDir}/PhenoSnap/extract_phenotypes.py exists.
  • If not found, stop and report the directory listing of {baseDir}/PhenoSnap/ and {baseDir}/third_party/phenosnap_unzip/.

3) Dependency self-test and auto-install

Run from inside {baseDir}/PhenoSnap/.

3A) Smoke test importability

Run:

  • python3 -c "import importlib.util; spec=importlib.util.spec_from_file_location('extract_phenotypes','extract_phenotypes.py'); m=importlib.util.module_from_spec(spec); spec.loader.exec_module(m); print('ok')"

If it prints ok, proceed.

3B) If smoke test fails with missing module (ModuleNotFoundError / ImportError)

Step 1: Ensure pip exists for python3

Check:

  • python3 -m pip --version

If that fails, try:

  • python3 -m ensurepip --upgrade

Check again:

  • python3 -m pip --version

If still failing, bootstrap pip via get-pip.py:

  • Download https://bootstrap.pypa.io/get-pip.py to {baseDir}/third_party/get-pip.py
    • with curl:
      • curl -L "https://bootstrap.pypa.io/get-pip.py" -o "{baseDir}/third_party/get-pip.py"
    • or PowerShell:
      • Invoke-WebRequest -Uri "https://bootstrap.pypa.io/get-pip.py" -OutFile "{baseDir}/third_party/get-pip.py"
  • Install:
    • python3 "{baseDir}/third_party/get-pip.py"
  • Verify:
    • python3 -m pip --version

If pip still cannot be used, stop and report the error output.

Step 2: Install PhenoSnap dependencies

From {baseDir}/PhenoSnap/, run:

  • python3 -m pip install -r requirements.txt

Step 3: Re-run smoke test once

Re-run:

  • python3 -c "import importlib.util; spec=importlib.util.spec_from_file_location('extract_phenotypes','extract_phenotypes.py'); m=importlib.util.module_from_spec(spec); spec.loader.exec_module(m); print('ok')"

If still failing, stop and return:

  • the missing module name (from error)
  • the command output
  • recommended fix (use a venv/conda env; verify python3/pip; rerun pip install)

4) Prepare HPO OBO path

Resolve HPO OBO path in this order:

  1. If env var HPO_OBO_PATH is set and file exists, use that.
  2. Else use {baseDir}/resources/hp.obo if it exists.

If the resolved file does not exist:

  • Stop and tell the user to place hp.obo at {baseDir}/resources/hp.obo or set HPO_OBO_PATH to its full path.

5) Write input file (redacted)

  • Timestamp format: YYYYMMDD_HHMMSS (local time).
  • Write redacted user text to:
    • {baseDir}/artifacts/phenosnap_inputs/input_<TS>.txt

6) Run extraction

From {baseDir}/PhenoSnap/, run:

  • python3 extract_phenotypes.py --input-file "{baseDir}/artifacts/phenosnap_inputs/input_<TS>.txt" --hpo-obo "<HPO_OBO_PATH>" --output "{baseDir}/artifacts/phenosnap_outputs/phenotypes_<TS>.json" --format json

Validate:

  • Output file exists
  • Output file is non-empty

If validation fails:

  • Return stderr/stdout
  • Provide troubleshooting steps (missing hp.obo, permission issues, dependency issues)

7) Respond to user

Return a concise confirmation:

  • Detected content: “phenotypes” and/or “medications”
  • Input file path (redacted)
  • Output file path (timestamped JSON)
  • Note: no data uploaded; local-only
  • Any warnings (e.g., missing hp.obo, PHI redaction/confirmation)

Troubleshooting

  • PhenoSnap folder exists but script missing: confirm {baseDir}/PhenoSnap/extract_phenotypes.py exists.
  • No git: zip fallback should run; ensure curl/PowerShell is available for download.
  • Unzip fails: use Python zipfile fallback.
  • pip missing: ensurepip then get-pip.py steps above; consider installing Python with “pip” included.
  • Permission errors installing packages: use a virtual environment:
    • python3 -m venv .venv then activate and rerun skill.
  • hp.obo missing: place file at {baseDir}/resources/hp.obo or set HPO_OBO_PATH.

Examples

Example 1 (phenotypes + meds)

User:

  • “Symptoms: developmental delay, seizures, ataxia. Meds: valproate 250 mg BID.”

Action:

  • Write redacted input → run PhenoSnap → output phenotypes_<TS>.json

Example 2 (meds only)

User:

  • “Current meds: metformin 500mg daily, atorvastatin 20 mg qhs.”

Action:

  • Extract medication entities/phenotype-related terms supported by PhenoSnap → output JSON

Example 3 (should NOT trigger)

User:

  • “What is the Human Phenotype Ontology and how is it used?”

Action:

  • Do not run extraction; answer informationally outside this skill.

Contract & API

Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.

MissingGITHUB OPENCLEW

Contract coverage

Status

missing

Auth

None

Streaming

No

Data region

Unspecified

Protocol support

OpenClaw: self-declared

Requires: none

Forbidden: none

Guardrails

Operational confidence: low

No positive guardrails captured.
Invocation examples
curl -s "https://xpersona.co/api/v1/agents/kaichop-phenoskill/snapshot"
curl -s "https://xpersona.co/api/v1/agents/kaichop-phenoskill/contract"
curl -s "https://xpersona.co/api/v1/agents/kaichop-phenoskill/trust"

Reliability & Benchmarks

Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.

Missingruntime-metrics

Trust signals

Handshake

UNKNOWN

Confidence

unknown

Attempts 30d

unknown

Fallback rate

unknown

Runtime metrics

Observed P50

unknown

Observed P95

unknown

Rate limit

unknown

Estimated cost

unknown

Do not use if

Contract metadata is missing or unavailable for deterministic execution.
No benchmark suites or observed failure patterns are available.

Media & Demo

Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.

Missingno-media
No screenshots, media assets, or demo links are available.

Related Agents

Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.

Self-declaredprotocol-neighbors
GITHUB_REPOSactivepieces

Rank

70

AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents

Traction

No public download signal

Freshness

Updated 2d ago

OPENCLAW
GITHUB_REPOScherry-studio

Rank

70

AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs

Traction

No public download signal

Freshness

Updated 5d ago

MCPOPENCLAW
GITHUB_REPOSAionUi

Rank

70

Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!

Traction

No public download signal

Freshness

Updated 6d ago

MCPOPENCLAW
GITHUB_REPOSCopilotKit

Rank

70

The Frontend for Agents & Generative UI. React + Angular

Traction

No public download signal

Freshness

Updated 23d ago

OPENCLAW
Machine Appendix

Contract JSON

{
  "contractStatus": "missing",
  "authModes": [],
  "requires": [],
  "forbidden": [],
  "supportsMcp": false,
  "supportsA2a": false,
  "supportsStreaming": false,
  "inputSchemaRef": null,
  "outputSchemaRef": null,
  "dataRegion": null,
  "contractUpdatedAt": null,
  "sourceUpdatedAt": null,
  "freshnessSeconds": null
}

Invocation Guide

{
  "preferredApi": {
    "snapshotUrl": "https://xpersona.co/api/v1/agents/kaichop-phenoskill/snapshot",
    "contractUrl": "https://xpersona.co/api/v1/agents/kaichop-phenoskill/contract",
    "trustUrl": "https://xpersona.co/api/v1/agents/kaichop-phenoskill/trust"
  },
  "curlExamples": [
    "curl -s \"https://xpersona.co/api/v1/agents/kaichop-phenoskill/snapshot\"",
    "curl -s \"https://xpersona.co/api/v1/agents/kaichop-phenoskill/contract\"",
    "curl -s \"https://xpersona.co/api/v1/agents/kaichop-phenoskill/trust\""
  ],
  "jsonRequestTemplate": {
    "query": "summarize this repo",
    "constraints": {
      "maxLatencyMs": 2000,
      "protocolPreference": [
        "OPENCLEW"
      ]
    }
  },
  "jsonResponseTemplate": {
    "ok": true,
    "result": {
      "summary": "...",
      "confidence": 0.9
    },
    "meta": {
      "source": "GITHUB_OPENCLEW",
      "generatedAt": "2026-04-16T23:31:37.293Z"
    }
  },
  "retryPolicy": {
    "maxAttempts": 3,
    "backoffMs": [
      500,
      1500,
      3500
    ],
    "retryableConditions": [
      "HTTP_429",
      "HTTP_503",
      "NETWORK_TIMEOUT"
    ]
  }
}

Trust JSON

{
  "status": "unavailable",
  "handshakeStatus": "UNKNOWN",
  "verificationFreshnessHours": null,
  "reputationScore": null,
  "p95LatencyMs": null,
  "successRate30d": null,
  "fallbackRate": null,
  "attempts30d": null,
  "trustUpdatedAt": null,
  "trustConfidence": "unknown",
  "sourceUpdatedAt": null,
  "freshnessSeconds": null
}

Capability Matrix

{
  "rows": [
    {
      "key": "OPENCLEW",
      "type": "protocol",
      "support": "unknown",
      "confidenceSource": "profile",
      "notes": "Listed on profile"
    },
    {
      "key": "the",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    }
  ],
  "flattenedTokens": "protocol:OPENCLEW|unknown|profile capability:the|supported|profile"
}

Facts JSON

[
  {
    "factKey": "docs_crawl",
    "category": "integration",
    "label": "Crawlable docs",
    "value": "6 indexed pages on the official domain",
    "href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceType": "search_document",
    "confidence": "medium",
    "observedAt": "2026-04-15T05:03:46.393Z",
    "isPublic": true
  },
  {
    "factKey": "vendor",
    "category": "vendor",
    "label": "Vendor",
    "value": "Kaichop",
    "href": "https://github.com/kaichop/phenoskill",
    "sourceUrl": "https://github.com/kaichop/phenoskill",
    "sourceType": "profile",
    "confidence": "medium",
    "observedAt": "2026-02-25T01:46:18.970Z",
    "isPublic": true
  },
  {
    "factKey": "protocols",
    "category": "compatibility",
    "label": "Protocol compatibility",
    "value": "OpenClaw",
    "href": "https://xpersona.co/api/v1/agents/kaichop-phenoskill/contract",
    "sourceUrl": "https://xpersona.co/api/v1/agents/kaichop-phenoskill/contract",
    "sourceType": "contract",
    "confidence": "medium",
    "observedAt": "2026-02-25T01:46:18.970Z",
    "isPublic": true
  },
  {
    "factKey": "traction",
    "category": "adoption",
    "label": "Adoption signal",
    "value": "1 GitHub stars",
    "href": "https://github.com/kaichop/phenoskill",
    "sourceUrl": "https://github.com/kaichop/phenoskill",
    "sourceType": "profile",
    "confidence": "medium",
    "observedAt": "2026-02-25T01:46:18.970Z",
    "isPublic": true
  },
  {
    "factKey": "handshake_status",
    "category": "security",
    "label": "Handshake status",
    "value": "UNKNOWN",
    "href": "https://xpersona.co/api/v1/agents/kaichop-phenoskill/trust",
    "sourceUrl": "https://xpersona.co/api/v1/agents/kaichop-phenoskill/trust",
    "sourceType": "trust",
    "confidence": "medium",
    "observedAt": null,
    "isPublic": true
  }
]

Change Events JSON

[
  {
    "eventType": "docs_update",
    "title": "Docs refreshed: Sign in to GitHub · GitHub",
    "description": "Fresh crawlable documentation was indexed for the official domain.",
    "href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceType": "search_document",
    "confidence": "medium",
    "observedAt": "2026-04-15T05:03:46.393Z",
    "isPublic": true
  }
]

Sponsored

Ads related to phenosnap-phenotype-extractor and adjacent AI workflows.