Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计提醒

tooluniverse-dataset-discoverytooluniverse 数据集发现

Agent Skill

用于辅助数据整理、表格处理、CSV/Excel 分析、指标计算和图表准备。它适合让 Agent 清洗字段、汇总数据、发现异常、生成统计口径或把分析结果转成可读说明。使用时需要确认数据来源、字段含义和时间范围,避免把样本数据当全量事实;涉及敏感数据、导出文件或批量写回时,应先确认权限和脱敏边界。

总安装

1,141

周安装

49

GitHub Stars

1,308

下载量

630
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

请帮我安装这个 Agent Skill:tooluniverse-dataset-discovery(tooluniverse 数据集发现)
来源仓库:https://github.com/mims-harvard/tooluniverse
仓库路径:skills/tooluniverse-dataset-discovery
安装命令:
npx skills add https://github.com/mims-harvard/tooluniverse --skill tooluniverse-dataset-discovery
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/mims-harvard/tooluniverse --skill tooluniverse-dataset-discovery

简介

用于辅助数据整理、表格处理、CSV/Excel 分析和指标计算。

  • 适合清洗字段、汇总数据、发现异常或生成统计口径说明。
  • 通过调用工具执行数据处理任务并返回结构化结果。tooluniverse-dataset-discovery 属于研究检索类 Skill,可作为该场景下的辅助能力补充。
  • 需确认数据来源与字段含义,避免将样本当作全量事实使用。
  • 涉及敏感数据或批量写回时,应先核实权限和脱敏边界。

SKILL.md

Dataset Discovery

When to Use

  • User asks "find me data about X" or "where can I get data on Y"
  • User wants to analyze a relationship between variables
  • User needs specific study designs (longitudinal, cross-sectional, experimental)
  • User asks about specific surveys or cohorts

Step 1: Understand What the Research Question Requires

Before searching, determine the minimum data requirements:

Study design needed:

  • "Does X predict CHANGES in Y over time?" → longitudinal (same people measured repeatedly). Cross-sectional data CANNOT answer this — don't settle for it.
  • "Is X associated with Y?" → cross-sectional is sufficient (one-time measurement)
  • "Does intervention X cause outcome Y?" → experimental (clinical trial with controls)
  • "What genes/proteins are involved in X?" → omics (sequencing, expression, proteomics)

Variables needed:

  • List the specific exposure, outcome, and confounder variables
  • For each variable, note the measurement type (continuous, categorical, biomarker vs self-report)
  • Identify minimum confounders needed (age, sex are almost always required; domain-specific confounders depend on the question)

Population needed:

  • Age range, geography, clinical status, sample size requirements
  • Power analysis: to detect a small effect (r=0.1), you need ~800 subjects at 80% power

Step 2: Search Strategy

Search from broadest to most specific. Use find_tools to discover available dataset search tools — don't rely on memorized tool names.

Layer 1 — Cross-repository search (cast wide net): Search tools that index datasets across thousands of repositories. These find datasets you didn't know existed.

  • Search by: research topic keywords, variable names, population descriptors
  • Look for: DOI-registered datasets, repository listings, government data portals

Layer 2 — Domain-specific repositories: Search repositories specialized for your data type.

  • Health surveys: CDC, NHANES (search by variable name, not topic keywords)
  • Genomics: SRA, ENA, ArrayExpress, GEO
  • Proteomics: PRIDE, MassIVE
  • Metabolomics: MetaboLights, Metabolomics Workbench
  • Clinical: ClinicalTrials.gov (for trial data with results)

Layer 3 — Literature-based discovery: Many datasets aren't in any repository — they're described in paper methods sections.

  • Search PubMed/EuropePMC for papers that analyzed the relationship you're interested in
  • Read their methods: "We used data from [DATASET NAME]" tells you exactly what exists
  • Check supplementary materials for deposited data (GEO/SRA accession numbers)
  • This is often the MOST effective strategy for finding niche datasets

Step 3: Evaluate Dataset Fitness

For each candidate dataset, assess these dimensions:

Variables:

  • Does it contain your SPECIFIC exposure and outcome variables?
  • Are they measured the way you need? (biomarker vs self-report, continuous vs categorical)
  • Are key confounders available? (missing confounders = biased analysis)

Design match:

  • If you need longitudinal: does it follow the SAME individuals over time? How many waves? What's the follow-up interval?
  • Beware: "repeated cross-sections" (different people each wave) are NOT longitudinal
  • If you need experimental: is there a proper control group? Randomization?

Sample:

  • Is the sample large enough for your analysis? (logistic regression needs ~10 events per predictor)
  • Does the population match? (age range, geography, clinical characteristics)
  • Are there subgroups you need? (stratified by sex, race, disease status)

Access:

  • Publicly downloadable (best) vs registration required (days) vs collaboration agreement (months) vs restricted (may be impossible)
  • Data format: CSV/TSV (easy), XPT/SAS (need conversion), proprietary database (may need special software)

Quality:

  • Is it from a well-known study with published methods? (NHANES, HRS, UK Biobank = high quality)
  • Has it been used in peer-reviewed publications? (indicates data is usable)
  • What's the response rate / missingness pattern?

Step 4: Download and Analyze

Don't stop at finding datasets — download and analyze them. Write and run Python code via Bash. Never describe what you "would do" — execute it.

Data Loading Cookbook

Choose the loader that matches your data source. When unsure of the format, download a small sample first and inspect.

import requests, io, pandas as pd

# --- Tabular files (most common) ---
df = pd.read_csv("data.csv")                                # CSV / TSV (use sep="\t" for TSV)
df = pd.read_excel("data.xlsx")                              # Excel
df = pd.read_stata("data.dta")                               # Stata
df = pd.read_sas("data.xpt", format="xport")                # SAS transport (XPT)
df = pd.read_sas("data.sas7bdat", format="sas7bdat")        # SAS native
df = pd.read_parquet("data.parquet")                         # Parquet
df = pd.read_json("data.json")                               # JSON (records or columnar)
df = pd.read_fwf("data.dat")                                 # Fixed-width (some legacy surveys)

# --- Download from URL first, then parse ---
resp = requests.get(url, timeout=120)
content = resp.content
# Detect format from URL or content header
if url.endswith(".XPT") or url.endswith(".xpt"):
    df = pd.read_sas(io.BytesIO(content), format="xport")
elif url.endswith(".csv") or url.endswith(".csv.gz"):
    df = pd.read_csv(io.BytesIO(content))
elif url.endswith(".tsv") or url.endswith(".tsv.gz"):
    df = pd.read_csv(io.BytesIO(content), sep="\t")
elif url.endswith(".json"):
    df = pd.read_json(io.BytesIO(content))
else:
    # Try CSV first, then inspect
    df = pd.read_csv(io.BytesIO(content))

# --- REST API pagination (common for GDC, ClinicalTrials.gov, etc.) ---
import json
all_records = []
offset = 0
while True:
    resp = requests.get(f"{api_url}?offset={offset}&limit=100", timeout=30)
    batch = resp.json().get("data", [])
    if not batch:
        break
    all_records.extend(batch)
    offset += len(batch)
df = pd.DataFrame(all_records)

Merge, Clean, Analyze

# Merge multiple files on participant/sample ID
merged = df1.merge(df2, on="id_col", how="inner")

# Filter population
subset = merged[(merged["age"] >= 60) & (merged["age"] <= 80)].copy()

# Handle missing values
missing_pct = subset.isnull().mean() * 100
print("Missing % per variable:\n", missing_pct[missing_pct > 0].sort_values(ascending=False))
subset = subset.dropna(subset=["exposure_var", "outcome_var"])

# Quick regression
import statsmodels.formula.api as smf
model = smf.ols("outcome ~ exposure + age + sex", data=subset).fit()
print(model.summary())

# Visualization
import matplotlib.pyplot as plt
plt.scatter(subset["exposure"], subset["outcome"], alpha=0.3)
plt.xlabel("Exposure"); plt.ylabel("Outcome")
plt.savefig("/tmp/scatter.png", dpi=150, bbox_inches="tight")

Always run the code and report actual numbers (β, p-value, CI, N).

Step 5: Report Honestly

Structure the report as:

  1. Best available dataset — name, what it contains, access method, key limitation
  2. Analysis results — actual statistics (β, p-value, CI, N) from running the code
  3. Alternative datasets — ranked by fitness, with tradeoffs
  4. What CANNOT be answered — if no dataset matches the study design needed, say so clearly
  5. Recommended next steps — apply for access to longitudinal data, replicate in other cohorts

Critical honesty rules:

  • Never claim a dataset answers a temporal question if it's cross-sectional
  • Distinguish "data exists but needs registration" from "data doesn't exist"
  • Report actual computed statistics, not hypothetical analyses
  • State the strongest analysis possible with available data, even if it's weaker than what was asked

LOOK UP, DON'T GUESS

Never assume a dataset exists — search for it. Never assume access is public — check. Never assume variables are measured the way you need — verify the codebook.

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

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

平台分布

Codex

35.63%
按下载量换算224

Claude

29.75%
按下载量换算187

Cursor

18.1%
按下载量换算114

Gemini CLI

8.97%
按下载量换算57

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

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

来源信息

继续浏览同类 Skills