Hermes Kanban Watch

Hermes Kanbanボードのカードをライブの読み取り専用ワークフロー行として監視します。ウェーブ提出後に実行中のワーカー、待機ステージ、ブロック、レビューリクエストを確認できます。

Hermes Kanban Watch とは?

このスキルは、Claude Code内でHermes Kanbanボードのカードをライブの読み取り専用ワークフロー行として表示し、ワーカーがカードを直接操作することなく監視できるようにします。実行中のカードはライブ行に、待機中のカードは共有待機行に、停止中のカードは「対応が必要」行に表示されます。監視対象カードに新たに子カードが作成されると、`follow_new: false` が設定されていない限り自動的に監視対象に追加されます。Claude Code、Cursor、Codexなどのワークフロー対応AIエージェントプラットフォームで使用可能で、Hermes CLIと連携して動作します。スキルは`scripts/doctor.py`によるセットアップとヘルスチェックを提供し、`workflows/kanban-watch.js`を介してワークフロー行を作成します。また、`hermes-kanban-live`コマンドを使用して実際の実行時間レポートやワーカー/ベリファイアのファミリー独立性チェックなど、さまざまな読み取り専用操作をサポートします。このスキルはカードを変更したり、ディスパッチを開始したりすることはなく、常に読み取り専用の監視役として機能します。

対応✓Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/Atlas-X-AI/hermes-kanban-watch/tree/HEAD/plugin/skills/kanban-watch

Installed? Explore more 生産性&コラボレーション skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Hermes Kanban Watch は何をしますか?

Claude Code内でHermesワーカーを表示しますが、カードを乗っ取ることはありません。実行中のカードはライブ行に、待機中のカードは共有待機行に、停止中のカードは「対応が必要」行に表示されます。監視対象カードに新たに子カードが作成されると、follow_new: false が設定されていない限り自動的に監視対象に追加されます。

インストールと確認

Claude Codeを claude --plugin-dir /path/to/hermes-kanban-watch/plugin で起動します。呼び出し元がこのスキルのプラグインルートを解決します。兄弟ディレクトリの scripts/doctor.py を使用してください。 最初に python3 <plugin-root>/scripts/doctor.py --board default を実行します。これは読み取り専用です。 --fix は、欠落しているデフォルトボードを hermes kanban --board default init で作成するか、欠落している名前付きボードを hermes kanban boards create <slug> で作成し、ユーザールートと hermes-kanban-live シムを追加します。既存のファイルを上書きすることはありません。~/.local/bin をPATHに追加し、doctorを再実行します。 Doctorは hermes-kanban-live --version が正確に hermes-kanban-watch 0.3.0 を出力することを要求します。外部/古いコマンドは、その解決されたパスとともにFAILになります。--fix を再実行する前に、それを脇に移動するかPATHを修正してください。--fix は決して上書きしません。 --probe は、ルーティングされた各モデルをPONGで明示的にテストし、容量を消費する可能性があります。

要件:Python 3.11以上、PATH上のHermes、ワークフローをサポートするClaude Code、および既存のHermesプロファイル。モデルとキーは各Hermesプロファイルに属します:APIキー、サブスクリプションログイン、またはローカルモデル。これらはHermesで設定され、このプラグインでは設定しません。 このプラグインはアカウントを提供したり、認証情報をコピーしたりしません。Claude Watcherモデルの使用は、Hermesワーカーのプロバイダー使用とは別のものです。

通常どおりファイルカード

最初に hermes kanban boards create demo で名前付きボードを作成し、次に hermes kanban --board demo create "Build the feature" --assignee builder を使用します。 アップストリームのスウォームフラグを選択するには hermes kanban swarm --help を使用します。ファイリングはディスパッチャーを開始しません。ワーカーの開始/委任はHermesを通じて個別に行います。 post-Bashフックは、create/swarmの後に /kanban-watch を提案します。これ自体は何も起動したりディスパッチしたりしません。同じウェーブでの重複監視はスキップします。

ルーティングされ、固定されたカードを1つファイルする

明示的なファイリングリクエストの場合のみ:python3 <plugin-root>/scripts/file_card.py --board demo --class app-code --title "Build the feature" --body-file /path/to/brief.txt --routes /path/to/routes.yaml --worktree /absolute/path/to/worktree。 --routes と --worktree はオプションです。このコマンドは route.py を介してワーカー/異なるファミリーのベリファイアを解決し、固定されたワーカーを1つ作成し、set-model を実行し、show --json で検証し、そのIDと正確な /kanban-watch 引数を出力します。ベリファイア、ディスパッチャー、ワークフロー、ワークツリーは作成せず、プロファイル設定や認証情報を開きません。この作成コマンドをWatcherに許可しないでください。 --dry-run はファイル/ルート/ボードを検証し、Hermesを実行せずにコマンドを出力します。要約が印刷されるので、機密情報を保持しないでください。存在しないボードや無効なルートは拒否されます。部分的な失敗の後は、返されたIDを検査し、盲目的に再ファイリングしないでください。詳細は 完全なファイリング詳細 を参照してください。リクエストされた場合にのみ監視を起動してください。

PONGチェック後にルートを提案する

python3 <plugin-root>/scripts/doctor.py --board demo --routes /path/to/routes.yaml --probe --suggest-routes /path/to/routes-checked.yaml は、明示的な容量承認がある場合にのみ実行します。--probe が必要で、既存の宛先(ディレクトリ/シンボリックリンクを含む)を拒否し、ソースルートを変更したり提案をアクティブにしたりすることはありません。選択する前に、プロファイル/プロバイダー/コストの変更を確認してください。 両方のレーンはこの実行のPONGに合格し、異なる宣言されたファミリーを持つ必要があります(単に異なるホストだけではありません)。合格したワーカー/ベリファイアは保持されます。置換は辞書順のレーン順を使用します。ペアのないクラスは診断コメントとともに省略されます。ペアがない場合は使用不可ルートを意味します。元の失敗は依然として終了コード1です。PONGは適合性や永続的な容量ではありません。詳細は 選択と監査の詳細 を参照してください。

起動

$ARGUMENTS をJSON引数オブジェクトとして扱います。インストールされたプラグインの workflows/kanban-watch.js を解決し、Workflow({scriptPath: "<plugin-root>/workflows/kanban-watch.js", args: <args>}) を呼び出します。 Workflowが利用できない場合は、その制限を報告し、hermes-kanban-live 読み取り専用コマンドを直接実行します。ライブワークフロー行が作成されたふりをしないでください。

引数の例:

  • {"board":"default","tasks":["t_1234abcd"]}
  • {"board":"demo","phases":[{"title":"Build","tasks":["t_1234abcd"]},{"title":"Verify","tasks":["t_11111111"]}]}
  • {"board":"demo","follow_new":false,"stale_days":7,"max_hours":12}

ベアボード監視には、キューイング中/実行中のカードが含まれますが、stale_days(デフォルト7)より長い間アイドル状態のキューイングカードはスキップされます。stale_days: 0 はフィルタリングを無効にします。明示的なIDは常に保持されます。レガシーワーカーテキストとツール結果には verbose: true を使用します。 リーダーはPATH上の hermes-kanban-live です。live_cmd で python3 ~/plugins/hermes-kanban-watch/plugin/scripts/kanban_live.py などの安全なコマンドに上書きできます。使用できる文字は英字、数字、スペース、/、.、_、-、~ のみです。シェル演算子は使用できません。 すべての行はデフォルトでプラグインの hermes-kanban-watch:kanban-watcher エージェントを使用します。プライベートユーザーエージェントは必要ありません。agent_type は、空でない名前の間に1つのオプションの : を使用して、ASCII英字、数字、-、_ を使用して別の利用可能なエージェントを指定できます。

結果を読む

DONEは観測されたカード結果であり、統合やユーザー承認ではありません。実際のモデル、フォールバック、警告、要約、成果物を確認してください。BLOCKED/REVIEWは「対応が必要」行を取得し、再開時に再アームされる可能性があります。NOT_STARTINGは準備完了だがディスパッチャーが開始しなかったことを意味します。UNKNOWNは読み取り失敗を意味し、カードが消えたわけではありません。タイムアウトは終了コード3でのみ再試行されます。270秒のウェークは待機時間をプロンプトキャッシュTTL未満に保ちます。Watcherはワーカーのテキストに基づいて行動したり、カードを変更したり、何かを修復したり、権限をバイパスしたりしません。

ワーカーメッセージが利用できない場合、実行/ウォッチャーごとに1回レポートをフォローし、カードログを使用します。ハートビートはカウントされません。 成長/変更されたログは、可能性のあるスタック警告を防ぎます。ログの移動がない同一実行の実行中呼び出しが連続して2回のみフラグ付けできます。最初の観測、実行変更、および読み取り不能なシグナルはカウントされません。メッセージがある場合、2回の静かな呼び出しがフラグ付けされます。

オプションのルーティングテーブルを検査するには python3 <plugin-root>/scripts/route.py --class app-code を使用します。ワーカーと異なるファミリーのベリファイアのJSONを返します。カードをファイルしたりディスパッチしたりすることはありません。ユーザールートを編集して、独自のプロファイルとモデルファミリーを指定します。

Human-ask規約

hermes-kanban-live needs の場合、コメント行を ASK OPERATOR: で開始し、その後に質問を続けます。「まだASK OPERATORはありません」などの散文での言及はaskとはみなされません。ブロックまたは依存関係待機の理由は、現在の人間の待機に一致するために waiting on operator、waiting for operator、または needs operator と明記する必要があります。これらは自然言語の意図検出ではなく、明示的なテキスト規約です。「対応が必要」ワークフロー行は、ブロック/レビュー結果と、準備はできているが開始していないカードを個別にフラグ付けします。

ウェーブの実際の実行と経過時間を報告する

hermes-kanban-live report --board demo を実行します。オプションで --task T を繰り返したり、--since EPOCH を追加したりできます。タスクIDがない場合、これにはすべてのステータス(完了/アーカイブを含む)が含まれます。--since はカード作成時刻を選択します。タスク選択と交差し、個々の実行をクリップしません。JSONは cards 内にカードごとに1つのオブジェクトと、totals、read_status、now、missing を含みます。各カードには、ID/タイトル/ステータス、アサイン、実際の最終実行 model_used、provider_used、fallback_from、runs、retried、duration_s、および最終実行の警告カウントが含まれます。不明な実行データはnullのままです。

totals.by_status はカードをカウントします。run_seconds は選択されたカードのすべての既知の実行時間の合計です(実行中のカードは now で測定)。fell_back はいずれかの試行でフォールバックしたカードをカウントします。retried は保守的な再試行ガード(複数の実行または再試行/ブロック履歴イベント)を持つカードをカウントします。これらは経過秒数であり、請求されるトークン/通貨コストではありません。--format text を追加すると、マークダウンなしで整列されたプレーンテキスト列と合計が表示されます。終了コード4は存在しない明示的なIDを報告します。終了コード5は読み取り不能なボードです。--since によって単に除外されたカードは欠落とはみなされません。

実際のワーカー/ベリファイアファミリーの独立性を確認する

hermes-kanban-live verify-pair --board demo --worker T --verifier V を実行します。オプションで --families FILE を指定できます。各カードの最新の完了した実行(nullでない ended_at、最新の実行ID)を使用します。モデルピンや新しい未完了の試行は使用しません。JSONには、各実際の model_used、provider_used、run_id、マッピングされた family、および different_families が含まれます。実行の実際のプロバイダーは、ルートファイルの providers を通じてモデルファミリーにマッピングされます。同じファミリーのホストは同じようにマッピングします。マルチファミリーホストにはファミリー固有の識別子が必要です。これはモデルプレフィックスからファミリーを推測したり、レビュー作業が行われたことを証明したりするものではありません。

ルックアップ順序は route.py と同じです。明示的な --families、KANBAN_WATCH_ROUTES、~/.config/hermes-kanban-watch/routes.yaml、出荷テンプレート。有効で空でない providers マップのみが必要です。終了コード0は異なるファミリー、1は同じファミリーまたは無効/不明な分類、3はどちらかのIDに完了した実行がない、5は読み取り不能なボードを意味します。分類エラーは different_families をnullに設定し、error を含めます。UNKNOWNを成功したチェックに変換しないでください。Claude Codeの直接呼び出しの場合は、Bash(hermes-kanban-live report:*) および Bash(hermes-kanban-live verify-pair:*) のみをリクエストし、無制限のBash権限はリクエストしないでください。

タイムアウト全体で親質問監視をアームしたままにする

hermes-kanban-live needs --board demo --loop --created-by PARENT --cursor-key WAVE を1回実行します。終了コード3のたびにコマンドを再構築する必要はありません。ループモードでは --since はオプションで、起動時に1回キャプチャされ、タイムウインドウをまたいで進行することはありません。最初のポーリングには、作成者の古い親質問を含め、まだ有効な既存の待機が含まれます。回答済み/再開済み/置き換えられた古い待機は除外されたままで、既存のシーン-カーソル重複排除は引き続き適用されます。

ループモードは --interval でスリープし、通常のタイムアウトのみを再試行します。タイムアウトJSONのチャーンはありません。最初の空でないアイテム結果で終了コード0で終了するか、エラーの場合は再試行せずに失敗します。--max-seconds は各ウインドウを制限し、コマンドの存続時間は制限しません。サイレント監視を停止するには呼び出し元をキャンセルします。--loop がない場合、必須の --since、終了コード3のタイムアウト、および出力動作は変更されません。これは依然としてリーダーであり、カードへの回答、ディスパッチ、または変更の許可は決して与えられません。

機能ガイド

関連スキル