home / skills / kjgarza / marketplace-claude / searching-academic-outputs-with-dimensions

This skill helps you find academic evidence and research from Dimensions to inform product decisions and validate hypotheses.

npx playbooks add skill kjgarza/marketplace-claude --skill searching-academic-outputs-with-dimensions

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

Files (2)
SKILL.md
5.8 KB
---
name: searching-academic-outputs-with-dimensions
description: Search for academic literature, empirical evidence, and scholarly research using the Dimensions database. Use when seeking research papers to support product decisions, find empirical studies, conduct literature reviews, explore funding patterns, validate hypotheses with academic sources, or discover research trends. Supports publications, grants, patents, clinical trials, and researcher profiles. Triggers on requests for "academic evidence", "empirical research", "find studies", "literature search", or "research to support decisions".
allowed-tools: Read, Grep, Glob, Bash, Edit, Write
---


# Overview

Query the Dimensions academic database to find publications, grants, patents, clinical trials, and researchers using the shortwing CLI.

Queries use the Dimensions Search Language (DSL) piped to shortwing.

**Reference Documentation:**
- [dsl-reference.md](dsl-reference.md) — Full DSL syntax, operators, fields, and example queries

**Authentication:** Requires API key from https://app.dimensions.ai/account/tokens. Configure credentials in `~/.dimensions/dsl.ini` or use environment variables (`DIMENSIONS_KEY`, `DIMENSIONS_ENDPOINT`). See Authentication section in [dsl-reference.md](dsl-reference.md) for details.

# Quick Start

```bash
# Search publications
echo 'search publications for "machine learning" return publications limit 10' | shortwing

# Search grants
echo 'search grants for "artificial intelligence" return grants[title+funding_usd] limit 10' | shortwing

# Find researchers
echo 'search researchers for "John Smith" return researchers[first_name+last_name+current_research_org] limit 10' | shortwing
```

# Query Structure

```
search <source> [for "<terms>"] [where <filters>] return <result> [limit N]
```

# Available Sources

| Source | Description |
|--------|-------------|
| `publications` | Research papers, articles, books |
| `grants` | Research funding awards |
| `patents` | Patent applications and grants |
| `clinical_trials` | Clinical trial records |
| `researchers` | Researcher profiles |
| `datasets` | Research datasets |

# Common Query Patterns

| Task | Query |
|------|-------|
| Search by keyword | `search publications for "CRISPR" return publications limit 20` |
| Filter by year | `search publications where year=2024 return publications limit 10` |
| Search title only | `search publications in title_only for "climate change" return publications limit 10` |
| Highly cited papers | `search publications for "AI" where times_cited>100 return publications sort by times_cited desc limit 10` |
| Grants by funder | `search grants where funders.name~"NIH" return grants[title+funding_usd] limit 10` |
| Recent patents | `search patents where filing_year>=2023 return patents[title+assignees] limit 10` |
| Clinical trials | `search clinical_trials for "diabetes" return clinical_trials[title+phase] limit 10` |
| Aggregations | `search publications for "robotics" return research_orgs aggregate count sort by count desc limit 10` |

# Return Specific Fields

Use `+` to combine fields:
```bash
echo 'search publications for "quantum" return publications[id+title+doi+year+times_cited] limit 10' | shortwing
```

# Filter Operators

| Operator | Example |
|----------|---------|
| `=` equals | `year=2024` |
| `>` greater than | `times_cited>100` |
| `~` contains | `journal.title~"Nature"` |
| `in` range | `year in [2020:2024]` |
| `and/or` combine | `year=2024 and type="article"` |

# Boolean Search Operators

Boolean operators in search terms must be **UPPERCASE** and **inside** the quotes:

| Pattern | Example |
|---------|---------|
| AND (both required) | `for "machine learning AND healthcare"` |
| OR (either matches) | `for "python OR java"` |
| NOT (exclude) | `for "AI NOT robotics"` |
| Grouped | `for "(cancer OR tumor) AND treatment"` |
| Exact phrase | `for "\"peer feedback\""` (escaped quotes) |
| Proximity | `for "\"formal model\"~10"` (within 10 words) |

**Important**: Lowercase `and/or` in the `where` clause combines filters, but search terms require UPPERCASE `AND/OR/NOT`.

# Tips for Precise Results

1. **Use targeted search indexes** for relevant results:
   ```bash
   # Most specific - title only
   echo 'search publications in title_only for "machine learning" return publications limit 20' | shortwing

   # Good balance - title and abstract
   echo 'search publications in title_abstract_only for "peer feedback AND writing" return publications limit 20' | shortwing
   ```

2. **Use phrase searches** for exact multi-word terms:
   ```bash
   echo 'search publications in title_abstract_only for "\"formative assessment\" AND \"higher education\"" return publications limit 20' | shortwing
   ```

3. **Combine search with filters** to narrow scope:
   ```bash
   echo 'search publications in title_abstract_only for "\"peer review\"" where year>=2020 and times_cited>10 return publications[title+doi+times_cited+year] limit 20' | shortwing
   ```

4. **Filter by citation count** to find influential papers:
   ```bash
   echo 'search publications for "cognitive load" where times_cited>50 return publications sort by times_cited desc limit 10' | shortwing
   ```

# General Tips

- Always use double quotes around search terms: `for "search term"`
- Use `~` for partial string matching: `where journal.title~"Nature"`
- Use `limit` to control result size
- See [dsl-reference.md](dsl-reference.md) for complete syntax and all available fields

# Error Handling

| Error | Solution |
|-------|----------|
| shortwing not found | Install from ~/aves/shortwing: `cd ~/aves/shortwing && uv pip install .` |
| Configuration error (exit code 2) | Set `DIMENSIONS_KEY` env var or create `~/.dimensions/dsl.ini` |
| Invalid credentials | Get new key from https://app.dimensions.ai/account/tokens |
| Query syntax error (exit code 1) | Check DSL syntax in [dsl-reference.md](dsl-reference.md) |

Overview

This skill queries the Dimensions academic database to find publications, grants, patents, clinical trials, datasets, and researcher profiles using the shortwing CLI. It helps product teams, researchers, and analysts locate empirical evidence and scholarly outputs to inform decisions, validate hypotheses, and map research trends. Authentication requires a Dimensions API key configured via environment variables or a local config file.

How this skill works

You compose a Dimensions Search Language (DSL) query and pipe it to shortwing, which sends the request to the Dimensions API and returns structured results. Queries follow the pattern: search <source> [for "terms"] [where <filters>] return <result> [limit N]. The DSL supports field selection, filters, aggregations, sorting, and boolean operators for precise retrieval.

When to use it

  • To find peer-reviewed studies or empirical evidence supporting a product decision
  • When conducting a literature review or building a reading list on a topic
  • To identify funding patterns, major funders, and grant amounts in a field
  • To discover researchers, their affiliations, and collaboration networks
  • To locate related patents or clinical trials tied to a technology or intervention

Best practices

  • Use targeted indexes (title_only or title_abstract_only) for precision before broadening to full-text
  • Combine phrase searches and filters (year, times_cited) to prioritize recent and influential work
  • Return only required fields (use + to combine) to simplify parsing and reduce payload
  • Use boolean operators in UPPERCASE inside quotes for complex term logic (AND/OR/NOT)
  • Limit results during exploratory searches and increase limit for comprehensive exports

Example use cases

  • Search publications for "machine learning" and sort by times_cited to find seminal papers
  • Search grants where funders.name~"NIH" to list major funded projects and funding_usd
  • Search clinical_trials for "diabetes" to compile trial phases and outcomes
  • Search researchers for "Jane Doe" to retrieve profiles and current research organizations
  • Search patents where filing_year>=2023 to monitor recent filings in a technology area

FAQ

How do I authenticate?

Obtain an API key from your Dimensions account and set DIMENSIONS_KEY or create ~/.dimensions/dsl.ini with credentials.

How do I limit result size?

Append limit N to your query, e.g. return publications limit 10.

Can I filter by citation count or year?

Yes. Use where clauses like times_cited>100 or year in [2020:2024].