
Defuddle
- 1.2k installs
- 107 repo stars
- Updated March 3, 2026
- joeseesun/defuddle-skill
defuddle provides documented workflows for Extract clean article content from web pages or local HTML files. Removes clutter (ads, sidebars, nav) and returns readable content with metadata.
About
The defuddle skill extract clean article content from web pages or local HTML files Removes clutter ads sidebars nav and returns readable content with metadata Defuddle Web Content Extraction Extract main article content from web pages removing ads sidebars navigation and other clutter Output clean Markdown with metadata Documents Desktop or a custom path Remember the user's chosen directory for subsequent uses in the same conversation Step 4 Save as Markdown file Write the file with frontmatter full content markdown title title author author source url date published or Unknown clipped today's date YYYY-MM-DD wordCount wordCount title markdown content File naming Use the article title as filename sanitized for filesystem Replace special characters with spaces Trim whitespace Example The Shape of the Essay Field md Step 5 Confirm to user Tell the user the file path where it was saved CLI Reference bash defuddle parse source options Arguments source URL https or local HTML file path Options Flag Description m markdown Convert content to Markdown j json Output as JSON
- **Title**: from JSON `title` field
- **Author**: from JSON `author` field
- **Source**: domain
- **Word count**: from JSON `wordCount` field
- A brief preview (first 2-3 sentences)
Defuddle by the numbers
- 1,157 all-time installs (skills.sh)
- +10 installs in the week ending Aug 4, 2026 (Skillselion tracking)
- Ranked #238 of 1,879 Documentation skills by installs in the Skillselion catalog
- Security screen: MEDIUM risk (skills.sh audit)
- Data as of Aug 4, 2026 (Skillselion catalog sync)
defuddle capabilities & compatibility
- Capabilities
- **title**: from json `title` field · **author**: from json `author` field · **source**: domain · **word count**: from json `wordcount` field · a brief preview (first 2 3 sentences)
- Use cases
- documentation
What defuddle says it does
# Defuddle - Web Content Extraction Extract main article content from web pages, removing ads, sidebars, navigation, and other clutter.
Output clean Markdown with metadata.
npx skills add https://github.com/joeseesun/defuddle-skill --skill defuddleAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 1.2k |
|---|---|
| repo stars | ★ 107 |
| Security audit | 1 / 3 scanners passed |
| Last updated | March 3, 2026 |
| Repository | joeseesun/defuddle-skill ↗ |
How do I use defuddle for the task described in its SKILL.md triggers?
Extract clean article content from web pages or local HTML files. Removes clutter (ads, sidebars, nav) and returns readable content with metadata.
Who is it for?
Teams invoking defuddle when the user request matches documented triggers and prerequisites.
Skip if: Skip when cached docs are missing, the request is a negative trigger, or another sibling skill owns the workflow.
When should I use this skill?
Extract clean article content from web pages or local HTML files. Removes clutter (ads, sidebars, nav) and returns readable content with metadata.
What you get
Step-by-step guidance grounded in defuddle documentation and reference files.
- Clean Markdown article
- Extracted page metadata
By the numbers
- Lists 6 trigger phrases including defuddle, extract article, clean this page, and strip clutter
Files
Defuddle - Web Content Extraction
Extract main article content from web pages, removing ads, sidebars, navigation, and other clutter. Output clean Markdown with metadata.
Prerequisites
Before first use, check if defuddle is installed:
command -v defuddle >/dev/null 2>&1 || npm install -g defuddle jsdomDefault Workflow
When user provides a URL, follow this workflow:
Step 1: Extract content as Markdown + JSON metadata
Always use both -m and -j flags to get markdown content with full metadata:
defuddle parse "<url>" -m -jStep 2: Present a summary to the user
Show the user:
- Title: from JSON
titlefield - Author: from JSON
authorfield - Source: domain
- Word count: from JSON
wordCountfield - A brief preview (first 2-3 sentences)
Step 3: Ask where to save
If this is the first time using defuddle in this conversation, ask the user:
"Save to which directory? (e.g.~/Documents,~/Desktop, or a custom path)"
Remember the user's chosen directory for subsequent uses in the same conversation.
Step 4: Save as Markdown file
Write the file with frontmatter + full content:
---
title: {title}
author: {author}
source: {url}
date: {published or "Unknown"}
clipped: {today's date YYYY-MM-DD}
wordCount: {wordCount}
---
# {title}
{markdown content}File naming: Use the article title as filename, sanitized for filesystem:
- Replace special characters with spaces
- Trim whitespace
- Example:
The Shape of the Essay Field.md
Step 5: Confirm to user
Tell the user the file path where it was saved.
CLI Reference
defuddle parse <source> [options]Arguments:
<source>— URL (https://...) or local HTML file path
Options:
| Flag | Description |
|---|---|
-m, --markdown | Convert content to Markdown |
-j, --json | Output as JSON with full metadata |
-o, --output <file> | Write to file instead of stdout |
-p, --property <name> | Extract single property (title, description, domain, author, published, wordCount, content) |
--debug | Verbose logging |
JSON Response Fields
When using -j, the response includes:
title— Article titleauthor— Author namepublished— Publication datedescription— Meta descriptioncontent— Extracted Markdown (when-mused)domain— Source domainfavicon— Favicon URLimage— Featured image URLsite— Site namewordCount— Word countparseTime— Processing time in ms
Notes
- Requires Node.js and npm
jsdomis required as a peer dependency- Works best with article-style pages (blogs, news, documentation)
- Not designed for SPAs or JavaScript-heavy pages (e.g. WeChat articles need browser rendering)
Related skills
How it compares
Pick defuddle over raw curl or BeautifulSoup snippets when the goal is article-grade Markdown with metadata, not custom DOM selectors.
FAQ
What does defuddle do?
Extract clean article content from web pages or local HTML files. Removes clutter (ads, sidebars, nav) and returns readable content with metadata.
When should I use defuddle?
Extract clean article content from web pages or local HTML files. Removes clutter (ads, sidebars, nav) and returns readable content with metadata.
What are common prerequisites?
--- name: defuddle description: Extract clean article content from web pages or local HTML files.
Is Defuddle safe to install?
skills.sh reports 1 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.