Google ADK (Agent Development Kit) orchestration patterns — boundaries, agent composition, and tool seams. Trigger when designing or reviewing multi-agent systems built on ADK. Authoritative source: adk.dev.
日本語の概要は準備中です。原文の説明を表示しています。
Measure real frontend performance — Core Web Vitals (LCP, CLS, INP), page-load traces, CPU and network throttling, Lighthouse accessibility/SEO scores, and heap growth — using chrome-devtools-mcp against a live browser. Trigger when asked "is the page fast enough", "measure Core Web Vitals", "why is this route slow", "run Lighthouse", "check for a memory leak", before any performance-gated certification (Built for Shopify, Core Web Vitals thresholds, store listing review), and before any launch or traffic-multiplier event. Measurement only — this skill never drives functional journeys.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Measure, don't estimate. "The page feels fast" is not evidence. "LCP 3.1s at 4x CPU throttle, 2.2s of it server response time" is evidence.
This skill wires chrome-devtools-mcp as the measurement instrument in a browser toolkit that already has drivers. It exists because functional browser automation and performance measurement are different jobs, and the tools that do the first one well do not do the second one at all.
Most agent harnesses accumulate two or three browser tools that all click, screenshot, and read the DOM. None of them measure. So performance work falls back to one of two bad options:
Neither option can measure an authenticated page, an embedded iframe app, or a password-protected staging store. That is precisely where most real product surfaces live.
chrome-devtools-mcp closes that gap because it can attach to a browser you have already logged into, and trace the page in situ.
This is the part that keeps the toolkit coherent. Do not use this skill as a general browser driver.
Adding a third browser tool is only justified if it is confined to the job the others cannot do. Measurement is that job. If you find yourself clicking through a checkout with this tool, you have broken the routing rule.
One table. Read the job, pick the tool, do not improvise.
| Job | Tool | Why |
|---|---|---|
| Core Web Vitals (LCP / CLS / INP / TBT) | chrome-devtools-mcp | Only tool that records and parses a trace |
| Page-load trace and time attribution | chrome-devtools-mcp | performance_analyze_insight explains the number |
| CPU / network throttling, device emulation | chrome-devtools-mcp | emulate exposes both |
| Lighthouse a11y / SEO / best practices | chrome-devtools-mcp | lighthouse_audit |
| Heap snapshot, leak hunting, retainer paths | chrome-devtools-mcp | 12 heap tools; nothing else has them |
| Committed regression test, CI gate | E2E framework (Playwright/Cypress specs) | Must run headless, unattended, on every push |
| Interactive journey validation in a logged-in session | Existing MCP browser driver | Already wired, already authenticated |
| Scripted exploration, scraping, bulk HTTP | Scripted CDP harness | Cheapest per action, no MCP round-trip |
| Coordinate clicks through iframes / shadow DOM | Scripted CDP harness | Compositor-level hit testing |
The one-line version: if the deliverable is a number, use chrome-devtools-mcp. If the deliverable is a pass/fail on behaviour, use the driver or the test suite.
Pin the version. Do not use @latest in a checked-in config — this package ships roughly monthly and an unpinned upgrade will change tool behaviour underneath a working audit.
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": [
"-y",
"chrome-devtools-mcp@1.6.0",
"--isolated",
"--no-usage-statistics"
]
}
}
}
--isolated uses a throwaway user-data-dir that is cleaned up afterwards, so an audit never mutates your real profile.
This is the mode that earns the tool its place. Start Chrome with remote debugging on a dedicated profile:
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \
--remote-debugging-port=9222 \
--user-data-dir="$HOME/.chrome-debug-profile"
Log in once in that window, then point the server at it:
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": [
"-y",
"chrome-devtools-mcp@1.6.0",
"--browserUrl",
"http://127.0.0.1:9222",
"--no-usage-statistics"
]
}
}
}
If your project already launches a CDP Chrome on 9222 for E2E testing, reuse it. The session, cookies, and login you already have are the whole point — you get to trace the real authenticated page rather than a logged-out shell.
| Flag | Use |
|---|---|
--browserUrl <url> | Attach to a running debuggable Chrome |
--isolated | Temporary profile, auto-cleaned |
--headless | No UI; note that headless can shift timings, so baseline in one mode and stay there |
--channel <stable|beta|dev|canary> | Pin a Chrome channel |
--slim | Cut to 3 tools (navigate, evaluate, screenshot) to save context |
--no-usage-statistics | Opt out of Google usage telemetry |
--experimentalPageIdRouting | Required if several agents share one server |
Fix the conditions before you measure. Record device, throttle settings, and whether the run is warm or cold. A number without its conditions is not comparable to anything.
emulate(cpuThrottlingRate: 4, networkConditions: "Slow 4G", viewport: "1350x940x1")
4x CPU and Slow 4G approximate mid-tier mobile hardware. Measuring on an unthrottled developer laptop flatters the result and will not match field data.
Trace a cold page load.
performance_start_trace(reload: true, autoStop: true)
reload: true is what makes it a load trace rather than a snapshot of an already-warm page.
Read the insight set, then attribute the largest contributor rather than reporting the score alone:
performance_analyze_insight(insightName: "LCPBreakdown", insightSetId: <id>)
performance_analyze_insight(insightName: "DocumentLatency", insightSetId: <id>)
Measure INP separately. INP is an interaction metric and will not appear in a load trace. Start a trace, perform the real interaction, then stop it.
Repeat three times, take the median. Single runs are noisy — cache state, background processes, and network variance move LCP by hundreds of milliseconds. One run is an anecdote.
Run Lighthouse for the non-performance categories.
lighthouse_audit(device: "mobile", mode: "navigation")
Note the boundary: lighthouse_audit covers accessibility, SEO, best practices, and agentic browsing, and explicitly excludes performance. Performance comes from the trace tools. Do not report a Lighthouse run as your CWV evidence.
Compare against field data, don't substitute for it. Lab numbers find and prove fixes; field data at the 75th percentile is what a certification bar is actually judged on. A lab win is a hypothesis until the field percentile moves.
An audit is done when the report contains all of:
Anything less is a screenshot of a score, not an audit.
--no-usage-statistics (or set CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS) in any client or regulated context.docs/tool-reference.md in that repository.まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Google ADK (Agent Development Kit) orchestration patterns — boundaries, agent composition, and tool seams. Trigger when designing or reviewing multi-agent systems built on ADK. Authoritative source: adk.dev.
日本語の概要は準備中です。原文の説明を表示しています。
JP's signature red-team pass — "how would I break this?" Argue against your own approach before proceeding. Trigger on any high-stakes decision, architecture choice, or before marking work complete.
日本語の概要は準備中です。原文の説明を表示しています。
Read-only SRE checkup of any GCP project: deterministic probes of the edge, Cloud Run services, 7-day error logs, Cloud Scheduler, alert policies and uptime checks, Secret Manager and IAM, the data stores and the machine's own scheduled jobs, audited into one fixed status table (LIVE / WARNING / RED / INCONCLUSIVE) with evidence, findings by severity, what could not be checked, and a single OVERALL line delivered as one notification. Parametrised by a per-project manifest, so the same routine runs on every project. Use when the operator says "cloud checkup", "SRE check", "is everything live", "what's healthy / warning / red", "any errors this week", "audit the infra", "weekly checkup", "set up the weekly checkup", before a deploy or demo, or after an incident. Cloud Run first; App Engine and GKE differ only in the serving probes.
日本語の概要は準備中です。原文の説明を表示しています。
Cloud guardrails for any vendor workload — Google Cloud (GCP, Vertex AI, GKE), AWS (IAM, EKS, Bedrock), Azure (Entra ID, Policy, AKS), Alibaba Cloud (RAM, mainland/international residency). Enforces identity least-privilege, mechanical policy, data boundaries, residency, cost caps, network egress and observability, with official-source validation before any claim. Trigger on any cloud infrastructure design, review, Terraform plan, or LLM/agent deployment; the-architect routes here.
日本語の概要は準備中です。原文の説明を表示しています。
LLM and cloud cost awareness — model tiering, token budgets, right-sizing, and when a cheaper model suffices. Trigger before finalising any architecture that calls LLMs, before scaling a workload, or when a cost estimate is needed.
日本語の概要は準備中です。原文の説明を表示しています。
Decompose an epic into atomic parallelizable tasks, route each to the right skill, and keep the four delivery records straight — issues, STATUS, ROADMAP, CHANGELOG. Use as a meta-router when several skills could apply, and as the baseline for how delivery state is recorded. Trigger at the start of any multi-track epic, when the skill count exceeds ~12, or when the records have drifted from reality.
日本語の概要は準備中です。原文の説明を表示しています。