{
  "schemaVersion": "1.0",
  "item": {
    "slug": "swiftscholar-skill",
    "name": "swiftscholar-skill",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/Tokisakix/swiftscholar-skill",
    "canonicalUrl": "https://clawhub.ai/Tokisakix/swiftscholar-skill",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/swiftscholar-skill",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=swiftscholar-skill",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "claude.md",
      "README.md",
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/swiftscholar-skill"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/swiftscholar-skill",
    "agentPageUrl": "https://openagent3.xyz/skills/swiftscholar-skill/agent",
    "manifestUrl": "https://openagent3.xyz/skills/swiftscholar-skill/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/swiftscholar-skill/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "SwiftScholar Skill (swiftscholar-skill)",
        "body": "This skill enables the agent to use the SwiftScholar HTTP API to search, submit, analyze, and manage academic papers.\nPrefer the JSON-first /api/tools/* endpoints instead of deprecated /api/mcp/tools/* endpoints.\n\nBasic information:\n\nBase URL: https://www.swiftscholar.net\nAuth: Authorization: Bearer <API_KEY>\nSpec version: OpenAPI 3.1.0 (SwiftScholar HTTP API 1.0.0)\n\nNever expose the API key in natural language responses; only include it in actual HTTP headers."
      },
      {
        "title": "1. When to use this skill",
        "body": "Use the SwiftScholar API in these situations:\n\nThe user wants to:\n\nsearch academic papers (keyword or semantic/vector search)\nsubmit paper URLs / PDFs for parsing\nretrieve structured markdown analysis or raw markdown\nmanage / inspect favorites and favorite folders\ninspect parse quotas, usage, and available analysis models\n\nTypical trigger phrases (examples):\n\n“literature search”, “keyword search paper”, “semantic search paper”\n“parse this paper PDF/URL”, “analyze this paper”\n“get detailed analysis / markdown for this paper”\n“SwiftScholar favorites / favorite folders”\n“SwiftScholar account usage / quota / parse history”"
      },
      {
        "title": "2.1 Authentication",
        "body": "All /api/tools/* endpoints use Bearer tokens:\n\nHeader: Authorization: Bearer <SWIFTSCHOLAR_API_KEY>\n\n\nThe agent must not reveal or infer the key in natural language responses."
      },
      {
        "title": "2.2 General request conventions",
        "body": "HTTP method: all tool endpoints are POST.\nContent-Type:\n\nJSON requests: application/json\nPDF upload: multipart/form-data with file as binary PDF\n\n\nError handling:\n\nJSON responses follow the ToolApiResponse structure:\n\nok: boolean (always present)\ndata: object (present on success)\nerror: string (may be present on failure)\n\n\nAfter a call:\n\nIf ok == false or error is present, briefly explain the failure to the user and suggest next steps (e.g., adjust parameters, narrow filters)."
      },
      {
        "title": "3. Core capabilities and endpoints",
        "body": "This section is organized by capability, not by URL, to help the agent choose appropriate tools.\nAll listed endpoints live under paths./api/tools/...."
      },
      {
        "title": "3.1 Paper tags and basic browsing",
        "body": "List all paper tags (with IDs and usage counts)\n\nEndpoint: POST /api/tools/paper_tags_list\nBody: {} (no parameters)\nPurpose:\n\nWhen recommending tag filters or constructing complex queries, first list available tags and their IDs.\n\n\n\n\n\nPaginate accessible papers\n\nEndpoint: POST /api/tools/papers_paginate\nBody fields (partial):\n\npage: integer >= 1 (default 1)\npageSize: integer 1–50 (default 10)\nlicenses: string[] (may include 'none')\npublishedFrom: string (YYYY-MM-DD)\npublishedTo: string (YYYY-MM-DD)\n\n\nPurpose:\n\nBrowse paper lists by time or license as a base for search results or user-library browsing."
      },
      {
        "title": "3.2 Search: keyword search vs vector (semantic) search",
        "body": "Keyword search (literal string matching)\n\nEndpoint: POST /api/tools/papers_search_keyword\nKey body fields:\n\nquery: string (required; search string)\npage, pageSize (same semantics as papers_paginate)\ntags: string[] / tagNames: string[] (tag filters)\ntagMode: \"and\" | \"or\" (default \"or\")\nlicenses, publishedFrom, publishedTo (same as above)\n\n\nUsage guidance:\n\nPrefer this when the user provides explicit keywords, title fragments, or phrases.\nExplain that this is literal matching, ideal for precise lookup.\n\n\n\n\n\nVector search (semantic search)\n\nEndpoint: POST /api/tools/papers_search_vector\nKey body fields:\n\nquery: string (required; natural-language query)\nlimit: integer 1–30 (default 10)\nOther filters as in papers_search_keyword\n\n\nUsage guidance:\n\nUse when the user describes fuzzy concepts, research themes, or questions (e.g., “recent progress of LLMs in medical imaging”).\nClarify that this is semantic search, better for “finding related papers” without exact title matches."
      },
      {
        "title": "3.3 Submitting papers: URL / PDF / batch URLs",
        "body": "Submit a paper by URL\n\nEndpoint: POST /api/tools/paper_submit_url\nBody fields:\n\nurl: string (required; paper source page or PDF URL)\nmodelId: string (optional; PDF analysis model)\nforce: boolean (force re-parse)\nfavoriteFolderId: string | null (favorites folder, null for root)\nfavoriteNote: string (favorites note)\n\n\nUsage guidance:\n\nUse when the user provides a paper page URL or direct PDF URL and wants parsing, analysis, or saving to favorites.\nMention that parsing may take time and suggest how to check results later if needed.\n\n\n\n\n\nSubmit or link a PDF file\nThere are two main modes:\n\n\nJSON API:\n\nEndpoint: POST /api/tools/paper_submit_pdf\nJSON body:\n\npdfUrl: string OR pdfBase64: string (one of them is required)\nfileName: string (optional)\nOther fields as in paper_submit_url (modelId, force, favoriteFolderId, favoriteNote)\n\n\nNote: the spec explicitly says “provide either pdfUrl or pdfBase64.”\n\n\n\nMultipart upload:\n\nSame endpoint with multipart/form-data:\n\nfile: binary (required; PDF file content)\nOptional: modelId, force, favoriteFolderId, favoriteNote\n\n\n\n\n\nUsage guidance:\n\nUse this when the user has a local PDF or remote PDF URL and wants it parsed.\n\n\n\n\n\nBatch submit URLs\n\nEndpoint: POST /api/tools/papers_submit_urls\nBody fields:\n\nurls: string[] | string (array or newline-separated string)\nmodelId: string (optional; applied to all URLs)\nnotifyOnComplete: boolean (default false)\nforce: boolean (default false)\nfavoriteFolderId: string | null\nfavoriteNote: string\n\n\nUsage guidance:\n\nUse when the user provides many paper URLs and wants them parsed, saved, or both in batch."
      },
      {
        "title": "3.4 Reading and analysis: markdown analysis / raw markdown / PDF link",
        "body": "Get markdown-formatted paper analysis\n\nEndpoint: POST /api/tools/paper_analysis_markdown\nBody fields:\n\npaperId: string (required)\nlanguage: \"auto\" | \"zh\" | \"en\" | \"both\" (default \"auto\")\nscope: \"public\" | \"me\" | \"auto\" (default \"public\")\n\n\nUsage guidance:\n\nUse when the user wants structured, readable analysis (summary, structure, key points).\nSet language according to the user’s preference:\n\nFor Chinese users, prefer \"zh\" or \"both\";\nIf unsure, use \"auto\".\n\n\n\n\n\n\n\nGet the raw markdown source for a paper\n\nEndpoint: POST /api/tools/paper_markdown_raw\nBody fields:\n\npaperId: string (required)\nmaxChars: integer (500–120000) (optional; truncation)\n\n\nUsage guidance:\n\nPrefer this when the user wants to do custom processing, re-summarization, or extraction of formulas/tables.\nFor very long papers, set a reasonable maxChars and inform the user if the content was truncated.\n\n\n\n\n\nGet a guarded PDF download link\n\nEndpoint: POST /api/tools/paper_pdf_link\nBody fields:\n\npaperId: string (required)\n\n\nUsage guidance:\n\nUse when the user wants to download or locally open the PDF.\nRespect copyright and visibility rules; only guide the user to links the API has authorized."
      },
      {
        "title": "3.5 Favorite folders and favorite papers",
        "body": "List favorite folders\n\nEndpoint: POST /api/tools/paper_favorite_folders\nBody: {}\nPurpose:\n\nGet folder IDs, parent/child relationships, and paths to help the user organize and target save locations.\n\n\n\n\n\nList favorite papers\n\nEndpoint: POST /api/tools/paper_favorites_list\nBody fields:\n\npage, pageSize (pagination; 1–50)\nfolderId: string | null (null for root; omit for all folders)\nincludeDescendants: boolean (default false)\nsearch: string (search in notes and titles)\n\n\nPurpose:\n\nBrowse the user’s personal library or filter by notes and titles.\n\n\n\n\n\nSave or update a favorite entry\n\nEndpoint: POST /api/tools/paper_favorite_save\nBody fields:\n\npaperId: string (required)\nfolderId: string | null (target folder; null for root; omit to reuse existing folder if present)\nnote: string (optional note)\n\n\nUsage guidance:\n\nAfter identifying important papers, suggest saving them to an appropriate folder with a short descriptive note."
      },
      {
        "title": "3.6 Analysis models and account usage",
        "body": "List available PDF analysis models\n\nEndpoint: POST /api/tools/paper_analysis_models\nBody: {}\nPurpose:\n\nShow available models under the current plan (including consumeUnits and per-parse extra price) to help choose modelId.\nUse when the user is concerned about cost or model quality; list models and give recommendations.\n\n\n\n\n\nSummarize account quota and points\n\nEndpoint: POST /api/tools/account_usage_summary\nBody: {}\nPurpose:\n\nSummarize current parse quota and points so the user knows how many more papers can be parsed.\n\n\n\n\n\nList parse history\n\nEndpoint: POST /api/tools/parse_history_list\nBody fields:\n\npage, pageSize (1–100)\nchargeMode: string (optional, e.g., FREE or BALANCE)\n\n\nPurpose:\n\nShow parse usage records for the last 30 days (which papers, when parsed, potential charges)."
      },
      {
        "title": "4.1 From research question to paper recommendations (search workflow)",
        "body": "Clarify the user’s research question or topic in natural language.\nIf the description is conceptual or fuzzy:\n\nFirst call vector search /api/tools/papers_search_vector to focus on conceptual relevance.\n\n\nIf the user provides concrete keywords or title fragments:\n\nUse keyword search /api/tools/papers_search_keyword.\n\n\nOrganize results by relevance or recency:\n\nPresent titles, years, and short descriptions of main contributions, plus paperId for follow-up.\n\n\nFor selected papers:\n\nCall /api/tools/paper_analysis_markdown for detailed analysis; or\nCall /api/tools/paper_markdown_raw for fine-grained custom processing."
      },
      {
        "title": "4.2 Submit a new paper and obtain analysis (submission + analysis workflow)",
        "body": "When the user provides a URL or PDF:\n\nURL: use /api/tools/paper_submit_url\nLocal or remote PDF: use /api/tools/paper_submit_pdf\n\n\nIf the user specifies a folder or note:\n\nInclude favoriteFolderId and favoriteNote in the request.\n\n\nWait for parsing to complete (if the API is asynchronous, rely on history or documented IDs):\n\nOnce a paperId is available, call /api/tools/paper_analysis_markdown.\n\n\nSummarize the analysis in terms of:\n\nCore contributions, methods, datasets, conclusions, and how they relate to the user’s research question."
      },
      {
        "title": "4.3 Manage personal literature library (favorites workflow)",
        "body": "When the user needs an overview of their favorites structure:\n\nCall /api/tools/paper_favorite_folders to list all folders.\n\n\nTo view favorites by folder or search string:\n\nCall /api/tools/paper_favorites_list with appropriate folderId and search.\n\n\nWhen important long-term papers are identified:\n\nCall /api/tools/paper_favorite_save to create or update favorite records.\n\n\nIn summaries:\n\nSuggest organizing folders by topic or project to simplify future retrieval."
      },
      {
        "title": "5. Practical tips",
        "body": "Prefer /api/tools/*:\n/api/mcp/tools/* endpoints are marked deprecated in the OpenAPI spec; avoid relying on them for new integrations.\nValidate parameters:\nRespect OpenAPI constraints (pagination limits, required fields) to avoid unnecessary retries.\nPost-process responses:\nAfter each call, convert raw JSON into user-friendly output:\n\nConcise paper lists (title + year + short description);\nClear bullet-point summaries (methods, results, limitations);\nDirect conclusions and recommendations relevant to the user’s question (not just raw data dumps)."
      }
    ],
    "body": "SwiftScholar Skill (swiftscholar-skill)\n\nThis skill enables the agent to use the SwiftScholar HTTP API to search, submit, analyze, and manage academic papers.\nPrefer the JSON-first /api/tools/* endpoints instead of deprecated /api/mcp/tools/* endpoints.\n\nBasic information:\n\nBase URL: https://www.swiftscholar.net\nAuth: Authorization: Bearer <API_KEY>\nSpec version: OpenAPI 3.1.0 (SwiftScholar HTTP API 1.0.0)\n\nNever expose the API key in natural language responses; only include it in actual HTTP headers.\n\n1. When to use this skill\n\nUse the SwiftScholar API in these situations:\n\nThe user wants to:\nsearch academic papers (keyword or semantic/vector search)\nsubmit paper URLs / PDFs for parsing\nretrieve structured markdown analysis or raw markdown\nmanage / inspect favorites and favorite folders\ninspect parse quotas, usage, and available analysis models\n\nTypical trigger phrases (examples):\n\n“literature search”, “keyword search paper”, “semantic search paper”\n“parse this paper PDF/URL”, “analyze this paper”\n“get detailed analysis / markdown for this paper”\n“SwiftScholar favorites / favorite folders”\n“SwiftScholar account usage / quota / parse history”\n2. Authentication and calling conventions\n2.1 Authentication\nAll /api/tools/* endpoints use Bearer tokens:\nHeader: Authorization: Bearer <SWIFTSCHOLAR_API_KEY>\nThe agent must not reveal or infer the key in natural language responses.\n2.2 General request conventions\nHTTP method: all tool endpoints are POST.\nContent-Type:\nJSON requests: application/json\nPDF upload: multipart/form-data with file as binary PDF\nError handling:\nJSON responses follow the ToolApiResponse structure:\nok: boolean (always present)\ndata: object (present on success)\nerror: string (may be present on failure)\nAfter a call:\nIf ok == false or error is present, briefly explain the failure to the user and suggest next steps (e.g., adjust parameters, narrow filters).\n3. Core capabilities and endpoints\n\nThis section is organized by capability, not by URL, to help the agent choose appropriate tools.\nAll listed endpoints live under paths./api/tools/....\n\n3.1 Paper tags and basic browsing\n\nList all paper tags (with IDs and usage counts)\n\nEndpoint: POST /api/tools/paper_tags_list\nBody: {} (no parameters)\nPurpose:\nWhen recommending tag filters or constructing complex queries, first list available tags and their IDs.\n\nPaginate accessible papers\n\nEndpoint: POST /api/tools/papers_paginate\nBody fields (partial):\npage: integer >= 1 (default 1)\npageSize: integer 1–50 (default 10)\nlicenses: string[] (may include 'none')\npublishedFrom: string (YYYY-MM-DD)\npublishedTo: string (YYYY-MM-DD)\nPurpose:\nBrowse paper lists by time or license as a base for search results or user-library browsing.\n3.2 Search: keyword search vs vector (semantic) search\n\nKeyword search (literal string matching)\n\nEndpoint: POST /api/tools/papers_search_keyword\nKey body fields:\nquery: string (required; search string)\npage, pageSize (same semantics as papers_paginate)\ntags: string[] / tagNames: string[] (tag filters)\ntagMode: \"and\" | \"or\" (default \"or\")\nlicenses, publishedFrom, publishedTo (same as above)\nUsage guidance:\nPrefer this when the user provides explicit keywords, title fragments, or phrases.\nExplain that this is literal matching, ideal for precise lookup.\n\nVector search (semantic search)\n\nEndpoint: POST /api/tools/papers_search_vector\nKey body fields:\nquery: string (required; natural-language query)\nlimit: integer 1–30 (default 10)\nOther filters as in papers_search_keyword\nUsage guidance:\nUse when the user describes fuzzy concepts, research themes, or questions (e.g., “recent progress of LLMs in medical imaging”).\nClarify that this is semantic search, better for “finding related papers” without exact title matches.\n3.3 Submitting papers: URL / PDF / batch URLs\n\nSubmit a paper by URL\n\nEndpoint: POST /api/tools/paper_submit_url\nBody fields:\nurl: string (required; paper source page or PDF URL)\nmodelId: string (optional; PDF analysis model)\nforce: boolean (force re-parse)\nfavoriteFolderId: string | null (favorites folder, null for root)\nfavoriteNote: string (favorites note)\nUsage guidance:\nUse when the user provides a paper page URL or direct PDF URL and wants parsing, analysis, or saving to favorites.\nMention that parsing may take time and suggest how to check results later if needed.\n\nSubmit or link a PDF file\n\nThere are two main modes:\n\nJSON API:\n\nEndpoint: POST /api/tools/paper_submit_pdf\nJSON body:\npdfUrl: string OR pdfBase64: string (one of them is required)\nfileName: string (optional)\nOther fields as in paper_submit_url (modelId, force, favoriteFolderId, favoriteNote)\nNote: the spec explicitly says “provide either pdfUrl or pdfBase64.”\n\nMultipart upload:\n\nSame endpoint with multipart/form-data:\nfile: binary (required; PDF file content)\nOptional: modelId, force, favoriteFolderId, favoriteNote\n\nUsage guidance:\n\nUse this when the user has a local PDF or remote PDF URL and wants it parsed.\n\nBatch submit URLs\n\nEndpoint: POST /api/tools/papers_submit_urls\nBody fields:\nurls: string[] | string (array or newline-separated string)\nmodelId: string (optional; applied to all URLs)\nnotifyOnComplete: boolean (default false)\nforce: boolean (default false)\nfavoriteFolderId: string | null\nfavoriteNote: string\nUsage guidance:\nUse when the user provides many paper URLs and wants them parsed, saved, or both in batch.\n3.4 Reading and analysis: markdown analysis / raw markdown / PDF link\n\nGet markdown-formatted paper analysis\n\nEndpoint: POST /api/tools/paper_analysis_markdown\nBody fields:\npaperId: string (required)\nlanguage: \"auto\" | \"zh\" | \"en\" | \"both\" (default \"auto\")\nscope: \"public\" | \"me\" | \"auto\" (default \"public\")\nUsage guidance:\nUse when the user wants structured, readable analysis (summary, structure, key points).\nSet language according to the user’s preference:\nFor Chinese users, prefer \"zh\" or \"both\";\nIf unsure, use \"auto\".\n\nGet the raw markdown source for a paper\n\nEndpoint: POST /api/tools/paper_markdown_raw\nBody fields:\npaperId: string (required)\nmaxChars: integer (500–120000) (optional; truncation)\nUsage guidance:\nPrefer this when the user wants to do custom processing, re-summarization, or extraction of formulas/tables.\nFor very long papers, set a reasonable maxChars and inform the user if the content was truncated.\n\nGet a guarded PDF download link\n\nEndpoint: POST /api/tools/paper_pdf_link\nBody fields:\npaperId: string (required)\nUsage guidance:\nUse when the user wants to download or locally open the PDF.\nRespect copyright and visibility rules; only guide the user to links the API has authorized.\n3.5 Favorite folders and favorite papers\n\nList favorite folders\n\nEndpoint: POST /api/tools/paper_favorite_folders\nBody: {}\nPurpose:\nGet folder IDs, parent/child relationships, and paths to help the user organize and target save locations.\n\nList favorite papers\n\nEndpoint: POST /api/tools/paper_favorites_list\nBody fields:\npage, pageSize (pagination; 1–50)\nfolderId: string | null (null for root; omit for all folders)\nincludeDescendants: boolean (default false)\nsearch: string (search in notes and titles)\nPurpose:\nBrowse the user’s personal library or filter by notes and titles.\n\nSave or update a favorite entry\n\nEndpoint: POST /api/tools/paper_favorite_save\nBody fields:\npaperId: string (required)\nfolderId: string | null (target folder; null for root; omit to reuse existing folder if present)\nnote: string (optional note)\nUsage guidance:\nAfter identifying important papers, suggest saving them to an appropriate folder with a short descriptive note.\n3.6 Analysis models and account usage\n\nList available PDF analysis models\n\nEndpoint: POST /api/tools/paper_analysis_models\nBody: {}\nPurpose:\nShow available models under the current plan (including consumeUnits and per-parse extra price) to help choose modelId.\nUse when the user is concerned about cost or model quality; list models and give recommendations.\n\nSummarize account quota and points\n\nEndpoint: POST /api/tools/account_usage_summary\nBody: {}\nPurpose:\nSummarize current parse quota and points so the user knows how many more papers can be parsed.\n\nList parse history\n\nEndpoint: POST /api/tools/parse_history_list\nBody fields:\npage, pageSize (1–100)\nchargeMode: string (optional, e.g., FREE or BALANCE)\nPurpose:\nShow parse usage records for the last 30 days (which papers, when parsed, potential charges).\n4. Recommended workflows\n4.1 From research question to paper recommendations (search workflow)\nClarify the user’s research question or topic in natural language.\nIf the description is conceptual or fuzzy:\nFirst call vector search /api/tools/papers_search_vector to focus on conceptual relevance.\nIf the user provides concrete keywords or title fragments:\nUse keyword search /api/tools/papers_search_keyword.\nOrganize results by relevance or recency:\nPresent titles, years, and short descriptions of main contributions, plus paperId for follow-up.\nFor selected papers:\nCall /api/tools/paper_analysis_markdown for detailed analysis; or\nCall /api/tools/paper_markdown_raw for fine-grained custom processing.\n4.2 Submit a new paper and obtain analysis (submission + analysis workflow)\nWhen the user provides a URL or PDF:\nURL: use /api/tools/paper_submit_url\nLocal or remote PDF: use /api/tools/paper_submit_pdf\nIf the user specifies a folder or note:\nInclude favoriteFolderId and favoriteNote in the request.\nWait for parsing to complete (if the API is asynchronous, rely on history or documented IDs):\nOnce a paperId is available, call /api/tools/paper_analysis_markdown.\nSummarize the analysis in terms of:\nCore contributions, methods, datasets, conclusions, and how they relate to the user’s research question.\n4.3 Manage personal literature library (favorites workflow)\nWhen the user needs an overview of their favorites structure:\nCall /api/tools/paper_favorite_folders to list all folders.\nTo view favorites by folder or search string:\nCall /api/tools/paper_favorites_list with appropriate folderId and search.\nWhen important long-term papers are identified:\nCall /api/tools/paper_favorite_save to create or update favorite records.\nIn summaries:\nSuggest organizing folders by topic or project to simplify future retrieval.\n5. Practical tips\nPrefer /api/tools/*:\n/api/mcp/tools/* endpoints are marked deprecated in the OpenAPI spec; avoid relying on them for new integrations.\nValidate parameters:\nRespect OpenAPI constraints (pagination limits, required fields) to avoid unnecessary retries.\nPost-process responses:\nAfter each call, convert raw JSON into user-friendly output:\nConcise paper lists (title + year + short description);\nClear bullet-point summaries (methods, results, limitations);\nDirect conclusions and recommendations relevant to the user’s question (not just raw data dumps)."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/Tokisakix/swiftscholar-skill",
    "publisherUrl": "https://clawhub.ai/Tokisakix/swiftscholar-skill",
    "owner": "Tokisakix",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/swiftscholar-skill",
    "downloadUrl": "https://openagent3.xyz/downloads/swiftscholar-skill",
    "agentUrl": "https://openagent3.xyz/skills/swiftscholar-skill/agent",
    "manifestUrl": "https://openagent3.xyz/skills/swiftscholar-skill/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/swiftscholar-skill/agent.md"
  }
}