chrome-devtools

作者: github

透過Chrome DevTools協定進行專家級瀏覽器自動化、除錯與效能分析。四大工具類別涵蓋導航、互動、除錯與效能分析,支援超過25項指令。快照優先工作流程提供元素UID以確保可靠定位;螢幕截圖提供視覺驗證。網路請求檢查、主控台訊息分析與JavaScript評估支援故障排除與驗證。效能追蹤搭配Core Web Vital分析可識別...

npx skills add https://github.com/github/awesome-copilot --skill chrome-devtools

Chrome DevTools Agent

Overview

A specialized skill for controlling and inspecting a live Chrome browser. This skill leverages the chrome-devtools MCP server to perform a wide range of browser-related tasks, from simple navigation to complex performance profiling.

When to Use

Use this skill when:

  • Browser Automation: Navigating pages, clicking elements, filling forms, and handling dialogs.
  • Visual Inspection: Taking screenshots or text snapshots of web pages.
  • Debugging: Inspecting console messages, evaluating JavaScript in the page context, and analyzing network requests.
  • Performance Analysis: Recording and analyzing performance traces to identify bottlenecks and Core Web Vital issues.
  • Emulation: Resizing the viewport or emulating network/CPU conditions.

Tool Categories

1. Navigation & Page Management

  • new_page: Open a new tab/page.
  • navigate_page: Go to a specific URL, reload, or navigate history.
  • select_page: Switch context between open pages.
  • list_pages: See all open pages and their IDs.
  • close_page: Close a specific page.
  • wait_for: Wait for specific text to appear on the page.

2. Input & Interaction

  • click: Click on an element (use uid from snapshot).
  • fill / fill_form: Type text into inputs or fill multiple fields at once.
  • hover: Move the mouse over an element.
  • press_key: Send keyboard shortcuts or special keys (e.g., "Enter", "Control+C").
  • drag: Drag and drop elements.
  • handle_dialog: Accept or dismiss browser alerts/prompts.
  • upload_file: Upload a file through a file input.

3. Debugging & Inspection

  • take_snapshot: Get a text-based accessibility tree (best for identifying elements).
  • take_screenshot: Capture a visual representation of the page or a specific element.
  • list_console_messages / get_console_message: Inspect the page's console output.
  • evaluate_script: Run custom JavaScript in the page context.
  • list_network_requests / get_network_request: Analyze network traffic and request details.

4. Emulation & Performance

  • resize_page: Change the viewport dimensions.
  • emulate: Throttling CPU/Network or emulating geolocation.
  • performance_start_trace: Start recording a performance profile.
  • performance_stop_trace: Stop recording and save the trace.
  • performance_analyze_insight: Get detailed analysis from recorded performance data.

Workflow Patterns

Pattern A: Identifying Elements (Snapshot-First)

Always prefer take_snapshot over take_screenshot for finding elements. The snapshot provides uid values which are required by interaction tools.

1. `take_snapshot` to get the current page structure.
2. Find the `uid` of the target element.
3. Use `click(uid=...)` or `fill(uid=..., value=...)`.

Pattern B: Troubleshooting Errors

When a page is failing, check both console logs and network requests.

1. `list_console_messages` to check for JavaScript errors.
2. `list_network_requests` to identify failed (4xx/5xx) resources.
3. `evaluate_script` to check the value of specific DOM elements or global variables.

Pattern C: Performance Profiling

Identify why a page is slow.

1. `performance_start_trace(reload=true, autoStop=true)`
2. Wait for the page to load/trace to finish.
3. `performance_analyze_insight` to find LCP issues or layout shifts.

Best Practices

  • Context Awareness: Always run list_pages and select_page if you are unsure which tab is currently active.
  • Snapshots: Take a new snapshot after any major navigation or DOM change, as uid values may change.
  • Timeouts: Use reasonable timeouts for wait_for to avoid hanging on slow-loading elements.
  • Screenshots: Use take_screenshot sparingly for visual verification, but rely on take_snapshot for logic.

來自 github 的更多技能

console-rendering
github
在 Go 中使用基於結構體標籤的控制台渲染系統的說明
official
acquire-codebase-knowledge
github
當使用者明確要求對現有程式碼庫進行映射、文件化或入門引導時,使用此技能。觸發詞如「映射此程式碼庫」、「文件化…」等提示。
official
acreadiness-assess
github
Run the AgentRC readiness assessment on the current repository and produce a static HTML dashboard at reports/index.html. Wraps `npx github:microsoft/agentrc…
official
acreadiness-generate-instructions
github
透過 AgentRC 指令命令生成量身打造的 AI 代理指令檔案。產生 .github/copilot-instructions.md(預設,建議用於 VS Code 中的 Copilot…
official
acreadiness-policy
github
幫助使用者選取、撰寫或套用 AgentRC 政策。政策可透過停用不相關的檢查、覆寫影響/等級、設定…來自訂整備度評分。
official
add-educational-comments
github
為程式碼檔案添加教育性註解,將其轉化為有效的學習資源。根據三個可設定的知識層級(初學者、中級、進階)調整解釋深度與語氣。若未提供檔案,會自動請求提供,並以編號清單對應以便快速選取。僅透過教育性註解將檔案擴充最多125%(嚴格上限:400行新註解;超過1,000行的檔案上限為300行)。保留檔案編碼、縮排風格、語法正確性及……
official
adobe-illustrator-scripting
github
使用 ExtendScript (JavaScript/JSX) 編寫、除錯及最佳化 Adobe Illustrator 自動化腳本。適用於建立或修改操控…的腳本時。
official
agent-governance
github
宣告式政策、意圖分類與稽核軌跡,用於控制AI代理工具存取與行為。可組合的治理政策定義允許/封鎖的工具、內容過濾器、速率限制與核准要求——以配置而非程式碼形式儲存。語意意圖分類在工具執行前,透過基於模式的訊號偵測危險提示(資料外洩、權限提升、提示注入)。工具層級治理裝飾器在函式層級強制執行政策……
official