Diagnostic workflow for identifying and fixing bugs in VaultMark, covering frontend, IPC, and backend layers.

Install

mkdir -p .claude/skills/fix-bug-ovaar && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/10782" && unzip -o skill.zip -d .claude/skills/fix-bug-ovaar && rm skill.zip

Installs to .claude/skills/fix-bug-ovaar

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Debug and fix issues in VaultMark. Use when asked to fix bug, debug this, something is broken, not working, diagnose issue, troubleshoot, or investigate an error.
162 chars✓ has a “when” trigger
Intermediate

Key capabilities

  • Debug frontend errors
  • Troubleshoot backend panics
  • Investigate command failures

How it works

It provides a systematic checklist to isolate bugs across UI, IPC, and backend layers.

Inputs & outputs

You give it
Bug report or error symptom
You get back
Diagnostic checklist and fix verification

When to use fix-bug

  • Debug frontend error
  • Troubleshoot backend panic
  • Investigate command failure

About this skill

Fix Bug

When to Use

  • User reports something broken, an error, or unexpected behavior
  • Diagnosing why a feature isn't working

Procedure

1. Reproduce

  • Get exact steps, error messages, or screenshots
  • Check browser DevTools console (frontend errors) and terminal output (Rust panics/errors)
  • If the error mentions invoke, it's likely an IPC issue between frontend and backend

2. Isolate the layer

SymptomLayerWhere to look
UI doesn't render/updateFrontendComponent + store selectors
invoke error / "command not found"IPCCommand registration in lib.rs
Rust panic or AppErrorBackendService function logic
Data shape mismatchSerializationRust struct ↔ TS interface

3. Common issues checklist

  • Command not registered — new command missing from invoke_handler![] in src-tauri/src/lib.rs
  • Param name mismatchinvoke("cmd", { fileName }) vs fn cmd(file_name: String) — names must match exactly (Tauri auto-converts camelCase ↔ snake_case)
  • Path validationvalidate_path() in file_service.rs rejects paths outside vault root. Check canonicalization and vault root setup
  • Stale file tree — forgot to call loadFileTree() after a file mutation (create, rename, delete, move)
  • Selector re-render loopuseStore((s) => ({ a: s.a, b: s.b })) creates new object each render. Use separate selectors per field
  • Missing error handling — store action without try-catch silently fails. Check for unhandled promise rejections

4. Fix and verify

  1. Apply the fix
  2. Run npm test and cd src-tauri && cargo test
  3. Test in dev mode: npm run tauri dev
  4. If the fix touches file operations, verify validate_path() still blocks ../ traversal

When not to use it

  • Feature development

Limitations

  • Requires manual reproduction steps

How it compares

It offers a structured diagnostic path rather than ad-hoc debugging.

Compared to similar skills

fix-bug side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
fix-bug (this skill)04moNo flagsIntermediate
debug-with-valgrind27moReviewIntermediate
cts-triage14moReviewAdvanced
reproduce-reduce-regress17moNo flagsIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

Search skills

Search the agent skills registry