Smaug — Twitter/Xブックマークを自動でMarkdown保存するツール

Tool

概要

Smaugは、Twitter/X上で保存したブックマークを自動でMarkdown形式のファイルにエクスポートしてアーカイブするツールです。設定に沿ってAPIからブックマークを取得し、ツイート本文やリンク、メディア情報をMarkdownに整形、カテゴリごとにファイルを分けたり、メタデータ(日時・URL・Tweet IDなど)を付与して出力します。定期実行やCI(例:cronやGitHub Actionsなど)に組み込んで自動化でき、Claudeによる補助的な分類や要約を組み合わせることで、手動での整理を減らすことも可能です。軽量なNode.js/JavaScript実装で、設定ファイルとTwitterの認証情報を用意すれば短時間で運用を開始できます。

GitHub

リポジトリの統計情報

  • スター数: 91
  • フォーク数: 10
  • ウォッチャー数: 91
  • コミット数: 5
  • ファイル数: 8
  • メインの言語: JavaScript

主な特徴

  • Twitter/Xのブックマークを定期的に取得してMarkdownファイルに自動出力
  • 出力ファイルにメタデータを付与し、カテゴリ別やタグ別の整理が可能
  • 自動化(cron / CI)に向けた実行フローとサンプルを提供
  • Claude(AI)連携のオプションで要約や分類を自動化できる拡張性

技術的なポイント

SmaugはJavaScript(Node.js)で実装されたツールで、Twitter/XのAPIを利用してユーザーのブックマークを取得し、Markdown形式に整形して保存するというシンプルな処理パイプラインが中心です。セットアップではTwitterデベロッパー向けの認証情報(APIキーやBearerトークンなど)を用意し、これを環境変数や設定ファイルに渡してAPIコールを行います。取得したデータはツイート本文、投稿日時、URL、メディアリンク、Tweet IDなどの情報を抽出してMarkdownへ変換し、YAMLフロントマターや見出しを付けて人間にも読みやすく保存します。

設定は柔軟で、エクスポートするフィールドやカテゴリ判定ルール、保存先ディレクトリ、ファイル命名規則などを変更できます。READMEの「Categories」「Configuration」セクションが用意されているため、カテゴリごとの仕分けやキーワードベースの振り分けが可能です。実行の自動化は、ローカルのcronジョブやCIツール(例:GitHub Actions)へ組み込むことを想定した設計になっており、定期的に実行して差分をコミットしていくワークフローに適しています。

また「Claude Code Integration」としてAIを組み合わせる仕組みがあり、取得したブックマークに対して自動で要約を作成したり、タグ付け・カテゴリ分類の補助を行うことができます。これにより大量のブックマークの整理負荷を下げ、検索性・可読性を高められます。運用上は、APIのレート制限や失敗時のリトライ、ログ出力による監視、保存先のバックアップ(例:Gitで履歴管理)を組み合わせると堅牢になります。コードはモジュール化されており、必要に応じて出力テンプレートのカスタマイズや他サービスへの転送(静的サイトジェネレータやノートアプリ連携)も比較的容易です。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .claude: dir
  • .gitignore: file
  • LICENSE: file
  • README.md: file
  • examples: dir

…他 3 ファイル

まとめ

Twitter/Xのブックマークを手軽にMarkdownで長期保存・整理できる実用的なツール。

リポジトリ情報:

READMEの抜粋:

Smaug 🐉

Archive your Twitter/X bookmarks to markdown. Automatically.

Like a dragon hoarding treasure, Smaug collects the valuable things you bookmark.

Contents