nextbrowser-oss/nextbrowser-app/1password-autofill-login
Claude Code and agent skill by nextbrowser-oss/nextbrowser-app
- community
Checking that the SKILL.md file is still in the repository.
Autofill a saved 1Password login into the currently focused sign-in form of a Chromium-based (ClawBrowser) profile using the 1Password browser extension's own in-page sign-in prompt and inline menu, then verify the result. Use when a user asks to log in, sign in to, or fill saved credentials into a website with 1Password in a Chromium or ClawBrowser profile, including when the extension turns out to be locked, several logins match, or the site asks for a second factor.
Install
npx vskill@latest install nextbrowser-oss/nextbrowser-app/1password-autofill-loginSKILL.md
1Password Autofill Login
Goal
Fill a website's sign-in form with the correct saved 1Password item using the extension's native filling UI, and report a clear, honest final state. The agent must never read, type, guess, or reconstruct a password, account password, or one-time code itself. 1Password is the only thing that ever touches the secret; the agent only drives the extension's visible controls and reads the page's state.
Setup and supported versions
- Chromium-based browser (Chrome, Edge, Brave, or the Clawbrowser runtime) with the
1Password – Password Manager extension (1Password in the browser, version 8.x) installed from the Chrome Web Store.
- The extension is signed in directly with the 1Password account and unlocked. This skill
targets the extension running on its own; it does not require or use the 1Password desktop app.
- Leave the extension's defaults in place unless the user asks for fill-only behaviour: by
default 1Password signs in automatically after filling. Fill-only runs need Settings › Autofill & save in the extension with automatic sign-in after filling turned off. The agent must not change extension settings itself.
- At least one Login item saved for the target site.
Official interfaces versus UI-only automation
- No automation API in the extension. 1Password in the browser exposes no scripting
interface, no DOM-accessible fill function, and no page-level events. Its prompts render in closed extension frames, so page JavaScript cannot read or click them. Everything in this skill is UI automation of the extension's own controls: focusing fields, pressing keys, and clicking what the extension draws.
- Keyboard shortcuts that exist for the extension: Ctrl+Shift+X (Cmd+Shift+X on macOS)
opens or closes the pop-up; inside the pop-up, Ctrl+Shift+F opens the selected item's site and fills it; Enter or Space fills the selected item in the sign-in prompt; Down Arrow opens Other options; Esc closes the prompt. Those are for a person at the keyboard. The browser tools available to the agent send single keys only, and in practice those keys reach the page rather than the extension's prompt, so the agent does not drive the prompt by keyboard.
- What the agent can and cannot click: the page-state click tool only sees page
elements, and the prompt is not one. The CLI's click-xy X Y command clicks a viewport coordinate and does reach the prompt, with the coordinates read from a screenshot. That is the agent's way to operate 1Password.
- Shortcuts that must not be used: Ctrl+Shift+L (Cmd+Shift+L) locks 1Password. It is
the Bitwarden autofill shortcut, so never reuse that habit here. Ctrl+\ (Cmd+\) is Universal Autofill / Auto-Type of the 1Password desktop app and does nothing with the extension alone.
- Official programmatic routes exist only outside the extension: the 1Password CLI
(op), SDKs, Connect server, and service accounts read vault items for scripts, and 1Password for Claude (agentic autofill, macOS with the desktop app, Claude desktop or Claude in Chrome) fills logins for an AI agent with a per-login approval prompt. None of them drive the standalone browser extension, and reading a secret through op is outside this skill's scope and permissions.
Inputs
- The target tab or site (default: the currently focused tab, unless the user names a
different site).
- Whether the user wants the form filled only, or filled and signed in.
- Browser profile, if the user's setup uses more than one and specified which to use.
Workflow
- Confirm the currently focused tab shows a recognizable sign-in form (username/email and
password fields, or a single email or password step). If no login form is visible, navigate only if the user named a specific site; otherwise report no_login_form_found.
- Confirm the extension is present and unlocked before touching the form. A 1Password
icon inside the focused field, or a sign-in prompt appearing at the top of the page, means it is installed and unlocked. If the icon or prompt shows a lock or asks for the account password, go to step 8. If nothing from 1Password appears at all after clicking the field and waiting two seconds, take a screenshot and look again: the prompt is drawn by the extension and is invisible to page state, so only a screenshot shows it. Still nothing means the extension is missing, disabled or not signed in, which is autofill_failed with that reason.
- Click into the password field whenever the page shows one, even if the username
field is empty or already holds a value: 1Password fills both fields from either, its prompt is most reliable on the password field, and a key that slips through to the page there cannot submit a half-filled form. Use the username or email field only on a step that has no password field. Never treat a username the page itself pre-filled as something 1Password did. Wait three seconds, then take a screenshot. Do not press any key until the screenshot shows 1Password's sign-in prompt at the top of the page (site name, username, Sign in) or its item list under the field. The first keypress right after a page load is the one that goes astray: the extension has not attached yet, the page receives the key, and an empty form gets submitted. If the screenshot shows no prompt, wait three more seconds, click the field again, and screenshot again, up to three times, before deciding anything.
- Fill by clicking 1Password's own UI, not by keyboard. Keys sent by the browser tools
land in the page, not in the extension: ArrowDown dismisses the prompt and Enter submits the page's form. So, from the screenshot, locate one of these targets and click it with the CLI at its screenshot coordinates:
- the item row in the 1Password list that opens under the focused field (site logo,
title, username), the largest and most reliable target; if the list is not open, click the small 1Password icon at the right end of the field once to open it, then screenshot again;
- or the Sign in link in the 1Password bar at the top of the page.
The command is nbc click-xy X Y --profile <profile> --json, with X and Y taken from the screenshot. Check the screenshot's pixel size against the viewport size reported by the page state and scale the coordinates if they differ. Read the item title first: if it is the login the user asked for, or the only sensible one, click it. With default settings 1Password fills both fields and submits the form; with automatic sign-in turned off it only fills. Take a screenshot afterwards to confirm the fields filled or the page moved on.
- Two-step sign-in pages (Google, Microsoft and similar: email first, the password on a
second screen) are two fills, not one. After 1Password fills the email step, advance with the page's own Next or Continue button, a normal page element. When the password step appears, click the password field and run the same fill routine again. An interstitial such as Microsoft's "Stay signed in?" is part of the site's flow: pick No, then continue the check. If the site offers to email or text a code instead of the password and shows a link such as Use your password or Sign in with password instead, click that link and continue with the password step; that is a choice of sign-in method, not a second factor. A code demanded after the password was accepted is a second factor and is reported as mfa_required. Report filled_and_submitted only after the signed-in signal of step 11; a filled first step is never a success on its own.
- If the prompt offers several items, or the suggested item is not the one the user
named, click Other options in the prompt with click-xy, as in step 4, to open the list. If the user named the account to use, click exactly that item's row by its title or username. Otherwise do not choose: click nothing more, stop, and report multiple_matches with the visible item titles so the user can pick. Never fill an arbitrarily chosen item.
- Wait briefly for the page to react, then check which of these states resulted before
doing anything else:
- Filled — the username and password fields now hold values (the password shows
as masked dots) and, with automatic sign-in on, the page is submitting.
- Locked — 1Password asks for the account password or shows a lock screen.
- MFA / second factor — the site asks for a code, push approval, security key, or
passkey after the credentials were submitted.
- Confirmation prompt — 1Password asks the user to approve the fill (the
Ask before filling setting). Leave it to the user; do not click Approve.
- Nothing changed — no prompt, no inline icon, and empty fields.
- If 1Password is locked, do not attempt to unlock it under any circumstances: never type
a candidate account password, never use a "forgot password" or recovery flow on the user's behalf. Stop and report vault_locked, and ask the user to unlock 1Password themselves. The standalone extension locks on its own after the idle time set in Settings › Security, when the device sleeps, and always when the browser quits, so this state is normal and not an error.
- If the site then asks for an MFA code, authenticator push, security key tap, or
passkey, do not generate, guess, retrieve, or wait indefinitely for one. 1Password may offer to fill a one-time code from the item; only accept that if the user asked for a full login and the extension offers it on its own. Otherwise stop and report mfa_required, and ask the user to supply or approve it themselves.
- If 1Password shows its in-page Save or Update prompt after sign-in, leave it
as-is and tell the user it appeared rather than clicking Save, Update, or Never. That decision belongs to the person, not the agent.
- Only submit the form yourself (click the visible sign-in button) if the user asked for
a full login and 1Password filled without submitting. After any submission, verify an actual signed-in signal, such as an account name, avatar, dashboard redirect, or logout link, before calling the login successful. A submitted form without one of these signals is not a confirmed login.
Recovery
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 96 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/1password-autofill-login/SKILL.md
Popularity
- Repository stars
- 63
- Repository forks
- 22
- 7-day trend score
- 0
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/nextbrowser-oss/nextbrowser-app/1password-autofill-login)