agentsclimarketplace

Defuddle

Skill pantheon-org/tekhne/skills/documentation/obsidian/defuddle

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.From its SKILL.md

Install
npx -y skills add pantheon-org/tekhne --skill defuddle

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 9 stars9 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

4.4 KB, ~1.0k tokens by cl100k_base, as published. Nobody here has run it

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

Mindset

Defuddle is a server-side HTML stripper, not a browser. Think of it as getting the printed article without the magazine wrapper — it fetches raw HTML and removes boilerplate, always faster and cheaper than WebFetch for standard pages.

When to apply: Any standard HTTP page — documentation, articles, blog posts, wikis. When NOT to apply: SPAs requiring JavaScript, login-gated pages, JSON API endpoints, or pages behind auth redirects.

When in doubt, try defuddle first; if the output is empty or navigation-only, fall back to WebFetch.

Quick Start

  1. Confirm the URL is a standard web page (not a SPA or auth-required page)
  2. Run defuddle parse <url> --md to extract clean markdown
  3. If output is empty or only navigation text, fall back to WebFetch
  4. Save output with -o file.md when persistence is needed

When to Use

Use this decision framework before fetching any URL:

ScenarioToolReason
Article, blog post, documentation pagedefuddle (ALWAYS)Removes clutter, saves tokens
Standard web page with readable textdefuddle (ALWAYS)Cleaner output than WebFetch
JavaScript-heavy SPA (React/Vue app shell)WebFetch or inform userdefuddle cannot execute JS
Login-gated or auth-required pageWebFetch or inform userdefuddle fetches without credentials
API endpoint returning JSONDirect fetch or inform userdefuddle is for HTML pages
User asks for metadata only (title, description)defuddle parse <url> -p <field>Lightweight extraction

Mental model: defuddle is a server-side HTML parser — it downloads the HTML, strips boilerplate, and returns clean prose. It cannot authenticate, execute JavaScript, or follow redirects that require cookies. When in doubt about a URL, try defuddle first; if the output is empty or only navigation text, fall back to WebFetch.

Usage

ALWAYS use --md for markdown output:

defuddle parse <url> --md

Save to file:

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

Extract specific metadata:

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

Output formats

FlagFormat
--mdMarkdown (default choice)
--jsonJSON with both HTML and markdown
(none)HTML
-p <name>Specific metadata property

Common Mistakes

See ANTI-PATTERNS.md for full explanations of each mistake.

1. Using WebFetch when defuddle is available

NEVER use WebFetch for standard web pages when defuddle is available. Raw HTML commonly contains 5-10x more tokens than the extracted content.

BAD:

WebFetch("https://docs.example.com/guide")

GOOD:

defuddle parse https://docs.example.com/guide --md

2. Omitting the --md flag

NEVER call defuddle parse without --md when readable content is the goal. Without it, defuddle returns raw HTML — tag-heavy and token-wasteful.

BAD:

defuddle parse https://example.com/article

GOOD:

defuddle parse https://example.com/article --md

3. Using -p when full content is needed

NEVER use -p when the user wants the page body. It returns one metadata property and silently discards the entire body text.

BAD:

defuddle parse https://example.com/article -p title

GOOD:

defuddle parse https://example.com/article --md

4. Using shell redirection instead of -o

NEVER use > to save output — it can corrupt encoding on non-UTF-8 terminals. Always use -o.

BAD:

defuddle parse https://example.com/article --md > output.md

GOOD:

defuddle parse https://example.com/article --md -o output.md

References

What ships with it: 5 files

8.2 KB alongside SKILL.md

references/

Keep looking

Skills are one crate of 326,782. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.