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.
Design
85 Stars
2 Forks
Updated Jan 19, 2026, 04:39 AM
Why Use This
This skill provides specialized capabilities for aiskillstore's codebase.
Use Cases
Developing new features in the aiskillstore repository
Refactoring existing code to follow aiskillstore standards
Understanding and working with aiskillstore's codebase structure
---
name: 1password-credential-lookup
description: 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.
version: 2.0.0
---
# 1Password Credential Lookup
## CRITICAL: Use URL, Not Item Names
**WRONG:**
```text
get_credential(item_name="github.com") ← NEVER DO THIS
get_credential(item_name="GitHub") ← NEVER DO THIS
```
**RIGHT:**
```text
find_credential(url="github.com") ← CORRECT
find_credential(url="github.com", username="clementwalter") ← EVEN BETTER
```
## The One Rule
**When logging into a website, use `find_credential` with the domain.**
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
Use this for ALL credential lookups:
```text
find_credential(url="github.com")
find_credential(url="linkedin.com", username="[email protected]")
```
**Parameters:**
- `url` (required): Domain of website (e.g., "github.com", "twitter.com")
- `username` (optional): Filter by username when multiple accounts exist
**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
```text
list_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
Only use if you have an exact item ID (like `ct2jszznlzlp7r7jeb53rhy5li`). Never pass URLs or guessed names.
## Workflow Example
When logging into github.com:
```text
# Step 1: Get credentials for the domain
find_credential(url="github.com", username="clementwalter")
# If multiple accounts and no username filter:
# → Returns list: [{"username": "[email protected]"}, {"username": "[email protected]"}]
# → 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.com` ↔ `twitter.com`
## Error Handling
| Error | Solution |
| ---------------------- | ---------------------------------- |
| "No items found" | Check domain spelling |
| "Multiple items found" | Add `username` parameter to filter |
| "op CLI not installed" | User needs 1Password CLI |
| "Timed out" | User needs to run `op signin` |
## Anti-Patterns
**NEVER do these:**
- `get_credential(item_name="github.com")` - URL is not an item name
- `get_credential(item_name="GitHub")` - Guessed names don't work
- `get_credential(item_name="my github")` - Item names are arbitrary
**ALWAYS do this:**
- `find_credential(url="github.com")` - Search by the website URL