multiAI Summary Pending

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.

231 stars

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/1password-credential-lookup/SKILL.md --create-dirs "https://raw.githubusercontent.com/aiskillstore/marketplace/main/skills/clementwalter/1password-credential-lookup/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/1password-credential-lookup/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How 1password-credential-lookup Compares

Feature / Agent1password-credential-lookupStandard Approach
Platform SupportmultiLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

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.

Which AI agents support this skill?

This skill is compatible with multi.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# 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="clement@example.com")
```

**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": "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.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