Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
joeseesun avatar

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)
At a glance

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
From the docs

What defuddle says it does

# Defuddle - Web Content Extraction Extract main article content from web pages, removing ads, sidebars, navigation, and other clutter.
SKILL.md
Output clean Markdown with metadata.
SKILL.md
npx skills add https://github.com/joeseesun/defuddle-skill --skill defuddle

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1.2k
repo stars107
Security audit1 / 3 scanners passed
Last updatedMarch 3, 2026
Repositoryjoeseesun/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

SKILL.mdMarkdownGitHub ↗

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 jsdom

Default 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 -j

Step 2: Present a summary to the user

Show the user:

  • 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)

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:

FlagDescription
-m, --markdownConvert content to Markdown
-j, --jsonOutput 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)
--debugVerbose logging

JSON Response Fields

When using -j, the response includes:

  • title — Article title
  • author — Author name
  • published — Publication date
  • description — Meta description
  • content — Extracted Markdown (when -m used)
  • domain — Source domain
  • favicon — Favicon URL
  • image — Featured image URL
  • site — Site name
  • wordCount — Word count
  • parseTime — Processing time in ms

Notes

  • Requires Node.js and npm
  • jsdom is 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.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.