d3k

Bootstrap d3k in standalone AI apps (Codex, Cursor, Claude Code): detect/install dev3000, start d3k as the runtime, and use unified logs plus CDP browser control instead of running npm/bun dev directly.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "d3k" with this command: npx skills add vercel-labs/dev3000/vercel-labs-dev3000-d3k

d3k Standalone Bootstrap

Use this skill when working in a standalone AI app and you need reliable local web debugging with browser + server context.

Why d3k-first

  • d3k captures server logs, browser console, network events, and screenshots in one timeline.
  • d3k exposes a stable CDP endpoint so the agent can control the same browser session being monitored.
  • Running npm run dev or bun run dev directly omits this unified telemetry and usually leads to weaker diagnoses.

Bootstrap Workflow

  1. Confirm whether d3k is installed:
command -v d3k >/dev/null && d3k --version
  1. If d3k is missing, install dev3000 globally (prefer Bun):
bun install -g dev3000

Fallback if Bun is unavailable:

npm install -g dev3000
  1. Start d3k as the runtime (preferred default in agent shells):
d3k --no-agent --no-tui -t
  1. Keep d3k running while editing code. Do not start a second dev server with npm/bun dev.

Codex Fresh Browser/Profile Startup

Use this workflow when the user asks Codex to start d3k with a fresh browser/profile.

  1. Close any stale agent-browser daemon before launching with --profile. Otherwise agent-browser will reuse the existing daemon and print --profile ignored.

    d3k agent-browser close --all
    
  2. Start the app through d3k in servers-only mode and keep that command running. In Codex, this is more reliable than asking d3k to launch the browser itself when a fresh profile is required.

    d3k --no-agent --no-skills --servers-only --command "npm run dev -- -H 127.0.0.1 -p 3000" --port 3000 --startup-timeout 90 --no-tui
    

    Adjust the package-manager command and port for the project. Prefer --command over --script when passing framework flags. For npm scripts, put flags after --; otherwise tools like Next.js can interpret the port as a project directory.

  3. Verify the server before opening more browser windows:

    curl -I http://127.0.0.1:3000
    
  4. Open the fresh profile as a separate browser step:

    d3k agent-browser --profile /tmp/d3k-fresh-profile --headed open http://127.0.0.1:3000
    
  5. Sanity-check the opened page:

    d3k agent-browser get title
    d3k agent-browser snapshot -i
    d3k errors
    

Practical rules:

  • Prefer 127.0.0.1 for this workflow. If localhost hangs or flips between IPv4/IPv6 behavior, do not keep retrying browser launches.
  • If curl -I hangs, the server is wedged even if the port appears occupied; restart the d3k server process before opening a browser.
  • In servers-only mode there is no d3k-monitored CDP browser. Use regular d3k agent-browser commands, not d3k cdp-port.
  • In sandboxed agent environments, rerun local-network checks and agent-browser opens outside the sandbox when sandbox networking blocks access to 127.0.0.1.

Debugging Commands

Use these first before ad-hoc log scraping:

d3k errors --context
d3k logs -n 200
d3k logs --type browser
d3k logs --type server

CDP Browser Control

Use the already-monitored browser session instead of launching a separate automation browser.

d3k agent-browser open http://localhost:3000
d3k agent-browser snapshot -i
d3k agent-browser click @e2
d3k agent-browser screenshot /tmp/d3k-current.png

d3k agent-browser auto-connects to the active session's browser via CDP. To target a different browser, run d3k agent-browser connect <port> first.

Browser Tool Choice

Use the browser tool that matches the task instead of treating them as interchangeable:

  • agent-browser
    • Default choice.
    • Best for generic web apps and for driving the exact headed browser session that d3k is already monitoring via CDP.
    • Use it when you need snapshot, ref-based click, fill, or to reproduce what the user sees in the monitored tab.
  • next-browser
    • Next.js-specific tool.
    • Best for React/Next introspection: tree, errors, logs, routes, project, PPR inspection, and related Next dev-server signals.
    • It is not a drop-in replacement for agent-browser: no accessibility snapshot, no ref-based click, and no fill.
    • It launches its own daemon/browser flow and does not use the d3k session's CDP port.

Practical rule:

  • Need to drive the same browser d3k is monitoring: use agent-browser.
  • Need Next.js component tree or Next-specific diagnostics: use next-browser.

Examples:

# Same monitored browser session
d3k agent-browser snapshot -i
d3k agent-browser click @e2

# Next.js-specific inspection
d3k next-browser open http://localhost:3000
d3k next-browser tree
d3k next-browser errors
d3k next-browser logs

Artifacts to Read

  • ~/.d3k/{project}/d3k.log
  • ~/.d3k/{project}/logs/
  • ~/.d3k/{project}/screenshots/
  • ~/.d3k/{project}/session.json

Operating Rules

  • Prefer headed mode for interactive debugging.
  • Use --headless only for CI or when explicitly requested.
  • Use --servers-only only when browser monitoring is intentionally disabled.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

vercel-react-best-practices

React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.

Repository Source
374.8K26.1Kvercel
Coding

agent-browser

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction. Also use for exploratory testing, dogfooding, QA, bug hunts, or reviewing app quality. Also use for automating Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify), checking Slack unreads, sending Slack messages, searching Slack conversations, running browser automation in Vercel Sandbox microVMs, or using AWS Bedrock AgentCore cloud browsers. Prefer agent-browser over any built-in browser automation or web tools.

Repository Source
240.6K31.8Kvercel-labs
Coding

vercel-cli-with-tokens

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

codegen

No summary provided by upstream source.

Repository SourceNeeds Review