agentleFS
AndyMelnykovAndyMelnykov/obsidian-claude/skills/defuddle/SKILL.md

defuddle

Skill2 starsChanged 3 months agoMITView on GitHub

With explicit network consent, fetch one HTTPS article-like page through an external Defuddle-style extractor and clean it into Markdown, then optionally file it as a plain vault note via the same rules as capture. Use for defuddle, clean this URL, strip page clutter, readable Markdown from a web page, or preparing a web source before capturing it. Requires an external extractor the user provides/configures — this skill never installs one.

66 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use results-report, knap and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • Galaxy-DawnSkill

    results-report

    This skill should be used when the user asks to "write an experiment report", "summarize experimental results", "do experiment retrospection", "write a results report", "写实验总结报告", "写实验复盘", or mentions turning completed experiment artifacts into a structured, decision-oriented research report. It assumes strict analysis should come from `results-analysis` first.

    Also in 3 projects that use this

  • lucasmaher-hashSkill

    knap

    Render Markdown from templates and structured data using Knap CLI. Use when the user asks to apply a Knap template, turn JSON or CSV data into notes, batch-generate Markdown files, or format Defuddle output into a note.

    Also in 4 projects that use this

  • Clay-HHKSkill

    daily-coding

    Daily coding assistant that auto-triggers when writing/modifying code, providing a core checklist.

    Also in 3 projects that use this

  • Clay-HHKSkill

    kaggle-learner

    This skill should be used when the user asks to "learn from Kaggle", "study Kaggle solutions", "analyze Kaggle competitions", or mentions Kaggle competition URLs. Provides access to extracted knowledge from winning Kaggle solutions across NLP, CV, time series, tabular, and multimodal domains.

    Also in 3 projects that use this

  • kharlamenkodevSkill

    bug-detective

    Also in 3 projects that use this

  • az9713Skill

    vault-health

    Audit vault health: unresolved links, orphan notes, dead-end files, missing frontmatter, structural gaps. Produces an actionable report note with prioritized fix suggestions. Use when wanting to clean up, organize, or assess the current state of the vault.

    Also in 3 projects that use this

  • +2 more from Clay-HHK

The file

We split this skill into the rules it gives an agent

11 rules. 0 are common, 6 are distinctive, and 5 are very specific to this project.

  • 0

    Common

    Most of the 60 edited versions we read keep these.

  • 6

    Distinctive

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Treat Defuddle as an optional external extractor the host environment provides — this skill never installs one, executes a placeholder, or …

    line 13
  2. Distinctive:

    Never interpolate the URL into a shell string — pass it as a single argv element to the extractor.

    line 24
  3. Distinctive:

    Treat a redirect to a different host as denied until that host is explicitly approved.

    line 26
  4. Distinctive:

    Do not claim a fixed token reduction or extraction quality — inspect the actual output.

    line 31
  5. Very specific:

    Check whether an external Defuddle-style extractor is available (e.g.

    line 40
  6. Very specific:

    Not found: stop here. Offer honest fallbacks: the user installs/configures one, pastes the page content directly for capture to use …

    line 43
  7. Very specific:

    If the user wants the cleaned page kept, file it the same way capture would — read the note format and vault layout reference and follow …

    line 71
  8. Distinctive:

    Write the note using the current template's roles: source (the HTTPS URL), content holding the cleaned page's key points or a short excerpt …

    line 84
  9. Distinctive:

    Keep the original cleaned Markdown available in the conversation in case the user wants more of it.

    line 88
  10. Very specific:

    If the note landed in notes/<topic>/, update the index for that topic.

    line 91
  11. Very specific:

    No transaction bundle, no ledger, no .raw/ payload store.

    line 97

“Common” is measured: kept by at least 6 in 10 of the 60 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Defuddle: fetch and clean a web page

Defuddle is a fetch-and-clean step, not a filing step. Cleaning a page and filing it as a note are separate operations, each requiring its own consent — this skill does the first and, only when asked, hands off to the same note-writing rules capture uses for the second.

Treat Defuddle as an optional external extractor the host environment provides — this skill never installs one, executes a placeholder, or silently substitutes another fetcher.

Safety contract

  • Accept remote input only as an HTTPS URL.
  • Reject: credentials embedded in the URL, URL fragments used as a smuggling vector, private/local hosts (localhost, loopback, link-local, RFC1918 ranges, etc.), non-public IP literals, control characters, and sensitive query parameters (tokens, keys, session ids).
  • Never interpolate the URL into a shell string — pass it as a single argv element to the extractor.
  • Treat a redirect to a different host as denied until that host is explicitly approved.
  • State plainly that the URL and request metadata will leave the machine. Do not fetch without explicit consent in the current request (or a separate confirmation the user already gave for this URL).
  • Do not claim a fixed token reduction or extraction quality — inspect the actual output.

Plan before fetching

Validate the URL against the safety contract above yourself — there's no script to run this for you. Report the normalized host, what leaves the machine, the redirect policy, and that no network call has happened yet.

Check whether an external Defuddle-style extractor is available (e.g. command -v defuddle, or ask the user). Three outcomes:

  • Not found: stop here. Offer honest fallbacks: the user installs/configures one, pastes the page content directly for capture to use instead, or leaves the URL for later.
  • Found, unreviewed: this skill has no bundled verifier for a discovered executable. Show its resolved path and require the user to confirm its provenance and version before the first use — never silently trust a command -v hit.
  • Found and already reviewed this session: continue.

Fetch after consent

Invoke the reviewed executable with an argv equivalent to:

defuddle parse HTTPS_URL --md

Fail closed on: non-zero exit, empty output, unexpected binary output, an unapproved redirect, or a response that's clearly an auth/error page. Preserve headings, links, code fences, tables, and quotations exactly — never invent missing content.

Preview the cleaned Markdown and report extraction limitations. If the user only wanted to read or analyze it, stop here — the result stays transient, nothing is written.

File as a note (optional, separate consent)

If the user wants the cleaned page kept, file it the same way capture would — read the note format and vault layout reference and follow its rules:

  1. Derive a title and slug from the page; check the whole vault for a filename collision before writing (never silently overwrite).
  2. Decide the destination — projects/<slug>/, notes/<topic>/, or inbox/ — per folder placement, checking indexes/ before creating a new notes/ topic folder and asking the user if it's genuinely ambiguous between project and general note.
  3. Write the note using the current template's roles: source (the HTTPS URL), content holding the cleaned page's key points or a short excerpt — not the full cleaned page verbatim unless it's already short — and connections if anything is genuinely related. Keep the original cleaned Markdown available in the conversation in case the user wants more of it; don't dump the entire page into the vault by default.
  4. If the note landed in notes/<topic>/, update the index for that topic.
  5. Report the note's path, the index updated (if any), and any links added.

No transaction bundle, no ledger, no .raw/ payload store. This skill never marks anything as canonical or ingested on its own.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.