Skip to content
Agentmart
Submit a tool

CDPWave Debugging

Advanced debugging with cdpwave.

Skill by MathiasPaulenko

IndexedMIT★ 2
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/mathiaspaulenko-cdpwave-debugging

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Advanced debugging with cdpwave. Breakpoints, step debugging, CPU profiling, heap snapshots, code coverage, DOM debugger.

Use cases: testing

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/cdpwave-debugging

What's inside

Skill name
CDPWave Debugging
Description
Advanced debugging with cdpwave. Breakpoints, step debugging, CPU profiling, heap snapshots, code coverage, DOM debugger.
License
MIT
Instructions
544 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Agent Skills spec issues

  • name: only lowercase letters, digits and single hyphens allowed
  • name: "CDPWave Debugging" does not match folder "cdpwave-debugging"
  • body: 544 lines (spec recommends under 500)

Files (6)

  • SKILL.md
  • debug-session.py · assets/templates/
  • heap-analysis.py · assets/templates/
  • debugger-domain.md · references/
  • heap-profiler.md · references/
  • profiler-domain.md · references/

SKILL.md (first lines)

# CDPWave Debugging

## Description

Advanced debugging with cdpwave — set breakpoints, step through JavaScript, capture CPU profiles, take heap snapshots, measure code coverage, and use the DOM debugger for event-level debugging.

## When to Invoke

- Setting breakpoints and step debugging JavaScript
- Capturing and analyzing CPU profiles
- Taking heap snapshots for memory leak detection
- Measuring JS and CSS code coverage
- Setting DOM and event breakpoints
- Debugging JavaScript execution in automated tests

## Prerequisites

- `pip install cdpwave`
- Chrome or Edge launched with `--remote-debugging-port=9222`
- Basic familiarity with cdpwave (see `cdpwave-testing` skill)
- Python 3.11+ with `asyncio`

## Debugger Domain

The CDP Debugger domain provides full step-debugging capabilities over the DevTools Protocol.

### Setting breakpoints

#### debug_set_breakpoint

Set a breakpoint by URL, function, or script:

```python
import asyncio
from cdpwave import CDPSession

async def set_breakpoint():
    session = await CDPSession.connect("ws://localhost:9222")

    # Enable the Debugger domain
    await session.Debugger.enable()

    # Set breakpoint by URL and line number
    result = await session.Debugger.set_breakpoint_by_url(
        url="https://example.com/app.js",
        line_number=42,
        column_number=0
    )
    breakpoint_id = result["breakpointId"]

    # Set breakpoint by function name
    result = await session.Debugger.set_breakpoint_by_function(
        function_name="handleClick"
    )

    # Set breakpoint by script ID and line
    result = await session.Debugger.set_breakpoint(
        location={
            "scriptId": "script123",
            "lineNumber": 10,
            "columnNumber": 0
        }
    )

    await session.close()
```

#### Conditional breakpoints

```python
await session.Debugger.set_breakpoint_by_url(
    url="https://example.com/app.js",
    line_number=42,
    condition="x > 100"
)
```

#### Logpoints (breakpoints that log without pausing)

```python
await session.Debugger.set_breakpoint_by_url(
    url="https://example.com/app.js",
    line_number=42,
    condition="console.log('hit line 42, x=', x); false"
)
```

### Pausing and resuming

#### debug_pause

Pause JavaScript execution:

```python
await session.Debugger.pause()
```

#### debug_resume

Resume execution after a pause:

```python
await session.Debugger.resume()
```

### Step debugging

| Method | Description |
|--------|-------------|
| `Debugger.step_over` | Step over the next function call |
| `Debugger.step_into` | Step into the next function call |
| `Debugger.step_out` | Step out of the current function |
| `Debugger.resume` | Resume execution until next breakpoint |

```python
async def step_debug(session):
    # Wait for pause event
    paused = await session.Debugger.wait_for_pause()

From MathiasPaulenko/ai-toolkit, MIT.

More from MathiasPaulenko/ai-toolkit

Signals

Stars
2
Forks
0
Open issues
0
Last commit (this folder)
Jul 30, 2026 (3 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from MathiasPaulenko

Cite this page

CDPWave Debugging skill. Agent Mart. https://agentmart.dev/skills/mathiaspaulenko-cdpwave-debugging (last updated 2026-10-24)