Communitygithub.com

gcrft123/tailr

エージェントと一緒にプロジェクトをライブマークアップして反復作業を行います。

tailr とは?

Tailrは、レビュアーがブラウザ上で動作中の開発サーバーに直接マークアップを追加し、それを一度にバッチとしてエージェントに渡すことができるツールです。これにより、レビュアーとAIエージェントの間で迅速かつ構造化されたフィードバックループが実現します。主にClaude CodeやCursor、CodexなどのAIコーディングエージェントと連携し、`tailr_status`、`tailr_wait`、`tailr_pull`、`tailr_progress`、`tailr_done`、`tailr_fail`などのMCPツールを介して動作します。エージェントはバッチ内の各マークを適用しながら進捗を報告し、レビュアーは画面上でリアルタイムに確認できます。セッションはプロジェクトディレクトリ内の`.tailr/session.json`で管理され、エージェントが適切にループを完了させることで、次のバッチを受け取れるようになります。

対応✓Claude Code~Codex CLI~Cursor
npx skills add gcrft123/tailr

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

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

ドキュメント

Tailr — レビューループ

Tailrを使うと、一緒に作業している人がブラウザで動作中の開発サーバーにマークアップを追加できます。要素をクリックし、問題点を伝えると、すべてのマークが一度にバッチとして渡されます。あなたはそのバッチを適用し、各マークが適用されるたびに報告します。

以下のルールがプロトコルの全体です。これらはtailr initがプロジェクトのAGENTS.md / CLAUDE.mdに書き込むルールと同じものです。このプラグインは代わりにそれらを保持するため、ユーザーのリポジトリに何も編集する必要はありません。

Tailr — レビュアーからのビジュアルマークアップ

レビュアーはブラウザで動作中のアプリにマークアップを追加し、変更内容を1つのバッチとしてあなたに渡します。.tailr/session.jsonが存在すればセッションは開始されています。存在しない場合は、長時間実行されるバックグラウンドプロセスとしてセッションを開始します。セッションは稼働し続ける必要があるため、あなたのターンをブロックしないでください:

npx tailr --target http://localhost:<開発サーバーのポート>

これによりレビュー用URL(通常は http://localhost:4100)が表示されます。レビュアーには元のポートではなく、そのURLを使用するように伝えてください。Tailrはアプリをプロキシし、そのオーバーレイを注入します。ソースは変更されません。

ループは「待機」→「取得」→「進行状況をマークごとに報告」→「完了」または「失敗」です。

コマンドMCPツール
npx tailr statustailr_statusバッチが待機中ですか? exit 0 はい · 3 セッションは稼働中、待機はなし · 2 セッションなし
npx tailr waittailr_wait「送信」が押されるまでブロック。 exit 0 バッチが待機中 · 3 タイムアウト、再開してください · 2 セッション終了
npx tailr pulltailr_pullバッチをリースし、JSONとして出力
npx tailr progress <ref>tailr_progress1つのマークが適用されたことを報告
npx tailr donetailr_done実行が完了
npx tailr fail "理由"tailr_fail不完全なまま戻ってきた

各マークには、ref("01")、type、それが行われたroute、ベストエフォートのソースaddress、CSS selector、要素のテキスト、レビュアーのcommentが含まれます。

  • comment — その要素を説明どおりに変更
  • remove — その要素を削除
  • text — before/afterを持ち、テキストをafterに変更
  • point — 要素の代わりにページのx/yを持つ。レビュアーは物ではなく場所をマークしました。そこに何か新しいものを追加したいか、単に場所を指摘しているだけかもしれません。コメントにその内容が書かれています。

重要なルール

  • waitを長時間実行されるバックグラウンドプロセスとして実行し、その終了コードを通知として扱ってください。レビュアーにバッチが到着したことを伝えるよう決して依頼せず、ポーリングもしないでください。各実行を閉じた後に再度開始してください。
  • 各マークを適用したらprogressで報告し、最後に一度にまとめて報告しないでください。レビュアーは画面上でマークが消えていくのを見ます。一括報告すると何も起こっていないように見えます。
  • 必ずdoneまたはfailで実行を閉じてください。閉じるまで、レビュアーは次のバッチを送信できません。もしできないことに直面したら、実際に何が問題だったかをfailで報告してください。Tailrは説明を作り出さず、あなたに差し戻します。
  • ソースアドレスとセレクタが矛盾する場合は、ソースアドレスを信頼してください。
  • "orphaned": trueを持つマークは、送信前に要素が失われました。何を意味していたかを推測せず、レビュアーに確認してください。
  • マークがあいまいな場合は、解釈を選ぶのではなく質問してください。
  • これらのコマンドはプロジェクトディレクトリから実行してください。それがTailrがセッションを見つける方法です。

このプラグインからコマンドを実行する

このプラグインはTailrのMCPサーバーを登録するため、tailr_status、tailr_wait、tailr_pull、tailr_progress、tailr_done、tailr_failが直接利用可能です。CLIよりもこれらを優先してください。CLIは常に存在するわけではなく、npx tailrという短縮形はTailrがインストールされたプロジェクトでのみ解決されます。

CLIを使用する場合は、パッケージがインストールされていないプロジェクトでも動作するように完全なパッケージ名を使用してください:

npx -y @gcrft123/tailr <コマンド>

セッションの開始は、MCPツールがない唯一のステップです。なぜなら、セッションはそれらのツールが通信するサーバーだからです。長時間実行されるバックグラウンドプロセスとして開始してください。セッションは稼働し続ける必要があるため、あなたのターンをブロックしないでください:

npx -y @gcrft123/tailr --target http://localhost:<開発サーバーのポート>

プロジェクトがTailrを依存関係として持っている場合、単純なnpx tailrでも同等であり、より短くなります。

関連スキル