Skip to content
Back to skills

Stackblitz Debug Bundle

ASecurity

'Collect WebContainer diagnostic info: boot state, file system, process

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 11, 2026
businesstypescriptbashnodeapi

Works with

  • claude code
  • api

Security analysis

A100/100

Scanned November 11, 2026

npx -y skills add pauldx/claudifying --skill stackblitz-debug-bundle --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Stackblitz Debug Bundle?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Stackblitz Debug Bundle
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/pauldx-stackblitz-debug-bundle/badge)](https://www.skillsdirectory.com/skills/pauldx-stackblitz-debug-bundle)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: stackblitz-debug-bundle
description: 'Collect WebContainer diagnostic info: boot state, file system, process
  list.

  Use when working with WebContainers or StackBlitz SDK.

  Trigger: "stackblitz debug".

  '
allowed-tools: Bash(curl:*), Grep
version: 1.0.0
license: MIT
tags:
- saas
- ide
- webcontainers
- stackblitz
compatibility: Designed for Claude Code
---
# StackBlitz Debug Bundle

## Overview

Collect WebContainer diagnostic info: boot state, file system, process list.

## Instructions

### Step 1: Check Boot State

```typescript
async function diagnoseWebContainer(wc: WebContainer) {
  const report: Record<string, any> = {};

  // File system check
  try {
    const entries = await wc.fs.readdir('/');
    report.filesystem = { status: 'ok', rootEntries: entries.length };
  } catch (e: any) {
    report.filesystem = { status: 'error', message: e.message };
  }

  // Node.js check
  try {
    const proc = await wc.spawn('node', ['-e', 'console.log(JSON.stringify({version: process.version, arch: process.arch}))']);
    let output = '';
    proc.output.pipeTo(new WritableStream({ write(data) { output += data; } }));
    await proc.exit;
    report.node = JSON.parse(output);
  } catch (e: any) {
    report.node = { status: 'error', message: e.message };
  }

  // Memory check
  try {
    const proc = await wc.spawn('node', ['-e', 'console.log(JSON.stringify(process.memoryUsage()))']);
    let output = '';
    proc.output.pipeTo(new WritableStream({ write(data) { output += data; } }));
    await proc.exit;
    report.memory = JSON.parse(output);
  } catch { report.memory = 'unavailable'; }

  return report;
}
```

### Step 2: Check Browser Support

```typescript
function checkBrowserSupport() {
  return {
    sharedArrayBuffer: typeof SharedArrayBuffer !== 'undefined',
    crossOriginIsolated: window.crossOriginIsolated,
    serviceWorker: 'serviceWorker' in navigator,
    userAgent: navigator.userAgent,
  };
}
```

## Error Handling

| Check | Expected | Failed Action |
|-------|----------|---------------|
| SharedArrayBuffer | defined | Add COOP/COEP headers |
| crossOriginIsolated | true | Check all headers present |
| Node.js version | v18+ | WebContainer ships its own |
| Root FS entries | > 0 | Re-mount files |

## Resources

- [WebContainer API Reference](https://webcontainers.io/api)
- [Browser Support](https://webcontainers.io/guides/browser-support)

## Next Steps

For resource limits, see `stackblitz-rate-limits`.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in business →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.