Token导航 LogoToken导航TokenDH.com
开发敏感数据clawhub未标认证来源可访问clear审计提醒

phenoskillphenoskill 开发

Agent Skill

phenoskill 用于补充开发相关能力,适合在 OpenClaw 中需要让 Agent 承接开发相关任务时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

19,192

周安装

816

GitHub Stars

公开资料未说明

下载量

6,724
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:phenoskill(phenoskill 开发)
来源仓库:https://github.com/kaichop/phenoskill
安装命令:
openclaw skills install phenoskill
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install phenoskill

简介

使用 PhenoSnap 从用户提供的文本中提取临床表型和药物实体,生成带时间戳的 JSON 输出。

SKILL.md

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.

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

96.68%
按下载量换算6,501

安全审计

VirusTotal

可疑

ClawScan

通过

Static analysis

未展示

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills