Diagnose and fix browser, preview, or Electron export/download failures, especially image export issues involving Save As, Blob/Data URLs, the File System Access API, createWritable failures, and 0 KB files.
Use this when an export or download appears to run but produces an empty, missing, or unusable file. It is tuned for browser previews, iframe capture, and Electron shells.
Separate capture from save. Prove the export payload has non-zero bytes before debugging the destination path. A 0 KB file often means the native picker or host created the target file, then the write failed or was blocked.
showSaveFilePicker,
createWritable, <a download>, URL.createObjectURL, and URL revocation.will-download path: filename, MIME, file extension,
save dialog filters, cancellation, and final file size.showSaveFilePicker().createWritable() fails, is sandboxed, or creates empty
files, route to <a download> or Electron's download manager instead..png, .jpg, .jpeg, .webp) so users can choose a real image target.pnpm --filter @open-design/web typecheck.pnpm --filter @open-design/desktop typecheck.pnpm guard, inspect the staged diff for unrelated files,
generated artifacts, and accidental secrets, then use the repository's PR
quality-gate workflow if the fix is being prepared for review.Copy a source-pinned command for your client. You run it yourself.
Destination: .claude/skills/export-download-debugging · pinned to the source commit
# Run from your project root
git clone https://github.com/nexu-io/open-design.git .skillboard-tmp
git -C .skillboard-tmp checkout 9881cff70e02be86c2a58130af512011ba23d4af
mkdir -p ".claude/skills"
cp -r ".skillboard-tmp/skills/export-download-debugging" ".claude/skills/"
rm -rf .skillboard-tmpReview the source before running. This copies files into your project; it is not a one-click install and does not verify runtime safety.
sudo apt update && sudo apt install -y gitnpm install -g @anthropic-ai/claude-code# Run from your project root
git clone https://github.com/nexu-io/open-design.git .skillboard-tmp
git -C .skillboard-tmp checkout 9881cff70e02be86c2a58130af512011ba23d4af
mkdir -p ".claude/skills"
cp -r ".skillboard-tmp/skills/export-download-debugging" ".claude/skills/"
rm -rf .skillboard-tmpDestination: .claude/skills/export-download-debugging
Scanner static-checks@0.1.0 · commit 9881cff70e02. Static checks cannot prove runtime safety – review the source and the exact diff before installing. How checks work.
No static rules matched. This is not a safety guarantee.