Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Drive an authentication flow once, sanitize cookies through AIDefence, and vault a reusable cookie handle in browser-cookies for future sessions
.claude/skills/ruvnet-browser-login/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 40% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 64% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -5% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -41% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 24% | 0% |
Authenticate against a target site once, then vault the resulting session credentials so subsequent skills (browser-extract, browser-form-fill, browser-test) can reuse them without re-driving the auth flow. Borrows the pattern from Browserbase's cookie-sync/SKILL.md but stores the resulting context in AgentDB rather than on a hosted backend.
browser-record.browser_fill / browser_type. Credentials come from the user or environment; do not read them from .env or paste them into the trajectory args.--mfa): pause for user input or invoke the user's TOTP helper; capture only the resulting redirect, not the code itself.browser_eval:javascript document.cookie // returns the cookie string for the active document Or use the Playwright context API where exposed.
bash # Each cookie value passes aidefence_scan to flag raw secrets / high-entropy tokens. Tokens that look raw get vault-wrapped (an opaque handle) before AgentDB store; raw values never enter the namespace.
browser-cookies:bash npx -y @claude-flow/cli@latest memory store --namespace browser-cookies \ --key "<host>" \ --value "{vault_handle:<opaque>, expiry:<iso>, aidefence_verdict:safe}"
browser_cookie_use MCP tool.<redacted> placeholder for values.browser_cookie_use MCP tool is reserved (ADR-0001 §7) but not yet implemented. Until then, downstream skills mount the vaulted cookies via a helper bash function in scripts/ (TBD).browser-login. Do not attempt to fingerprint-match yourself.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 12,398 | 23,195 | +87% | 1 | 1 | 0% | 1,610 | 2,255 | +40% | 0 | 0 | — |
case-02 | fail→pass | 11,154 | 10,745 | -4% | 1 | 1 | 0% | 1,554 | 2,552 | +64% | 0 | 0 | — |
case-03 | fail→fail | 7,239 | 14,063 | +94% | 1 | 1 | 0% | 524 | 999 | +91% | 0 | 0 | — |
case-04 | fail→pass | 10,540 | 6,512 | -38% | 1 | 1 | 0% | 1,810 | 1,725 | -5% | 0 | 0 | — |
case-05 | fail→pass | 12,856 | 2,610 | -80% | 1 | 1 | 0% | 1,857 | 1,088 | -41% | 0 | 0 | — |
case-06 | fail→pass | 7,755 | 3,923 | -49% | 1 | 1 | 0% | 1,100 | 1,366 | +24% | 0 | 0 | — |
case-07 | fail→pass | 12,297 | 7,874 | -36% | 1 | 1 | 0% | 1,260 | 1,218 | -3% | 0 | 0 | — |
case-08 | pass→pass | 9,229 | 4,110 | -55% | 1 | 1 | 0% | 1,669 | 1,007 | -40% | 0 | 0 | — |
case-09 | pass→pass | 9,482 | 3,337 | -65% | 1 | 1 | 0% | 1,752 | 1,024 | -42% | 0 | 0 | — |
case-10 | fail→pass | 13,806 | 5,457 | -60% | 1 | 1 | 0% | 2,633 | 1,698 | -36% | 0 | 0 | — |
case-11 | fail→fail | 10,233 | 1,278 | -88% | 1 | 1 | 0% | 1,774 | 773 | -56% | 0 | 0 | — |
case-12 | fail→pass | 10,109 | 4,007 | -60% | 1 | 1 | 0% | 1,635 | 912 | -44% | 0 | 0 | — |
case-13 | fail→pass | 10,451 | 3,319 | -68% | 1 | 1 | 0% | 1,850 | 1,182 | -36% | 0 | 0 | — |
case-14 | fail→pass | 9,337 | 1,584 | -83% | 1 | 1 | 0% | 1,651 | 893 | -46% | 0 | 0 | — |
case-15 | fail→pass | 15,017 | 2,641 | -82% | 1 | 1 | 0% | 1,014 | 1,165 | +15% | 0 | 0 | — |
case-16 | fail→pass | 11,785 | 4,654 | -61% | 1 | 1 | 0% | 2,056 | 1,095 | -47% | 0 | 0 | — |
case-17 | pass→pass | 8,776 | 3,041 | -65% | 1 | 1 | 0% | 1,426 | 1,161 | -19% | 0 | 0 | — |
case-18 | pass→pass | 14,510 | 1,929 | -87% | 1 | 1 | 0% | 2,596 | 956 | -63% | 0 | 0 | — |
case-19 | pass→pass | 9,715 | 3,802 | -61% | 1 | 1 | 0% | 1,601 | 1,282 | -20% | 0 | 0 | — |
case-20 | pass→fail | 8,670 | 3,602 | -58% | 1 | 1 | 0% | 1,654 | 773 | -53% | 0 | 0 | — |
case-21 | fail→fail | 7,735 | 3,940 | -49% | 1 | 1 | 0% | 1,488 | 838 | -44% | 0 | 0 | — |
case-22 | pass→pass | 7,505 | 4,205 | -44% | 1 | 1 | 0% | 1,281 | 1,414 | +10% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 20 counted toward the lift figure. The other 2 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +50 percentage points is the difference between those two pass rates over the 20 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.