Scholar Search Workflow
This skill only uses arXiv as the data source. The workflow is fixed:
- Read user input and parse the search intent.
- Call the arXiv API (via
arxiv_search).
- Evaluate result quality and decide whether another search round is needed.
- Output results using the required template.
0) File Layout (Overview)
| File Path |
Purpose |
When to Check |
SKILL.md |
Main entry: task parsing, query syntax, calling conventions, quality control |
Check first at the beginning of every task |
1) Parse User Search Requirements
Extract the following constraints first:
- Topic keywords (Chinese or English).
- Time preference (for example: "latest", "this year", "last three years").
- Number of results (for example: 5, 10, 20).
- Output goal (paper discovery, comparison, or brief survey).
- Output language (Chinese or English).
Keyword strategy:
- Use a broad query in round one (topic terms only).
- Add constraint terms in round two (method terms, task terms, category terms).
- If results are too few, switch to synonyms or broader terms.
2) arXiv API Guide (Built-in)
2.1 API Endpoint
- Base endpoint:
https://export.arxiv.org/api/query
- Request methods: GET (common), POST (optional when parameters are very long)
2.2 Core Parameters
search_query: query expression
id_list: comma-separated list of arXiv IDs
start: pagination offset (0-based)
max_results: number of returned entries
sortBy: relevance / lastUpdatedDate / submittedDate
sortOrder: ascending / descending
2.3 search_query Syntax
Common field prefixes:
ti (title)
au (author)
abs (abstract)
cat (category)
all (all fields)
Boolean operators:
AND
OR
ANDNOT
Time syntax (submittedDate):
- Range:
submittedDate:[200701*+TO+200712*]
- Specific day:
submittedDate:20101225
2.4 Direct URL Examples
- Topic query:
https://export.arxiv.org/api/query?search_query=all:electron
- Combined query:
https://export.arxiv.org/api/query?search_query=au:del_maestro+AND+ti:checkerboard
- Paginated query:
https://export.arxiv.org/api/query?search_query=all:electron&start=0&max_results=10
- Sorted query:
https://export.arxiv.org/api/query?search_query=ti:%22electron+thermal+conductivity%22&sortBy=lastUpdatedDate&sortOrder=descending
2.5 Rate Limits and Stability (Must Follow)
- Keep request frequency at no more than one request every 3 seconds.
- Use only one active connection at a time.
- Avoid high-frequency repeated queries; reuse existing results whenever possible.
3) Calling Conventions (Must Match Actual Use)
Standard call example:
curl -s "https://export.arxiv.org/api/query?search_query=all:multimodal+AND+cat:cs.CL&start=0&max_results=10&sortBy=submittedDate&sortOrder=descending"
Parameter notes:
search_query: arXiv query expression (supports field prefixes and boolean operators).
start: pagination offset (0-based).
max_results: number of returned entries; recommend 5-20.
sortBy: recommend submittedDate or lastUpdatedDate.
sortOrder: recommend descending.
4) Decide Whether to Continue Searching
Run one more search round if any condition below is met:
- Too few papers are returned (for example,
< 3).
- Results are clearly off-topic.
- Key fields are frequently missing (title, link, abstract).
Stop searching when:
- Result count reaches the target or an acceptable range.
- Topic relevance is high.
- Additional search rounds provide low value.
5) Output Requirements
Each paper must use the following structure:
-----------
# {Index}. **{Paper Title}**
**Paper Info**: **Venue/Source**: {journal, conference, or source} | **Publication Date**: {yyyy-mm-dd or unknown} | **Source**: [{source name}]({entry link or paper link}) | **PDF**: [PDF link]({pdf link})
### Research Content
{1-2 objective sentences based on the paper content}
### Main Contributions
- {Contribution 1}
- {Contribution 2}
- {Contribution 3}
Must follow:
- Add a standalone line
----------- before every paper title.
- Keep the title as a standalone level-1 header line.
- Keep "Paper Info" in a single line, separated by
|.
- Keep the
PDF field:
- If a PDF exists: provide a direct link.
- If no PDF exists: remove the
PDF field.
- Content must be based only on source metadata, abstract, or TLDR. No speculation.
- Do not add conclusions not explicitly supported by the source.
- All links must come from tool output. Do not fabricate or guess links.
- Do not fabricate venue, date, or citation count.
- Write "Research Content" and "Main Contributions" only from returned fields.
6) Failure Handling
- API failure: state the reason and the strategies already attempted.
- No results: provide actionable keyword rewrite suggestions.
- Missing fields: explicitly mark as "unknown/missing"; do not fill with inferred data.
1---2name: arxiv-scholar-search3description: Use the arXiv API for academic paper discovery, relevance screening, and structured output. Suitable for topic-based search, latest-paper discovery, fixed-template reporting, and citation-oriented workflows.4---56# Scholar Search Workflow78This skill only uses arXiv as the data source. The workflow is fixed:9101. Read user input and parse the search intent.112. Call the arXiv API (via `arxiv_search`).123. Evaluate result quality and decide whether another search round is needed.134. Output results using the required template.1415## 0) File Layout (Overview)1617| File Path | Purpose | When to Check |18| --- | --- | --- |19| `SKILL.md` | Main entry: task parsing, query syntax, calling conventions, quality control | Check first at the beginning of every task |2021## 1) Parse User Search Requirements2223Extract the following constraints first:24251. Topic keywords (Chinese or English).262. Time preference (for example: "latest", "this year", "last three years").273. Number of results (for example: 5, 10, 20).284. Output goal (paper discovery, comparison, or brief survey).295. Output language (Chinese or English).3031Keyword strategy:32331. Use a broad query in round one (topic terms only).342. Add constraint terms in round two (method terms, task terms, category terms).353. If results are too few, switch to synonyms or broader terms.3637## 2) arXiv API Guide (Built-in)3839### 2.1 API Endpoint40411. Base endpoint: `https://export.arxiv.org/api/query`422. Request methods: GET (common), POST (optional when parameters are very long)4344### 2.2 Core Parameters45461. `search_query`: query expression472. `id_list`: comma-separated list of arXiv IDs483. `start`: pagination offset (0-based)494. `max_results`: number of returned entries505. `sortBy`: `relevance` / `lastUpdatedDate` / `submittedDate`516. `sortOrder`: `ascending` / `descending`5253### 2.3 `search_query` Syntax5455Common field prefixes:56571. `ti` (title)582. `au` (author)593. `abs` (abstract)604. `cat` (category)615. `all` (all fields)6263Boolean operators:64651. `AND`662. `OR`673. `ANDNOT`6869Time syntax (`submittedDate`):70711. Range: `submittedDate:[200701*+TO+200712*]`722. Specific day: `submittedDate:20101225`7374### 2.4 Direct URL Examples75761. Topic query: `https://export.arxiv.org/api/query?search_query=all:electron`772. Combined query: `https://export.arxiv.org/api/query?search_query=au:del_maestro+AND+ti:checkerboard`783. Paginated query: `https://export.arxiv.org/api/query?search_query=all:electron&start=0&max_results=10`794. Sorted query: `https://export.arxiv.org/api/query?search_query=ti:%22electron+thermal+conductivity%22&sortBy=lastUpdatedDate&sortOrder=descending`8081### 2.5 Rate Limits and Stability (Must Follow)82831. Keep request frequency at no more than one request every 3 seconds.842. Use only one active connection at a time.853. Avoid high-frequency repeated queries; reuse existing results whenever possible.8687## 3) Calling Conventions (Must Match Actual Use)8889Standard call example:90```bash91curl -s "https://export.arxiv.org/api/query?search_query=all:multimodal+AND+cat:cs.CL&start=0&max_results=10&sortBy=submittedDate&sortOrder=descending"92```9394Parameter notes:95961. `search_query`: arXiv query expression (supports field prefixes and boolean operators).972. `start`: pagination offset (0-based).983. `max_results`: number of returned entries; recommend `5-20`.994. `sortBy`: recommend `submittedDate` or `lastUpdatedDate`.1005. `sortOrder`: recommend `descending`.101102## 4) Decide Whether to Continue Searching103104Run one more search round if any condition below is met:1051061. Too few papers are returned (for example, `< 3`).1072. Results are clearly off-topic.1083. Key fields are frequently missing (title, link, abstract).109110Stop searching when:1111121. Result count reaches the target or an acceptable range.1132. Topic relevance is high.1143. Additional search rounds provide low value.115116## 5) Output Requirements117118Each paper must use the following structure:119120```markdown121-----------122# {Index}. **{Paper Title}**123124**Paper Info**: **Venue/Source**: {journal, conference, or source} | **Publication Date**: {yyyy-mm-dd or unknown} | **Source**: [{source name}]({entry link or paper link}) | **PDF**: [PDF link]({pdf link})125126### Research Content127{1-2 objective sentences based on the paper content}128129### Main Contributions130- {Contribution 1}131- {Contribution 2}132- {Contribution 3}133```134135Must follow:1361371. Add a standalone line `-----------` before every paper title.1382. Keep the title as a standalone level-1 header line.1393. Keep "Paper Info" in a single line, separated by `|`.1404. Keep the `PDF` field:141 - If a PDF exists: provide a direct link.142 - If no PDF exists: remove the `PDF` field.1435. Content must be based only on source metadata, abstract, or TLDR. No speculation.1446. Do not add conclusions not explicitly supported by the source.1457. All links must come from tool output. Do not fabricate or guess links.1468. Do not fabricate venue, date, or citation count.1479. Write "Research Content" and "Main Contributions" only from returned fields.148149## 6) Failure Handling1501511. API failure: state the reason and the strategies already attempted.1522. No results: provide actionable keyword rewrite suggestions.1533. Missing fields: explicitly mark as "unknown/missing"; do not fill with inferred data.