How to install defuddle
npx skills add https://github.com/joeseesun/defuddle-skill --skill defuddleFull instructions (SKILL.md)
Source of truth, from joeseesun/defuddle-skill.
name: defuddle description: Extract clean article content from web pages or local HTML files. Removes clutter (ads, sidebars, nav) and returns readable content with metadata. trigger: Use when user wants to extract/clean web page content, strip clutter from HTML, get article text from a URL, or convert web pages to clean markdown. Triggers include "defuddle", "extract article", "clean this page", "get content from URL", "strip clutter", "web extract".
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
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
More from joeseesun/defuddle-skill and the wider catalog.

knowledge-site-creator
一句话生成任何领域的知识学习网站。AI自动理解主题、创作内容、生成页面、部署上线。适用于任何需要系统学习的知识领域:进化心理学、大模型术语、化学元素、历史事件等。

qiaomu-markdown-proxy
|

opencli
CLI tool to browse and interact with 20+ social/content sites using Chrome login—no credentials needed.

qiaomu-goal-meta-skill
|

qiaomu-mondo-poster-design
一句话生成大师级海报、书籍封面、专辑封面和各类设计作品。无需懂PS、配色或艺术史,AI自动选择最佳风格(基于33+位传奇设计师)。支持多平台多比例:公众号封面(21:9)、小红书配图(3:4)、文章配图(16:9)、书籍封面(9:16)、专辑封面(1:1)、电影海报(9:16)。包含AI提示词优化、风格对比、图生图转换功能。触发词:"Mondo风格"、"书籍封面设计"、"专辑封面"、"海报设计"、"读书笔记配图"、"公众号封面"、"小红书配图"、"文章配图"。One-sentence generation of master-level posters, book covers, album covers and designs. 33+ legendary designer styles with multi-platform aspect ratio support (21:9, 16:9, 3:4, 1:1, 9:16).

yt-search-download
|