1password
Manages secure access to secrets via the 1Password CLI and integrates with local development sessions.
Install
mkdir -p .claude/skills/1password && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/617" && unzip -o skill.zip -d .claude/skills/1password && rm skill.zipInstalls to .claude/skills/1password
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.Key capabilities
- →Authenticate via service account tokens for headless environments
- →Integrate with 1Password desktop app for local secret access
- →Manage multi-account configurations using account flags
- →Inject secrets into development sessions without writing to disk
- →Execute CLI commands within persistent tmux sessions for standalone auth
How it works
The CLI authenticates via service account tokens, desktop app IPC channels, or persistent tmux-managed sessions. It provides commands to read or inject secrets directly into the environment.
Inputs & outputs
When to use 1password
- →Set up 1Password CLI for development
- →Retrieve credentials for scripts
- →Authorize shell environment for secrets
About this skill
1Password CLI
Follow the official CLI get-started steps. Don't guess install commands.
References
references/get-started.md(install + app integration + sign-in flow)references/cli-examples.md(realopexamples)
Workflow
- Check OS + shell.
- Verify CLI present:
op --version. - Detect the auth mode the user has set up:
- Service account:
OP_SERVICE_ACCOUNT_TOKENis set (typical for headless setups, CI, gateways). - Desktop app integration: the 1Password desktop app is running with CLI integration enabled (typical on macOS / Windows / Linux desktops).
- Standalone signin: neither of the above —
op signinwill prompt for an account password every session.
- Service account:
- Run
opaccording to the auth mode (see below). - Verify access:
op whoamishould succeed before any secret read. - If multiple accounts: use
--accountorOP_ACCOUNT.
Running op per auth mode
Service account (preferred for headless / gateway use)
Direct exec. No tmux, no signin step.
export OP_SERVICE_ACCOUNT_TOKEN="ops_..."
op vault list
op read op://app-prod/db/password
Desktop app integration
Direct exec. Do not wrap in tmux — the desktop app integration uses a per-user IPC channel that is established for the gateway's exec environment but is not always reliably reachable from tmux subshells, which run with a different environment context. The transport differs per platform (XPC via the 1Password Browser Helper on macOS, a Unix domain socket on Linux, a named pipe on Windows); the practical rule for an agent is the same on all three: run op directly. On macOS, a useful symptom indicator is the 1Password integration group container at ~/Library/Group Containers/2BUA8C4S2C.com.1password/t/.
op vault list # may trigger Touch ID / Windows Hello / system auth on first call
op whoami
If a call returns 1Password CLI couldn't connect to the 1Password desktop app, do not switch to tmux. Confirm the desktop app is running and unlocked, then retry direct exec.
Standalone signin (no app, interactive password)
This is the only mode where tmux helps. op signin prints an eval-style export setting an OP_SESSION_* token for POSIX shells; later commands in the same shell are authenticated by that env var. The gateway's per-command shells lose that state between calls, so a persistent tmux pane keeps the session token alive — but only if the export is actually applied with eval in a POSIX shell. Sending op signin as a plain command leaves stdout printed to the pane and op whoami will fail.
The tmux flow is only actionable on macOS/Linux hosts where the tmux skill is available. The example intentionally opens /bin/sh so the POSIX eval "$(op signin ...)" output is valid even when the user's normal shell is fish. On Windows, prefer desktop app integration or service account auth. If the user only has standalone interactive signin on Windows, stop and ask them to provide a persistent PowerShell session mechanism or switch to desktop integration/service account auth; do not translate the tmux commands directly.
SOCKET_DIR="${OPENCLAW_TMUX_SOCKET_DIR:-${TMPDIR:-/tmp}/openclaw-tmux-sockets}"
mkdir -p "$SOCKET_DIR"
chmod 700 "$SOCKET_DIR"
SOCKET="$SOCKET_DIR/openclaw-op.sock"
SESSION="op-auth-$(date +%Y%m%d-%H%M%S)"
tmux -S "$SOCKET" new -d -s "$SESSION" -n shell /bin/sh
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- 'eval "$(op signin --account my.1password.com)"' Enter
tmux -S "$SOCKET" capture-pane -t "$SESSION":0.0 -p -S - | tail -40
Do not queue follow-up commands while signin is prompting. Poll the pane with capture-pane
until signin has either completed and the shell prompt has returned, or it is clearly waiting for
human input. If the prompt requires a password, MFA, or account choice, pause and ask the user to
complete signin in their own terminal; give them the socket and session values so they can attach
locally. The agent should not run tmux attach from exec because attach consumes the current TTY and
prevents scripted send-keys / capture-pane control.
After the shell prompt returns, verify by sending the checks into the same pane:
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- 'op whoami' Enter
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- 'op vault list' Enter
tmux -S "$SOCKET" capture-pane -t "$SESSION":0.0 -p -S - | tail -80
Keep the tmux session running so later op read / op run commands reuse the same authenticated shell.
Use the same SOCKET and SESSION values for every follow-up command in this standalone signin flow. The -S "$SOCKET" flag selects the tmux server socket; keep it in a user-owned 0700 directory, do not share it between users, and choose a new session name for each new signin attempt.
Browser sign-in (1Password for Claude)
If the session exposes Claude in Chrome credential tools (request_credentials, autofill_credential, enter_verification_code), prefer them over op for signing in to websites: 1Password fills the page directly and the secret never enters context. Rules:
- Request every credential the task needs in one
request_credentialscall before navigating. - Approval is a 1Password prompt on the gateway host. If it stays pending, tell the user which host to unlock ("1Password is waiting for approval on this Mac") instead of retrying.
- Never ask the user to send passwords or one-time codes through chat; codes go through
enter_verification_codeonly. - Do not fall back to
op readfor a website password just because the browser flow needs approval; that defeats the no-exposure design. Useopfor secrets consumed by commands and config, not for web logins when the browser flow exists.
Guardrails
- Never paste secrets into logs, chat, or code.
- Prefer
op run/op injectover writing secrets to disk. - If sign-in without app integration is needed, use
op account addfirst. - If a command returns "account is not signed in":
- service account: re-export
OP_SERVICE_ACCOUNT_TOKEN - desktop app: confirm the app is running and integration is enabled
- standalone: re-run
op signininside the same tmux session and authorize
- service account: re-export
When not to use it
- →When attempting to wrap desktop app integration inside tmux subshells
- →When using standalone interactive sign-in on Windows without a persistent shell mechanism
Prerequisites
Limitations
- →Desktop app integration relies on platform-specific IPC channels that fail within tmux
- →Standalone sign-in requires manual user intervention for MFA or password prompts
How it compares
Unlike manual secret management, this workflow automates authentication and prevents writing sensitive credentials to disk by using direct injection.
Compared to similar skills
1password side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| 1password (this skill) | 27 | 2mo | Review | Intermediate |
| senior-security | 31 | 7mo | Review | Advanced |
| security-compliance | 19 | 7mo | Review | Advanced |
| fix-dependabot-alerts | 18 | 6mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by openclaw
View all by openclaw →You might also like
senior-security
davila7
Comprehensive security engineering skill for application security, penetration testing, security architecture, and compliance auditing. Includes security assessment tools, threat modeling, crypto implementation, and security automation. Use when designing security architecture, conducting penetration tests, implementing cryptography, or performing security audits.
security-compliance
davila7
Guides security professionals in implementing defense-in-depth security architectures, achieving compliance with industry frameworks (SOC2, ISO27001, GDPR, HIPAA), conducting threat modeling and risk assessments, managing security operations and incident response, and embedding security throughout the SDLC.
fix-dependabot-alerts
microsoft
Fix Dependabot security alerts by updating vulnerable npm dependencies. Use when the user mentions "dependabot", "security alerts", "vulnerability", "CVE", or wants to update packages with security issues.
information-security-manager-iso27001
davila7
Senior Information Security Manager specializing in ISO 27001 and ISO 27002 implementation for HealthTech and MedTech companies. Provides ISMS implementation, cybersecurity risk assessment, security controls management, and compliance oversight. Use for ISMS design, security risk assessments, control implementation, and ISO 27001 certification activities.
red-team-tools-and-methodology
davila7
This skill should be used when the user asks to "follow red team methodology", "perform bug bounty hunting", "automate reconnaissance", "hunt for XSS vulnerabilities", "enumerate subdomains", or needs security researcher techniques and tool configurations from top bug bounty hunters.
cursor-sso-integration
jeremylongshore
Configure SSO and enterprise authentication in Cursor. Triggers on "cursor sso", "cursor saml", "cursor oauth", "enterprise cursor auth", "cursor okta". Use when working with cursor sso integration functionality. Trigger with phrases like "cursor sso integration", "cursor integration", "cursor".