> **defuddle** — skill 1 of 6 in [kepano/obsidian-skills](https://skillsdocs.com/kepano/obsidian-skills).
>
> Book (all skills, one file): https://skillsdocs.com/kepano/obsidian-skills.md
> Machine manifest: https://skillsdocs.com/kepano/obsidian-skills/.well-known/agent-skills/index.json
> Install the book: `npx skills add kepano/obsidian-skills`
> Upstream: https://github.com/kepano/obsidian-skills/blob/main/skills/defuddle/SKILL.md @ `main`
> Raw bytes, no header: https://raw.githubusercontent.com/kepano/obsidian-skills/main/skills/defuddle/SKILL.md
> Base for relative paths: https://raw.githubusercontent.com/kepano/obsidian-skills/main/skills/defuddle/
> Licence: MIT — https://spdx.org/licenses/MIT.html
>
> Content © its authors, served unmodified. Takedown: https://github.com/DreambaseAI/skillsdocs/issues/new?labels=takedown&title=Takedown+request

<!-- Verbatim upstream SKILL.md follows, YAML frontmatter included. -->

---
name: defuddle
description: Extract clean Markdown from HTML pages with Defuddle CLI.
---

# Defuddle

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.

If not installed: `npm install -g defuddle`

## Usage

Always use `--md` for markdown output:

```bash
defuddle parse <url> --md
```

Save to file:

```bash
defuddle parse <url> --md -o content.md
```

Extract specific metadata:

```bash
defuddle parse <url> -p title
defuddle parse <url> -p description
defuddle parse <url> -p domain
```

## Output formats

| Flag | Format |
|------|--------|
| `--md` | Markdown (default choice) |
| `--json` | JSON with both HTML and markdown |
| (none) | HTML |
| `-p <name>` | Specific metadata property |
