defuddle · joeseesun — Claude Code skill: clean article text from the web
Pulls the main article text from a web page or local HTML file, drops ads, sidebars and nav, and returns Markdown with metadata.
npx skills add joeseesun/defuddle-skill --skill defuddle -a claude-codeWhat defuddle does
The skill drives the defuddle CLI and turns a page into readable Markdown. Its workflow is spelled out step by step: parse the source with -m and -j, show you a summary with title, author, domain, word count and the opening sentences, then ask where to save. After that the agent writes a Markdown file with frontmatter and reports the path.
Before the first run it checks whether defuddle is present and installs it globally alongside jsdom if not. Node.js and npm are required, since jsdom comes in as a peer dependency. A source can be a URL or a path to a local HTML file, and the -p flag pulls a single field such as title or wordCount.
The skill targets article-style pages: blogs, news, documentation. Single-page apps and sites that render content in the browser are out of scope, because those need a real browser — worth checking whether the text is in the raw HTML before you rely on it.
What it helps with
- grab an article's text from a link without ads or menus
- clean a saved HTML file into Markdown
- keep title, author and publish date alongside the body
- count words before saving a piece
- file read articles into a folder with frontmatter
Example prompts for the agent
- Extract the article at this URL and save it to
~/Documents - Clean this HTML file and show me the first sentences
- How many words are in the article at this link?
How to install defuddle
1Skills CLI (Vercel)
npx skills add joeseesun/defuddle-skill --skill defuddle -a claude-code2Manually: put the files in place
~/.claude/skills/defuddle/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/defuddle/
1Skills CLI (Vercel)
npx skills add joeseesun/defuddle-skill --skill defuddle -a codex2Manually: put the files in place
.agents/skills/defuddle/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add joeseesun/defuddle-skill --skill defuddle -a cursor2Manually: put the files in place
.cursor/skills/defuddle/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install joeseesun/defuddle-skill defuddle2Manually: put the files in place
.github/skills/defuddle/SKILL.md1Skills CLI (Vercel)
npx skills add joeseesun/defuddle-skill --skill defuddle -a gemini-cli2Platform CLI
gemini skills install https://github.com/joeseesun/defuddle-skill --path skills/defuddleManually: put the files in place
.devin/skills/defuddle/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add joeseesun/defuddle-skill --skill defuddle -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about defuddle
How do I install defuddle in Claude?
Run npx skills add joeseesun/defuddle-skill --skill defuddle -a claude-code. The skill then lives at ~/.claude/skills/defuddle/SKILL.md.
What does defuddle do?
It extracts the main article content from a web page or local HTML file, strips ads, sidebars and navigation, and returns Markdown with metadata such as title, author, publish date, domain and word count.
What does defuddle need to run?
Node.js and npm, plus jsdom as a peer dependency. If the CLI is missing, the skill installs it globally together with jsdom.
Similar skills
All skills for Browser and scraping →defuddle by other authors comes first.