
Export Download Debugging
- 903 installs
- 83.7k repo stars
- Updated August 5, 2026
- nexu-io/open-design
export-download-debugging is an agent skill that diagnoses and fixes browser, preview, and Electron export or download failures for developers who get empty, missing, or 0 KB exported files.
About
export-download-debugging is an open-design utility skill for diagnosing export and download failures that appear to succeed but produce empty, missing, or unusable files. It focuses on browser previews, iframe capture, and Electron shells, covering Save As flows, Blob and Data URLs, the File System Access API, showSaveFilePicker, createWritable failures, and 0 KB output files. Developers reach for export-download-debugging when image or document export runs without error yet downloads as zero bytes or corrupt artifacts. Trigger phrases include 'export image failed', 'download is 0kb', and 'blob URL' errors during client-side export implementation.
- Separates capture from save to isolate root cause of zero-byte exports
- Records payload type, MIME, byte length, object URL and error details
- Inspects browser console, Electron will-download events, and File System Access API failures
- Fixes common showSaveFilePicker, createWritable, Blob URL, and 0 KB file issues
- Provides ordered debugging checklist tuned for browser previews, iframes, and Electron
Export Download Debugging by the numbers
- 903 all-time installs (skills.sh)
- +74 installs in the week ending Aug 4, 2026 (Skillselion tracking)
- Ranked #55 of 596 Debugging skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/nexu-io/open-design --skill export-download-debuggingAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 903 |
|---|---|
| repo stars | ★ 83.7k |
| Last updated | August 5, 2026 |
| Repository | nexu-io/open-design ↗ |
Why does browser image export produce a 0 KB file?
Quickly diagnose and resolve export or download failures that produce empty or broken files.
Who is it for?
Frontend developers debugging client-side image or file export in browser previews, iframe capture, or Electron apps.
Skip if: Server-side file generation bugs or API download endpoints that never reach the browser save dialog.
When should I use this skill?
Export or download appears to run but saves a 0 KB file, fails createWritable, or breaks on showSaveFilePicker or Blob URLs.
What you get
Working export/download pipeline with valid non-empty files from browser or Electron.
- Fixed client-side export code
- Valid downloaded file output
Files
Export Download Debugging
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.
Core rule
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.
Evidence
- Record the payload type, MIME type, byte length, object URL or data URL path,
and thrown error name/message.
- Check browser console output and app logs around
showSaveFilePicker,
createWritable, <a download>, URL.createObjectURL, and URL revocation.
- In Electron, inspect the
will-downloadpath: filename, MIME, file extension,
save dialog filters, cancellation, and final file size.
- Confirm the actual downloaded file size on disk and whether it opens in a
normal image viewer.
Fix order
1. Prepare and validate the export payload first; disable Save until bytes are available. 2. Prefer the simplest stable save channel for the host. If showSaveFilePicker().createWritable() fails, is sandboxed, or creates empty files, route to <a download> or Electron's download manager instead. 3. Avoid opening a native picker before the payload is ready. This prevents the host from creating an empty destination file on later write failure. 4. For PNG fallback, prefer a verified non-empty data URL when blob URLs, revocation timing, CSP, or iframe sandboxing are suspicious. 5. In Electron, add explicit Save As filters for exported image extensions (.png, .jpg, .jpeg, .webp) so users can choose a real image target. 6. Keep the UI restrained: format selection, filename/path hint, clear pending and error states, and one primary save action.
Validation
- Add or update tests for non-empty payload preparation, fallback save behavior,
file extension/MIME mapping, and UI disabled/error states.
- Run focused export tests, then
pnpm --filter @open-design/web typecheck. - If Electron download handling changed, also run
pnpm --filter @open-design/desktop typecheck.
- Before landing, run
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.
Related skills
FAQ
What export failures does export-download-debugging cover?
export-download-debugging covers browser, preview, and Electron export failures including 0 KB files, broken Save As flows, Blob and Data URL issues, and File System Access API createWritable or showSaveFilePicker errors.
When should you invoke export-download-debugging?
Invoke export-download-debugging when an export or download runs without obvious error but produces an empty, missing, or unusable file—especially image exports using Blob URLs or the File System Access API.