About android-webview-debug
android-webview-debug is a skill for enabling and reverting Android WebView debugging settings in a project. It records changed lines so reversion can restore matching entries while flagging mismatches for confirmation.
Key features
- 01Finds WebView debugging calls
- 02Enables non-commented calls
- 03Records original lines in a state file
- 04Restores matching entries and flags mismatches
Use cases
- 01Temporarily enabling WebView debugging
- 02Reverting debugging changes without overwriting mismatches
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ fudesign2008/ open-skills --skill android-webview-debugAfter installing, type/android-webview-debugin Claude Code to confirm it loaded.
Details
From the project READMEAndroid WebView Debug Toggle
Triggers
- 「开启 WebView 调试」 / android-webview-debug-enable: Change all
setWebContentsDebuggingEnabledcalls in the project totrue, and record modified locations with their original content for later revert. - 「恢复 WebView 调试」 / android-webview-debug-revert: Restore previously modified locations from the record; entries that don't match the record are not auto-reverted — they are listed at the end for user confirmation.
State File Convention
- Path:
.android-webview-debug-state.jsonin the project/workspace root directory. - Creation timing: Only created or overwritten when android-webview-debug-enable runs; revert only reads (can be deleted or archived after restore is complete).
- Format:
{
"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)"
}
]
}
- Note: Only entries actually changed in this enable session are recorded (calls already set to
trueare not included). Recommend adding.android-webview-debug-state.jsonto.gitignoreto avoid accidental commits.
android-webview-debug-enable Flow
- Search: Use grep or codebase search to find all
setWebContentsDebuggingEnabledoccurrences (including commented lines), list all locations. - Classify: Mark each location as "already true", "conditional or other expression", or "commented out".
- Optional confirmation: If user input is needed, present 1–2 quick choices (e.g., "Change all to true?" "Also modify commented-out calls?"). User can answer briefly like "1A 2B".
- Existing state: If
.android-webview-debug-state.jsonalready exists in the project root, first prompt: "An enable record already exists. Overwrite and continue?" Wait for user confirmation before overwriting. - Write state file: Before making any code replacements, generate
entriesfor items about to be changed and write.android-webview-debug-state.json(path: project root). - Execute replacements: Change "conditional or other expression" calls to
setWebContentsDebuggingEnabled(true). Do not modify commented-out calls by default, unless the user explicitly says "also change commented ones" or "uncomment them". - Summary: Briefly list modified files and entry count.
android-webview-debug-revert Flow
- Read state file: Read
.android-webview-debug-state.jsonfrom the project root. If not found, prompt: "No enable record found, cannot revert" and exit. - Iterate entries:
- For each entry: read the corresponding file/line and compare with
replaced(or check if it containssetWebContentsDebuggingEnabled(true)). - Match: Replace the line with
original(restore pre-modification content). - Mismatch: Do not auto-revert; add to the "mismatched" list (record file, line, current line summary).
- For each entry: read the corresponding file/line and compare with
- Complete all restorable items first: Only apply replacements for entries where the current line matches the record.
- Final prompt and manual confirmation: If there are mismatched entries, output the list at the end: "The following N entries don't match the enable record (may have been manually modified). Confirm whether to restore per the record or skip." Restore or skip each entry based on user choice.
- Summary: Report number of restored entries; if all restored, prompt: "You can now delete .android-webview-debug-state.json or add it to .gitignore."
Default Rules
- enable: Does not modify commented-out
setWebContentsDebuggingEnabledcalls by default; user can override with a single phrase (e.g., "also change commented ones"). - revert: Only restores entries recorded in the state file; mismatched entries are not auto-reverted — always listed at the end for manual confirmation.
- State file: Only one copy in the project root; enable overwrites, revert only reads.
Verification Checklist
- After enable: All non-commented
setWebContentsDebuggingEnabledcalls in the project should betrue, and.android-webview-debug-state.jsonshould exist in the root withentriesmatching this session's modifications. - After revert: Restored lines should match the
originalin the state file; mismatched entries should be listed and processed per user confirmation.
Comments
Markdown supported