チュートリアル

操作マニュアル の、LLM 連携の流れです。スキルで JSON を作り、アプリで開いて一部を直し、MCP で画面の状態を読んで JSON を直し、ファイルを取り込み直す、という順で進みます。途中の章だけ読んでも構いません。画面の細かい操作は 全機能 を参照してください。

スキルを置く

スケジュール JSON・メンバー JSON・カレンダー JSON は、リポジトリにあるスキルを LLM に渡して作ります。スキルは、手順書と検証スクリプトをまとめたフォルダです。

設定の「JSON作成スキルを置く」欄。置く先と範囲の選択が見える

デスクトップ版の設定「JSON作成スキルを置く」で、Cursor、Claude Code、GitHub Copilot のうち置く先を選び、ユーザー全体か指定したフォルダかを選び、write-schedule、write-members、write-calendar、write-workspace の 4 つをまとめて置けます。GitHub Copilot はユーザー全体なら ~/.copilot/skills/、チームで残すなら指定したフォルダの .github/skills/ です。手で .cursor/skills/ などへコピーして使うこともできます。

上書きの確認、外す、シンボリックリンクのときの扱いは 全機能の「設定」 にあります。

メンバーを取り込む

メンバー JSON は write-members スキルで LLM に作らせます。書くのは渡した ID と表示名だけで、ID は名前から推測しません。

設定の「メンバー」欄。取り込みと、カタログが無いときの表示

できた JSON は、設定の「メンバー」で取り込みます。使うカタログを 1 つ選ぶと、タスクの担当者 ID が名前で表示されます。write-schedule に渡すプロンプトには、使う担当の ID 一覧も書きます。担当が「メンバー不明」になるときの直し方は 全機能の「困ったとき」 にあります。

休日の塗りだけを変えたいときは、write-calendar でカレンダー JSON を作り、設定の「稼働日」で取り込みます。タスクの日付の計算は変わりません。詳細は 全機能の「設定」 にあります。

スケジュールを作って開く

スケジュール JSON は write-schedule スキルで作ります。担当を付けるタスクには、メンバー JSON にある ID だけを使います。ID の一覧を渡していないとき、確度が入力から分からないときは、スキルは JSON を書かず、足りない項目を返します。日付や担当を推測しません。

次のような文を LLM に渡し、角括弧の中を自分の値に置き換えます。

write-schedule スキルに従い、schedule-viewer 用のスケジュール JSON を1ファイルで作ってください。

- プロジェクトの title: (例: 〇〇プロジェクト)
- カテゴリ、グループ、タスクの階層と並び: (WBS の構造を書く)
- 各タスク: name、start、end、confidence(日付を合意したなら committed、まだなら tentative)、assigneeId(未割当は null)、status、progress、predecessors(先行タスクの id。無ければ空)
- 担当者 ID の一覧(assigneeId に使ってよい id だけ): (メンバー JSON の id を列挙)
- マイルストン(あれば): name、date、confidence、groupId

検証スクリプトを通してからファイルを渡してください。

スキルは書いたあとに同梱の検証スクリプトで中身を確かめます。形式の詳細は データ仕様 にあります。

できたファイルを、アプリの ☰ の「開く」で読み込みます。開き方は 全機能 と はじめに にあります。

スケジュール、メンバー、カレンダーを同じフォルダに置いてまとめて開くときは、write-workspace で workspace.json を作ります。write-schedule にその設定ファイルのパスを渡せば、アプリを起動しなくても schedule の相対パス先へ書けます。members があるときは、そのファイルの id を担当の一覧に使います。アプリの ☰ の「設定ファイルを新しいフォルダへ書き出す」は、今の画面の写しを空のフォルダへ作る操作であり、開いている設定ファイルは更新しません。

左の一覧、上のツールバー、右のチャート、下の状態バーが並ぶ画面全体(サンプルと同じレイアウトの見本)

画面で一部を直す

チャートのバーをドラッグして期間を動かすか、タスクを選んで詳細パネルで日付や進捗を直します。

タスクを選んで開いた詳細パネル。先行、対応マイルストン、タグの欄が見える

このあと MCP の schedule_diff で画面とファイルの違いを読むので、まだ「保存」は押さなくて構いません。編集の詳細は 全機能の「編集する」 にあります。

MCP で一部だけ直す

差分のコピーは、人がテキストを LLM に渡す方法です。MCP は、開いているデスクトップ版の前面ウィンドウを LLM が読み、チャットからの更新を未保存として置き換える方法です。ファイルには自動では書きません。保存するか、取り消すか、手直しするかは人が決めます。

設定の「画面の状態を渡す」欄。mcp.json への登録と MCP を使えないときのスキル置きが見える

設定の「画面の状態を渡す」で mcp.json に貼る JSON をコピーし、Cursor または Claude の mcp.json へ貼ります。スケジュールのウィンドウを開いたまま、クライアントが同じバイナリを --mcp で起動します。設定からプロセスは起動しません。MCP を使えない環境では、同じ欄の「MCP を使えないときに渡す」で read-screen スキルを置きます。登録とスキル置きは別の操作です。登録の細部は 全機能の「設定」 にあります。

読み取りは次の 6 つで、必要なものだけ呼べます。まとめて呼ぶ必要はありません。更新は replace_schedule です。

ツール名 渡す内容
open_windows 開いているウィンドウ一覧(ファイル名と親フォルダ名。絶対パスは含みません)
schedule_diff 今の画面と開いているファイルとの差分テキスト(「差分を表示」と同じ内容)
baseline_diffs 最後に開いた・保存した・読み直した起点と、画面とファイルの差分と、変わった id ごとの分類
selected_task 選択がちょうど1件のときのタスク。選択が無いときと2件以上のときは null。選択数が不明なときは selected_tasks を使う
selected_tasks 編集の選択をタスクの配列で返す。選択が1件でも配列である。選択が無いときは空の配列。選択数が不明なときはこのツールを使う
filtered_tasks オンになっている絞り込み条件と、それで残るタスク
replace_schedule デスクトップ版が起動しているとき、開いているスケジュールの更新用。スケジュール JSON 全体で前面の未保存を置き換える。成功時は差分テキストだけ返す。新しいファイルの作成には使わない

引数を省略した読み取りは前面のウィンドウです。別のウィンドウを読むときは open_windows で一覧を取り、window に label を渡します。置き換えは前面だけです。スケジュールのウィンドウが開いていないときは渡せません。ブラウザ版には「画面の状態を渡す」欄はありません。

チャットで起動中のスケジュールを更新するときは、baseline_diffs で衝突が無いことを確かめ、JSON の形は write-schedule の出力形に従って全体を組み立て、replace_schedule で未保存を置き換えます。ファイルは書きません。戻った差分を見て、よければそのまま未保存のままにし、違えば ⌘/Ctrl+Z で取り消すか、画面を手直しします。保存はこの手順ではしません。

schedule-viewer の MCP で baseline_diffs、selected_tasks、filtered_tasks を読み、衝突が無ければ write-schedule の出力形に従ってスケジュール全体を組み立て、replace_schedule で前面の未保存を置き換えてください。ファイルは書きません。戻った差分を見て、更新内容を説明してください。保存はしません。

取り込み直す

JSON をファイルに書き直したあとは、画面へ反映します。MCP の replace_schedule で置き換えただけでは、ディスク上のファイルは変わりません。読み直しでチャットの更新が入ることはありません。

デスクトップ版で、未保存の画面編集が残っているときは、別のプログラムがファイルを書き換えると「ファイルが更新されています」が開きます。あとから同じ確認へ戻るときは、状態バーの「ファイルに更新あり — 確認する」を使います。一覧では画面の変更とファイルの変更が分かれて見えます。画面とファイルが別の箇所だけを変えていて衝突が無いときは「両方を画面へ反映」を選び、保存でファイルへ書きます。同じ箇所がぶつかっているときは「依頼文をコピー」で文をチャットへ貼り、チャットが baseline_diffs を読んでどちらを採るか聞いてからファイルへ書き、未保存が無ければ画面へ反映されます。未保存が無いときにスキルが同じファイルを書き換えたときは、内容に問題が無ければ画面へ反映され、隅に「ファイルを反映しました」と数秒出ます。

ブラウザ版では、☰ の「開く」で同じファイルを選び直します。

手順の詳細は 全機能の「ほかのプログラムがファイルを書き換えたとき」 にあります。

MCP を使わず差分を渡す

MCP を置いていないときは、☰ の「差分を表示」か、状態バーの「未保存」で、開いているファイルとの違いをチャート右の差分列で見られます。未保存で差があるあいだは取っ手だけ出ます。列の「コピー」か ⌘ または Ctrl+Shift+D で全文をコピーできます。写したテキストを LLM に渡します。デスクトップ版が起動していて、設定で read-screen を置いているときは、その画面更新の手順に従い、ファイルは書きません。MCP や read-screen が使えないときだけ、write-schedule で JSON ファイルを更新します。スケジュール全文を二つ渡さなくても、伝わるのは変更だけです。

画面と開いているファイルの違いが、チャート右の差分列に出ている状態

差分の操作の詳細は 全機能の「ファイルを開く・保存する」 にあります。

残した行を書き出す

絞り込みと折りたたみで残した行だけを、☰ の「書き出し」で HTML または SVG にできます。行数と図の大きさの上限、書き出しに入る行の範囲は 全機能の「書き出す」 にあります。