# Send pass - stores, retrieves, generates, and synchronizes passwords securely to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "pass",
    "name": "pass - stores, retrieves, generates, and synchronizes passwords securely",
    "source": "tencent",
    "type": "skill",
    "category": "效率提升",
    "sourceUrl": "https://clawhub.ai/bastos/pass",
    "canonicalUrl": "https://clawhub.ai/bastos/pass",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/pass",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=pass",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "pass",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-01T21:30:23.487Z",
      "expiresAt": "2026-05-08T21:30:23.487Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=pass",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=pass",
        "contentDisposition": "attachment; filename=\"pass-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "pass"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/pass"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/pass",
    "downloadUrl": "https://openagent3.xyz/downloads/pass",
    "agentUrl": "https://openagent3.xyz/skills/pass/agent",
    "manifestUrl": "https://openagent3.xyz/skills/pass/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/pass/agent.md"
  }
}
```
## Documentation

### pass — The Standard Unix Password Manager

Each password is a GPG-encrypted file under ~/.password-store/. The store is
plain files in a folder hierarchy; no proprietary formats, no daemon.

### Linux

DistroCommandArch / Manjaropacman -S passDebian / Ubuntuapt install passFedora / RHELdnf install passopenSUSEzypper in password-store

### macOS

brew install pass

### 2. GPG Key Setup

pass requires a GPG key. Skip this block if you already have one.

# Generate a new key (use RSA 4096 or ed25519)
gpg --full-generate-key

# List your keys — note the key ID or email
gpg --list-secret-keys --keyid-format LONG

The key ID looks like 3AA5C34371567BD2 or you can use the email you registered.

### 3. Initialise the Store

pass init "your@email.com"
# or using the key ID:
pass init 3AA5C34371567BD2

This creates ~/.password-store/ and a .gpg-id file.

Multiple GPG IDs are supported (for team use):

pass init alice@example.com bob@example.com

Use -p to scope a different GPG key to a subfolder (useful for shared stores):

pass init -p work/ work@company.com

Running pass init on an existing store re-encrypts all entries with the new key(s).

### 4. Data Organisation Convention

Store each entry as a multiline file with this structure:

<password>
url: https://example.com
username: you@example.com
notes: anything extra

First line is always the password. pass -c and clipboard tools only
copy line 1.
Use lowercase keys (url:, username:, notes:) for compatibility with
browser extensions and pass-import.
Organise with folders that mirror context, not the URL structure:

~/.password-store/
├── email/
│   ├── gmail
│   └── fastmail
├── dev/
│   ├── github
│   └── npm
└── finance/
    ├── bank-hsbc
    └── revolut

### List the store

pass                       # full tree
pass email/                # subtree
pass ls email/             # explicit alias

### Find entries by name

pass find github           # lists all entries whose path matches "github"

### Read a password

pass email/gmail           # print all lines to stdout
pass -c email/gmail        # copy line 1 to clipboard (clears after 45s)
pass -c2 email/gmail       # copy line 2 (e.g. the username) to clipboard

### Search inside decrypted content

pass grep username         # grep across all decrypted entries
pass grep -i "amazon"      # case-insensitive; accepts any grep option

### Insert an existing password

pass insert email/gmail              # prompted twice for confirmation
pass insert -e email/gmail           # echo password as you type (single prompt)
pass insert -m email/gmail           # multiline (recommended, ends with Ctrl-D)
pass insert -f email/gmail           # overwrite without prompt

### Generate a new password

pass generate email/gmail            # 25-char password (default length)
pass generate email/gmail 20        # custom length
pass generate -n email/gmail 20     # no symbols
pass generate -c email/gmail 20     # copy to clipboard instead of printing
pass generate -i email/gmail 20     # replace only line 1, keep rest of file
pass generate -f email/gmail 20     # overwrite without prompt

### Edit an entry

pass edit email/gmail      # opens $EDITOR; creates entry if it doesn't exist

### Remove an entry

pass rm email/gmail
pass rm -r email/          # remove a folder recursively
pass rm -f email/gmail     # no confirmation prompt

### Move / copy

pass mv email/gmail email/gmail-old
pass mv -f email/gmail email/gmail-old   # overwrite without prompt
pass cp email/gmail backup/gmail
pass cp -f email/gmail backup/gmail      # overwrite without prompt

### 6. Git Sync

Initialise git inside the store:

pass git init
pass git remote add origin git@github.com:you/pass-store.git

Every pass insert, generate, edit, rm automatically creates a git
commit. Push and pull manually:

pass git push
pass git pull

To clone the store on another machine:

# Import your GPG key first:
gpg --import private-key.asc
gpg --edit-key your@email.com  # then: trust → 5 → quit

# Clone the store:
git clone git@github.com:you/pass-store.git ~/.password-store

### pass-otp (TOTP / 2FA codes)

# Install
pacman -S pass-otp          # Arch
brew install pass-otp       # macOS

# Add a TOTP secret (use the otpauth:// URI from your provider)
pass otp insert totp/github
# paste: otpauth://totp/GitHub:you@example.com?secret=BASE32SECRET&issuer=GitHub

# Generate a code
pass otp totp/github

# Copy to clipboard
pass otp -c totp/github

### pass-import (migrate from another manager)

pip install pass-import    # or: pacman -S pass-import

# Import from Bitwarden (JSON export)
pass import bitwarden bitwarden-export.json

# Import from 1Password (1PUX export)
pass import 1password export.1pux

# List all supported formats
pass import --list

### pass-update

# Install
git clone https://github.com/roddhjav/pass-update ~/.password-store/.extensions/update.bash

# Update a password interactively
pass update email/gmail

### 8. Shell Completion

# bash — add to ~/.bashrc
source /usr/share/bash-completion/completions/pass

# zsh — add to ~/.zshrc
autoload -U compinit && compinit

# fish — works out of the box after install

### 9. Useful Environment Variables

VariablePurposePASSWORD_STORE_DIROverride default ~/.password-storePASSWORD_STORE_KEYDefault GPG key IDPASSWORD_STORE_GITOverride git directoryPASSWORD_STORE_CLIP_TIMESeconds before clipboard clears (default 45)PASSWORD_STORE_ENABLE_EXTENSIONSSet to true to enable user extensionsEDITOREditor used by pass edit

### 10. Troubleshooting

gpg: decryption failed: No secret key
Your GPG key is not available. Import it with gpg --import and set trust.

gpg-agent keeps asking for passphrase
Add to ~/.gnupg/gpg-agent.conf:

default-cache-ttl 3600
max-cache-ttl 14400

Then restart: gpgconf --kill gpg-agent

Clipboard does not clear on Wayland
Install wl-clipboard and set PASSWORD_STORE_CLIP_TOOL=wl-copy or pass -c
with wl-clipboard in PATH.

pass git shows dirty tree after clone
Run pass git status; if only .gpg-id is untracked, run pass git add .
and pass git commit -m "add gpg-id".
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: bastos
- Version: 1.0.0
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-01T21:30:23.487Z
- Expires at: 2026-05-08T21:30:23.487Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/pass)
- [Send to Agent page](https://openagent3.xyz/skills/pass/agent)
- [JSON manifest](https://openagent3.xyz/skills/pass/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/pass/agent.md)
- [Download page](https://openagent3.xyz/downloads/pass)