Integrates the SwiftScholar HTTP API for searching, submitting, and analyzing academic papers. Use when the user wants to search literature, submit PDFs/URLs for parsing, retrieve analyses, manage favorites, or inspect SwiftScholar account usage programmatically.
数据来源:ClawHub。 在 ClawSkills 查看
选择你使用的 Agent
方法一:命令行安装(推荐)
推荐(无需提前安装 clawhub)
npx clawhub@latest --dir ~/.claude/skills install swiftscholar-skill或使用 clawhub CLI(需提前安装)
clawhub --dir ~/.claude/skills install swiftscholar-skill⚠️ 需要 Node.js 18+,没有 Node?请使用下方方法二直接下载 ZIP。 安装 Node.js →
方法二:手动下载安装(无需 Node)
下载 ZIP,解压后将文件夹放到以下路径,重启 Agent 即可:
安装路径
~/.claude/skills/swiftscholar-skill/💡解压后将文件夹放到上方路径,重启 Agent 即可生效
--- name: swiftscholar-skill description: Integrates the SwiftScholar HTTP API for searching, submitting, and analyzing academic papers. Use when the user wants to search literature, submit PDFs/URLs for parsing, retrieve analyses, manage favorites, or inspect SwiftScholar account usage programmatically. ---
swiftscholar-skill)
This skill enables the agent to use the SwiftScholar HTTP API to search, submit, analyze, and manage academic papers.
Prefer the JSON-first /api/tools/ endpoints instead of deprecated /api/mcp/tools/ endpoints.
Basic information:
https://www.swiftscholar.net
Authorization: Bearer
SwiftScholar HTTP API 1.0.0)
> Never expose the API key in natural language responses; only include it in actual HTTP headers.
---
Use the SwiftScholar API in these situations:
- search academic papers (keyword or semantic/vector search) - submit paper URLs / PDFs for parsing - retrieve structured markdown analysis or raw markdown - manage / inspect favorites and favorite folders - inspect parse quotas, usage, and available analysis models
Typical trigger phrases (examples):
---
/api/tools/* endpoints use Bearer tokens:
- Header: Authorization: Bearer
POST.
- JSON requests: application/json
- PDF upload: multipart/form-data with file as binary PDF
- JSON responses follow the ToolApiResponse structure:
- ok: boolean (always present)
- data: object (present on success)
- error: string (may be present on failure)
- After a call:
- If ok == false or error is present, briefly explain the failure to the user and suggest next steps (e.g., adjust parameters, narrow filters).
---
This section is organized by capability, not by URL, to help the agent choose appropriate tools.
All listed endpoints live under paths./api/tools/....
- Endpoint: POST /api/tools/paper_tags_list
- Body: {} (no parameters)
- Purpose:
- When recommending tag filters or constructing complex queries, first list available tags and their IDs.
- Endpoint: POST /api/tools/papers_paginate
- Body fields (partial):
- page: integer >= 1 (default 1)
- pageSize: integer 1–50 (default 10)
- licenses: string[] (may include 'none')
- publishedFrom: string (YYYY-MM-DD)
- publishedTo: string (YYYY-MM-DD)
- Purpose:
- Browse paper lists by time or license as a base for search results or user-library browsing.
- Endpoint: POST /api/tools/papers_search_keyword
- Key body fields:
- query: string (required; search string)
- page, pageSize (same semantics as papers_paginate)
- tags: string[] / tagNames: string[] (tag filters)
- tagMode: "and" | "or" (default "or")
- licenses, publishedFrom, publishedTo (same as above)
- Usage guidance:
- Prefer this when the user provides explicit keywords, title fragments, or phrases.
- Explain that this is literal matching, ideal for precise lookup.
- Endpoint: POST /api/tools/papers_search_vector
- Key body fields:
- query: string (required; natural-language query)
- limit: integer 1–30 (default 10)
- Other filters as in papers_search_keyword
- Usage guidance:
- Use when the user describes fuzzy concepts, research themes, or questions (e.g., “recent progress of LLMs in medical imaging”).
- Clarify that this is semantic search, better for “finding related papers” without exact title matches.
- Endpoint: POST /api/tools/paper_submit_url
- Body fields:
- url: string (required; paper source page or PDF URL)
- modelId: string (optional; PDF analysis model)
- force: boolean (force re-parse)
- favoriteFolderId: string | null (favorites folder, null for root)
- favoriteNote: string (favorites note)
- Usage guidance:
- Use when the user provides a paper page URL or direct PDF URL and wants parsing, analysis, or saving to favorites.
- Mention that parsing may take time and suggest how to check results later if needed.
There are two main modes:
- JSON API:
- Endpoint: POST /api/tools/paper_submit_pdf
- JSON body:
- pdfUrl: string OR pdfBase64: string (one of them is required)
- fileName: string (optional)
- Other fields as in paper_submit_url (modelId, force, favoriteFolderId, favoriteNote)
- Note: the spec explicitly says “provide either pdfUrl or pdfBase64.”
- Multipart upload:
- Same endpoint with multipart/form-data:
- file: binary (required; PDF file content)
- Optional: modelId, force, favoriteFolderId, favoriteNote
- Usage guidance:
- Use this when the user has a local PDF or remote PDF URL and wants it parsed.
- Endpoint: POST /api/tools/papers_submit_urls
- Body fields:
- urls: string[] | string (array or newline-separated string)
- modelId: string (optional; applied to all URLs)
- notifyOnComplete: boolean (default false)
- force: boolean (default false)
- favoriteFolderId: string | null
- favoriteNote: string
- Usage guidance:
- Use when the user provides many paper URLs and wants them parsed, saved, or both in batch.
- Endpoint: POST /api/tools/paper_analysis_markdown
- Body fields:
- paperId: string (required)
- language: "auto" | "zh" | "en" | "both" (default "auto")
- scope: "public" | "me" | "auto" (default "public")
- Usage guidance:
- Use when the user wants structured, readable analysis (summary, structure, key points).
- Set language according to the user’s preference:
- For Chinese users, prefer "zh" or "both";
- If unsure, use "auto".
- Endpoint: POST /api/tools/paper_markdown_raw
- Body fields:
- paperId: string (required)
- maxChars: integer (500–120000) (optional; truncation)
- Usage guidance:
- Prefer this when the user wants to do custom processing, re-summarization, or extraction of formulas/tables.
- For very long papers, set a reasonable maxChars and inform the user if the content was truncated.
- Endpoint: POST /api/tools/paper_pdf_link
- Body fields:
- paperId: string (required)
- Usage guidance:
- Use when the user wants to download or locally open the PDF.
- Respect copyright and visibility rules; only guide the user to links the API has authorized.
---
- Endpoint: POST /api/tools/paper_favorite_folders
- Body: {}
- Purpose:
- Get folder IDs, parent/child relationships, and paths to help the user organize and target save locations.
- Endpoint: POST /api/tools/paper_favorites_list
- Body fields:
- page, pageSize (pagination; 1–50)
- folderId: string | null (null for root; omit for all folders)
- includeDescendants: boolean (default false)
- search: string (search in notes and titles)
- Purpose:
- Browse the user’s personal library or filter by notes and titles.
- Endpoint: POST /api/tools/paper_favorite_save
- Body fields:
- paperId: string (required)
- folderId: string | null (target folder; null for root; omit to reuse existing folder if present)
- note: string (optional note)
- Usage guidance:
- After identifying important papers, suggest saving them to an appropriate folder with a short descriptive note.
---
- Endpoint: POST /api/tools/paper_analysis_models
- Body: {}
- Purpose:
- Show available models under the current plan (including consumeUnits and per-parse extra price) to help choose modelId.
- Use when the user is concerned about cost or model quality; list models and give recommendations.
- Endpoint: POST /api/tools/account_usage_summary
- Body: {}
- Purpose:
- Summarize current parse quota and points so the user knows how many more papers can be parsed.
- Endpoint: POST /api/tools/parse_history_list
- Body fields:
- page, pageSize (1–100)
- chargeMode: string (optional, e.g., FREE or BALANCE)
- Purpose:
- Show parse usage records for the last 30 days (which papers, when parsed, potential charges).
---
- First call vector search /api/tools/papers_search_vector to focus on conceptual relevance.
- Use keyword search /api/tools/papers_search_keyword.
- Present titles, years, and short descriptions of main contributions, plus paperId for follow-up.
- Call /api/tools/paper_analysis_markdown for detailed analysis; or
- Call /api/tools/paper_markdown_raw for fine-grained custom processing.
- URL: use /api/tools/paper_submit_url
- Local or remote PDF: use /api/tools/paper_submit_pdf
- Include favoriteFolderId and favoriteNote in the request.
- Once a paperId is available, call /api/tools/paper_analysis_markdown.
- Core contributions, methods, datasets, conclusions, and how they relate to the user’s research question.
- Call /api/tools/paper_favorite_folders to list all folders.
- Call /api/tools/paper_favorites_list with appropriate folderId and search.
- Call /api/tools/paper_favorite_save to create or update favorite records.
- Suggest organizing folders by topic or project to simplify future retrieval.
---
/api/tools/:**
/api/mcp/tools/* endpoints are marked deprecated in the OpenAPI spec; avoid relying on them for new integrations.
Respect OpenAPI constraints (pagination limits, required fields) to avoid unnecessary retries.
After each call, convert raw JSON into user-friendly output: - Concise paper lists (title + year + short description); - Clear bullet-point summaries (methods, results, limitations); - Direct conclusions and recommendations relevant to the user’s question (not just raw data dumps).
安装 swiftscholar-skill 后,可以对 AI 说这些话来触发它
Help me get started with swiftscholar-skill
Explains what swiftscholar-skill does, walks through the setup, and runs a quick demo based on your current project
Use swiftscholar-skill to integrates the SwiftScholar HTTP API for searching, submitting, and...
Invokes swiftscholar-skill with the right parameters and returns the result directly in the conversation
What can I do with swiftscholar-skill in my data & analytics workflow?
Lists the top use cases for swiftscholar-skill, with example commands for each scenario
将技能文件夹放到 ~/.claude/skills/swiftscholar-skill/ 目录(个人级,所有项目可用),或 .claude/skills/swiftscholar-skill/(项目级)。重启 AI 客户端后,用 /swiftscholar-skill 主动调用,或让 AI 根据上下文自动发现并使用。
swiftscholar-skill 支持 Claude、Cursor、OpenClaw,可与这些 AI 平台无缝集成,扩展其能力。
swiftscholar-skill 可免费安装使用。请查阅仓库了解许可证信息。
Integrates the SwiftScholar HTTP API for searching, submitting, and analyzing academic papers. Use when the user wants to search literature, submit PDFs/URLs for parsing, retrieve analyses, manage favorites, or inspect SwiftScholar account usage programmatically.
swiftscholar-skill 属于「Data & Analytics」分类,该分类的技能帮助 AI 智能体在此领域执行专业任务。
Automate my data & analytics tasks using swiftscholar-skill
Identifies repetitive steps in your workflow and sets up swiftscholar-skill to handle them automatically