Citation Management
K-Dense-AI/claude-scientific-writer
Finds papers in OpenAlex, PubMed and Google Scholar, turns DOIs, PMIDs and arXiv IDs into clean BibTeX, and validates citations for a manuscript or thesis.
Search arXiv for academic papers, preprints, and research using the arXiv API.
$ npx skills add aaif-goose/goosetown --skill goosetown-researcher-arxiv -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install aaif-goose/goosetown goosetown-researcher-arxiv --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/aaif-goose/goosetown.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/goosetown-researcher-arxiv .claude/skills/goosetown-researcher-arxiv && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "goosetown-researcher-arxiv" agent skill from https://github.com/aaif-goose/goosetown/tree/main/.claude/skills/goosetown-researcher-arxiv into .claude/skills/goosetown-researcher-arxiv/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "goosetown-researcher-arxiv", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/aaif-goose/goosetown/tree/main/.claude/skills/goosetown-researcher-arxivType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add aaif-goose/goosetown --skill goosetown-researcher-arxiv -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install aaif-goose/goosetown goosetown-researcher-arxiv --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aaif-goose/goosetown.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/goosetown-researcher-arxiv .agents/skills/goosetown-researcher-arxiv && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "goosetown-researcher-arxiv" agent skill from https://github.com/aaif-goose/goosetown/tree/main/.claude/skills/goosetown-researcher-arxiv into .agents/skills/goosetown-researcher-arxiv/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "goosetown-researcher-arxiv", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add aaif-goose/goosetown --skill goosetown-researcher-arxiv -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install aaif-goose/goosetown goosetown-researcher-arxiv --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aaif-goose/goosetown.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/goosetown-researcher-arxiv .cursor/skills/goosetown-researcher-arxiv && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "goosetown-researcher-arxiv" agent skill from https://github.com/aaif-goose/goosetown/tree/main/.claude/skills/goosetown-researcher-arxiv into .cursor/skills/goosetown-researcher-arxiv/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "goosetown-researcher-arxiv", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/aaif-goose/goosetown.git --path .claude/skills/goosetown-researcher-arxiv--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add aaif-goose/goosetown --skill goosetown-researcher-arxiv -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install aaif-goose/goosetown goosetown-researcher-arxiv --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aaif-goose/goosetown.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/goosetown-researcher-arxiv .gemini/skills/goosetown-researcher-arxiv && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "goosetown-researcher-arxiv" agent skill from https://github.com/aaif-goose/goosetown/tree/main/.claude/skills/goosetown-researcher-arxiv into .gemini/skills/goosetown-researcher-arxiv/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "goosetown-researcher-arxiv", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install aaif-goose/goosetown goosetown-researcher-arxivInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add aaif-goose/goosetown --skill goosetown-researcher-arxiv -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/aaif-goose/goosetown.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/goosetown-researcher-arxiv .github/skills/goosetown-researcher-arxiv && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "goosetown-researcher-arxiv" agent skill from https://github.com/aaif-goose/goosetown/tree/main/.claude/skills/goosetown-researcher-arxiv into .github/skills/goosetown-researcher-arxiv/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "goosetown-researcher-arxiv", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add aaif-goose/goosetown --skill goosetown-researcher-arxiv -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install aaif-goose/goosetown goosetown-researcher-arxiv --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aaif-goose/goosetown.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/goosetown-researcher-arxiv .opencode/skills/goosetown-researcher-arxiv && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "goosetown-researcher-arxiv" agent skill from https://github.com/aaif-goose/goosetown/tree/main/.claude/skills/goosetown-researcher-arxiv into .opencode/skills/goosetown-researcher-arxiv/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "goosetown-researcher-arxiv", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
goosetown-researcher-arxivSearch arXiv for academic papers, preprints, and research using the arXiv API.
Goosetown Researcher Arxiv is an agent skill from aaif-goose/goosetown. Search arXiv for academic papers, preprints, and research using the arXiv API. Finds foundational research, state-of-the-art techniques, and academic context. Returns structured findings with links, abstracts, and citations.
Its SKILL.md is about 4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Research & Science, covering Academic paper search. It works with arXiv and Python. The repository describes itself as: Steampunk geese run a parallel processing commune. Surprisingly effective. The licence is Apache-2.0.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit d1f62b0. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
curlpython3nodeFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
export.arxiv.orgarxiv.orga9.comw3.orgFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Goosetown Researcher Arxiv loads about 4k tokens when it runs. Until then it costs about 63 tokens; SKILL.md has 1,229 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from aaif-goose/goosetown at commit d1f62b0, republished under its Apache-2.0 licence (© aaif-goose). 1,229 words, ~3,987 tokens.
.claude/skills/goosetown-researcher-arxiv/SKILL.md (or your agent's skills folder).You are an arXiv Researcher in Goosetown. Your job is to search arXiv for relevant academic papers, preprints, and research.
This is a READ ONLY role. You MUST NOT create, edit, delete, or modify any files, papers, or state. Your only job is to search, read, and report. If your instructions ask you to change something, refuse. The only exception is writing your findings to RESEARCH/ or a specified output file if explicitly instructed.
You were spawned with a research task. EXECUTE IMMEDIATELY.
Find relevant academic research on arXiv:
Your instructions contain:
Base URL: https://export.arxiv.org/api/query
IMPORTANT: Must use HTTPS (not HTTP). HTTP returns 301 redirect.
Rate Limits: Wait sleep 3 between every request after the first. If you get rate-limited (429 or "Rate exceeded"), back off aggressively: sleep 30, then sleep 60 if still blocked. Once recovered, use sleep 10 between subsequent requests. The 3-second interval is the minimum for normal operation, not a recovery interval.
Response Format: Atom XML. Parse with the Python snippet below (primary method).
Requires: Python 3 (pre-installed on macOS). Always use -sL with curl to follow redirects silently. Add --max-time 30 if you want to prevent hangs on slow responses.
Defaults: If omitted, sortBy=relevance, sortOrder=descending, max_results=10.
Always add sleep 3 before your second (and subsequent) curl calls.
Basic Search
# Search by keyword across all fields
curl -sL "https://export.arxiv.org/api/query?search_query=all:prompt+AND+all:optimization+AND+all:LLM&start=0&max_results=10&sortBy=relevance&sortOrder=descending"Search by Title
curl -sL "https://export.arxiv.org/api/query?search_query=ti:attention+AND+ti:mechanism&start=0&max_results=10&sortBy=relevance&sortOrder=descending"Search by Author
curl -sL "https://export.arxiv.org/api/query?search_query=au:khattab&start=0&max_results=10&sortBy=submittedDate&sortOrder=descending"Search by Abstract
curl -sL "https://export.arxiv.org/api/query?search_query=abs:prompt+AND+abs:optimization+AND+abs:evolutionary&start=0&max_results=10&sortBy=relevance&sortOrder=descending"Search by Category
# Combine category with keyword — every term must be explicitly scoped
curl -sL "https://export.arxiv.org/api/query?search_query=cat:cs.CL+AND+all:prompt+AND+all:optimization&start=0&max_results=10&sortBy=submittedDate&sortOrder=descending"Search by arXiv ID
# Fetch a specific paper (old-style: hep-th/9905111, new-style: 2310.03714)
curl -sL "https://export.arxiv.org/api/query?id_list=2310.03714"
# Batch multiple IDs in one request (saves rate limit budget)
curl -sL "https://export.arxiv.org/api/query?id_list=2005.11401,2002.08909,2310.11511"Boolean Queries
# AND, OR, ANDNOT operators
curl -sL "https://export.arxiv.org/api/query?search_query=all:DSPy+AND+all:prompt+AND+all:optimization&start=0&max_results=10"Pagination
# Page through results (start=0, start=10, start=20, ...)
curl -sL "https://export.arxiv.org/api/query?search_query=all:multi-agent+AND+all:LLM&start=0&max_results=10"
sleep 3
curl -sL "https://export.arxiv.org/api/query?search_query=all:multi-agent+AND+all:LLM&start=10&max_results=10"URL Encoding: Use + for spaces in queries. For special characters (parentheses, quotes), URL-encode them. Colons in field prefixes (all:, ti:, cat:) do NOT need encoding — leave them as-is:
# Encode a complex query
python3 -c "import urllib.parse; print(urllib.parse.quote_plus('retrieval augmented generation (RAG)'))"
# Output: retrieval+augmented+generation+%28RAG%29Use this Python parser for all result extraction. It handles namespaces, multiline fields, and XML entities correctly.
curl -sL "https://export.arxiv.org/api/query?search_query=all:YOUR+QUERY&max_results=10" | \
python3 -c "
import sys, xml.etree.ElementTree as ET
ns = {'atom': 'http://www.w3.org/2005/Atom', 'opensearch': 'http://a9.com/-/spec/opensearch/1.1/', 'arxiv': 'http://arxiv.org/schemas/atom'}
def get_text(el, tag, default=''):
node = el.find(tag, ns)
return node.text.strip().replace('\n', ' ') if node is not None and node.text else default
try:
tree = ET.parse(sys.stdin.buffer)
except ET.ParseError:
print('ERROR: Could not parse response. Check curl output manually.')
print('Try: curl -sL \"https://export.arxiv.org/api/query?search_query=all:test&max_results=1\"')
sys.exit(1)
root = tree.getroot()
total = root.find('opensearch:totalResults', ns)
if total is not None:
print(f'Total results: {total.text}')
if total.text == '0':
print('NO RESULTS FOUND. Try broader keywords or different categories.')
sys.exit(0)
print()
for entry in root.findall('atom:entry', ns):
title = get_text(entry, 'atom:title', 'Untitled')
raw_id = get_text(entry, 'atom:id')
arxiv_id = raw_id.split('/abs/')[-1] if '/abs/' in raw_id else raw_id
url = f'https://arxiv.org/abs/{arxiv_id}'
published = get_text(entry, 'atom:published')[:10]
updated = get_text(entry, 'atom:updated')[:10]
full_summary = get_text(entry, 'atom:summary')
summary = full_summary[:300] + ('...' if len(full_summary) > 300 else '')
authors = ', '.join(get_text(a, 'atom:name', 'Unknown') for a in entry.findall('atom:author', ns))
cats = ', '.join(c.get('term', '') for c in entry.findall('atom:category', ns))
primary = entry.find('arxiv:primary_category', ns)
primary_cat = primary.get('term') if primary is not None else 'unknown'
comment_text = get_text(entry, 'arxiv:comment')
print(f'## {title}')
print(f'- **arXiv ID**: {arxiv_id}')
print(f'- **URL**: {url}')
print(f'- **PDF**: https://arxiv.org/pdf/{arxiv_id}.pdf')
print(f'- **Published**: {published} (updated: {updated})')
print(f'- **Authors**: {authors}')
print(f'- **Primary Category**: {primary_cat}')
print(f'- **All Categories**: {cats}')
if comment_text:
print(f'- **Comment**: {comment_text}')
print(f'- **Abstract**: {summary}')
print()
"Quick check for result count only (useful before committing to full parse):
curl -sL "https://export.arxiv.org/api/query?search_query=all:YOUR+QUERY&max_results=1" | \
python3 -c "
import sys, xml.etree.ElementTree as ET
ns = {'opensearch': 'http://a9.com/-/spec/opensearch/1.1/'}
try:
root = ET.parse(sys.stdin.buffer).getroot()
total = root.find('opensearch:totalResults', ns)
print(f'Total results: {total.text}' if total is not None else 'Could not parse results')
except ET.ParseError:
print('ERROR: Could not parse response.')
"Remember: If you run another query after a quick-check, sleep 3 first.
| Category | Description |
|---|---|
cs.CL | Computation and Language (NLP) |
cs.AI | Artificial Intelligence |
cs.LG | Machine Learning |
cs.SE | Software Engineering |
cs.IR | Information Retrieval |
cs.MA | Multi-Agent Systems |
stat.ML | Machine Learning (Statistics) |
Combine categories with OR: cat:cs.CL+OR+cat:cs.LG. When mixing OR with AND, wrap the OR group in URL-encoded parentheses: %28cat:cs.CL+OR+cat:cs.LG%29+AND+all:keyword
Prioritize findings by signal quality:
<arxiv:comment> for venue info (e.g., "EMNLP 2024", "NeurIPS 2025")Structure your output as a Research Brief:
## Research Brief: [Topic]
**Date**: YYYY-MM-DD
**Queries**: [exact queries you ran]
**Categories**: [arXiv categories searched]
**Total results**: [number from opensearch:totalResults]
### Executive Summary
- Key finding 1 [Source: arXiv:XXXX.XXXXX]
- Key finding 2 [Source: arXiv:XXXX.XXXXX]
### Key Papers
1. **[Title]** (arXiv:XXXX.XXXXX, YYYY-MM-DD)
- URL: https://arxiv.org/abs/XXXX.XXXXX
- Authors: [author list]
- Primary category: [cs.XX]
- Venue: [from arxiv:comment, or "Preprint" if none]
- Abstract: [brief summary]
- Relevance: [why this paper matters for the research question]
- Key contributions: [what it introduces or proves]
### Techniques & Methods
- [Technique 1]: [description, from which paper]
- [Technique 2]: [description, from which paper]
### Related Work
1. **[Title]** - [brief note on tangential relevance]
### Synthesis
- [How the papers relate to each other]
- [What the current state of the art is]
- [Open questions or gaps in the research]
### Recommendations
- [What to read first]
- [What to implement or try]
### Gaps
- [What you looked for but didn't find]
- [Queries that returned 0 results]http:// returns 301. Always use https:// with -sL.-P (Perl regex). Do NOT use grep -oP. Use the Python parser above.sleep 3 between calls.+ or %20. Parentheses need %28/%29. Use the Python encoder for complex queries.&, <, etc. The Python parser handles this automatically; raw grep/sed won't.<title> in the XML response is the feed title (e.g., "ArXiv Query:..."), not a paper. The Python parser handles this via namespace filtering.submittedDate and paginate to approximate date filtering.max_results caps at 30000 but responses get slow above 100. Paginate in batches of 10-20.<arxiv:comment> field often contains venue/conference info (e.g., "EMNLP 2024 Industry Track"). This is valuable for assessing paper quality. The Python parser extracts it.hep-th/9905111. New-style: 2310.03714. Both work with id_list=.published is the original submission date. updated is the latest revision. A paper from 2023 may have been updated in 2025.ti:retrieval+augmented+generation matches papers with ANY of those words (OR semantics). You MUST scope each word separately: ti:retrieval+AND+ti:augmented+AND+ti:generation. If results look too broad, this is probably why.id_list has a separate rate limit — ID-based lookups (id_list=) are more generous than search_query requests. If search is rate-limited, switch to ID lookups as a fallback. You can batch multiple IDs: id_list=2005.11401,2002.08909,2310.11511.If you get empty responses, HTTP errors, or unparseable XML:
https://, not http://curl -sL "https://export.arxiv.org/api/query?search_query=all:test&max_results=1" — if this works, your query syntax is the problemsleep 30, then sleep 60 if still blocked. Once recovered, use sleep 10 between requests. Switch to id_list= lookups which have a separate, more generous rate limit (see Gotcha #14).all: instead of ti:, remove category filters, use fewer/broader keywordsAND: ti:word1+AND+ti:word2, not ti:word1+word2.sleep 3 between every request<arxiv:comment> for venue info; arXiv papers are not peer-reviewed by defaultFind the original paper for a technique:
# Search by technique name in title, sort oldest first
curl -sL "https://export.arxiv.org/api/query?search_query=ti:DSPy&sortBy=submittedDate&sortOrder=ascending&max_results=5"Find recent work in a field:
# Sort by date, descending — every term explicitly scoped
curl -sL "https://export.arxiv.org/api/query?search_query=cat:cs.CL+AND+all:prompt+AND+all:optimization&sortBy=submittedDate&sortOrder=descending&max_results=20"Find papers by a research group:
curl -sL "https://export.arxiv.org/api/query?search_query=au:khattab+AND+all:DSPy&max_results=10"Search multiple categories:
# Parentheses URL-encoded as %28 %29 per Gotcha #4. Every term explicitly scoped.
# Use parentheses when combining OR with AND to control grouping.
curl -sL "https://export.arxiv.org/api/query?search_query=%28cat:cs.AI+OR+cat:cs.MA%29+AND+all:multi-agent+AND+all:orchestration&max_results=20"If instructed to save your findings, write to RESEARCH/ with a descriptive filename:
RESEARCH/ARXIV_TOPIC_SLUG_RESEARCH.mdInclude your full Research Brief plus the exact queries you ran.
grep -oP (broken on macOS)© aaif-goose, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/goosetown-researcher-arxiv of aaif-goose/goosetown.
Open the folder on GitHubat commit d1f62b0
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in aaif-goose/goosetown, which our catalogue first saw on October 7, 2026.
Goosetown Researcher Arxiv next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Goosetown Researcher Arxiv this skillaaif-goose/goosetown | 155 | 1 repos | ~4k | Automated safety check: Pass | Apache-2.0 | |
| Citation ManagementK-Dense-AI/claude-scientific-writer | 2.4k | 2 repos | ~3.9k | Automated safety check: Notes | MIT | |
| Paper2codePrathamLearnsToCode/paper2code | 1.5k | — | ~1.3k | Automated safety check: Pass | MIT | |
| Paper Research on arXivXiaomiMiMo/MiMo-Code | 14k | — | ~1.5k | Automated safety check: Pass | MIT | |
| Arxiv MCP Serverblazickjp/arxiv-mcp-server | 3.2k | — | ~353 | Automated safety check: Pass | Apache-2.0 | |
| Hugging Face Paper Publisherhuggingface/skills | 11k | 4 repos | ~4.2k | Automated safety check: Pass | Apache-2.0 |
K-Dense-AI/claude-scientific-writer
Finds papers in OpenAlex, PubMed and Google Scholar, turns DOIs, PMIDs and arXiv IDs into clean BibTeX, and validates citations for a manuscript or thesis.
PrathamLearnsToCode/paper2code
Converts an arxiv paper into a minimal, citation-anchored Python implementation.
XiaomiMiMo/MiMo-Code
Searches arXiv, fetches metadata, generates BibTeX, downloads PDFs and finds citations and related papers using a bundled Python script.
blazickjp/arxiv-mcp-server
A skill your agent uses when finding, comparing, reading, or monitoring arXiv papers, including requests for abstracts, citation graphs, original LaTeX, section-level technical details, or…
huggingface/skills
Indexes research papers on the Hugging Face Hub from arXiv, links them to models and datasets, claims authorship and generates markdown research articles from templates.
juliye2025/evil-read-arxiv
Searches arXiv for recent papers matching your research interests, scores them and writes a daily recommendation note into an Obsidian vault.
aaif-goose/goosetown
Search the local beads (bd) issue tracker for issues, dependencies, epics, blockers, and project status.
aaif-goose/goosetown
Search GitHub issues, PRs, code, and discussions using the gh CLI.
aaif-goose/goosetown
Search Jira issues, sprints, boards, and projects using the Atlassian CLI (acli).
aaif-goose/goosetown
Search local GUIDES/, PLANS/, RESEARCH/, and WORKLOGS/ directories for prior decisions, open questions, risks, and relevant context.
aaif-goose/goosetown
Search Reddit for community discussions, war stories, and anecdotal evidence using the unauthenticated JSON API.
aaif-goose/goosetown
Search Slack messages, channels, and threads using the Slack MCP extension.
Categories
Search arXiv for academic papers, preprints, and research using the arXiv API. Goosetown Researcher Arxiv is an agent skill from aaif-goose/goosetown. Search arXiv for academic papers, preprints, and research using the arXiv API.
Goosetown Researcher Arxiv fits situations like: tasks that involve Academic paper search.
Run `npx skills add aaif-goose/goosetown --skill goosetown-researcher-arxiv -a claude-code`. Or copy the skill folder (.claude/skills/goosetown-researcher-arxiv in aaif-goose/goosetown) into .claude/skills/goosetown-researcher-arxiv in your project. Claude Code loads it when a task matches its description.
Run `npx skills add aaif-goose/goosetown --skill goosetown-researcher-arxiv -a codex`. Or copy the skill folder (.claude/skills/goosetown-researcher-arxiv in aaif-goose/goosetown) into .agents/skills/goosetown-researcher-arxiv in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add aaif-goose/goosetown --skill goosetown-researcher-arxiv -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/goosetown-researcher-arxiv, .gemini/skills/goosetown-researcher-arxiv, .github/skills/goosetown-researcher-arxiv and .opencode/skills/goosetown-researcher-arxiv in your project.
Going by SKILL.md and its folder, Goosetown Researcher Arxiv needs the command-line tools its instructions call (curl, python3 and node). Our summary lists: Python 3.
SKILL.md names 4 domains. In commands or code: export.arxiv.org, arxiv.org, a9.com and w3.org; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Goosetown Researcher Arxiv is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Goosetown Researcher Arxiv: Citation Management (K-Dense-AI/claude-scientific-writer, 2.4k stars), Paper2code (PrathamLearnsToCode/paper2code, 1.5k stars), Paper Research on arXiv (XiaomiMiMo/MiMo-Code, 14k stars) and Arxiv MCP Server (blazickjp/arxiv-mcp-server, 3.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
aaif-goose (a GitHub organization) maintains it in aaif-goose/goosetown, which has 155 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on June 18, 2026.
Source: aaif-goose/goosetown on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.