android-webview-debug について
android-webview-debugは、プロジェクト内のAndroid WebViewデバッグ設定を有効化・復元するスキルです。変更前の行を記録し、復元時は一致する項目だけを戻し、不一致は確認に回します。
主な機能
- 01WebViewデバッグ呼び出しの検索
- 02コメントアウトされていない呼び出しの有効化
- 03状態ファイルへの変更前の行の記録
- 04一致する項目の復元と不一致の表示
活用シーン
- 01一時的なWebViewデバッグの有効化
- 02不一致の変更を上書きせずにデバッグ設定を復元
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ fudesign2008/ open-skills --skill android-webview-debugインストール後、Claude Code で/android-webview-debugを入力して読み込まれたか確認します。
詳細
Android WebView デバッグ切り替え
トリガー
- 「WebView デバッグを有効にする」 / android-webview-debug-enable:プロジェクト内のすべての
setWebContentsDebuggingEnabled呼び出しをtrueに変更し、後で元に戻せるよう、変更した箇所と元の内容を記録します。 - 「WebView デバッグを元に戻す」 / android-webview-debug-revert:記録から以前に変更した箇所を復元します。記録と一致しない項目は自動で元に戻さず、最後にユーザー確認用として一覧表示します。
状態ファイルの規約
- パス:プロジェクト/ワークスペースのルートディレクトリにある
.android-webview-debug-state.json。 - 作成タイミング:android-webview-debug-enable の実行時にのみ作成または上書きされます。元に戻す処理では読み取りのみ行います(復元が完了した後に削除またはアーカイブできます)。
- 形式:
{
"version": 1,
"createdAt": "ISO8601",
"projectRoot": "/absolute/path/to/project",
"entries": [
{
"file": "app/src/main/java/.../CoreWebView.kt",
"line": 42,
"original": "setWebContentsDebuggingEnabled(AppContext.isDebug())",
"replaced": "setWebContentsDebuggingEnabled(true)"
}
]
}
- 注記:この有効化セッションで実際に変更された項目のみが記録されます(すでに
trueに設定されている呼び出しは含まれません)。誤ってコミットしないよう、.android-webview-debug-state.jsonを.gitignoreに追加することをおすすめします。
android-webview-debug-enable のフロー
- 検索:grep またはコードベース検索を使って、コメントアウトされた行を含むすべての
setWebContentsDebuggingEnabledの出現箇所を探し、一覧表示します。 - 分類:各箇所を「すでに true」「条件式またはその他の式」「コメントアウト済み」に分類します。
- 任意の確認:ユーザーへの確認が必要な場合は、すばやく選べる選択肢を1~2個提示します(例:「すべて true に変更しますか?」「コメントアウトされた呼び出しも変更しますか?」)。ユーザーは「1A 2B」のように簡潔に回答できます。
- 既存の状態:プロジェクトのルートに
.android-webview-debug-state.jsonがすでに存在する場合は、最初に「有効化の記録がすでにあります。上書きして続行しますか?」と確認します。上書きする前に、ユーザーの確認を待ちます。 - 状態ファイルの書き込み:コードを置き換える前に、変更予定の項目について
entriesを生成し、.android-webview-debug-state.json(パス:プロジェクトのルート)に書き込みます。 - 置き換えの実行:「条件式またはその他の式」の呼び出しを
setWebContentsDebuggingEnabled(true)に変更します。ユーザーが明示的に「コメントアウトされたものも変更して」または「コメントを解除して」と指示しない限り、コメントアウトされた呼び出しは変更しません。 - 概要:変更したファイルと項目数を簡潔に一覧表示します。
android-webview-debug-revert のフロー
- 状態ファイルの読み込み:プロジェクトのルートから
.android-webview-debug-state.jsonを読み込みます。見つからない場合は「有効化の記録がありません。元に戻せません」と伝え、終了します。 - 項目の確認:
- 各項目について、該当するファイル/行を読み込み、
replacedと比較します(またはsetWebContentsDebuggingEnabled(true)を含むか確認します)。 - 一致:その行を
originalに置き換え、変更前の内容に復元します。 - 不一致:自動で元に戻さず、「不一致」リストに追加します(ファイル、行、現在の行の概要を記録します)。
- 各項目について、該当するファイル/行を読み込み、
- 復元可能な項目をすべて先に処理:現在の行が記録と一致する項目のみ置き換えます。
- 最後の確認と手動対応:不一致の項目がある場合、最後に次のメッセージとともに一覧表示します:「以下の N 件は有効化の記録と一致しません(手動で変更された可能性があります)。記録に従って復元するか、スキップするかを確認してください。」ユーザーの選択に応じて、各項目を復元またはスキップします。
- 概要:復元した項目数を報告します。すべて復元された場合は、「
.android-webview-debug-state.jsonは削除するか、.gitignoreに追加できます」と案内します。
デフォルトのルール
- 有効化:デフォルトではコメントアウトされた
setWebContentsDebuggingEnabled呼び出しを変更しません。ユーザーは「コメントアウトされたものも変更して」などの短いフレーズで指定できます。 - 元に戻す:状態ファイルに記録された項目のみを復元します。不一致の項目は自動で元に戻さず、必ず最後に手動確認用として一覧表示します。
- 状態ファイル:プロジェクトのルートに1つだけ置きます。有効化時は上書きし、元に戻す処理では読み取りのみ行います。
検証チェックリスト
- 有効化後:プロジェクト内のコメントアウトされていないすべての
setWebContentsDebuggingEnabled呼び出しがtrueになっており、ルートに.android-webview-debug-state.jsonが存在し、そのentriesが今回のセッションでの変更と一致している必要があります。 - 元に戻す後:復元された行が状態ファイル内の
originalと一致している必要があります。一致しないエントリは一覧に表示し、ユーザーの確認に従って処理する必要があります。
コメント
Markdown 対応