From nette
Interprets Tracy debugger output for PHP apps: BlueScreen errors, Tracy Bar (SQL queries, execution time, memory), dumps. For localhost debugging of 500 errors, blank pages, exceptions, slow loads, N+1 queries.
How this skill is triggered — by the user, by Claude, or both
Slash command
/nette:tracy-debuggingThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Tracy is enabled automatically in debug mode. In debug mode, Tracy displays errors in the browser. In production mode, errors are logged to the `log/` directory and the user sees a generic error page.
Tracy is enabled automatically in debug mode. In debug mode, Tracy displays errors in the browser. In production mode, errors are logged to the log/ directory and the user sees a generic error page.
Debug mode is controlled in app/Bootstrap.php:
// Auto-detect: debug on localhost, production elsewhere
$this->configurator->setDebugMode('[email protected]');
// Force debug mode (development only!)
$this->configurator->setDebugMode(true);
// Enable Tracy with log directory
$this->configurator->enableTracy($this->rootDir . '/log');
In production, Tracy logs exceptions to log/exception-*.html files (full BlueScreen snapshots) and errors to log/error.log.
Every successful page response includes a Tracy Bar at the bottom - a compact debug summary in markdown:
Look for it at the end of every curl response. Use it to verify database queries, check performance, and confirm expected behavior.
When an exception is thrown or a fatal error occurs, Tracy renders a BlueScreen error report. It contains:
The BlueScreen provides enough information to diagnose most issues without looking at logs.
When using Chrome MCP (browser automation), Tracy outputs everything into browser console. Read it all with one call:
list_console_messages()
What you get:
[error] – BlueScreen error report (full markdown with stack trace, source snippets, arguments, environment). Only present when an exception occurred.[log] – Tracy Bar summary (execution time, memory, plus any panel info like warnings). Present on every page.The page title changes to Tracy: Exception: <message> #<code> when an error occurs (set via JavaScript, reliably overrides any original title).
No screenshots or snapshots needed. Works regardless of where the error occurs on the page. The visual HTML BlueScreen and Tracy Bar are still rendered for the human user.
Insert dump($variable) anywhere in PHP code to inspect values:
// In presenter or service code
dump($product); // dumps single variable
dump($query->getSql()); // dumps SQL string
dump($form->getValues()); // dumps form data
With curl, dump output appears directly in the response as text. With Chrome MCP, use take_snapshot to read dump output from the rendered page.
With Chrome MCP (preferred for web pages):
navigate_pagelist_console_messages() to read Tracy errors ([error]) and Bar info ([log])take_snapshot to read page content or dump output if neededWith curl (API endpoints, CLI):
Check what SQL queries a page generates:
curl https://example.l/admin/products
# Look at Tracy Bar at the bottom for SQL query list
Inspect a variable at a specific point:
// Add to code temporarily
dump($this->getParameter('id'));
curl https://example.l/admin/product/edit/42
# dump output appears in the response
For detailed information, use WebFetch on these URLs:
npx claudepluginhub nette/claude-code --plugin netteProvides non-invasive PHP debugging with Xdebug tools: xtrace for execution traces, xstep for breakpoints and stepping, xprofile for performance, xcoverage for test coverage, xback for stack traces.
Captures browser console, network, and performance logs using Chrome DevTools MCP for debugging web apps, errors, and page behavior. Auto-activates on browser issues.