Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Automates Tauri WebView debugging using official plugins (tauri-plugin-log + screenshots) with process verification, automated screenshots, console logs, and state analysis. Use when debugging Tauri apps, investigating WebView issues, analyzing runtime errors, or troubleshooting UI problems.
.claude/skills/aiskillstore-debug-tauri/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-05 | ✗→✓ | ▲ Improved | -48% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 6% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 18% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 22% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 45% | 0% |
Automated debugging workflow for Tauri applications using tauri-plugin-debug-tools with official plugin integration.
debug-tools:default, log:default, screenshots:defaultattachConsole() (recommended for automatic log forwarding)Run TAURI_APP_NAME=<app-binary-name> scripts/capture.sh to verify process and capture screenshot.
If process not found, start your dev server (e.g., tauri dev) and retry.
Copy this checklist to track progress:
markdownDebug Progress: - [ ] Step 1: Verify process status - [ ] Step 2: Capture screenshot - [ ] Step 3: Collect console logs - [ ] Step 4: Capture WebView state - [ ] Step 5: Analyze findings - [ ] Step 6: Generate debug report - [ ] Step 7: Propose fixes
Run: TAURI_APP_NAME=<your-app> scripts/capture.sh
This checks if the app is running and captures an initial screenshot.
Via Plugin API (Recommended):
typescriptimport { captureMainWindow } from "tauri-plugin-debug-tools/screenshotHelper"; const imagePath = await captureMainWindow();
Legacy: capture.sh script (macOS screencapture). See SCREENSHOTS.md for details.
Console Logger (Frontend - Recommended):
The consoleLogger automatically collects frontend logs and errors in a ring buffer and flushes them to a temp file.
typescript// Import at app entry point to initialize automatic collection import "tauri-plugin-debug-tools/consoleLogger"; // Use debugTools for explicit logging import { debugTools } from "tauri-plugin-debug-tools/consoleLogger"; debugTools.log("App started"); debugTools.error("Something went wrong");
Finding consoleLogger Log Files:
typescriptimport { invoke } from '@tauri-apps/api/core'; // Get actual log file path const logPath = await invoke('plugin:debug-tools|reset_debug_logs'); console.log('Console logs stored at:', logPath);
Platform-specific consoleLogger locations:
/tmp/tauri_console_logs_[app_name]_[pid].jsonl/tmp/tauri_console_logs_[app_name]_[pid].jsonl%TEMP%\tauri_console_logs_[app_name]_[pid].jsonlWhere [app_name] is the application name and [pid] is the process ID.
Backend Logs (tauri-plugin-log):
typescriptimport { logger } from "tauri-plugin-debug-tools/logAdapter"; // Initialize once at app startup const detach = await logger.initialize(); // Logs auto-forwarded to platform-specific location logger.info("App started"); logger.error("Something went wrong");
Backend log locations:
~/Library/Logs/{bundle_id}/debug.log~/.local/share/{bundle_id}/logs/debug.log{LOCALAPPDATA}\{bundle_id}\logs\debug.logAlternative: Use debugBridge API. See IPC_COMMANDS.md for all methods.
typescriptimport { captureWebViewState } from "tauri-plugin-debug-tools/debugBridge"; const state = await captureWebViewState();
Returns: { url, title, user_agent, viewport }
Use template in REPORT_TEMPLATE.md.
Based on collected evidence:
IPC Commands: IPC_COMMANDS.md - Console logs, WebView state, debug commands Screenshots: SCREENSHOTS.md - Capture methods and troubleshooting Troubleshooting: TROUBLESHOOTING.md - Common errors and solutions Report Template: REPORT_TEMPLATE.md - Structured debug report format
Legacy reference: REFERENCE.md contains combined documentation (will be deprecated)
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-05 | fail→pass | 17,106 | 2,948 | -83% | 1 | 1 | 0% | 3,223 | 1,679 | -48% | 0 | 0 | — |
case-01 | fail→pass | 24,819 | 16,676 | -33% | 1 | 1 | 0% | 4,160 | 4,411 | +6% | 0 | 0 | — |
case-02 | fail→pass | 17,774 | 12,094 | -32% | 1 | 1 | 0% | 3,045 | 3,606 | +18% | 0 | 0 | — |
case-03 | fail→pass | 19,069 | 14,235 | -25% | 1 | 1 | 0% | 3,134 | 3,821 | +22% | 0 | 0 | — |
case-04 | fail→pass | 6,835 | 3,061 | -55% | 1 | 1 | 0% | 1,128 | 1,630 | +45% | 0 | 0 | — |
case-06 | fail→pass | 19,002 | 3,409 | -82% | 1 | 1 | 0% | 3,462 | 1,724 | -50% | 0 | 0 | — |
case-07 | fail→pass | 14,200 | 2,586 | -82% | 1 | 1 | 0% | 2,490 | 1,626 | -35% | 0 | 0 | — |
case-08 | fail→pass | 25,757 | 2,231 | -91% | 1 | 1 | 0% | 1,499 | 1,579 | +5% | 0 | 0 | — |
case-09 | fail→pass | 8,987 | 3,740 | -58% | 1 | 1 | 0% | 1,430 | 1,859 | +30% | 0 | 0 | — |
case-10 | fail→pass | 15,662 | 4,407 | -72% | 1 | 1 | 0% | 3,049 | 2,040 | -33% | 0 | 0 | — |
case-11 | fail→pass | 6,337 | 2,024 | -68% | 1 | 1 | 0% | 974 | 1,491 | +53% | 0 | 0 | — |
case-12 | fail→pass | 11,659 | 1,888 | -84% | 1 | 1 | 0% | 1,824 | 1,506 | -17% | 0 | 0 | — |
case-13 | fail→pass | 10,642 | 2,827 | -73% | 1 | 1 | 0% | 1,892 | 1,686 | -11% | 0 | 0 | — |
case-14 | fail→pass | 11,994 | 2,412 | -80% | 1 | 1 | 0% | 2,060 | 1,618 | -21% | 0 | 0 | — |
case-15 | fail→pass | 13,966 | 3,210 | -77% | 1 | 1 | 0% | 2,310 | 1,670 | -28% | 0 | 0 | — |
case-16 | fail→pass | 12,824 | 3,743 | -71% | 1 | 1 | 0% | 2,225 | 1,910 | -14% | 0 | 0 | — |
case-17 | fail→pass | 14,781 | 3,449 | -77% | 1 | 1 | 0% | 2,410 | 1,858 | -23% | 0 | 0 | — |
case-18 | fail→pass | 8,177 | 4,256 | -48% | 1 | 1 | 0% | 1,442 | 1,948 | +35% | 0 | 0 | — |
case-19 | fail→pass | 7,593 | 3,570 | -53% | 1 | 1 | 0% | 1,182 | 1,793 | +52% | 0 | 0 | — |
case-20 | pass→pass | 11,428 | 11,079 | -3% | 1 | 1 | 0% | 2,255 | 3,299 | +46% | 0 | 0 | — |
case-21 | pass→pass | 9,857 | 5,995 | -39% | 1 | 1 | 0% | 1,819 | 2,364 | +30% | 0 | 0 | — |
case-22 | pass→pass | 9,904 | 8,680 | -12% | 1 | 1 | 0% | 1,730 | 2,864 | +66% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +86 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.