op-shell-plugins — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited op-shell-plugins (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
op plugin lets the 1Password CLI provision credentials for a third-party CLI on demand, with biometric approval, instead of leaving long-lived tokens on disk.
Supported plugins (partial list — check op plugin list for current set): gh, aws, stripe, doctl, hcloud, cargo, circleci, databricks, fly, heroku, linode-cli, mongodb-atlas, npm, okta, openai, pip, sentry-cli, tugboat, vercel.
Requires desktop app integration with biometric unlock enabled (no service-account use case for shell plugins — they're for interactive humans).
op plugin init <name> — interactive prompt creates an item in 1Password (or selects an existing one) and saves a config mapping.source ~/.op/plugins.sh (so gh, aws, etc. become aliases to op plugin run).op plugin init gh # GitHub CLI
op plugin init aws # AWS CLI
op plugin init stripe # Stripe CLIFor each, op asks:
gh always uses this credential.Add to your shell rc (~/.bashrc, ~/.zshrc, ~/.config/fish/config.fish):
source ~/.op/plugins.shThis file aliases gh, aws, etc. to op plugin run gh, op plugin run aws. Open a new shell or source the file.
After setup, just use the CLI normally:
gh repo list
aws s3 ls
stripe customers listEach invocation triggers a biometric prompt (or, after first prompt in a session, reuses the unlocked credential). The third-party CLI sees the credential via its expected env var (e.g., GITHUB_TOKEN, AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY, STRIPE_API_KEY).
plugins.shIf you don't want the auto-aliasing:
op plugin run -- gh repo list
op plugin run -- aws s3 lsUseful in scripts where you'd rather be explicit, or when troubleshooting.
op plugin list # all available plugins (whether configured or not)
op plugin inspect # interactive view of your configurations
op plugin inspect gh # specific plugin
op plugin clear gh # remove session/dir/global default in precedence order
op plugin clear gh --all # remove all (session + dir + global)A common pattern: one team uses gh for personal repos and a bot account for CI mirroring. Configure per-directory:
cd ~/work/teamA-repo
op plugin init gh # choose item, set "default in this directory"
cd ~/personal/repo
op plugin init gh # choose other item, "default in this directory"In each directory, gh uses the right token automatically.
After op plugin init aws, you can safely delete ~/.aws/credentials (the file). Same for ~/.config/gh/hosts.yml's token, ~/.stripe-cli/config.toml's API key, etc. The 1Password version is now the source of truth.
op read/op run instead.op run --env-file to load credentials once at startup.op plugin list. If your CLI isn't there, fall back to setting the env var with op run: op run -- /path/to/some-cli some-commandwith a .env mapping SOME_CLI_TOKEN=op://....
aws calls, prefer op run -- script.sh so you authenticate once.make, npm scripts, or anything that bypasses your interactive shell unless that subshell also sources the file. Workaround: op plugin run -- ... explicitly, or set the env var with op run.cd - can confuse the lookup; use op plugin inspect to verify which credential is active.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.