dataset-discovery

Discover medical datasets across OpenML, UCI, and Kaggle with paginated API queries.

6|1|Updated May 11, 2026
One-click install
npx skills add https://github.com/yakeworld/Synthos --skill dataset-discovery-yakeworld
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dataset-discovery
Source: https://github.com/yakeworld/Synthos/tree/main/skills/private/extended/research-tools/synthos-akne-bridge/dataset-discovery
Command: npx skills add https://github.com/yakeworld/Synthos --skill dataset-discovery-yakeworld

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Finding usable medical and research datasets across public platforms is error-prone: OpenML paginated responses get truncated, quality metrics arrive as strings, and many UCI/GitHub dataset mirrors silently return 404 pages with HTTP 200 status codes. This Skill encodes verified platform behaviors and fallback strategies so dataset searches return accurate, deduplicated results. ## Core Features & Use Cases - OpenML API Querying: Searches datasets via /api/v1/json/data/list/ with safe limit=50 + offset pagination, parses the data.dataset array using did identifiers, and converts string quality metrics to floats. - Source Availability Verification: Validates GitHub and remote mirrors by inspecting the first line of file content rather than trusting HTTP status codes, correctly detecting disguised 404 pages. - Synthetic Data Fallback: When all public sources are dead (as confirmed for the UCI stroke dataset), generates a reproducible synthetic dataset with random.seed(42) matching the known schema, clearly labeled as synthetic. - Use Case: A researcher needs a breast cancer dataset for a study. The Skill paginates OpenML results, filters by medical keywords, cross-references existing papers in outputs/papers/ to avoid duplicates, and returns candidate datasets with metadata and download URLs. ## Quick Start Search OpenML for medical datasets matching the keyword "breast cancer" using paginated queries and return deduplicated candidates with metadata.

Frequently Asked Questions about dataset-discovery

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I search for datasets on OpenML using its API?

Query the /api/v1/json/data/list/ endpoint with limit=50 and incrementing offset values for pagination. Parse results from the data.dataset array using the did field as the identifier, and avoid the /tag/ and /name/ endpoints which return errors.

Why does OpenML return truncated JSON for large dataset queries?

OpenML truncates responses when the limit parameter exceeds 200, producing invalid JSON. Use limit=50 with offset-based pagination (0, 50, 100, etc.) to retrieve complete, parseable results.

Is the UCI stroke dataset still available for download?

No. The UCI healthcare stroke dataset returns 404 on the UCI Archive, all GitHub mirrors, and HuggingFace, while Kaggle requires authentication. The recommended alternative is the Cardiovascular Disease dataset (OpenML DID=45547, 70,000 records) or a clearly labeled synthetic dataset.

How do I verify a GitHub dataset mirror is actually working?

Check the first line of the downloaded file content rather than the HTTP status code. Many dead GitHub mirrors return HTTP 200 with a 404 HTML page, so run head -1 on the response and reject files whose first line contains '404: Not Found' or 'html'.

Why do OpenML quality metrics cause type errors in Python?

OpenML returns all quality metric values as strings, such as "684.0", not numbers. Convert them with float() before numeric operations; using int() or treating them as native numbers will fail or produce wrong results.