【小ネタ】Emacs org-mode でガントチャートを直感的に表示/編集したくて、拡張を作ってみた

【小ネタ】Emacs org-mode でガントチャートを直感的に表示/編集したくて、拡張を作ってみた

Emacs org-mode を手放せない身として、org-modeでガントチャート管理ができないかと考え、org-table-bar-mode というマイナーモードを作ってみました。使い方、活用例を紹介します。
2026.07.07

最近はプレイングマネージャーなど、 気持ちPM寄りの仕事が増え、簡易なWBSやガントチャートを書く機会もちらほら出てきました。

WBSやガントチャートを視覚的に、直感的に管理する (身近な) 手段としては、 Excelやスプレッドシートがよく挙げられますよね。 でも、自分は Emacs org-mode から離れられない人間なので、 なんとか org-mode 内で完結できないかと考えていました。

そこで Claude Code と相談しながら、 「 org-table でガントチャート風のものを見せる 」 マイナーモード org-table-bar-mode を作ってみました。 本ブログではそのマイナーモードの紹介と、いくつかサンプルをお見せします。

sc-2026-07-07_15-23454
こんな感じのものを作りました

作ったもの

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 を追加します。

init.el
(require 'org-table-bar)
(add-hook 'org-mode-hook #'org-table-bar-mode)

使い方

基本の記法

記法はシンプルです。 セルに [] を書くと、その間がバーとしてハイライトされます。

[ を含むセルがバーの開始、 ] を含むセルがバーの終了です。 1セルで完結するイベントは [] と書きます。

sc-2026-07-07_15-21389
基本のバー表示

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

sc-2026-07-07_15-28067
テキスト付きバーの表示

サフィックスによる色分け

] の直後にサフィックスを付けると色を変えられます。

sc-2026-07-07_15-23024
サフィックスによる色分け

対応するサフィックスは以下の4種です。

サフィックス 想定する用途
]A 優先度高
]B / ] 既定
]C 優先度低
]X その他

活用イメージ

実際の活用イメージをいくつかサンプルで紹介します。

マイグレーションスケジュール

sc-2026-07-07_15-27038
マイグレーションスケジュールの例

チームスケジュール

sc-2026-07-07_15-1042
チームスケジュールの例

開発スケジュール

sc-2026-07-07_15-23454
開発スケジュールの例

おまけ: Mermaid変換スキル

org-table-bar で作ったガントチャートを、チームメンバーに共有したいケースもあります。 が、ほぼほぼ皆さん org-mode を使っていないので、 Mermaid Gantt 記法に変換する Claude Code スキルも作りました。

テーブルをインプットして変換を依頼すると、Mermaid のガントチャートコードブロックとして出力されます。

sc-2026-07-07_15-10512
Mermaid ガントチャートへの変換結果

おわりに

org-table でガントチャートを表現してみました。

素朴なテキスト構造で、視覚的にガントチャートを表示/編集できる体験はとても良かったです。 Claude Code でこういった拡張が簡単に作れるようになったのは良い時代ですね。

ちなみに厳密に、ちゃんと (org-modeで) スケジュール管理をするなら、 org-mode の Effort プロパティや org-columns、DEADLINE などを組み合わせるほうが適切です。 org-mode はなんでもできて良いですね!

以上、参考になれば幸いです。

この記事をシェアする

関連記事