Marketplace 1password-credential-lookup
This skill should be used when agents need to log into websites, retrieve passwords, or access credentials. CRITICAL - always use find_credential with the website URL, never guess item names.
install
source · Clone the upstream repo
git clone https://github.com/aiskillstore/marketplace
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/aiskillstore/marketplace "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/clementwalter/1password-credential-lookup" ~/.claude/skills/aiskillstore-marketplace-1password-credential-lookup && rm -rf "$T"
manifest:
skills/clementwalter/1password-credential-lookup/SKILL.mdsource content
1Password Credential Lookup
CRITICAL: Use URL, Not Item Names
WRONG:
get_credential(item_name="github.com") ← NEVER DO THIS get_credential(item_name="GitHub") ← NEVER DO THIS
RIGHT:
find_credential(url="github.com") ← CORRECT find_credential(url="github.com", username="clementwalter") ← EVEN BETTER
The One Rule
When logging into a website, use
with the domain.find_credential
1Password items have arbitrary names that don't match URLs. The
find_credential tool searches by the URL field stored in 1Password, which matches the website you're visiting.
Tools (in order of preference)
1. find_credential
- PRIMARY TOOL
find_credentialUse this for ALL credential lookups:
find_credential(url="github.com") find_credential(url="linkedin.com", username="clement@example.com")
Parameters:
(required): Domain of website (e.g., "github.com", "twitter.com")url
(optional): Filter by username when multiple accounts existusername
Returns:
- Single match:
{"username": "...", "password": "...", "item_name": "..."} - Multiple matches: List of accounts to choose from
- No match: Error message
2. list_items_for_url
- When unsure which account
list_items_for_urllist_items_for_url(url="github.com")
Shows all accounts for a domain with usernames. Use before
find_credential if you don't know which account to use.
3. get_credential
- RARELY NEEDED
get_credentialOnly use if you have an exact item ID (like
ct2jszznlzlp7r7jeb53rhy5li). Never pass URLs or guessed names.
Workflow Example
When logging into github.com:
# Step 1: Get credentials for the domain find_credential(url="github.com", username="clementwalter") # If multiple accounts and no username filter: # → Returns list: [{"username": "work@company.com"}, {"username": "personal@gmail.com"}] # → Pick one and retry with username filter # Step 2: Use returned credentials to fill login form
Domain Aliases
These domains are treated as equivalent:
↔x.comtwitter.com
Error Handling
| Error | Solution |
|---|---|
| "No items found" | Check domain spelling |
| "Multiple items found" | Add parameter to filter |
| "op CLI not installed" | User needs 1Password CLI |
| "Timed out" | User needs to run |
Anti-Patterns
NEVER do these:
- URL is not an item nameget_credential(item_name="github.com")
- Guessed names don't workget_credential(item_name="GitHub")
- Item names are arbitraryget_credential(item_name="my github")
ALWAYS do this:
- Search by the website URLfind_credential(url="github.com")