一键导入
fude-watch
fude.nvim のローカルレビューセッションを監視し、新しいレビューコメントに自動で応答する。人間が Neovim でコメントを書くと、このセッションが検知してコード修正や返信を JSONL に追記する。「レビュー待受して」「fude watch して」等で起動する。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
fude.nvim のローカルレビューセッションを監視し、新しいレビューコメントに自動で応答する。人間が Neovim でコメントを書くと、このセッションが検知してコード修正や返信を JSONL に追記する。「レビュー待受して」「fude watch して」等で起動する。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
ハーネス点検ワークフロー。直近 PR レビューから pj-checklist の発火率と review-lessons.md の健全性を評価し、harness の改善案をユーザーに提示する。
fude.nvim プロジェクト固有の実装・レビューチェックリスト。Lua/Neovim パターン、非同期処理、state 管理の注意点。
PR レビューコメントへの対応ワークフロー。レビュー指摘の分析、コード修正、セルフレビュー、動作確認後の返信・push までを一貫して行う。
開発ワークフロー。計画から実装、テスト、ドキュメント、セルフレビュー、PR作成までを一貫して行う。
コミット分割、コミット実行、draft PR 作成を行う。
3ラウンドのセルフレビュー。プロジェクト固有チェックリスト(2ラウンド)と /review 汎用レビュー(1ラウンド)で変更品質を検証する。
| name | fude-watch |
| description | fude.nvim のローカルレビューセッションを監視し、新しいレビューコメントに自動で応答する。人間が Neovim でコメントを書くと、このセッションが検知してコード修正や返信を JSONL に追記する。「レビュー待受して」「fude watch して」等で起動する。 |
fude.nvim の :FudeReviewLocal セッションが書き出す JSONL イベントログを tail し、
人間のレビューコメントに自動で対応するスキル。コピーして各プロジェクトの
.claude/skills/fude-watch/ に配置し、必要に応じて調整すること。
.fude/current.json が存在する
(人間側で :FudeReviewLocal が実行済み).fude/current.json は ブランチ名 → セッション のマップ({ "feat/a": { "id": ... }, ... })です。
現在のブランチのエントリから id を取り、レビューファイルを特定します:
# プラグインと同じ方法でブランチを判定する(detached HEAD では空になる)
BRANCH=$(git symbolic-ref --quiet --short HEAD)
KEY=${BRANCH:-__detached__} # detached HEAD は __detached__ をキーに使う
ID = current.json[KEY].id
REVIEW_FILE = .fude/reviews/<ID>.jsonl
current.json が無い、または現在ブランチのエントリが無い場合は、ユーザーに
「そのブランチで :FudeReviewLocal を先に実行してください」と伝えて終了。current.json はブランチ毎に分かれる)ので、
ブランチを跨ぐ場合は Step 1 からやり直して REVIEW_FILE を取り直すこと。REVIEW_FILE を読み、既存のコメント・スレッド状態を把握する(1行 = 1 JSON イベント。
comment が thread root、reply は in_reply_to で root を指す。resolve 済みの
thread は対応不要)。未対応の open コメントがあれば、この時点で Step 4 の対応を行う。
tail の生出力には agent 自身が追記した行や viewed / move などの非対象イベントも
流れてくる。これらを LLM の判断で無視するのではなく、スキルに同梱の
fude-watch-filter.sh(この SKILL.md と同じディレクトリ。スキル起動時に通知される
base directory 配下)をパイプに挟んで機械的に落とす。判定は jq で .event /
.author_type を構造的に抽出して行う(文字列の部分一致ではないので、JSON の
空白の有無や、コメント本文にたまたま "event":"comment" 等の文字列が含まれる
ケースの誤判定を避けられる):
tail -n 0 -f <REVIEW_FILE の絶対パス> | bash <スキルの base directory>/fude-watch-filter.shfude local review comments通知される stdout 行は「human が書いた comment / reply / resolve / reopen」だけになる。
viewed / move / edit / delete / session の各イベントと、author_type が
agent の行(自分の追記の echo)はフィルタで落ちる。fude.nvim は全アクション
イベントに author_type(デフォルト "human")を付与するので、この2軸
(イベント種別・書き手)のフィルタで過不足なく絞れる。
通知されたイベントの event 種別で分岐する:
comment(新規コメント、author_type が human):
path / start_line / end_line / body / context を読み、該当コードを確認するreply を追記するreply で回答する(コードは変更しない)reply(人間からの追い返信): スレッド文脈を読み直して同様に対応するreopen: そのスレッドの対応を再開するresolve: そのスレッドはクローズ。対応中なら打ち切ってよいviewed / move / edit / delete / session)や
author_type が agent の行は Step 3 のフィルタで届かないはずだが、
万一届いた場合は黙って無視する(返信も報告もしない)返信は同梱の fude-watch-reply.sh で REVIEW_FILE に append する(既存行の
書き換え禁止)。UUID・タイムスタンプ・author_type: "agent" の付与、1行の
compact JSON への正規化(fude.nvim の行単位パーサが前提とする JSONL の形式)は
スクリプトが保証する:
bash <スキルの base directory>/fude-watch-reply.sh <REVIEW_FILE> <rootコメントのid> <本文ファイル> を実行する
コード修正を伴う場合は、修正 → テスト/lint 確認 → reply 追記の順で行い、 reply の body には何をどう変えたかを簡潔に書く。
ユーザーが待受終了を指示したら TaskStop で Monitor を止める。
resolve されていない open スレッドが残っていれば一覧を報告する。
auto_reload タイマー(またはユーザーの :FudeReviewReload)で
追記を拾う。即時反映されなくても再送しないことreply で方針を提案して
人間の判断を仰ぐこと