Agent Skills by ALSEL
Anthropic ClaudeLLM・AI開発⭐ リポ 0品質スコア 50/100

react-devtools

ReactおよびReact NativeアプリのランタイムデバッグをAIエージェントから操作するためのReact DevTools CLIです。コンポーネントのprops・state・hooksの検査、再レンダリングの原因追跡、パフォーマンスプロファイリング、低速コンポーネントの特定など、ReactアプリのUIデバッグ全般に使用します。「なぜ再レンダリングされるのか」「コンポーネントのstateを確認したい」「アプリが重い」といった場面でトリガーされます。

description の原文を見る

React DevTools CLI for AI agents. Use when the user asks you to debug a React or React Native app at runtime, inspect component props/state/hooks, diagnose render performance, profile re-renders, find slow components, or understand why something re-renders. Triggers include "why does this re-render", "inspect the component", "what props does X have", "profile the app", "find slow components", "debug the UI", "check component state", "the app feels slow", or any React runtime debugging task.

SKILL.md 本文

agent-react-devtools

React DevTools プロトコル経由で実行中の React または React Native アプリに接続し、コンポーネントツリー、props、state、hooks、およびプロファイリングデータをトークン効率的な形式で公開する CLI。

コアワークフロー

  1. 接続の確認agent-react-devtools status で確認。デーモンが実行中でない場合は agent-react-devtools start で開始。agent-react-devtools wait --connected を使用して React アプリが接続されるまでブロック。
  2. 検査 — コンポーネントツリーを取得、コンポーネント検索、props/state/hooks を検査。
  3. プロファイリング — プロファイリング開始、操作をトリガー(またはユーザーに実行させる)、プロファイリング終了、結果を分析。
  4. 実行 — データを使用してバグを修正、パフォーマンスを最適化、または何が起きているかを説明。

必須コマンド

デーモン

agent-react-devtools start              # デーモン開始(最初のコマンドで自動開始)
agent-react-devtools stop               # デーモン停止
agent-react-devtools status             # 接続状態、コンポーネント数、最後のイベントを確認
agent-react-devtools wait --connected   # React アプリが接続されるまでブロック
agent-react-devtools wait --component App # コンポーネントが表示されるまでブロック

コンポーネント検査

agent-react-devtools get tree           # 完全なコンポーネント階層(ラベル: @c1, @c2, ...)
agent-react-devtools get tree --depth 3 # 深さを制限
agent-react-devtools get component @c5  # 特定コンポーネントの props、state、hooks
agent-react-devtools find Button        # 表示名で検索(ファジー検索)
agent-react-devtools find Button --exact # 完全一致検索
agent-react-devtools count              # タイプ別カウント: fn, cls, host, memo, ...
agent-react-devtools errors             # エラーまたは警告があるコンポーネントを一覧表示

パフォーマンスプロファイリング

agent-react-devtools profile start              # 記録開始
agent-react-devtools profile stop               # 停止してデータ収集
agent-react-devtools profile slow               # 平均レンダリング時間が長いコンポーネント
agent-react-devtools profile slow --limit 10    # トップ 10
agent-react-devtools profile rerenders          # 最も再レンダリングされたコンポーネント
agent-react-devtools profile report @c5         # 1 つのコンポーネントの詳細レポート
agent-react-devtools profile timeline --limit 10                        # 最初の 10 コミット(--limit を使用; キャップなしは 300+ 行をダンプする可能性がある)
agent-react-devtools profile timeline --limit 10 --offset 10           # 次の 10 個(ページネーション)
agent-react-devtools profile timeline --sort duration --limit 5        # 最も時間がかかった上位 5 コミット
agent-react-devtools profile timeline --sort timeline --limit 5        # 明示的な時系列順(デフォルトと同じ)
agent-react-devtools profile commit 3           # コミット #3 の詳細
agent-react-devtools profile export profile.json # React DevTools Profiler JSON としてエクスポート
agent-react-devtools profile diff before.json after.json  # 2 つのエクスポートを比較

出力の理解

コンポーネントラベル

すべてのコンポーネントに @c1@c2 のような安定したラベルが付きます。これらを後続のコマンドでコンポーネント参照に使用:

@c1 [fn] App
├─ @c2 [fn] Header
├─ @c3 [fn] TodoList
│  ├─ @c4 [fn] TodoItem key=1
│  └─ @c5 [fn] TodoItem key=2
└─ @c6 [host] div

タイプの略称: fn = function、cls = class、host = DOM 要素、memo = React.memo、fRef = forwardRef、susp = Suspense、ctx = context。

エラーまたは警告があるコンポーネントは注釈表示: ⚠2 = 2 つの警告、✗1 = 1 つのエラー。agent-react-devtools errors を使用して影響を受けたコンポーネントのみ一覧表示。

検査されたコンポーネント

@c3 [fn] TodoList
props:
  items: [{"id":1,"text":"Buy milk"},{"id":2,"text":"Walk dog"}]
  onDelete: ƒ
state:
  filter: "all"
hooks:
  useState: "all"
  useMemo: [...]
  useCallback: ƒ

ƒ = 関数値。60 文字を超える値は切り詰められます。

プロファイリング出力

Slowest (by avg render time):
  @c3 [fn] ExpensiveList  avg:12.3ms  max:18.1ms  renders:47  causes:props-changed  changed: props: items, filter
  @c4 [fn] TodoItem  avg:2.1ms  max:5.0ms  renders:94  causes:parent-rendered, props-changed  changed: props: onToggle

レンダリング原因: props-changedstate-changedhooks-changedparent-renderedforce-updatefirst-mount

特定の変更されたキーが利用可能な場合、changed: サフィックスはレンダリングをトリガーした props、state キー、または hooks を正確に表示します(例: changed: props: onClick, className state: count hooks: #0)。

一般的なパターン

リロード後アプリの接続を待機

agent-react-devtools wait --connected --timeout 10
agent-react-devtools get tree

ページリロードまたは HMR 更新をトリガーした後、空の状態をクエリしないようにこれを使用。

遅い操作の診断

agent-react-devtools profile start
# ユーザーがアプリと操作(または agent-browser を使用して UI を操作)
agent-react-devtools profile stop
agent-react-devtools profile slow --limit 5
agent-react-devtools profile rerenders --limit 5

その後、get component @cNprofile report @cN で最も問題のあるコンポーネントを検査。

長いタイムラインをチャンク単位で参照

agent-react-devtools profile timeline --limit 20               # コミット 0–19
agent-react-devtools profile timeline --limit 20 --offset 20   # コミット 20–39
agent-react-devtools profile timeline --offset 30 --limit 10   # ウォームアップをスキップ、30–39 を表示

スパイクを発見したら profile commit <N> を使用して特定のコミットをドリルダウン。

コンポーネントを見つけて状態を確認

agent-react-devtools find SearchBar
agent-react-devtools get component @c12

修正が機能したか検証

agent-react-devtools profile start
# 操作を繰り返す
agent-react-devtools profile stop
agent-react-devtools profile slow --limit 5
# レンダリングカウントと期間を前回の実行と比較

agent-browser との使用

agent-browser を使用してプロファイリングまたはデバッグ中にアプリを操作する場合、ヘッドレスモードではなくヘッドレスモード (--headed) を使用する必須です。ヘッドレス Chromium は ES モジュールスクリプトを実際のブラウザと同じ方法で実行しません。これにより、devtools 接続スクリプトが正常に実行されません。

agent-browser --session devtools --headed open http://localhost:5173/
agent-react-devtools status  # 1 つの接続されたアプリを表示すべき

重要なルール

  • ラベルはリセット — アプリがリロードされるか、コンポーネントがアンマウント/リマウントされるとき。リロード後、wait --connected を使用してから get tree または find で再確認。
  • 最初に status — status が 0 の接続されたアプリを表示する場合、React アプリは接続されていません。ユーザーは最初にプロジェクトで npx agent-react-devtools init を実行する必要があるかもしれません。
  • ヘッドレスブラウザが必須agent-browser を使用する場合、常に --headed モードを使用。ヘッドレス Chromium は devtools 接続スクリプトを正しく読み込みません。
  • 操作中にプロファイリング — プロファイリングは profile startprofile stop の間で起きるレンダリングのみをキャプチャ。関連する操作がそのウィンドウ内で確実に起きるようにしてください。
  • 大きなツリーで --depth を使用 — 深いツリーは大量の出力を生成できます。--depth 3 または --depth 4 から始めて、関心のあるサブツリーでのみ深くしてください。

参考資料

ファイル読む時期
commands.mdすべてのフラグとエッジケースを含む完全なコマンドリファレンス
profiling-guide.mdステップバイステップのプロファイリングワークフローと結果の解釈
setup.md異なるフレームワーク(Vite、Next.js、Expo、CRA)を接続する方法

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
callstackincubator
リポジトリ
callstackincubator/agent-react-devtools
ライセンス
MIT
最終更新
不明

Source: https://github.com/callstackincubator/agent-react-devtools / ライセンス: MIT

関連スキル

OpenAILLM・AI開発⭐ リポ 6,054

agent-browser

AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。

by JimmyLv
汎用LLM・AI開発⭐ リポ 1,982

anyskill

AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。

by LeoYeAI
汎用LLM・AI開発⭐ リポ 1,982

engram

AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。

by LeoYeAI
汎用LLM・AI開発⭐ リポ 21,584

skyvern

AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。

by Skyvern-AI
汎用LLM・AI開発⭐ リポ 1,149

pinchbench

PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。

by pinchbench
汎用LLM・AI開発⭐ リポ 4,693

openui

OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。

by thesysdev
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: callstackincubator · callstackincubator/agent-react-devtools · ライセンス: MIT