defuddle

Extract clean article content from web pages or local HTML files. Removes clutter (ads, sidebars, nav) and returns readable content with metadata.

By joeseesun · 1,226 installs

npx skills add joeseesun/defuddle-skill --skill defuddle

Source repository · Upstream listing

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