asta-skill
Use when searching academic papers via Ai2 Asta (Semantic Scholar corpus) through the Asta MCP server. Triggers on academic search, paper lookup, citation traversal, author search, or snippet search when the Asta MCP server is configured. Works with Claude Code, Codex, Hermes, OpenClaw, Windsurf, Cursor, and any MCP-compatible agent.
Best use case
asta-skill is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Use when searching academic papers via Ai2 Asta (Semantic Scholar corpus) through the Asta MCP server. Triggers on academic search, paper lookup, citation traversal, author search, or snippet search when the Asta MCP server is configured. Works with Claude Code, Codex, Hermes, OpenClaw, Windsurf, Cursor, and any MCP-compatible agent.
Teams using asta-skill should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/asta-skill/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How asta-skill Compares
| Feature / Agent | asta-skill | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Use when searching academic papers via Ai2 Asta (Semantic Scholar corpus) through the Asta MCP server. Triggers on academic search, paper lookup, citation traversal, author search, or snippet search when the Asta MCP server is configured. Works with Claude Code, Codex, Hermes, OpenClaw, Windsurf, Cursor, and any MCP-compatible agent.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
Best AI Skills for Claude
Explore the best AI skills for Claude and Claude Code across coding, research, workflow automation, documentation, and agent operations.
Cursor vs Codex for AI Workflows
Compare Cursor and Codex for AI coding workflows, repository assistance, debugging, refactoring, and reusable developer skills.
AI Agents for Coding
Browse AI agent skills for coding, debugging, testing, refactoring, code review, and developer workflows across Claude, Cursor, and Codex.
SKILL.md Source
# Asta MCP — Academic Paper Search
Asta is Ai2's Scientific Corpus Tool, exposing the Semantic Scholar academic graph over MCP (streamable HTTP transport). This skill tells agents **which Asta tool to call for which intent**, and how to compose them into useful workflows.
- **MCP endpoint:** `https://asta-tools.allen.ai/mcp/v1`
- **Auth:** `x-api-key` header (request key at https://share.hsforms.com/1L4hUh20oT3mu8iXJQMV77w3ioxm)
- **Transport:** streamable HTTP
## Prerequisite Check
Before invoking any tool, verify the Asta MCP server is registered in the host agent. Tool names will be prefixed by the MCP server name chosen at install time (commonly `asta__<tool>` or `mcp__asta__<tool>`). If no Asta tools are visible, direct the user to the **Installation** section below.
## Tool Map — Intent → Asta Tool
| User intent | Asta tool | Notes |
|---|---|---|
| Broad topic search | `search_papers_by_relevance` | Supports venue + date filters |
| Known paper title | `search_paper_by_title` | Optional venue restriction |
| Known DOI / arXiv / PMID / CorpusId / MAG / ACL / SHA / URL | `get_paper` | Single-paper lookup |
| Multiple known IDs at once | `get_paper_batch` | Batch lookup — prefer over N sequential `get_paper` calls |
| Who cited paper X | `get_citations` | Citation traversal with filters, paginated |
| Find author by name | `search_authors_by_name` | Returns profile info |
| An author's publications | `get_author_papers` | Pass author id from previous call |
| Find passages mentioning X | `snippet_search` | ~500-word excerpts from paper bodies |
All tools accept **date-range filters** and **field selection** — pass them whenever the user's intent constrains scope (e.g., "recent", "since 2022", "at NeurIPS").
### ⚠️ `fields` parameter — avoid context blowups
`get_paper` / `get_paper_batch` accept a `fields` string. **Never request `citations` or `references`** via `fields` — a single highly-cited paper (e.g. *Attention Is All You Need*) returns 200k+ characters and will overflow the agent's context window. Use the dedicated `get_citations` tool instead (it paginates).
Safe default `fields` for `get_paper`:
```
title,year,authors,venue,tldr,url,abstract
```
Add `journal`, `publicationDate`, `fieldsOfStudy`, `isOpenAccess` only when needed.
## Workflow Patterns
### Pattern 1 — Topic Discovery
1. `search_papers_by_relevance(query, year="2022-", venue=?)` → initial hits
2. Rank/present top N by citationCount + recency
3. Offer follow-ups: `get_citations` on the most influential, or `snippet_search` for specific claims
### Pattern 2 — Seed-Paper Expansion
1. `get_paper(DOI|arXiv|...)` → verify seed
2. `get_citations(paperId)` → forward expansion
3. Optionally `search_papers_by_relevance` with seed title terms for sideways discovery
4. Deduplicate by paperId before presenting
### Pattern 3 — Author Deep-Dive
1. `search_authors_by_name(name)` → pick correct profile (disambiguate by affiliation)
2. `get_author_papers(authorId)` → full publication list
3. Filter client-side by topic keywords or date
### Pattern 4 — Evidence Retrieval
1. `snippet_search(claim_query)` → find passages making/supporting a claim
2. For each hit, optionally `get_paper(id)` for full metadata
## Output & Interaction Rules
- Always report **total count** and **which tool was used**.
- Present top 10 as a table (title, year, venue, citations), then details for the most relevant.
- If the user writes in Chinese, present summaries in Chinese; keep titles in original language.
- After results, offer: **Details / Refine / Citations / Snippet / Export / Done**.
## Critical Rules
- **Prefer batched intent over ping-pong.** If the user's question needs two independent lookups, issue them as parallel MCP tool calls in one turn, not sequentially.
- **Never guess IDs.** If a user gives a fuzzy title, use `search_paper_by_title` before `get_paper`.
- **Respect rate limits.** An API key buys higher limits but not unlimited — stop expanding citation graphs beyond what the user asked for.
- **Do not fabricate fields.** If Asta returns null `abstract` or `venue`, say so rather than inventing.
## Relationship to `semanticscholar-skill`
Both wrap the Semantic Scholar corpus, but target different runtimes:
| | `semanticscholar-skill` | `asta-skill` |
|---|---|---|
| Transport | Python + direct REST (`s2.py`) | MCP (streamable HTTP) |
| Host needs | `S2_API_KEY` + Python | Asta MCP registered in host |
| Best for | Scripted batch workflows, custom filters | Zero-code agent integration (Claude Code, Codex, Cursor, Windsurf, OpenClaw) |
| Auth | `S2_API_KEY` | `ASTA_API_KEY` via `x-api-key` header |
Use `asta-skill` when the host agent supports MCP; fall back to `semanticscholar-skill` for scripted/pipeline work.
---
## Installation
Set `ASTA_API_KEY` in your shell first:
```bash
export ASTA_API_KEY="..." # request at https://share.hsforms.com/1L4hUh20oT3mu8iXJQMV77w3ioxm
```
### Claude Code
```bash
claude mcp add asta \
--transport http \
--url https://asta-tools.allen.ai/mcp/v1 \
--header "x-api-key: $ASTA_API_KEY"
```
Or edit `~/.claude.json` / `.mcp.json`:
```json
{
"mcpServers": {
"asta": {
"type": "http",
"url": "https://asta-tools.allen.ai/mcp/v1",
"headers": { "x-api-key": "${ASTA_API_KEY}" }
}
}
}
```
### Codex CLI
Edit `~/.codex/config.toml`:
```toml
[mcp_servers.asta]
type = "http"
url = "https://asta-tools.allen.ai/mcp/v1"
headers = { "x-api-key" = "${ASTA_API_KEY}" }
```
### Windsurf / Cursor / Hermes / other MCP clients
Add to the client's MCP server config file:
```json
{
"mcpServers": {
"asta": {
"serverUrl": "https://asta-tools.allen.ai/mcp/v1",
"headers": { "x-api-key": "<YOUR_API_KEY>" }
}
}
}
```
### LM Studio
LM Studio 0.3.17+ supports remote MCP servers. Edit `~/.lmstudio/mcp.json` (macOS/Linux) or `%USERPROFILE%\.lmstudio\mcp.json` (Windows) — or in the app: **Program** tab → **Install > Edit mcp.json**:
```json
{
"mcpServers": {
"asta": {
"url": "https://asta-tools.allen.ai/mcp/v1",
"headers": { "x-api-key": "<YOUR_API_KEY>" }
}
}
}
```
Only models with "Tool Use: Supported" in LM Studio's model loader will be able to call Asta tools. Recommended: Qwen 2.5 / 3 Instruct (7B+), Llama 3.1 / 3.3 Instruct (8B+), Mistral / Mixtral Instruct.
### OpenClaw
Install this skill into `~/.openclaw/skills/asta-skill/` and register the MCP server in your OpenClaw config using the same URL + `x-api-key` header pattern. The skill's frontmatter declares `ASTA_API_KEY` as required via `metadata.openclaw.requires.env`.
## Verification
After installation, ask the agent: *"Use Asta to look up the paper with DOI 10.48550/arXiv.1706.03762."* A successful call returns the "Attention Is All You Need" paper metadata. If the agent reports no Asta tools, the MCP server is not registered — re-check the config file path and restart the host.
## Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| `401 Unauthorized` | Missing or invalid `x-api-key` | Verify `ASTA_API_KEY` is set and header is forwarded |
| `429 Too Many Requests` | Rate limit hit | Slow down / batch; ensure API key is attached (unauth'd limits are lower) |
| No Asta tools visible | MCP server not registered in host | Re-run install step, restart agent |
| Empty `abstract` | Not all corpus papers have full text | Use `snippet_search` instead, or fall back to title + TLDR |
| Author disambiguation wrong | Common name collisions | Inspect affiliations in `search_authors_by_name` before calling `get_author_papers` |Related Skills
FastAPI Production Engineering
Complete methodology for building, deploying, and scaling production FastAPI applications. Not a tutorial — a production operating system.
fastapi-code-review
Reviews FastAPI code for routing patterns, dependency injection, validation, and async handlers. Use when reviewing FastAPI apps, checking APIRouter setup, Depends() usage, or response models.
---
name: article-factory-wechat
humanizer
Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, negative parallelisms, and excessive conjunctive phrases.
find-skills
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
tavily-search
Use Tavily API for real-time web search and content extraction. Use when: user needs real-time web search results, research, or current information from the web. Requires Tavily API key.
baidu-search
Search the web using Baidu AI Search Engine (BDSE). Use for live information, documentation, or research topics.
agent-autonomy-kit
Stop waiting for prompts. Keep working.
Meeting Prep
Never walk into a meeting unprepared again. Your agent researches all attendees before calendar events—pulling LinkedIn profiles, recent company news, mutual connections, and conversation starters. Generates a briefing doc with talking points, icebreakers, and context so you show up informed and confident. Triggered automatically before meetings or on-demand. Configure research depth, advance timing, and output format. Walking into meetings blind is amateur hour—missed connections, generic small talk, zero leverage. Use when setting up meeting intelligence, researching specific attendees, generating pre-meeting briefs, or automating your prep workflow.
self-improvement
Captures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Claude ('No, that's wrong...', 'Actually...'), (3) User requests a capability that doesn't exist, (4) An external API or tool fails, (5) Claude realizes its knowledge is outdated or incorrect, (6) A better approach is discovered for a recurring task. Also review learnings before major tasks.
botlearn-healthcheck
botlearn-healthcheck — BotLearn autonomous health inspector for OpenClaw instances across 5 domains (hardware, config, security, skills, autonomy); triggers on system check, health report, diagnostics, or scheduled heartbeat inspection.
linkedin-cli
A bird-like LinkedIn CLI for searching profiles, checking messages, and summarizing your feed using session cookies.