{"slug":"playwright","name":"Playwright","summary":"Browser automation for tests and agents. Use the browser slice without taking the whole test-runner product box.","kind":"kit","homepage":"https://playwright.dev","repoUrl":"https://github.com/microsoft/playwright","docsUrl":"https://playwright.dev/docs/intro","publisher":"Microsoft","license":"Apache-2.0","hasMcp":true,"hasApi":true,"costRange":"free","composabilityRationale":"Strong API and MCP. Heavy runtime (browsers) is the glue cost. Fine when the slice is 'drive a page', not 'own CI'.","functions":["browser","test","observe","extract"],"slices":[{"functionId":"browser","label":"Drive Chromium","note":"Click, type, screenshot","cost":"free, local browsers"},{"functionId":"test","label":"E2E runner","note":"Assertion-heavy test suite","cost":"free"},{"functionId":"observe","label":"Observe","note":"Browser automation for tests and agents. Use the browser slice without taking the whole test-runner product box.","cost":"free"},{"functionId":"extract","label":"Extract","note":"Browser automation for tests and agents. Use the browser slice without taking the whole test-runner product box.","cost":"free"}],"tweets":[{"url":"https://x.com/blackgirlbytes/article/2089512941187911879","author":"x.com","text":"Specifically, I used context from the agent session that built the app to find and fix the most important gap in its Playwright tests. Here's how I did it. Step ..."},{"url":"https://x.com/Stagehanddev/status/2086849338089857082","author":"x.com","text":"Playwright was built for testing, we built Stagehand for your agent: with improved context management, self-healing actions, and iframe support."},{"url":"https://x.com/DanielPrevoznik/status/2088598330414682325","author":"x.com","text":"it drives a real browser through agent-generated playwright code. the agent can execute arbitrary code directly in the browser vm, which helps minimize network ..."}],"sources":[{"kind":"github","label":"microsoft/playwright","url":"https://github.com/microsoft/playwright","at":"2026-09-12T00:00:00Z"},{"kind":"docs","label":"Playwright docs","url":"https://playwright.dev","at":"2026-09-12T00:00:00Z"}],"origin":"seed","sector":"browser-ops","notes":[],"score":20,"explain":{"score":20,"formula":"100 × sum(weight × value) over observed factors only. Unobserved factors are omitted, not zeroed.","factors":[{"id":"github_health","label":"GitHub health","weight":0.18,"value":0.3,"contribution":0.054,"why":"A licence is declared. Documentation is available.","sources":[{"kind":"github","label":"microsoft/playwright","url":"https://github.com/microsoft/playwright","at":"2026-09-12T00:00:00Z"}],"evidence":"observed"},{"id":"agent_use","label":"Agent use","weight":0.16,"why":"insufficient evidence","sources":[],"evidence":"insufficient"},{"id":"human_notes","label":"Human notes","weight":0.14,"why":"insufficient evidence","sources":[],"evidence":"insufficient"},{"id":"composability","label":"Composability","weight":0.16,"why":"insufficient evidence","sources":[{"kind":"github","label":"microsoft/playwright","url":"https://github.com/microsoft/playwright","at":"2026-09-12T00:00:00Z"},{"kind":"docs","label":"Playwright docs","url":"https://playwright.dev","at":"2026-09-12T00:00:00Z"}],"evidence":"insufficient"},{"id":"checklist","label":"Checklist","weight":0.1,"value":1,"contribution":0.1,"why":"An MCP surface is declared. An API is declared. Cost is free. 3 of 3 checklist fields are complete.","sources":[{"kind":"docs","label":"Playwright docs","url":"https://playwright.dev","at":"2026-09-12T00:00:00Z"}],"evidence":"observed"},{"id":"evidence_quality","label":"Evidence quality","weight":0.14,"value":0.3284952023094184,"contribution":0.04598932832331858,"why":"2 sources cover 2 evidence types. The latest dated evidence is 2026-09-12. Freshness is omitted unless observed as a signal.","sources":[{"kind":"github","label":"microsoft/playwright","url":"https://github.com/microsoft/playwright","at":"2026-09-12T00:00:00Z"},{"kind":"docs","label":"Playwright docs","url":"https://playwright.dev","at":"2026-09-12T00:00:00Z"}],"evidence":"observed"},{"id":"benchmark","label":"Benchmarks","weight":0.12,"why":"insufficient evidence","sources":[],"evidence":"insufficient"}],"missing":["Agent use: insufficient evidence","Human notes: insufficient evidence","Composability: insufficient evidence","Benchmarks: insufficient evidence"]},"createdAt":"2026-09-11T16:33:45.165Z","updatedAt":"2026-09-13T08:56:02.843Z","tags":["automation","agents"],"recordId":"cmp_playwright","claims":{"name":"Playwright","summary":"Browser automation for tests and agents. Use the browser slice without taking the whole test-runner product box.","kind":"kit","publisher":"Microsoft","homepage":"https://playwright.dev","repoUrl":"https://github.com/microsoft/playwright","docsUrl":"https://playwright.dev/docs/intro","license":"Apache-2.0","costRange":"free","functions":["browser","test","observe","extract"],"slices":[{"functionId":"browser","label":"Drive Chromium","note":"Click, type, screenshot","cost":"free, local browsers"},{"functionId":"test","label":"E2E runner","note":"Assertion-heavy test suite","cost":"free"},{"functionId":"observe","label":"Observe","note":"Browser automation for tests and agents. Use the browser slice without taking the whole test-runner product box.","cost":"free"},{"functionId":"extract","label":"Extract","note":"Browser automation for tests and agents. Use the browser slice without taking the whole test-runner product box.","cost":"free"}],"interfaces":[{"kind":"mcp"},{"kind":"http"}],"composabilityRationale":"Strong API and MCP. Heavy runtime (browsers) is the glue cost. Fine when the slice is 'drive a page', not 'own CI'."},"interfaces":[{"kind":"mcp"},{"kind":"http"}],"relations":[{"from":"playwright","to":"tinyfish","kind":"fills-same-slot-as","note":"Shared functions browser, extract, observe. Can fill the same function slot."},{"from":"playwright","to":"browserbase","kind":"fills-same-slot-as","note":"Shared functions browser, observe. Can fill the same function slot."},{"from":"playwright","to":"agent-desktop","kind":"fills-same-slot-as","note":"Shared functions browser, observe. Can fill the same function slot."},{"from":"playwright","to":"sitegeist","kind":"fills-same-slot-as","note":"Shared functions browser, extract. Can fill the same function slot."},{"from":"playwright","to":"cloro","kind":"fills-same-slot-as","note":"Shared functions extract, observe. Can fill the same function slot."},{"from":"playwright","to":"maple","kind":"fills-same-slot-as","note":"Shared functions browser, observe. Can fill the same function slot."},{"from":"playwright","to":"kogiqa-mcp-web-browser","kind":"fills-same-slot-as","note":"Shared functions browser, test. Can fill the same function slot."},{"from":"playwright","to":"camofox-browser-server","kind":"fills-same-slot-as","note":"Shared functions browser, extract. Can fill the same function slot."}],"signals":[{"key":"has_license","value":1,"source":"component-record","method":"declared-license","observedAt":"2026-09-13T08:56:02.843Z"},{"key":"has_docs","value":1,"source":"component-record","method":"declared-docs","observedAt":"2026-09-13T08:56:02.843Z"}],"functionProbabilities":[],"claimVerification":[]}