Extract clean markdown content from web pages using Defuddle CLI, removing clutter and navigation to save tokens. Use instead of WebFetch when the user provides a URL to read or analyze, for online documentation, articles, blog posts, or any standard web page. Do NOT use for URLs ending in .md — those are already markdown, use WebFetch directly.
$npx -y skills add kepano/obsidian-skills --skill defuddleInstalls into the current project.
Run `npx skills use "https://github.com/kepano/obsidian-skills" --skill "kepano/obsidian-skills/defuddle"` and follow the generated skill instructions now. Read its complete output, redirecting it to a temporary file first if necessary. Resolve relative paths from the supporting-files directory it provides.
Use the skills in "https://github.com/kepano/obsidian-skills" that are relevant to the current task. Run `npx skills add "https://github.com/kepano/obsidian-skills"` and select the relevant skills, then follow their instructions.
| 1 | # Defuddle |
| 2 | |
| 3 | Use Defuddle CLI to extract clean readable content from web pages. Prefer over WebFetch for standard web pages — it removes navigation, ads, and clutter, reducing token usage. |
| 4 | |
| 5 | If not installed: `npm install -g defuddle` |
| 6 | |
| 7 | ## Usage |
| 8 | |
| 9 | Always use `--md` for markdown output: |
| 10 | |
| 11 | ```bash |
| 12 | defuddle parse <url> --md |
| 13 | ``` |
| 14 | |
| 15 | Save to file: |
| 16 | |
| 17 | ```bash |
| 18 | defuddle parse <url> --md -o content.md |
| 19 | ``` |
| 20 | |
| 21 | Extract specific metadata: |
| 22 | |
| 23 | ```bash |
| 24 | defuddle parse <url> -p title |
| 25 | defuddle parse <url> -p description |
| 26 | defuddle parse <url> -p domain |
| 27 | ``` |
| 28 | |
| 29 | ## Output formats |
| 30 | |
| 31 | | Flag | Format | |
| 32 | |------|--------| |
| 33 | | `--md` | Markdown (default choice) | |
| 34 | | `--json` | JSON with both HTML and markdown | |
| 35 | | (none) | HTML | |
| 36 | | `-p <name>` | Specific metadata property | |