
【小ネタ】Emacs org-mode でガントチャートを直感的に表示/編集したくて、拡張を作ってみた
最近はプレイングマネージャーなど、 気持ちPM寄りの仕事が増え、簡易なWBSやガントチャートを書く機会もちらほら出てきました。
WBSやガントチャートを視覚的に、直感的に管理する (身近な) 手段としては、 Excelやスプレッドシートがよく挙げられますよね。 でも、自分は Emacs org-mode から離れられない人間なので、 なんとか org-mode 内で完結できないかと考えていました。
そこで Claude Code と相談しながら、 「 org-table でガントチャート風のものを見せる 」 マイナーモード org-table-bar-mode を作ってみました。 本ブログではそのマイナーモードの紹介と、いくつかサンプルをお見せします。

こんな感じのものを作りました
作ったもの
org-table-bar-mode は、org-table 内の [ と ] で囲んだセル範囲を 背景色ハイライトするマイナーモードです。 以下 Gist にコードをあげました。
約150行の軽量な実装です。 after-change-functions と idle timer (0.3秒) を使い、テーブルを編集すると自動で再描画されます。 専用のデータ形式やコマンドは不要で、普段どおり org-table を編集するだけでバーが表示されます。
有効化は M-x org-table-bar-mode を実行します。 また、すべての org ファイルで自動的に有効化したい場合は、 以下のように init.el 等の設定ファイルに hook を追加します。
(require 'org-table-bar)
(add-hook 'org-mode-hook #'org-table-bar-mode)
使い方
基本の記法
記法はシンプルです。 セルに [ と ] を書くと、その間がバーとしてハイライトされます。
[ を含むセルがバーの開始、 ] を含むセルがバーの終了です。 1セルで完結するイベントは [] と書きます。

基本のバー表示
セル内にテキストを添えることもできます。 開始/終了のマーカーにメモを付けておくと、補足情報を表現できます。

テキスト付きバーの表示
サフィックスによる色分け
] の直後にサフィックスを付けると色を変えられます。

サフィックスによる色分け
対応するサフィックスは以下の4種です。
| サフィックス | 色 | 想定する用途 |
|---|---|---|
]A |
赤 | 優先度高 |
]B / ] |
青 | 既定 |
]C |
緑 | 優先度低 |
]X |
灰 | その他 |
活用イメージ
実際の活用イメージをいくつかサンプルで紹介します。
マイグレーションスケジュール

マイグレーションスケジュールの例
チームスケジュール

チームスケジュールの例
開発スケジュール

開発スケジュールの例
おまけ: Mermaid変換スキル
org-table-bar で作ったガントチャートを、チームメンバーに共有したいケースもあります。 が、ほぼほぼ皆さん org-mode を使っていないので、 Mermaid Gantt 記法に変換する Claude Code スキルも作りました。
テーブルをインプットして変換を依頼すると、Mermaid のガントチャートコードブロックとして出力されます。

Mermaid ガントチャートへの変換結果
おわりに
org-table でガントチャートを表現してみました。
素朴なテキスト構造で、視覚的にガントチャートを表示/編集できる体験はとても良かったです。 Claude Code でこういった拡張が簡単に作れるようになったのは良い時代ですね。
ちなみに厳密に、ちゃんと (org-modeで) スケジュール管理をするなら、 org-mode の Effort プロパティや org-columns、DEADLINE などを組み合わせるほうが適切です。 org-mode はなんでもできて良いですね!
以上、参考になれば幸いです。







