This automates web research by pulling topics from your markdown files and scraping content through FireCrawl's API. You feed it a markdown file with headers or tagged items, and it generates separate research documents for each topic with full scraped content from multiple sources. It's surprisingly complete: includes rate limiting for the free tier, generates BibTeX bibliographies from results, and bundles Pandoc and MyST templates for academic writing. The 12 second delay between topics means researching 10 topics takes about 2 minutes, which is the right trade-off if you're actually writing papers and need proper citations instead of quick summaries. Good fit for literature reviews or maintaining an Obsidian research vault where you want full source text, not just links.
npx -y skills add glebis/claude-skills --skill firecrawl-research --agent claude-codeInstalls into .claude/skills of the current project.
Enrich research documents by automatically searching and scraping web sources using the FireCrawl API. Extract research topics from markdown files and generate comprehensive research documents with source material.
Use this skill when the user:
The script automatically extracts research topics from markdown files using two methods:
Method 1: Headers
## Spatial Reasoning in AI
### Computer Vision Applications
Both Spatial Reasoning in AI and Computer Vision Applications become research topics.
Method 2: Research Tags
- [research] Large Language Models for robotics
- [search] Theory of Mind in autonomous driving
Both tagged items become research topics.
For each topic:
Creates new markdown files in the specified output directory:
{topic}_{timestamp}.mdpython scripts/firecrawl_research.py research.md
Outputs to current directory.
python scripts/firecrawl_research.py research.md ./output
Creates files in ./output/ folder.
python scripts/firecrawl_research.py research.md ./output 3
Retrieves maximum 3 results per topic.
Copy .env.example to .env:
cp .env.example .env
Add FireCrawl API key:
FIRECRAWL_API_KEY=fc-your-actual-api-key
The script automatically loads the API key from the skill's .env file.
The script includes automatic rate limiting for FireCrawl's free tier:
When processing multiple topics, expect:
User request: "Research these AI topics using FireCrawl"
Input file (ai-research.md):
# AI Research Topics
## Spatial Reasoning in Vision-Language Models
- [research] Embodied AI for robotics
- [research] Computer Use Agents
Command:
python scripts/firecrawl_research.py ai-research.md ./research_output 5
Output:
research_output/
├── Spatial_Reasoning_in_Vision-Language_Models_20251122_140530.md
├── Embodied_AI_for_robotics_20251122_140542.md
└── Computer_Use_Agents_20251122_140554.md
Each file contains:
Extract topics from existing notes, research them, save to current folder:
python scripts/firecrawl_research.py my-notes.md
Create dedicated output folder for research results:
python scripts/firecrawl_research.py topics.md ./research_results
Increase results per topic for comprehensive coverage:
python scripts/firecrawl_research.py topics.md ./deep_research 10
Direct output to vault's research folder:
python scripts/firecrawl_research.py topics.md ~/Brains/brain/Research
Create .env file in skill folder with FIRECRAWL_API_KEY=...
Add topics to markdown using:
## Header format- [research] Topic format- [search] Topic formatLocation: scripts/firecrawl_research.py
Dependencies:
python-dotenv - Environment variable managementrequests - HTTP requests to FireCrawl APIInstall dependencies:
pip install python-dotenv requests
FireCrawl Features Used:
/v1/search endpoint - Search with automatic scrapingscrapeOptions.formats: ['markdown'] - Markdown outputscrapeOptions.onlyMainContent: true - Filter noiseThis skill includes templates for writing scientific papers in markdown format.
1. Pandoc Scholarly Paper (assets/templates/pandoc-scholarly-paper.md)
2. MyST Scientific Paper (assets/templates/myst-scientific-paper.md)
Copy template to your project:
cp assets/templates/pandoc-scholarly-paper.md my-paper.md
# or
cp assets/templates/myst-scientific-paper.md my-paper.md
Edit content:
[@AuthorYear] (Pandoc) or {cite}\AuthorYear`` (MyST)Convert to PDF/DOCX:
python scripts/convert_academic.py my-paper.md pdf
python scripts/convert_academic.py my-paper.md docx
python scripts/convert_academic.py my-paper.md pdf --myst # For MyST
Convert FireCrawl research results into BibTeX bibliography entries:
python scripts/generate_bibliography.py research_output/*.md -o references.bib
What it does:
@misc entriesExample workflow:
# 1. Research topics
python scripts/firecrawl_research.py topics.md ./research
# 2. Generate bibliography
python scripts/generate_bibliography.py research/*.md -o refs.bib
# 3. Copy template
cp assets/templates/pandoc-scholarly-paper.md paper.md
# 4. Edit paper.md (add content, cite sources)
# 5. Convert to PDF
python scripts/convert_academic.py paper.md pdf
Pandoc syntax:
Recent research [@Smith2024] shows...
Multiple studies [@Jones2023; @Brown2024] indicate...
MyST syntax:
Recent research {cite}`Smith2024` shows...
Multiple studies {cite}`Jones2023,Brown2024` indicate...
An example bibliography is provided in assets/references.bib with common entry types:
@article)@inproceedings)@book)@phdthesis)@misc)@article with arXiv)## for main topics, ### for subtopicssickn33/antigravity-awesome-skills