mcpField
D
defuddle

defuddle

github.com/joeseesun生産性1121.3k 回インストール34 週間前に更新
リポジトリ

defuddle について

defuddle は、記事形式のページから本文を抽出し、メタデータ付きの Markdown にするスキルです。記事情報の提示から Markdown ファイルへの保存まで、エージェントの手順を定めています。

主な機能

  1. 01記事本文を Markdown で抽出
  2. 02記事メタデータを JSON で取得
  3. 03タイトル、著者、出典、語数を表示
  4. 04frontmatter 付き Markdown ファイルに保存
  5. 05URL またはローカル HTML ファイルに対応

活用シーン

  1. 01ブログやニュース記事のクリップ
  2. 02ウェブページからドキュメントを抽出
  3. 03出典と公開日を添えて記事を保存

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/joeseesun/defuddle-skill --skill defuddle

インストール後、Claude Code で/defuddleを入力して読み込まれたか確認します。

詳細

Defuddle - Web コンテンツ抽出

広告、サイドバー、ナビゲーションなどの不要な要素を取り除き、Web ページから記事の本文を抽出します。メタデータ付きのクリーンな Markdown を出力します。

前提条件

初めて使用する前に、defuddle がインストールされているか確認してください。

command -v defuddle >/dev/null 2>&1 || npm install -g defuddle jsdom

デフォルトのワークフロー

ユーザーから URL が提供されたら、次のワークフローに従います。

ステップ 1:コンテンツを Markdown と JSON メタデータとして抽出する

完全なメタデータ付きの Markdown コンテンツを取得するため、必ず -m と -j の両方のフラグを使用します。

defuddle parse "<url>" -m -j
ステップ 2:ユーザーに概要を提示する

ユーザーに次の情報を示します。

  • タイトル:JSON の title フィールドから取得
  • 著者:JSON の author フィールドから取得
  • ソース:ドメイン
  • 単語数:JSON の wordCount フィールドから取得
  • 簡単なプレビュー(最初の 2〜3 文)
ステップ 3:保存先を尋ねる

この会話で defuddle を初めて使用する場合は、ユーザーに次のように尋ねます。

"どのディレクトリに保存しますか?(例:~/Documents、~/Desktop、または任意のパス)"

同じ会話で次回以降に使用するため、ユーザーが選んだディレクトリを記憶します。

ステップ 4:Markdown ファイルとして保存する

フロントマターとコンテンツ全体を含めてファイルを書き込みます。

---
title: {title}
author: {author}
source: {url}
date: {published or "Unknown"}
clipped: {today's date YYYY-MM-DD}
wordCount: {wordCount}
---

# {title}

{markdown content}

ファイル名:記事タイトルをファイル名として使用し、ファイルシステムで使えるように整形します。

  • 特殊文字をスペースに置き換える
  • 前後の空白を削除する
  • 例:The Shape of the Essay Field.md
ステップ 5:ユーザーに確認する

ファイルの保存先パスをユーザーに伝えます。

CLI リファレンス

defuddle parse <source> [options]

引数:

  • <source> — URL(https://...)またはローカルの HTML ファイルパス

オプション:

フラグ説明
-m, --markdownコンテンツを Markdown に変換
-j, --json完全なメタデータを含む JSON として出力
-o, --output <file>標準出力ではなくファイルに書き込む
-p, --property <name>単一のプロパティ(title、description、domain、author、published、wordCount、content)を抽出
--debug詳細なログを出力

JSON レスポンスのフィールド

-j を使用すると、レスポンスには次の項目が含まれます。

  • title — 記事タイトル
  • author — 著者名
  • published — 公開日
  • description — メタディスクリプション
  • content — 抽出された Markdown(-m を使用した場合)
  • domain — ソースのドメイン
  • favicon — ファビコンの URL
  • image — メイン画像の URL
  • site — サイト名
  • wordCount — 単語数
  • parseTime — 処理時間(ミリ秒)

注意事項

  • Node.js と npm が必要です
  • ピア依存関係として jsdom が必要です
  • 記事形式のページ(ブログ、ニュース、ドキュメント)で最適に動作します
  • SPA や JavaScript を多用するページ(例:WeChat の記事にはブラウザーでのレンダリングが必要です)向けには設計されていません

コメント