К основному содержанию
скилл CX Codex

defuddle · agricidaniel — скилл для Claude Code: чистый Markdown из веб-страниц

Планирует извлечение через Defuddle и сохраняет уже готовые локальные файлы в хранилище. Сетевой очистки внутри нет — только план и захват.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add AgriciDaniel/claude-obsidian --skill defuddle -a claude-code
Открыть на GitHub

Что делает defuddle

Скилл работает в двух режимах. Первый — инертный план для HTTPS-ссылки: он принимает адрес, отбрасывает учётные данные, фрагменты и непубличные хосты, а затем показывает нормализованный хост, нужный сетевой выход, политику редиректов и пометку execute: false. Второй — захват уже имеющегося локального файла HTML или Markdown в inbox/ выбранного хранилища.

Сеть здесь не выполняется. Причина простая: CLI Defuddle следует за редиректами и включает асинхронное извлечение, поэтому даже разбор локального HTML может дёрнуть сторонние ресурсы. Согласие на исходный адрес не доказывает, что все конечные точки останутся одобренными. Состояние configured означает, что исполняемый файл найден, но поведенческого верификатора к нему нет — запускать его только потому, что он обнаружен, не стоит.

Захват идёт через scripts/claude-obsidian.py: сначала capture plan, потом capture apply с закреплённой меткой времени и ID операции, а для записи — с --approved-plan-sha256 и флагом --apply. Байты ложатся в хранилище .raw/captured/ только на создание, повторная идентичная полезная нагрузка ничего не меняет. Очистка HTML, проверка метаданных и сборка страниц в эту операцию не входят.

Какие задачи решает

  • очистить веб-страницу от лишнего и получить читаемый Markdown
  • составить план извлечения по ссылке без сетевого запроса
  • сохранить локальный HTML или Markdown в хранилище как есть
  • подготовить веб-источник к последующей загрузке в вики
  • проверить, какие хосты и редиректы потребует извлечение

Примеры запросов агенту

  • defuddle, почисти эту ссылку и покажи план извлечения
  • сделай читаемый Markdown из этой веб-страницы
  • сохрани локальный файл $VAULT/inbox/source.md в хранилище

Как установить defuddle

1Через Skills CLI (Vercel)

npx skills add AgriciDaniel/claude-obsidian --skill defuddle -a claude-code

2Вручную: положить файлы

~/.claude/skills/defuddle/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/defuddle/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора11

autoresearch Запускает ограниченный цикл поиска с доступом в Сеть, собирает цитируемый отчёт и предлагает слить результаты в хранилище. Нужен, когда требуется глубокое исследование с проверкой фактов. CX Codex +1 525установок save Сохраняет выбранный ответ, решение или итог сессии в хранилище Obsidian через проверенную транзакцию. Пригодится, когда нужно зафиксировать знание из диалога без ручного копирования. CX Codex +1 511установок wiki-ingest Скилл превращает присланный материал в связанные заметки Obsidian, сохраняя происхождение и отслеживая утверждения. Пригодится, когда нужно разобрать статью, файл или ссылку и разложить по хранилищу. CX Codex +1 502установок obsidian-bases Скилл помогает составлять, проверять и редактировать файлы .base в Obsidian с фильтрами, формулами и разными типами представлений. CX Codex +1 498установок wiki-query Отвечает на вопрос по выбранному хранилищу Obsidian и не меняет в нём ни одного файла. Полезен, когда источником доказательств назначена сама вики. CX Codex +1 462установок wiki-lint Прогоняет детерминированную проверку Obsidian-вики: битые ссылки, страницы-сироты, пробелы во frontmatter. Ничего не правит — только показывает. CX Codex +1 460установок canvas Создаёт и правит доски Obsidian в формате JSON Canvas: текстовые блоки, файлы, ссылки, группы и связи между узлами. Пригодится, когда нужно собрать визуальную карту хранилища. CX Codex +1 454установок wiki-fold Собирает проверяемый свод записей из Obsidian wiki/log.md и сначала показывает черновик. Подходит для ручного сжатия лога без изменения дочерних страниц. CX Codex +1 400установок

Другие версии defuddle

Похожие

llm-wiki Ar9av Скилл задаёт устройство личной вики в Obsidian: слои источников, категории, проекты и шаблон страницы. Нужен, когда решают, как хранить знания, а не когда загружают файл. CX Codex +1 4 100установок wiki-ingest Ar9av Забирает документы, папки, сырой текст и ссылки в вики Obsidian: перерабатывает их в связанные страницы и пропускает то, что уже разобрано. CX Codex +1 3 600установок paper-glossary 917Dhj Собирает глоссарий Obsidian из манифеста статьи, но сначала показывает список терминов и ждёт вашего выбора. CX Codex +1 458установок second-brain coreyhaines31 Скилл превращает папку с заметками в вики: складывает источники в raw/, компилирует их в связанные страницы и отвечает на вопросы по ним. CX Codex +1 355установок obsidian-kb-artifacts Galaxy-Dawn Скилл приводит заметки Obsidian к единому формату: вики-ссылки, таблицы реестра, canvas-файлы и починка ссылок. Маршрутизацию знаний не решает. CX Codex +1 319установок obsidian-cli kepano Скилл для работы с хранилищем Obsidian из командной строки: читать и создавать заметки, искать, править свойства, отлаживать плагины. CX Codex +1 81 000установок

Рядом в теме «Настройка агента: память, контекст, субагенты»

Все скиллы по теме «Настройка агента: память, контекст, субагенты» →

Вопросы о defuddle

Как установить defuddle в Claude?

Выполните npx skills add AgriciDaniel/claude-obsidian --skill defuddle -a claude-code. Скилл появится по пути ~/.claude/skills/defuddle/SKILL.md.

Что делает defuddle?

Строит инертный план извлечения для HTTPS-ссылки и сохраняет уже доступные локальные файлы в хранилище. Сетевую очистку он не выполняет.

Почему извлечение по ссылке не запускается?

CLI Defuddle следует за редиректами и включает асинхронное извлечение, поэтому проверка исходного адреса не гарантирует одобренные конечные точки. Ссылка остаётся в очереди до появления проверяющего адаптера.

Исходный текст

SKILL.md · MIT
---
name: defuddle
description: Plan optional Defuddle extraction and retain already available local source files through reviewed filesystem capture. Use for defuddle, clean this URL, strip page clutter, readable Markdown from a web page, or preparing a web source for later wiki ingestion. Network extraction remains unavailable until an enforcing adapter is verified.
---

# Defuddle

Treat Defuddle as an optional external extractor. This package supports inert
URL plans and filesystem capture; it does not ship an enforcing network cleaner.
Cleaning, raw capture, and wiki ingestion are separate operations.

Resolve the installed product root from this skill's own location, never from
the selected vault or process working directory:

```bash
PRODUCT_ROOT=/absolute/path/to/installed/claude-obsidian
CORE="$PRODUCT_ROOT/scripts/claude-obsidian.py"
test -f "$CORE"
```

Every `../wiki/references/` link in this file resolves the same way, relative
to this skill's own directory under `$PRODUCT_ROOT`, never relative to the
selected vault's `wiki/` directory.
Upstream flags may be checked in a separately installed `kepano/obsidian-skills`
reference, but do not override this package's privacy and transaction boundary.

## Inert URL plan

Accept HTTPS URLs only. Reject credentials, fragments, controls, sensitive query
parameters, and non-public hosts or IP addresses. Never interpolate a URL into a
shell string. Use one argv element when constructing a plan:

```bash
python3 "$CORE" capture external-plan url "HTTPS_URL"
python3 "$CORE" contracts --verify --capability defuddle --vault "$VAULT"
```

The plan executes no network request. Report the normalized host, required
network egress, redirect policy, optional dependency, and `execute: false`.
An `available` state means no executable was found. A `configured` state means
an executable was discovered without a bundled behavioral verifier. Identify
the manual executable and its reported reason; never run it merely because it
was found. Never relabel `configured` as `verified`.

## Why execution stops here

The upstream CLI inspected at commit
[`556d74e8c8fd68c49912d4b11a4ae9ec04d7b2b5`](https://github.com/kepano/defuddle/tree/556d74e8c8fd68c49912d4b11a4ae9ec04d7b2b5)
(checked 2026-10-17) follows redirects and enables asynchronous extraction.
Even parsing a local HTML file can request additional resources or third-party
fallbacks. Inspecting argv or obtaining consent for the initial URL cannot
prove that every eventual destination remains approved.

Do not execute the bare CLI against a URL or local HTML under this workflow.
Do not silently substitute a browser, fetcher, proxy, cookies, or another runner.
A future runnable adapter must enforce approved destinations after DNS and on
each redirect, disable uncontrolled async/fallback traffic, constrain proxy
behavior, and bound bytes, time, and subprocess output. It must retain original
and final locators, exact version, approved hosts, capture hash, and mode.
Behavioral tests must prove these limits before execution is offered. Consent
for each destination remains required even with an enforcing adapter.

Do not install tools or claim cleaning, extraction quality, or token savings.
Leave the URL queued, or accept an already available local file. A local file
may be retained as bytes without rendering HTML or running its scripts.

## Reviewable filesystem capture

When the user asks to retain an existing local HTML or Markdown file, place it
in the selected vault's `inbox/` first. Preview and apply the filesystem plan
with a pinned timestamp and operation ID:

```bash
python3 "$CORE" capture plan --vault "$VAULT" "$VAULT/inbox/source.md"
python3 "$CORE" capture apply --vault "$VAULT" "$VAULT/inbox/source.md" \
  --generated-at "$GENERATED_AT" --operation-id "$OPERATION_ID"
# Set APPROVAL_SHA256 to the reviewed approved_plan_sha256 from the dry run.
python3 "$CORE" capture apply --vault "$VAULT" "$VAULT/inbox/source.md" \
  --generated-at "$GENERATED_AT" --operation-id "$OPERATION_ID" \
  --approved-plan-sha256 "$APPROVAL_SHA256" --apply
```

This preserves source bytes in create-only `.raw/captured/` storage. It does not
clean HTML, verify source metadata, or synthesize pages. Inspect the actual
result and record extraction limitations. If already cleaned text is supplied,
retain its known extractor/version and locator without inventing missing fields.
Report the operation ID and exact changed paths. A repeated identical payload
is a no-op; never overwrite immutable raw state.

Use [operation-transactions.md](../wiki/references/operation-transactions.md)
for custom capture drafts. Read or analyze transiently when retention was not
requested. Invoke `wiki-ingest` only as a distinct requested operation.

© AgriciDaniel · MIT · AgriciDaniel/claude-obsidian

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой