home / skills / lukeslp / dreamer-skills / data-fetch

data-fetch skill

/skills/data-fetch

This skill fetches and aggregates data from 17 external APIs, providing structured results and cross-source insights for research and decision making.

npx playbooks add skill lukeslp/dreamer-skills --skill data-fetch

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
4.2 KB
---
name: data-fetch
description: Fetch and aggregate data from 17 external APIs including Census, arXiv, NASA, Wikipedia, PubMed, and GitHub.
version: 1.0.0
---

# Data Fetch

You are fetching and aggregating data from multiple external sources using the shared library's DataFetchingFactory. This skill provides access to 17 structured API clients.

## Available Data Sources

| Source | Client | Best For |
|--------|--------|----------|
| **Academic** | | |
| arXiv | `arxiv` | Research papers, preprints |
| Semantic Scholar | `semantic_scholar` | Academic citations, papers |
| PubMed | `pubmed` | Medical/biomedical research |
| **Government** | | |
| Census Bureau | `census` | Demographics, economic data |
| FEC | `fec` | Campaign finance |
| Judiciary | `judiciary` | Court records, cases |
| **Web/News** | | |
| Wikipedia | `wikipedia` | General knowledge |
| News APIs | `news` | Current events |
| Archive.org | `archive` | Historical web content |
| **Tech** | | |
| GitHub | `github` | Repositories, code |
| YouTube | `youtube` | Video content, transcripts |
| **Scientific** | | |
| NASA | `nasa` | Space, astronomy data |
| Wolfram Alpha | `wolfram` | Computational answers |
| **Other** | | |
| Finance | `finance` | Stock data, markets |
| Weather | `weather` | Weather forecasts |
| OpenLibrary | `openlibrary` | Books, authors |
| MyAnimeList | `myanimelist` | Anime/manga data |

## Execution Strategy

### Single Source Query
```python
from data_fetching import DataFetchingFactory
factory = DataFetchingFactory()
client = factory.create_client('arxiv')
results = await client.search("quantum computing", max_results=10)
```

### Multi-Source Aggregation (PARALLEL)
```python
import asyncio
sources = ['arxiv', 'wikipedia', 'news']
tasks = [factory.create_client(s).search(query) for s in sources]
results = await asyncio.gather(*tasks)
```

## Source Selection Guide

| Query Type | Recommended Sources |
|------------|---------------------|
| Academic research | arxiv, semantic_scholar, pubmed |
| Current events | news, wikipedia |
| Technical/code | github, stackoverflow |
| Demographics | census |
| Historical | archive, wikipedia |
| Scientific facts | nasa, wolfram |
| Books/literature | openlibrary |

## Output Format

```
📊 DATA FETCH RESULTS

Query: {query}
Sources: {sources_used}
Date: {timestamp}

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
          SOURCE: {source_name}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Results: {count}

1. {title}
   - {metadata}
   - URL: {url}

2. {title}
   ...

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
           AGGREGATED INSIGHTS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Cross-Source Themes:
1. {theme} - Found in: {sources}
2. {theme} - Found in: {sources}

Conflicts/Discrepancies:
- {source1} says X, {source2} says Y

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
              CITATIONS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[1] {citation}
[2] {citation}
```

## Integration with Orchestrators

For complex research, combine with orchestration:

```
/data-fetch → provides raw data
    ↓
DreamCascade → synthesizes findings
    ↓
/data-artist → visualizes results
```

## Key Principles

1. **Parallel fetching** - Query multiple sources simultaneously
2. **Source attribution** - Always cite data origins
3. **Deduplication** - Merge overlapping results
4. **Rate limiting** - Respect API limits per client
5. **Caching** - Use MCP cache for repeated queries

## Common Workflows

```
# Census demographics
/data-fetch census "housing prices by county"

# Academic research
/data-fetch arxiv,pubmed "CRISPR gene editing"

# Tech exploration
/data-fetch github "machine learning frameworks" --stars >1000

# Current events
/data-fetch news,wikipedia "climate summit 2026"
```

## Related Skills

- `/data-artist` - Visualize fetched data beautifully
- `/quality-audit` - Verify data quality and validate findings

Overview

This skill fetches and aggregates data from 17 external APIs including Census, arXiv, NASA, Wikipedia, PubMed, and GitHub. It exposes a unified client factory that lets you run single-source queries or parallel multi-source retrievals and returns deduplicated, attributed results. The output emphasizes cross-source insights, discrepancies, and citations to support further analysis or visualization. It is designed for research, reporting, and data-driven workflows.

How this skill works

The skill uses a DataFetchingFactory to instantiate per-source clients (arxiv, census, github, etc.) and supports async calls so multiple sources can be queried in parallel. Results are merged, deduplicated, and annotated with source attribution and metadata. Built-in strategies include rate-limit awareness, optional caching, and an output template that highlights aggregated themes, conflicts, and citations. Clients expose search and specialized endpoints tailored to each API’s strengths.

When to use it

  • Collecting scholarly literature, citations, or preprints for research reviews
  • Compiling demographic, economic, or policy data from government sources
  • Monitoring current events by combining news and encyclopedia entries
  • Gathering technical repo data, code metrics, or project metadata from GitHub
  • Assembling scientific observations from NASA, Wolfram, or domain-specific APIs

Best practices

  • Query only the recommended subset of sources for your use case to reduce cost and complexity
  • Run parallel fetches for speed but throttle or batch queries to respect API rate limits
  • Enable caching for repeated queries to improve responsiveness and reduce external calls
  • Always preserve and surface source attribution and raw metadata for traceability
  • Deduplicate on stable identifiers (DOI, arXiv ID, GitHub URL) before synthesizing insights

Example use cases

  • Academic literature review: arXiv + Semantic Scholar + PubMed for comprehensive paper discovery
  • Policy report: Census + FEC + Judiciary to build a socio-political data profile by region
  • Real-time briefing: News + Wikipedia + YouTube transcripts to produce a rapid situational summary
  • Technical audit: GitHub + StackOverflow + OpenLibrary to map ecosystem health for a programming project
  • Visualization pipeline: Use /data-fetch to supply raw, attributed data to a downstream visualization or auditing workflow

FAQ

Can I query multiple sources at once?

Yes. The factory supports async parallel queries across any combination of supported clients and returns aggregated results.

How are conflicts between sources handled?

The output flags discrepancies and lists source-specific claims so you can inspect, reconcile, or prioritize trusted sources.

Is there built-in rate limiting and caching?

Clients are designed with rate-limit awareness and you can enable the shared cache to reduce repeated external calls.