use-my-browser

작성자: xixu-me

사용자의 실시간 브라우저 세션이나 정적 가져오기보다는 보이는 렌더링 상태에 의존하는 작업에 사용하며, 특히 브라우저 디버깅 맥락이나 DevTools에서 선택한 요소 또는 요청, 로그인된 대시보드나 CMS 흐름, localhost 앱, 양식, 업로드, 다운로드, 미디어 검사, DOM 또는 iframe 검사, Shadow DOM, 또는 소프트 404, 인증 장벽, 봇 방지 검사, 속도 제한처럼 보이는 브라우저 오류에 사용합니다.

npx skills add https://github.com/xixu-me/skills --skill use-my-browser

Do not treat this skill as a generic browsing default. Route from the evidence you need, not from tool preference.

Every task must be classified before you choose a route:

  • static-capable: the evidence can be produced without live browser state, visible confirmation, or page interaction
  • browser-required: the evidence depends on rendered state, interaction, live session behavior, or browser-only structures

Only static-capable tasks may fall back to static retrieval, curl, or other non-browser paths. Once a task is browser-required, stay on the browser path and mark missing capability as blocked instead of silently downgrading.

Prerequisite check

This skill is for work inside the user's live browser session, not for launching a separate fresh automation browser.

Before doing browser automation, confirm that your environment already has access to a live browser stack that can provide the capabilities the task depends on, such as page inventory, task-owned page creation, page selection, snapshots or visible-state reads, DOM inspection, text or form input, uploads, dialogs, console inspection, and network inspection. The exact stack does not matter here: confirm capability, not brand.

If the live browser stack is unavailable, do not attempt browser automation through this skill. Only static-capable work may fall back to static retrieval.

Live browser automation can trigger anti-bot or anti-automation defenses on some sites. Use browser interaction only when the task truly needs it, and avoid unnecessary repetitive actions once the needed evidence has been obtained.

Experience loop

Treat site patterns as part of the browser protocol, not as optional background reading.

For browser-required work, run this loop:

  1. As soon as the target domain is known, check whether a matching note already exists under references/site-patterns/.
  2. If a note exists, read it before the first meaningful browser mutation on that domain.
  3. During the run, watch for verified site-specific facts that would change how a future run should operate.
  4. Before you consider the task complete, decide whether the run produced a reusable fact, disproved an existing fact, or produced no reusable site-specific learning.
  5. If the run verified something reusable or disproved an existing claim, update the matching note before finishing.

Do not create a domain note for one-off noise. Do not skip the end-of-run review just because the task itself succeeded.

Writeback is expected when a run verifies any of the following:

  • a stable route shape or required query parameter
  • a login, session inheritance, or isolatedContext quirk
  • a reliable interaction primitive such as hover, keyboard entry, upload sequencing, or a selector bridge pattern
  • a domain where DOM-generated links are reliable but hand-built URLs are not
  • predictable anti-automation friction or a misleading platform error state
  • a reusable media extraction or iframe / Shadow DOM access pattern

Decision guide

Start with the outcome, not the tool. Make the user's goal explicit, define what counts as done, and choose the cheapest route that can still produce the right evidence.

Use this routing order:

  1. Decide whether the task is static-capable or browser-required.
  2. If the task is static-capable, load references/task-routing.md and stay on the cheapest route that still satisfies the evidence target.
  3. If the task is browser-required, load references/browser-playbook.md.
  4. If browser-required capability is uncertain in a fresh host session, also load references/browser-capability-matrix.md.
  5. If the user already has an active browser debugging context, such as a selected inspector element or network request, also load references/debug-handoff.md.
  6. If the browser-required task touches a logged-in dashboard, admin surface, CMS, editor, or any save / publish / update flow, also load references/control-plane-workflows.md.
  7. If the current failure shape suggests a soft 404, content-unavailable state, suspicious no-op interaction, auth wall, rate limit, or anti-automation defense, also load references/anti-automation-friction.md.
  8. If the browser-required task includes iframe, Shadow DOM, collapsed content, or lazy-loaded evidence, also load references/deep-dom.md.
  9. If the important evidence lives in an image, audio clip, or video, also load references/media-inspection.md.
  10. If browser work can be divided across independent page owners or sub-agents, also load references/parallel-browser-ownership.md.
  11. If you already know a reliable selector but need an MCP-native uid target, also load references/selector-bridge.md.
  12. If page actions leave state ambiguous, a page unexpectedly navigates, an old uid may have gone stale, or console / network inspection is now needed to explain the next browser decision, also load references/browser-recovery.md.
  13. If the target site already has a matching domain note under references/site-patterns/, read that note before operating on the site.

Treat the following as browser-required by default:

  • localhost, 127.0.0.1, or benchmark-style local fixtures
  • uploads, downloads, drag-and-drop, hover, keyboard-native entry, or visible confirmation states
  • same-origin iframe inspection, Shadow DOM inspection, details / collapsed evidence, or lazy-loaded content
  • any task where "what the page visibly shows" is itself the evidence

The normal happy path for a common task is this entrypoint plus one or two references, not the entire reference set.

Hard rules

  • Use browser interaction only when live browser state is part of the evidence or required action.
  • Once a task is browser-required, do not silently downgrade.
  • Treat this file as the entrypoint and each reference file as a single-purpose authority. Do not duplicate rules across files.
  • Keep reference loading one level deep. Decide the next file from this entrypoint instead of turning one reference into a hub that links to more references.
  • Do not ask the user to log in just because a page looks restricted. First confirm whether the target content or action is actually blocked.
  • Prefer site-generated DOM links over hand-built URLs once the page has shown you the path it expects.
  • Prefer MCP-native actions over script-driven interaction when the task is genuinely an in-browser action.
  • Only close pages you created.
  • Prefer primary sources over aggregators or repeated secondary reporting.
  • If a matching site pattern note exists, read it before the first meaningful browser mutation on that domain.
  • Do not finish a browser-required task without explicitly checking whether the run should create, update, downgrade, or remove a site-pattern claim.
  • If an existing site-pattern claim fails under comparable conditions, stop trusting it, fall back to the generic workflow, and update the note instead of retrying the stale assumption.
  • Do not use curl, Invoke-WebRequest, or shell HTTP fetches for browser-required tasks.
  • Do not treat a generic page-opening tool as evidence that localhost deep interaction is available.
  • Do not switch routes just because a browser capability probe failed. Record the missing capability and stop.
  • When the user indicates an active browser debugging context, prefer handoff from that current context over fresh reproduction from scratch.

Reference index

xixu-me의 다른 스킬

github-actions-docs
xixu-me
사용자가 GitHub Actions 워크플로우, 워크플로우 구문, 트리거, 매트릭스, 러너, 재사용 가능한 워크플로우, 아티팩트, 캐싱, 시크릿, OIDC, 배포, 사용자 정의 액션 또는 Actions Runner Controller를 작성, 설명, 사용자 정의, 마이그레이션, 보안 설정 또는 문제 해결하는 방법을 묻고, 특히 공식 GitHub 문서, 정확한 링크 또는 문서 기반 YAML 지침이 필요할 때 사용합니다.
developmentdevopsdocument
readme-i18n
xixu-me
사용자가 저장소 README를 번역하거나, 저장소를 다국어로 만들고, 문서를 현지화하고, 언어 전환기를 추가하고, README를 국제화하거나, GitHub 스타일 저장소에서 현지화된 README 변형을 업데이트하려고 할 때 사용합니다.
documentdevelopmentapi
openclaw-secure-linux-cloud
xixu-me
클라우드 서버에서 OpenClaw를 자체 호스팅하거나, 원격 OpenClaw 게이트웨이를 강화하거나, SSH 터널링, Tailscale, 리버스 프록시 노출 중에서 선택하거나, Podman, 페어링, 샌드박싱, 토큰 인증, 도구 권한 기본값을 검토하여 안전한 개인 배포를 구성할 때 사용합니다.
devopssecurity
develop-userscripts
xixu-me
Tampermonkey 또는 ScriptCat용 브라우저 유저스크립트를 빌드, 디버깅, 패키징, 게시할 때 사용하며, GM API, 메타데이터 블록, 권한 문제, @match/@grant/@connect 설정, ScriptCat 백그라운드 또는 예약 스크립트, UserConfig 블록, 구독 워크플로우를 포함합니다.
developmentbrowser-automationweb-scraping
secure-linux-web-hosting
xixu-me
셀프 호스팅을 위한 클라우드 서버 설정, 강화 또는 검토 시 사용하며, DNS, SSH, 방화벽, Nginx, 정적 사이트 호스팅, 앱 리버스 프록시, Let's Encrypt 또는 ACME 클라이언트를 통한 HTTPS, 안전한 HTTP-to-HTTPS 리디렉션, 또는 BBR과 같은 선택적 출시 후 네트워크 튜닝을 포함합니다.
devopssecurityaws
opensource-guide-coach
xixu-me
사용자가 오픈소스 프로젝트를 시작, 기여, 성장, 운영, 자금 조달, 보안 유지 또는 지속하는 방법에 대한 안내를 원하거나, 기여자 온보딩, 커뮤니티 건강, 메인테이너 소진, 행동 강령, 지표, 법적 기본 사항 또는 오픈소스 프로젝트 채택에 대해 질문할 때 사용합니다.
developmentresearch
running-claude-code-via-litellm-copilot
xixu-me
로컬 LiteLLM 프록시를 통해 Claude Code를 GitHub Copilot으로 라우팅하여 직접적인 Anthropic 비용을 줄이거나, ANTHROPIC_BASE_URL 또는 ANTHROPIC_MODEL 재정의를 구성하거나, 모델을 찾을 수 없음, 로컬호스트 트래픽 없음, GitHub 401/403 인증 오류와 같은 Copilot 프록시 설정 실패를 해결할 때 사용합니다.
developmentapidevops
skills-cli
xixu-me
Use when users ask to discover, install, list, check, update, remove, back up, restore, sync, or initialize Agent Skills, mention `bunx skills`, `npx skills`, `skills.sh`, or `skills-lock.json`, ask "find a skill for X", or want help extending agent capabilities with installable skills.
developmentapiproductivity