name: add-paper description: Add a new research paper to the documentation collection. Use when user provides a URL to a paper or tweet linking to one.
Add new paper
Add a new research paper to the documentation collection.
Input
- URL to a paper or to a tweet about a paper
Steps
Check browser is activated:
- Call
tabs_context_mcpto verify browser connection - If it fails, ask the user to enable browser:
- VS Code: Ensure Chrome extension is connected
- CLI: Run
claude --chromeor type/chrome
- Call
Find the canonical paper page: If the input URL is:
- A tweet (x.com or twitter.com): Use browser to navigate to the tweet, take a screenshot, and extract the paper link
- An arXiv abstract page: Use that URL
- A PDF direct link: Try to find the canonical landing page (e.g., arXiv abstract page instead of PDF)
- SSRN: Use browser (WebFetch is blocked)
- Other: Use the provided URL
Important: For Twitter/X, SSRN, and sites requiring JavaScript, use browser automation instead of WebFetch.
Extract paper information:
- Title: The full paper title
- Description: A concise summary (1-3 paragraphs) describing what the paper is about, its methodology, and key findings
- Full text: Needed for summarisation later
For pages requiring browser: Use
navigateto open the page, thenget_page_textorread_pageto extract content. If CAPTCHA appears, ask the user to complete it manually.If the paper is behind a paywall or the browser cannot access the full text (e.g., publisher blocks scraping, login wall, or PDF-only access): Use the
fetch-paperskill to retrieve the PDF via Sci-Hub. Pass the DOI or paper URL to/fetch-paper. Once the PDF is downloaded toarticles/, read it locally to extract the title, description, and full text needed for summarisation, then continue with step 4.Determine category: Based on the extracted content, automatically determine the category:
- Trading/Finance (goes to
source/learn/papers.rst) - for papers about algorithmic trading, portfolio optimization, market microstructure, momentum strategies, risk management, etc. - AI/ML (goes to
source/learn/ai-and-machine-learning.rst) - for papers primarily about machine learning, deep learning, reinforcement learning, or AI techniques applied to trading
Only ask the user if the content is ambiguous (e.g., equally about ML techniques AND trading strategies). If clearly one category, proceed without asking.
- Trading/Finance (goes to
Add to the appropriate .rst file: Use this exact format (matching existing entries):
Write a custom summary for the paper by reading it and summarising highlights.
Add another paragraph about the key result metrics of the paper, like annualised profit, Sharpe, max drawdown, win rate and other financial and trading metrics.
Then add the
Title of the Paper
------------------
Description paragraph(s) here fom the paper itself. Keep it informative but concise.
Our summary of the contents.
Used data and code availability for reproduction.
Key metrics.
`Read the paper <https://canonical-url-here>`__
Important formatting notes:
- The underline of dashes must be at least as long as the title
- There should be a blank line after the title underline
- There should be a blank line before the "Read the paper" link
- The link format uses double underscores at the end:
__ - Add the new entry at the END of the file (before any blank lines at the very end)
If the source of the link is discussion like a tweet, then include a paragraph with a link to that tweet and with the comment "Mentioned by XXX in this discussion" and this is what people say about it".
IMPORTANT. If the paper already exists, do not add it again. Check articles/index.json by searching for the title or URL before adding.
Update the paper index: After adding the entry to the
.rstfile and downloading the PDF, updatearticles/index.json. See.claude/docs/paper-index.mdfor the full schema. Append a new entry:{ "title": "Paper Title", "authors": "Author1, Author2", "publication_year": 2026, "download_page": "https://canonical-url", "source_file": "target-file.rst", "included_in_index_at": "YYYY-MM-DD", "filename": "slugified-title.pdf", "downloaded_at": "YYYY-MM-DD", "download_failure_reason": null, "short_description": "One paragraph (2-3 sentences) describing methodology and key finding." }If the PDF could not be downloaded, set
filenameanddownloaded_attonulland setdownload_failure_reasonto the appropriate reason (ssrn_paywall,publisher_paywall,requires_browser,not_attempted).Keep the array sorted by
source_filethentitle.Commit and push:
- Stage the modified
.rstfile, the PDF (if downloaded), andarticles/index.json - Commit with message: "Add: {Paper Title}"
- Push to master branch
- Stage the modified
Save as PDF: Follow the procedure in README-browser.md > PDF Generation > How it works with:
- SELECTOR:
'article' || '.abstract-text' || '#abstract' || 'main' - FILENAME:
<slugified-title>.pdf
- SELECTOR: