article-extractor
Extract clean article content from URLs (blog posts, articles, tutorials) and save as readable text.
Skill by shrivatsas
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/shrivatsas-article-extractor
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: writing, marketing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions: not checked yet.
What's inside
- Skill name
article-extractor- Description
- Extract clean article content from URLs (blog posts, articles, tutorials) and save as readable text. Use when user wants to download, extract, or save an article/blog post from a URL without ads, navigation, or clutter.
- License
- MIT
- Allowed tools
- Bash,Write
- Instructions
- 365 lines in SKILL.md · view on GitHub
Before installing
- Pre-approves some shell commands
- Instructions call the network
Files (1)
- SKILL.md
SKILL.md (first lines)
# Article Extractor
This skill extracts the main content from web articles and blog posts, removing navigation, ads, newsletter signups, and other clutter. Saves clean, readable text.
## When to Use This Skill
Activate when the user:
- Provides an article/blog URL and wants the text content
- Asks to "download this article"
- Wants to "extract the content from [URL]"
- Asks to "save this blog post as text"
- Needs clean article text without distractions
## How It Works
### Priority Order:
1. **Check if tools are installed** (reader or trafilatura)
2. **Download and extract article** using best available tool
3. **Clean up the content** (remove extra whitespace, format properly)
4. **Save to file** with article title as filename
5. **Confirm location** and show preview
## Installation Check
Check for article extraction tools in this order:
### Option 1: reader (Recommended - Mozilla's Readability)
```bash
command -v reader
```
If not installed:
```bash
npm install -g @mozilla/readability-cli
# or
npm install -g reader-cli
```
### Option 2: trafilatura (Python-based, very good)
```bash
command -v trafilatura
```
If not installed:
```bash
pip3 install trafilatura
```
### Option 3: Fallback (curl + simple parsing)
If no tools available, use basic curl + text extraction (less reliable but works)
## Extraction Methods
### Method 1: Using reader (Best for most articles)
```bash
# Extract article
reader "URL" > article.txt
```
**Pros:**
- Based on Mozilla's Readability algorithm
- Excellent at removing clutter
- Preserves article structure
### Method 2: Using trafilatura (Best for blogs/news)
```bash
# Extract article
trafilatura --URL "URL" --output-format txt > article.txt
# Or with more options
trafilatura --URL "URL" --output-format txt --no-comments --no-tables > article.txt
```
**Pros:**
- Very accurate extraction
- Good with various site structures
- Handles multiple languages
**Options:**
- `--no-comments`: Skip comment sections
- `--no-tables`: Skip data tables
- `--precision`: Favor precision over recall
- `--recall`: Extract more content (may include some noise)
### Method 3: Fallback (curl + basic parsing)
```bash
# Download and extract basic content
curl -s "URL" | python3 -c "
from html.parser import HTMLParser
import sys
class ArticleExtractor(HTMLParser):
def __init__(self):
super().__init__()
self.in_content = False
self.content = []
self.skip_tags = {'script', 'style', 'nav', 'header', 'footer', 'aside'}
self.current_tag = None
def handle_starttag(self, tag, attrs):
if tag not in self.skip_tags:
if tag in {'p', 'article', 'main', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6'}:
self.in_content = True
self.current_tag = tag
def handle_data(self, data):
if self.in_content and data.strip():
self.content.append(data.strip())
def get_content(self):
return '\n\n'.join(self.content)
parser = ArticleExtractor()From shrivatsas/dev-setup, MIT.
More from shrivatsas/dev-setup
- 0.512score
domain-driven-design
shrivatsas
DDD planning and review workflow for greenfield systems and brownfield codebases.
SkillCFreshness: C★ 2Claude Code +9 - 0.512score
architecture-docs
shrivatsas
Generate or update architecture documentation from repositories, product docs, infrastructure files, and code.
SkillCFreshness: C★ 2Claude Code +9 - 0.504score
codex
shrivatsas
Use OpenAI Codex CLI for complex debugging, code analysis, or when stuck on difficult problems.
SkillCFreshness: C★ 2Claude Code +9 - 0.503score
sync-dev-skills
shrivatsas
Copy the skills collection from /Users/shrivatsa/Documents/dev-setup/skills into the current repository, another repository, or an explicit skills directory.
SkillCFreshness: C★ 2Claude Code +9 - 0.493score
Condition-Based Waiting
shrivatsas
Replace arbitrary timeouts with condition polling for reliable async tests
SkillCFreshness: C★ 2Claude Code +9 - 0.493score
Gardening Skills Wiki
shrivatsas
Maintain skills wiki health - check links, naming, cross-references, and coverage
SkillCFreshness: C★ 2Claude Code +9 - 0.477score
grill-me
shrivatsas
Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree.
SkillCFreshness: C★ 2Claude Code +9
Signals
- Stars
- 2
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- May 25, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/shrivatsas/dev-setup
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
- 0.585score
article-extractor
michalparkola
Extract clean article content from URLs (blog posts, articles, tutorials) and save as readable text.
SkillFFreshness: F★ 562Claude Code +9 - 0.303score
article-extractor
ovachiever
Extract clean article content from URLs (blog posts, articles, tutorials) and save as readable text.
SkillDFreshness: D★ 55Claude Code +9 - 0.243score
article-extractor
Ocean326
Extract clean article content from URLs (blog posts, articles, tutorials) and save as readable text.
SkillDFreshness: DClaude Code +9
More from shrivatsas
- 0.512score
domain-driven-design
shrivatsas
DDD planning and review workflow for greenfield systems and brownfield codebases.
SkillCFreshness: C★ 2Claude Code +9 - 0.512score
architecture-docs
shrivatsas
Generate or update architecture documentation from repositories, product docs, infrastructure files, and code.
SkillCFreshness: C★ 2Claude Code +9 - 0.504score
codex
shrivatsas
Use OpenAI Codex CLI for complex debugging, code analysis, or when stuck on difficult problems.
SkillCFreshness: C★ 2Claude Code +9 - 0.503score
sync-dev-skills
shrivatsas
Copy the skills collection from /Users/shrivatsa/Documents/dev-setup/skills into the current repository, another repository, or an explicit skills directory.
SkillCFreshness: C★ 2Claude Code +9 - 0.493score
Condition-Based Waiting
shrivatsas
Replace arbitrary timeouts with condition polling for reliable async tests
SkillCFreshness: C★ 2Claude Code +9 - 0.493score
Gardening Skills Wiki
shrivatsas
Maintain skills wiki health - check links, naming, cross-references, and coverage
SkillCFreshness: C★ 2Claude Code +9
Cite this page
article-extractor skill. Agent Mart. https://agentmart.dev/skills/shrivatsas-article-extractor (last updated 2026-10-24)