SlackスレッドをMarkdownに書き出す方法
多くの会社で、いちばん質の高い思考はSlackのスレッドの中で起きています。障害のポストモーテム、デザインの議論、顧客からのフィードバック、「これ結局どうやるんだっけ」というQ&A。そしてそのまま消えていきます。検索で見つかるのは断片だけで、文脈のほうは時間とともに失われます。
その中身をMarkdownで書き出せば、Slackはチャットログから「問い合わせられるナレッジベース」に変わります。この記事では、実用的な方法をすべて取り上げます。
なぜSlackのスレッドをMarkdownにするのか
- AIアシスタントに渡せる — 「Xについて何を決めたんだっけ」に、ClaudeやChatGPTは実際のスレッドさえ渡せば答えられます。Slackの検索結果では無理です。
- ポストモーテムやインシデントレビューを残せる — 障害まわりのスレッドはエンジニアリング文化の原材料です。保持ポリシーで消えてしまうのは悲劇でしかありません。
- 意思決定のログになる — その決定に至った理由は、最終的なドキュメントよりスレッドのほうにきれいに残っているものです。
- Slackから移行するとき — Discord、Teams、Mattermost、Zulipはいずれも、Slack独自のエクスポート形式よりMarkdownのほうをうまく取り込めます。
- 消される前にチャンネルをアーカイブする — 無料プランのSlackは90日を過ぎたメッセージを削除します。先に書き出しておくことだけが唯一の復旧手段です。
方法1:Minibase Chrome拡張機能(スレッド単位)
Minibase は、開いているSlackスレッドをワンクリックできれいなMarkdownとして取り込みます。
Minibaseが取り込むもの:
- チャンネル名とワークスペースの文脈
- スレッドの親メッセージ(投稿者、タイムスタンプ、本文)
- スレッド内のすべての返信を投稿順に
- 絵文字リアクションをインラインMarkdownとして
- メンション(@user)とチャンネル参照(#channel)
- 添付ファイルとSlackのリンク展開プレビュー
- 言語判定を保ったままのコードブロック
Minibaseが取り除くもの:
- SlackのUI要素(サイドバー、検索バー、リアクションパネル)
- 在席インジケーターと入力中の通知
- Slackの未読バッジ
向いている場面: 気になるスレッドが1本だけのとき、保持期間が切れる前に素早く抜き出したいとき、特定の会話をClaudeやChatGPTに渡したいとき。
方法2:Slack公式のワークスペースエクスポート
Slackのワークスペースオーナーは、パブリックチャンネル(全プラン)、あるいはプライベートチャンネルとDM(Business+プラン)の一括エクスポートを実行できます。
場所: Workspace Settings → Import/Export Data → Export
手に入るもの:
- チャンネル別・日別のJSONが入った
.zipファイル - ユーザープロフィール一覧(
users.json) - チャンネル一覧(
channels.json) - すべてのパブリックメッセージの生JSON
自分でやる必要があること: そのJSONをMarkdownに変換する作業です。コミュニティ製のツールなら:
- slackdump — ダンプとMarkdown変換に対応し、細かいケースも面倒を見てくれます
- slack-export-viewer — エクスポートを閲覧可能なHTMLとして表示します
- 自作スクリプト — JSONの形式はきちんと文書化されています
長所: パブリックチャンネルなら全プラン無料、しかも公式。
短所: 全件ダンプ(選んで書き出せない)、無料プランでは制限あり、JSONを使えるMarkdownにするにはやはり手間がかかります。
方法3:Slack Web API
プログラムから、選択的に、定期的に書き出したいなら Slack Web API が正解です。
典型的な流れ:
channels:history、groups:history、users:readのスコープを持つSlackアプリを作成する- ワークスペースにインストールする
conversations.historyでチャンネルのメッセージを取得するconversations.repliesでスレッドの続きを取得するusers.infoでユーザーIDを表示名に解決する- Markdownとして出力する
レート制限: 無料プランではメソッドあたり毎秒1リクエスト。長いチャンネルではページネーションを見込んでおきましょう。
長所: 選択的で、スクリプト化でき、定期ジョブにもできます。
短所: Slackアプリが必要で、管理の厳しいワークスペースでは管理者の承認も要ります。
方法4:Slackの「スレッドへのリンクをコピー」+手動
Slackの Copy link to thread はURLを共有します。そのURLをMinibaseに読ませれば、自分がSlackを開いていなくてもスレッドを抽出できます。
その場かぎりの共有には、これがいちばん速い道です。自分(あるいは同僚)にスレッドのリンクを送り、抽出はMinibaseに任せ、出てきたMarkdownをノートに落とすだけ。
SlackのコンテンツをLLM向けに整える
AIアシスタントに渡す目的で書き出すなら、次の点を意識してください。
- リアクションは短いインライン表記に潰す。
[:+1: × 4]のほうが、4人を列挙するよりトークンが安く済みます。 - ユーザーIDは表示名に解決する。 ClaudeやChatGPTには
U02GABC123が誰なのか知りようがありません。 - タイムスタンプだけでなく経過時間も残す。 LLMには「3時間後」のほうが、ISO形式の時刻2つより読みやすい情報です。
- ボットの自動メッセージは削る(GitHub / Jira / Linear / Datadogのボットなど)。そのスレッドがボットの出力そのものについての話でないかぎり。
Minibaseの抽出は、このほとんどをすでに済ませています。ポストモーテムの要約、設計ドキュメントの生成、顧客フィードバックの統合のためにスレッドをClaudeへ渡す使い方に合わせて調整されています。
実務的なワークフロー
よくあるケース——「このスレッドをノートかAIの文脈に入れたい」——なら、こうなります。
- Slackでスレッドを開く
- スレッドの ⋯ メニューから
Copy link to thread - そのURLを新しいタブで開く
- ChromeのツールバーでMinibaseをクリック
- Markdownファイルがダウンロードに届く
15秒です。もう一方の道——管理画面に入り、全件エクスポートし、JSONを解析し、目当てのスレッドを探し、Markdownに描き直す——は、まったく同じ結果のための30分の回り道です。
チャンネルを丸ごと書き出すならSlackのワークスペースエクスポート+slackdump、定期的な抽出ならWeb APIを使いましょう。
Slackはナレッジベースとして設計されていません。Markdownはそう設計されています。その2つを橋渡しするのは、いまやワンクリックで済む問題です。
MinibaseはどんなウェブページもワンクリックできれいなMarkdownに変換し、AIが検索できるローカル保管庫へ直接保存します。拡張機能は保存無制限で無料。Minibase Plus(月5.99ドル/年34.99ドル)でAIテンプレート、履歴、動画の文字起こしが加わります。minibase.md。
Continue reading
Google DocsをMarkdownに書き出す方法
Google Docsを見出し・表・画像ごとクリーンなMarkdownへ。ワンクリック拡張機能、公式機能、APIの各方法を解説します。
ChatGPTの会話をMarkdownにエクスポートする方法
ChatGPTの会話をクリーンなMarkdownとして保存。プロンプトをバックアップし、会話を検索可能なアーカイブとして構築。
NotionページをMarkdownで保存する方法
NotionページをクリーンなMarkdownに変換。toggle展開、databaseはテーブル化、calloutも保持。Obsidian向けガイド。
MarkdownがAIプロンプトに最適な理由
AIプロンプトにはMarkdownを。ChatGPTやClaudeがクリーンなMarkdown入力で高い性能を発揮する理由を解説。無料変換ツールも紹介。