使用 1Password CLI (op) 管理密码和 API credentials。保存、查询、读取 API key/token,注入环境变量到脚本。当用户提到保存密码、保存 API key、查询密码、1password、op CLI、secret 管理时使用此 skill。
npx skills add https://github.com/iamzhihuix/happy-claude-skills --skill 1password
使用 op CLI 管理 1Password vault 中的密码和 API credentials。
使用前确认 op 已安装并已集成桌面 App:
op --version
未安装则引导安装:
brew install --cask 1password-cli
安装后需在 1Password 桌面 App 中开启集成:Settings → Developer → Integrate with 1Password CLI。
用户提供 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', ''))
"
# 读取(隐藏值)
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
op vault list
# 查看某 vault 下所有条目
op item list --vault="Personal"
# 按 tag 筛选
op item list --tags "deepseek"
用户说「帮我保存 OpenAI 的 API Key:sk-xxx」时:
op 已安装可用op item create 保存Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
Automatically creates user-facing changelogs from git commits by analyzing commit history, categorizing changes, and transforming technical commits into clear, customer-friendly release notes. Turns hours of manual changelog writing into minutes of automated generation.
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
React Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs.
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.
Next.js best practices - file conventions, RSC boundaries, data patterns, async APIs, metadata, error handling, route handlers, image/font optimization, bundling
Use when starting feature work that needs isolation from current workspace or before executing implementation plans - creates isolated git worktrees with smart directory selection and safety verification
Take iamzhihuix/1password from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
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.
The instructions reference brew.
Without those the skill loads but fails at the first command.