mcpbeat

1password

iamzhihuix/1password

使用 1Password CLI (op) 管理密码和 API credentials。保存、查询、读取 API key/token,注入环境变量到脚本。当用户提到保存密码、保存 API key、查询密码、1password、op CLI、secret 管理时使用此 skill。

767 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
303
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/iamzhihuix/happy-claude-skills --skill 1password

The instruction itself

4 sections, as written by the author

1Password CLI

使用 op CLI 管理 1Password vault 中的密码和 API credentials。

前置检查

使用前确认 op 已安装并已集成桌面 App:

op --version

未安装则引导安装:

brew install --cask 1password-cli

安装后需在 1Password 桌面 App 中开启集成:Settings → Developer → Integrate with 1Password CLI。


保存 API Credential

用户提供 API Key 信息时,使用以下命令保存。字段按实际提供情况填写,未提供的字段省略。

标题命名规范: {服务商} API Key - {用途标识}(如 OpenAI API Key - agent

op item create \
  --category="API Credential" \
  --title="{标题}" \
  --vault="Personal" \
  "credential={API Key}" \
  "website[url]={网站 URL}" \
  "base_url[text]={API base URL}" \
  "username[text]={邮箱或用户名}" \
  "用途说明[text]={用途描述}" \
  "过期时间[text]={YYYY-MM-DD}" \
  "创建日期[text]={YYYY-MM-DD}" \
  --tags "{服务商},{项目标签}"

最小必填字段: credential(API Key 本身)。其余字段按用户提供情况填入。


查询/搜索条目

按标题或 URL 关键词模糊查找:

op item list --format=json | python3 -c "
import json, sys
items = json.load(sys.stdin)
keyword = '{关键词}'.lower()
for i in items:
    title_match = keyword in i['title'].lower()
    url_match = any(keyword in str(u) for u in i.get('urls', []))
    if title_match or url_match:
        print('ID:', i['id'], '| Title:', i['title'], '| Updated:', i.get('updated_at', ''))
"

读取 Credential

# 读取(隐藏值)
op item get "{标题}" --fields credential

# 读取(显示明文)
op item get "{标题}" --fields credential --reveal

注入环境变量(开发工作流)

.env 文件中使用 Secret References 代替明文,可以安全提交到 git:

OPENAI_API_KEY=op://Personal/OpenAI API Key - agent/credential
DEEPSEEK_API_KEY=op://Personal/DeepSeek API Key - agent skd/credential

运行脚本时注入真实值:

op run --env-file=.env -- your-script.sh
op run --env-file=.env -- python3 main.py

Vault 管理

# 查看所有 vault
op vault list

# 查看某 vault 下所有条目
op item list --vault="Personal"

# 按 tag 筛选
op item list --tags "deepseek"

工作流示例

用户说「帮我保存 OpenAI 的 API Key:sk-xxx」时:

  • 确认 op 已安装可用
  • 收集信息:服务商名、API Key、网站 URL、用途、关联项目(按用户提供情况)
  • 执行 op item create 保存
  • 输出保存结果(ID、标题、字段列表),不显示 credential 明文

How to use it

Copy the folder

Take iamzhihuix/1password from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.

Install what it needs

The instructions reference brew. Without those the skill loads but fails at the first command.