1password — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited 1password (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.
When a credential is needed, ask the user for the item's private link (copied from 1Password: right-click item > "Copy Private Link") and the field name(s) to read.
A private link has the format:
https://start.1password.com/open/i?a=<ACCOUNT>&v=<VAULT>&i=<ITEM>&h=<DOMAIN>Extract the URL parameters to construct the op read command:
| Parameter | Maps To |
|---|---|
a | --account value |
v | vault in op:// path |
i | item in op:// path |
The h parameter (account domain) is informational only -- use a for --account.
The resulting command:
op read --account <a> -n "op://<v>/<i>/<field>"Example -- given link https://start.1password.com/open/i?a=ABC123&v=xyz789&i=item456&h=acme.1password.com and field password:
op read --account ABC123 -n "op://xyz789/item456/password"op read in a command substitution that Claude can observe (e.g., echo $(op read ...)).op read fails, report the error category (auth, missing item, missing field) without reproducing raw output that could contain sensitive references.Secret never touches a visible variable or stdout.
op read --account ACCT_ID -n "op://VAULT/ITEM/field" | some-command --token-stdinAcceptable when the consuming command does not echo its arguments and output is controlled.
curl -s -o /dev/null -w '%{http_code}' \
-H "Authorization: Bearer $(op read --account ACCT_ID -n 'op://VAULT/ITEM/field')" \
https://api.example.com/endpointThe outer command must not echo the expanded value. Use -s (silent) and -o /dev/null or redirect stdout.
Wrap the entire operation in a script that reads secrets, uses them, and outputs only non-secret results.
# WRONG: secret captured in variable and echoed
TOKEN=$(op read --account ACCT_ID -n "op://VAULT/ITEM/field")
echo "$TOKEN"
# WRONG: op read output displayed directly
op read --account ACCT_ID "op://VAULT/ITEM/field"
# WRONG: secret passed as visible argument
curl -H "Authorization: Bearer $VISIBLE_SECRET" ...When creating or modifying a skill/script that requires credentials from 1Password, always ask the user for:
password, api-key, token).Never guess or assume credential locations. Parse the private link to construct the op:// reference as documented above.
When op read fails (exit code != 0), diagnose by category:
eval $(op signin --account <ACCT_ID>)Report the failure category. Do not reproduce the full error message verbatim.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.