Agent Skills

Openalex Db

AIPOCH

Access the OpenAlex database (240M+ scholarly works) for bibliometric analysis, literature search, and citation tracking; use when you need to query works/authors/institutions/concepts without an API key.

2
0
FILES
openalex-db/
skill.md
scripts
openalex_client.py
references
api_guide.md
90100Total Score
View Evaluation Report
Core Capability
85 / 100
Functional Suitability
11 / 12
Reliability
9 / 12
Performance & Context
8 / 8
Agent Usability
14 / 16
Human Usability
8 / 8
Security
9 / 12
Maintainability
9 / 12
Agent-Specific
17 / 20
Medical Task
20 / 20 Passed
97You need to search scholarly works by keyword and filter by properties (e.g., open access, year, venue)
4/4
93You want to look up authors and analyze their publication output and citation impact
4/4
91Query OpenAlex entities: works, authors, institutions, concepts
4/4
91Keyword search with filtering support
4/4
91End-to-end case for Query OpenAlex entities: works, authors, institutions, concepts
4/4

SKILL.md

When to Use

  • You need to search scholarly works by keyword and filter by properties (e.g., open access, year, venue).
  • You want to look up authors and analyze their publication output and citation impact.
  • You need to retrieve and compare institutions (e.g., affiliation-based exploration or benchmarking).
  • You want to explore concepts/topics and track trends across time.
  • You need lightweight bibliometric workflows (citation tracking, publication trends) without managing API keys.

Key Features

  • Query OpenAlex entities: works, authors, institutions, concepts.
  • Keyword search with filtering support.
  • Designed for bibliometric tasks such as citation tracking and trend exploration.
  • No API key required; supports providing an email for OpenAlex Polite Pool (higher rate limits).
  • Simple Python client wrapper via scripts/openalex_client.py.

Dependencies

  • requests (version not pinned; install via uv pip install requests)

Example Usage

from scripts.openalex_client import OpenAlexClient

def main():
    # Provide an email to use OpenAlex "Polite Pool" (recommended for better rate limits)
    client = OpenAlexClient(email="[email protected]")

    # Search for open-access works related to CRISPR
    works = client.search_works(
        search="CRISPR",
        filter_params={"is_oa": "true"},
    )

    print(f"Found {len(works)} works")
    if works:
        first = works[0]
        # Field names depend on OpenAlex response schema
        print("First result:")
        print(f"  id: {first.get('id')}")
        print(f"  title: {first.get('title')}")
        print(f"  publication_year: {first.get('publication_year')}")
        print(f"  cited_by_count: {first.get('cited_by_count')}")

if __name__ == "__main__":
    main()

Implementation Details

  • Client entry point: scripts/openalex_client.py provides the main API wrapper (OpenAlexClient).
  • Polite Pool: Supplying an email is recommended to receive higher rate limits from OpenAlex.
  • Search + filters: Work queries accept a free-text search string plus filter_params (key/value pairs) that map to OpenAlex API filters (e.g., {"is_oa": "true"}).
  • Pagination and schema: For supported filters, pagination behavior, and response fields, refer to references/api_guide.md.