SuperAPI AI Directory

paper-analyze

Writing & research

View repository

Updated 10-15 23:43

About this skill

Multi-source deep analysis

First determine the source type, then choose the paper or web page analysis structure. Do not assume it is arXiv just because the input contains numbers, and do not fabricate arXiv metadata for blogs, company reports, or ordinary PDFs.

Parsing path

  1. Treat the parent directory of the current SKILL.md as .
  2. Resolve from OBSIDIAN_VAULT_PATH; if missing, ask the user to provide the Vault path.
  3. Verify /20_Research/Papers, and read language from the research configuration; if missing, use zh.
  4. Create this session's in the system temporary directory; do not save temporary downloads in the skill directory or the Vault.

Identify the source

Always run first:

<python> "<skill-dir>/scripts/resolve_source.py" --input "<user-input>" --work-dir "<work>" --output "<work>/source.json"

Read source.json, and branch by source_type:

  • arxiv: Use only when the input is a valid YYMM.NNNN/NNNNN, arXiv:ID, or arxiv.org link. Preserve arxiv_id, the abstract page, and the PDF link.
  • pdf_url: A public URL returns PDF content or the PDF Content-Type. Use the original URL, and analyze the local_pdf downloaded to .
  • local_pdf: Analyze the local PDF provided by the user.
  • project_page: A clear Paper/PDF link is found on a research project page or company page. Jointly analyze the page and the automatically downloaded selected_pdf_url; preserve both the project page and the PDF URL.
  • blog: HTML with article date/author metadata, or a URL path containing blog/posts/article. Analyze according to the blog structure; do not apply the paper review template.
  • webpage: Other public HTML pages. Analyze as web page material and note the evidence boundaries.
  • title: Text that is neither a path, a URL, nor an arXiv ID. Search for primary sources only when the user has indeed provided only a title.

If a public page relies on JavaScript and the resolver's extraction is incomplete, use the current agent's web access capability to read the page; still take the URL and source type in source.json as authoritative.

Retrieve and check for duplicates

  1. Check for duplicates in the Vault by document_id, arxiv_id, normalized title, and source_url.
  2. If a note already exists, preserve manual content and only supplement it locally.
  3. For the paper/PDF branch, use the original PDF text as the primary evidence; the project page may supplement authors, institutions, code, and demos.
  4. For the blog/webpage branch, use the page body as the primary evidence; distinguish author claims, cited evidence, and agent inferences.
  5. When the full text is inaccessible, analyze only the visible content and clearly state the scope of what is missing.

Images

For arxiv, pdf_url, or local_pdf, when images are needed, read the adjacent ../extract-paper-images/SKILL.md, and pass the arXiv ID, direct PDF URL, or local_pdf to the script.

For blog/project_page/webpage, save only page images that help understand the content and are allowed to be publicly accessed; do not treat navigation icons, avatars, or brand logos as research illustrations.

Generate the note

Create the template only when the target note does not exist:

<python> "<skill-dir>/scripts/generate_note.py" --title "<title>" --authors "<authors>" --domain "<domain>" --vault "<vault>" --language "<zh|en>" --source-type "<source_type>" --source-url "<source_url>" --document-id "<document_id>" --paper-id "<arxiv_id>" --published-date "<published_date>" --venue "<venue>"

Template branches:

  • arxiv/pdf_url/local_pdf: Research document structure, covering problem, method, formulas, experiments, limitations, related work, and rating.
  • blog/project_page/webpage: materials structure, covering core arguments, content flow, key evidence, technical details, credibility, limitations, and practical implications; no conference, citation count, or paper ID required.

Replace all placeholders before updating the graph:

<python> "<skill-dir>/scripts/update_graph.py" --title "<title>" --domain "<domain>" --score <0-10> --vault "<vault>" --language "<zh|en>" --source-type "<source_type>" --source-url "<source_url>" --paper-id "<arxiv_id>" --document-id "<document_id>"

Format and evidence rules

  • Frontmatter must retain at least document_id, source_type, source_url, title, authors, published, and domain.
  • Only for the arxiv type, write arxiv_id and arXiv/PDF derived links.
  • Direct PDFs, blogs, and webpages always retain the original URL provided by the user; the canonical_url after redirection may be recorded separately.
  • Use Markdown LaTeX for formulas; use ![[filename.png|800]] for images; use [[File_Name|Display Title]] for note links.
  • Write -- for unknown authors, dates, institutions, conferences, or numbers; do not guess.
  • Do not overwrite user notes, do not delete old images, and do not rewrite webpage claims as already reproduced facts.