obra/superpowers-chrome
Claude Code plugin for direct Chrome browser control via DevTools Protocol - zero dependencies
https://skillcdn.ai/gh/obra/superpowers-chrome내 AI에 이 주소를 연결하면 이 스킬들을 쓸 수 있어요. 연결 방법 보기
- 미확인
- 기본 브랜치
main - 커밋
37d40e1 - 라이선스
MIT
저장소 둘러보기
스킬과 문서의 원문에서 찾습니다. 화면용 번역은 검색되지 않아요.
문서
- CDP Reference (for maintainers)Internal reference for working on the CDP transport layer in superpowers-chrome. Not user-facing documentation — this is the "why we did it this way" record for the next person modifying skills/brows…docs/cdp/INDEX.md
- waitForDebuggerOnStart + runIfWaitingForDebugger is how popup dialog shims get there before the page runsThis is the headline timing card for the dialog subsystem.docs/cdp/autoattach-popup-timing.md
- Flatten mode makes sessionId a message-envelope field, not a connection propertyThe CDP protocol originally handled child-target sessions by nesting: to send a command to a page, you wrapped it inside Target.sendMessageToTarget, and Chrome replied with Target.receivedMessageFrom…docs/cdp/flatten-mode.md
- --headless=new vs chrome-headless-shell: two different things since Chrome 132Chrome had two headless implementations for years. Knowing which is which matters for debugging feature gaps and container builds.docs/cdp/headless-variants.md
- Register the load-event listener before issuing Page.navigate, or fast pages will lose the eventThe naive shape for "navigate and wait for load":docs/cdp/navigation-listener-race.md
- Each CDP session has its own message-id counter; collapsing id space silently breaks correlationWhen you multiplex multiple sessions on one WebSocket via flatten mode, you have to decide whether id numbers are scoped per WebSocket connection or per session. The protocol's rule (from the Lushnik…docs/cdp/per-session-id-counters.md
- setDiscoverTargets is passive observation; setAutoAttach actively captures childrenThese two methods look similar in the protocol reference and are easy to conflate. They are not interchangeable.docs/cdp/target-lifecycle.md