webrtc-timing-test
Measure WebRTC connection timing on Daily rooms. Use when testing Daily video call connection performance, measuring ICE negotiation time, benchmarking WebRTC setup latency, or when asked to test how long a Daily room takes to connect.
Best use case
webrtc-timing-test is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Measure WebRTC connection timing on Daily rooms. Use when testing Daily video call connection performance, measuring ICE negotiation time, benchmarking WebRTC setup latency, or when asked to test how long a Daily room takes to connect.
Teams using webrtc-timing-test should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/webrtc-timing-test/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How webrtc-timing-test Compares
| Feature / Agent | webrtc-timing-test | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Measure WebRTC connection timing on Daily rooms. Use when testing Daily video call connection performance, measuring ICE negotiation time, benchmarking WebRTC setup latency, or when asked to test how long a Daily room takes to connect.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# WebRTC Connection Timing Test
Measure how long WebRTC connections take to establish on Daily video rooms.
## Prerequisites
- Chrome browser with Claude in Chrome extension
- Chrome window size: **705 x 942** pixels
## Procedure
### Step 1: Set up browser window
Resize Chrome window to 705 x 942 pixels using `mcp__claude-in-chrome__resize_window`.
### Step 2: Navigate to Daily room
Navigate to the Daily room URL (e.g., `kwindla.daily.co/gradient-ascent`). Wait for pre-join screen ("Get ready for your call") to load.
### Step 3: Inject interceptor
Execute `scripts/inject-interceptor.js` using `mcp__claude-in-chrome__javascript_tool`. This must be done BEFORE clicking Join.
### Step 4: Click Join
Execute `scripts/click-join.js` to click the Join button and record the exact time.
### Step 5: Retrieve results
Wait ~5 seconds for connection, then execute `scripts/retrieve-results.js` to get timing data.
## Key Metrics
| Metric | Description |
|--------|-------------|
| **totalConnectionTime** | Join click to `connectionState: connected` (user-perceived latency) |
| **callSetupTime** | Join click to RTCPeerConnection creation (Daily initialization) |
| **pureWebRTCTime** | RTCPeerConnection creation to connected (actual WebRTC negotiation) |
| **iceConnectionTime** | Join click to `iceConnectionState: connected` |
## Expected Results
| Metric | Typical Time |
|--------|--------------|
| callSetupTime | ~350-500ms |
| pureWebRTCTime | ~150-360ms |
| totalConnectionTime | ~500-900ms |
## Notes
- Daily creates 3 RTCPeerConnections (audio, video, data)
- The interceptor must be installed BEFORE clicking Join
- Network conditions affect ICE negotiation time
- Daily's iframe may cause timing variability between runsRelated Skills
a-b-testing
The science of learning through controlled experimentation. A/B testing isn't about picking winners—it's about building a culture of validated learning and reducing the cost of being wrong. This skill covers experiment design, statistical rigor, feature flagging, analysis, and building experimentation into product development. The best experimenters know that every test, positive or negative, teaches something valuable. Use when "a/b test, experiment, hypothesis, statistical significance, sample size, feature flag, variant, control, treatment, p-value, conversion rate, test winner, split test, experimentation, testing, statistics, feature-flags, hypothesis, growth, optimization, learning, validation" mentioned.
web-testing
Playwright automation, Chrome DevTools debugging, and browser interaction testing. Use for E2E/unit tests, capturing screenshots, inspecting network/console logs, or validating user flows in web applications.
qa-testing-mobile
Mobile app testing strategy and execution for iOS and Android (native + cross-platform): choose automation frameworks, define device matrix, control flakes, validate performance/reliability/accessibility, and set CI + release gates. Use when you need a mobile QA plan, device lab/CI setup, or guidance on XCUITest/Espresso/Appium/Detox/Maestro/Flutter testing.
app-test-workflow
Flutter 앱 테스트 워크플로우를 시작합니다. 테스트 계획 수립 -> 에뮬레이터 테스트 -> 실패 시 디버그 수정 -> 재테스트 순서로 진행합니다. "앱 테스트 워크플로우", "/app-test-workflow", "앱 테스트" 등의 명령으로 활성화됩니다.
anthropic-webapp-testing
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
anthropic-web-testing
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
test-cotton-components
Guide AI agents on testing Django Cotton components using django-cotton-bs5 pytest fixtures. Covers when to use cotton_render vs cotton_render_soup vs cotton_render_string vs cotton_render_string_soup, best practices for component testing, DOM assertions, context handling, and multi-component testing patterns. Use when writing or reviewing Cotton component tests.
Frontend Verification & Testing
Verify and test Angular 18 frontend changes using Chrome DevTools MCP. Automatically check console errors, network requests, and visual rendering after implementing tasks or when fixing UI bugs. Use when creating components, debugging visual issues, validating API integration, or ensuring UI requirements are met. File types: .ts, .html, .css, .scss
frontend-react-testing-strategy
Standardized guidelines and patterns for Frontend React Testing Strategy.
browser-test
Execute browser-based UI testing using Chrome MCP tools. Tests user interactions, visual outcomes, captures evidence. Use for UI features after implementation and security review.
angular-testing
Write unit and integration tests for Angular v21+ applications using Vitest or Jasmine with TestBed, component harnesses, and modern testing patterns. Use for testing components with signals, OnPush change detection, services with inject(), and HTTP interactions. Triggers on test creation, testing signal-based components, mocking dependencies, or setting up test infrastructure.
testing-automation
Automated testing workflow that orchestrates unit, integration, and E2E tests with CI/CD integration