chrome-devtools
npx skills add https://github.com/acejou27/skills --skill chrome-devtools
Agent 安装分布
Skill 文档
Chrome DevTools Skill
Expert guidance for Chrome DevTools – the comprehensive suite of web development and debugging tools built into Chrome.
When to Use This Skill
This skill should be triggered when:
- Debugging JavaScript code with breakpoints and stepping
- Inspecting and modifying CSS styles and layouts
- Analyzing network requests and responses
- Profiling performance and identifying bottlenecks
- Working with browser storage (cookies, localStorage, sessionStorage)
- Inspecting DOM elements and their properties
- Using the Console API for logging and debugging
- Testing responsive designs and mobile viewports
- Debugging animations and transitions
- Working with Progressive Web Apps (PWAs)
- Using Chrome DevTools Protocol or automation
- Emulating device sensors (geolocation, orientation)
- Analyzing JavaScript heap and memory usage
Quick Reference
JavaScript Debugging
Setting Breakpoints and Inspecting Variables
// Set breakpoints in DevTools Sources panel
// Inspect variable values in the Scope pane
function updateLabel() {
var addend1 = getNumber1();
var addend2 = getNumber2();
var sum = addend1 + addend2; // Set breakpoint here (line 32)
label.textContent = addend1 + ' + ' + addend2 + ' = ' + sum;
}
Console API
Basic Logging and Assertions
// Log messages at different levels
console.log('Informational message');
console.warn('Warning message');
console.error('Error message');
console.debug('Debug message');
// Assertions
const x = 5, y = 3;
console.assert(x < y, {x, y, reason: 'x should be less than y'});
Grouping and Tables
// Group related logs
console.group('User Details');
console.info('Name: John');
console.info('Age: 30');
console.groupEnd();
// Display data as table
const users = [
{ first: 'John', last: 'Doe', age: 30 },
{ first: 'Jane', last: 'Smith', age: 25 }
];
console.table(users);
Timing and Tracing
// Measure execution time
console.time('loop');
for (let i = 0; i < 100000; i++) {
let square = i ** 2;
}
console.timeEnd('loop');
// Print stack trace
console.trace();
Console Utilities
Selecting and Inspecting Elements
// Select elements (like jQuery)
$('img'); // First img element
$$('img'); // All img elements
// Select with starting node
let images = $$('img', document.querySelector('.header'));
for (let img of images) {
console.log(img.src);
}
// XPath selection
$x('//p'); // All <p> elements
$x('//p[contains(., "text")]'); // <p> elements containing "text"
Inspecting Recently Selected Elements
// $0 = most recently selected element in Elements panel
// $1 = second most recent, etc.
$0.textContent;
$1.className;
Monitoring Events
// Get all event listeners on an element
getEventListeners(document);
// Monitor events
monitorEvents(window, 'resize');
unmonitorEvents(window, 'resize');
// Debug function calls
debug(myFunction); // Breaks when myFunction is called
undebug(myFunction);
CSS Inspection and Debugging
Grid Layout Debugging
/* Define a grid layout */
.container {
display: grid;
grid-template-columns: 1fr 2fr;
grid-template-rows: 80px 80px;
grid-template-areas:
"left right"
"middle1 middle2";
}
/* DevTools shows:
* - Grid badge in Elements panel
* - Grid overlay with line numbers
* - Track sizes (1fr - 96.66px, 2fr - 193.32px)
* - Area names visualization
*/
Animation Debugging
/* Inspect animations with Animations panel */
.element {
animation: slideIn 2s ease-in-out infinite;
}
@keyframes slideIn {
0% { transform: translateX(-100%); }
100% { transform: translateX(0); }
}
/* DevTools lets you:
* - Replay animations
* - Adjust speed (25%, 50%, 100%)
* - Edit timing and delays
* - Modify @keyframes live
*/
Network Analysis
Inspecting Request Headers
// In Network panel, click request > Headers tab
// Or programmatically:
fetch('https://api.example.com/data', {
headers: {
'Authorization': 'Bearer token',
'Content-Type': 'application/json'
}
})
.then(response => {
// Inspect timing in Network panel
// Check response headers
console.log(response.headers.get('content-type'));
});
Performance Profiling
Node.js CPU Profiling
# Start Node with inspector
node --inspect file-name.js
# Or Deno
deno --inspect file-name.js
# Profile with console API
console.profile('myProfile');
doSomething();
console.profileEnd();
Device Emulation
Responsive Testing
// Open Device Toolbar (Cmd+Shift+M / Ctrl+Shift+M)
// Dimensions: Set to specific device or custom
// Device Pixel Ratio: Simulate HiDPI displays
// User Agent: Test as mobile/desktop
// Emulate sensors programmatically
// In Sensors panel:
// - Geolocation: Set custom lat/long
// - Orientation: alpha, beta, gamma
// - Touch: Force touch events
Storage Management
Working with localStorage
// View in Application > Local Storage
localStorage.setItem('user', JSON.stringify({name: 'John', id: 123}));
localStorage.getItem('user');
localStorage.removeItem('user');
localStorage.clear();
// Edit values directly in DevTools UI
// Filter by key/value
// See storage quota usage
Cookie Management
// View/edit in Application > Cookies
document.cookie = "username=John; expires=Fri, 31 Dec 2024 23:59:59 GMT";
// DevTools shows:
// - Name, Value, Domain, Path
// - Expiration, Size, HttpOnly, Secure
// - SameSite attribute
// - Third-party cookie warnings
Live Expressions
Monitor Values in Real-Time
// Create live expression in Console
// Updates every 250ms
// Track focused element
document.activeElement
// Monitor scroll position
window.scrollY
// Watch variable type
typeof myVariable
Progressive Web Apps
Service Worker Debugging
// Register service worker
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/sw.js')
.then(reg => console.log('SW registered', reg))
.catch(err => console.log('SW error', err));
}
// Debug in Application > Service Workers
// - View lifecycle (install, wait, activate)
// - Update on reload
// - Bypass for network
// - Unregister service workers
Key Concepts
Breakpoints
Pause code execution to inspect state. Types include:
- Line-of-code: Pause at specific line
- Conditional: Pause only when condition is true
- Event listener: Pause when event fires (click, keydown, etc.)
- XHR/Fetch: Pause on network requests
- Exception: Pause on caught/uncaught errors
- DOM: Pause on element modifications
Stepping Through Code
- Step into (F11): Enter function calls
- Step over (F10): Execute current line, skip function internals
- Step out (Shift+F11): Exit current function
- Continue (F8): Resume until next breakpoint
Scope and Closures
The Scope pane shows:
- Local: Variables in current function
- Closure: Variables from outer scopes
- Global: Window/global variables
- Script: Module-level variables
Device Pixel Ratio (DPR)
Ratio between physical pixels and CSS pixels. Important for HiDPI displays:
- Standard: 1x
- Retina: 2x or 3x
- Affects image quality and CSS rendering
Color Spaces
DevTools supports both standard and HD color spaces:
- Standard: RGB, HSL, HWB, Hex
- HD: Display P3, Rec2020, Lab, LCH, OKLab, OKLCH
- Use Color Picker to convert between spaces
Cache Storage
Service worker cache for offline functionality:
- Uses Cache API
- Read-only in DevTools
- Opaque responses consume ~7MB minimum (quota padding)
- Clear via Application > Clear Storage
Reference Files
This skill includes comprehensive documentation in references/:
- ai.md – AI assistance panel, Gemini integration, prompt handling
- application.md – Storage inspection (cookies, localStorage), PWA debugging, service workers
- console.md – Console API reference, utilities, debugging JavaScript
- device.md – Device emulation, sensors (geolocation, orientation), responsive design
- elements.md – DOM inspection, CSS debugging, animations, grid/flexbox layouts, color picker
- getting_started.md – Basic debugging workflow, breakpoints, stepping through code
- network.md – Network analysis, request inspection, timing, headers
- other.md – Additional DevTools features and utilities
- performance.md – CPU profiling, performance analysis, Node.js debugging
- recorder.md – User flow recording and replay
- rendering.md – Rendering performance, paint flashing, layer inspection
- security.md – Security issues, HTTPS, mixed content, certificates
- sources.md – Sources panel, code editor, workspace, snippets
Working with This Skill
For Beginners
Start with:
- getting_started.md – Learn basic debugging workflow
- console.md – Master console logging and utilities
- elements.md – Understand DOM and CSS inspection
For Intermediate Users
Focus on:
- network.md – Analyze network performance
- performance.md – Profile CPU and memory
- application.md – Debug storage and PWAs
- device.md – Test responsive designs
For Advanced Users
Explore:
- sources.md – Advanced debugging techniques
- rendering.md – Optimize rendering performance
- ai.md – Use AI assistance for debugging
- security.md – Identify security vulnerabilities
Navigation Tips
- Use Cmd+P (Mac) / Ctrl+P (Windows) to quickly open files in Sources
- Cmd+Shift+P (Mac) / Ctrl+Shift+P (Windows) opens Command Menu
- Cmd+Shift+C (Mac) / Ctrl+Shift+C (Windows) activates element inspector
- F12 or Cmd+Option+I (Mac) / Ctrl+Shift+I (Windows) toggles DevTools
Common Workflows
Debug a JavaScript Error
- Open Console to see error message and stack trace
- Click file link to jump to Sources panel
- Set breakpoint near error location
- Reload page to trigger breakpoint
- Use Scope pane to inspect variable values
- Step through code to find root cause
Fix CSS Layout Issues
- Right-click element > Inspect
- Check Computed tab for final styles
- Use Grid/Flexbox badges to visualize layout
- Edit styles live in Styles pane
- Use Color Picker for color adjustments
- Check Animations panel for animation issues
Optimize Network Performance
- Open Network panel and reload page
- Filter by resource type (JS, CSS, Images)
- Check Waterfall for timing issues
- Inspect large resources
- Enable throttling to test slow connections
- Use Coverage tab to find unused code
Test Mobile Experience
- Open Device Toolbar (Cmd+Shift+M)
- Select device or set custom dimensions
- Test touch events
- Emulate geolocation in Sensors panel
- Test orientation changes
- Capture screenshots for documentation
Resources
Official Documentation
- Chrome DevTools Docs: https://developer.chrome.com/docs/devtools/
- DevTools Protocol: https://chromedevtools.github.io/devtools-protocol/
Quick Tips
- Double-click to edit most values in DevTools
- Right-click almost anywhere for context menus
- Use $ and $$ as shortcuts for querySelector
- Copy values with copy() function in Console
- Clear Console with Ctrl+L or console.clear()
Notes
- This skill was automatically generated from official Chrome DevTools documentation
- Reference files preserve structure and examples from source docs
- Code examples include language detection for syntax highlighting
- Quick reference patterns are extracted from real-world usage
Updating
To refresh this skill with updated documentation:
- Re-run the scraper with the same configuration
- Review and enhance the Quick Reference section
- Update any changed APIs or features