Web Page Cleaner
Extracts readable Markdown from cluttered web pages before knowledge-base ingestion.
The skill declares only Read and Bash and describes output to stdout or .raw/, while identifying the defuddle-cli upstream; however, Bash is broad, installation is unpinned, URL fetching creates an external data flow, and there is no user confirmation, sensitive-data warning, rollback, or recovery guidance, so points are deducted.
The install, version check, URL/HTML inputs, save commands, skip conditions, and WebFetch fallback form a coherent workflow; however, the selected skill has no tests, pinned dependency, or diagnosable handling for fetch and extraction failures. The 40–60% token-saving and extraction claims are not reproduced in the files, so points are deducted.
Triggers, use cases, skip cases, and local HTML input are reasonably clear; however, broader non-article boundaries, platform requirements, and Chinese-language or Chinese-web compatibility are unspecified, while npm and target-page access may be constrained on mainland-China networks, so points are deducted.
The document includes frontmatter, installation, verification, usage, scenarios, fallback, and wiki-ingest integration, with upstream attribution and a version note; however, it lacks skill-specific version history, changelog, maintenance ownership, upgrade path, parameter conventions, and troubleshooting detail, so points are deducted.
The skill clearly produces clean Markdown and provides directly usable stdout and save commands, giving it practical value for webpage cleaning; however, output quality depends on heuristic extraction, failure guidance is minimal, and no representative output or comparative verification is provided, so manual rework may still be required and points are deducted.
The skill provides an upstream defuddle-cli repository link, a post-install version check, and reproducible command examples; however, this review is static, the commands were not executed, and there are no skill-specific tests, sample outputs, or third-party execution records, so only limited points are justified.
- The defuddle-cli dependency is not version-pinned, creating supply-chain and behavior-drift risk.
- URL fetching sends page content through external network tooling; confirm data flow and authorization before processing sensitive or private pages.
- The shell examples do not consistently demonstrate safe URL and path escaping; complex or untrusted inputs may create command or path issues.
- Chinese-language pages, authenticated pages, dynamic applications, and mainland-China network reachability are unverified.
What does this skill do, and when should you use it?
defuddle cleans web content before it is ingested into an Obsidian knowledge base. It removes ads, cookie banners, navigation, headers, footers, related articles, and social-sharing elements while preserving the article body as Markdown. It is intended for news articles, blog posts, documentation pages, and local HTML files. Clean Markdown or PDF sources, dashboards, and app pages generally do not need it.
It runs defuddle-cli against a URL or local HTML file, extracts the meaningful article content, and writes cleaned Markdown to stdout. The output can be redirected into .raw/articles/ and supplemented with YAML frontmatter containing the source URL and fetch date. If defuddle is unavailable, the skill checks whether the command is installed and recommends WebFetch as a less-clean fallback.
- A researcher importing news articles into an Obsidian knowledge base wants to remove page chrome first.
- A personal knowledge-management user processing long blog posts or documentation wants to reduce token usage.
- A Claude Code user building a second-brain workflow needs web sources saved under .raw/ before ingestion.
- A user with a local HTML file wants to extract its readable main content.
What are this skill's strengths and limitations?
- Targets article-body extraction and removes common web-page clutter.
- Produces plain Markdown suitable for Obsidian and later ingestion.
- The source claims 40–60% token savings on typical web articles.
- Supports both URLs and local HTML, with a WebFetch fallback.
- Designed for article-style pages, not dashboards, applications, or structured data.
- Extraction quality depends on page structure and heuristic behavior; some pages may extract poorly.
- Without defuddle-cli, the direct-fetch fallback produces less-clean content.
- The source provides no separate test results or test suite for this skill.
How do you install this skill?
Install the command-line dependency with npm install -g defuddle-cli, then verify it with defuddle --version. The repository documents installation of the full collection by cloning it and running bash bin/setup-vault.sh, or installing it as a Claude Code plugin; it does not document a separate installation command for this skill directory alone.
How do you use this skill?
Clean a URL with defuddle 'https://example.com/article'. Clean local HTML with defuddle page.html. Save the result with defuddle 'https://example.com/article' > .raw/articles/article-slug-$(date +%Y-%m-%d).md. The skill recommends using it before URL ingestion. When used through /wiki-ingest, that separate ingestion skill checks for and calls defuddle automatically.