browser-auth

A way to browse websites that require a user to sign in by using an already logged-in browser session, saved session data or specific cookies. Cookies are small pieces of data that websites use to remember a login.

In plain words
What is it for?
Use it to inspect private pages, operate a site through a logged-in browser, save or restore access for later work, or repair access using individual cookies.
Why use it?
It solves the problem of ordinary web browsing stopping at a sign-in page. It provides several ways to reuse an authorised session, depending on whether the user is present and whether the access must last across sessions.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/kirodotdev/kirocrew/browser-auth
Any agent
npx skills add kirodotdev/KiroCrew --skill browser-auth
Clone the repo
git clone --depth 1 https://github.com/kirodotdev/KiroCrew

Made for: Claude Code, Codex.

Per session 47 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,659 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00047 $0.01659
Opus 5 $0.00023 $0.00830
Sonnet 5 $0.00009 $0.00332
Haiku 4.5 $0.00005 $0.00166

Measured 2d ago against content hash b3c30025d064, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

browser-auth scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/browser-auth/SKILL.md · 150 lines

How it starts

The opening of the file, as written. The whole thing — 150 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Browser Auth: browsing what needs a login

Public pages need no auth: playwright-cli open <url> and you are done. This skill is for the pages that answer with a sign-in screen.

There is no bundled SSO. Every path below reduces to the same idea: a browser context that already holds the user's session, either theirs directly or a copy of it saved to a file.

Pick a path

Path When Setup cost
Attach (attach --extension) The user is at their machine with the site already logged in, in a Chromium-family browser None. Their live sessions are the session
Saved state (state-save / state-load) You will come back to this site across sessions or restarts, or the host has no interactive browser to attach One human login, once
Individual cookies (cookie-*) You hold a specific cookie value, or you are repairing one entry rather than a whole context Per-cookie

Attach is the strongest of the three, and worth naming as such: it drives the user's own running browser with every session they are logged into, not a scoped copy. Prefer saved state when the task only needs one site.

Attach

Attach mode has one prerequisite the install flow cannot satisfy: the Playwright extension must be installed in the browser being attached to. A browser extension is granted inside the browser by the person using it, so nobody but the user can add it:

https://chromewebstore.google.com/detail/playwright-extension/mmlmfjhmonkocbjadbfplnigmagldckm

The extension holds the debugger permission, which is what lets a command drive a tab the user is already logged into. Headless browsing needs none of this, so a missing extension costs attach mode only.

A failure to reach the relay endpoint means the extension is absent or disabled, not that the command was wrong. Say so and point the user at the link rather than retrying the attach, which will fail identically every time.

If the user would rather not install an extension, Playwright documents a second attach path that needs none: attach --cdp=chrome connects by channel name, but the user must first enable "Allow remote debugging for this browser instance" at chrome://inspect/#remote-debugging in that browser. Offer it as the fallback, not the default — the extension path needs no per-browser toggle. Supported channels: chrome, chrome-beta, chrome-dev, chrome-canary, msedge, msedge-beta, msedge-dev, msedge-canary.

Read the full file on GitHub · 150 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 150 lines · 47 tokens per session scan A b3c30025d064

Subscribe to this mod's changes

browser-auth is a skill published in the GitHub repository kirodotdev/KiroCrew (3,532 stars, last pushed today), licensed Apache-2.0. It adds 47 tokens to every session and 1,659 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

xterm-js

Expert guidance for building, configuring, and integrating xterm.js terminal emulators in web and Electron applications. Use this skill whenever the user mentions xterm, xterm.js, @xterm/xterm, terminal emulator in the browser, web terminal, WebSSH, in-browser shell, or asks about addons like FitAddon, WebglAddon…

tincopper/neeko · 127 tokens

html-effectiveness

Generate self-contained, interactive HTML documents instead of markdown walls of text. When output is complex (comparisons, timelines, multi-option decisions, data tables, code reviews, diagrams), produce a single .html file that renders spatially and interactively in the browser. Zero dependencies, zero build steps.…

tincopper/neeko · 142 tokens

reskin

Author a NEW skin for the reskinnable-demo app. A skin is a self-contained domain plugin under src/skins/ / that implements the frozen Skin contract (src/shell/skin-contract.ts) to swap the app's entire experience — brand, theme, layout, pages, tools, data, and agent — as a live sales demo. Use when the user says "add…

CopilotKit/CopilotKit · 154 tokens

setup-slack-channel

Use for the PROVIDER half of getting a locally running CopilotKit Channels agent to answer in Slack, when no Slack app exists yet — setting up a Channels bot in Slack for the first time, creating the Slack app and its tokens, attaching it to a managed Intelligence Channel, or when a Channel reports setuprequired, sits…

CopilotKit/CopilotKit · 206 tokens

copilotkit-channels

Use for the CODE half of a managed Intelligence Channel with Slack or Microsoft Teams: customising the Channel a CLI-scaffolded project already ships, or — for a project the CLI did not generate — writing the Channel declaration, the long-running host, and the awaited activation call. Teams provider setup is in scope…

CopilotKit/CopilotKit · 112 tokens

runtime

@copilotkit/runtime — mount a fetch-native CopilotRuntime on any JS server, wire middleware, pick an AgentRunner, instantiate BuiltInAgent (Factory Mode with TanStack AI is the preferred default) or plug in any of 12 external agent frameworks (Mastra, LangGraph, CrewAI Crews/Flows, PydanticAI, ADK, LlamaIndex, Agno…

CopilotKit/CopilotKit · 150 tokens