Communityコーディング&開発github.com

1Password

1Password CLIのセットアップと、サインイン、デスクトップ統合、シークレットの読み取り・注入の方法を提供します。

1Password とは?

このスキルは、開発者やAIエージェントが1Password CLI(`op`)を使用してシークレットを安全に管理・利用するための包括的なガイドです。ヘッドレスサーバーやCI向けのサービスアカウント認証、macOS/Windows/Linuxデスクトップ向けのデスクトップアプリ統合、そしてtmuxを使ったスタンドアロンサインインの3つの認証モードに対応しています。各モードに応じた適切なコマンド実行方法と、プラットフォーム固有の注意点(例:tmuxサブシェル内ではデスクトップ統合が機能しない)を詳細に説明します。さらに、1Password for Claude拡張機能によるブラウザサインイン(クレデンシャル自動入力)の優先的な利用方法や、シークレットをログやチャットに流出させないためのガードレールも含まれています。エージェントはこのスキルに従い、状況に応じて最適な認証方式を選択し、シークレットを安全に扱うことができます。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/clawdbot/clawdbot/tree/main/skills/1password

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

1Password CLI

公式のCLI入門手順に従ってください。インストールコマンドを推測しないでください。

参考資料

  • references/get-started.md(インストール + アプリ統合 + サインインフロー)
  • references/cli-examples.md(実際の op の使用例)

ワークフロー

  1. OSとシェルを確認します。
  2. CLIが存在するか確認します: op --version
  3. ユーザーが設定している認証モードを検出します:
    • サービスアカウント: OP_SERVICE_ACCOUNT_TOKEN が設定されている(ヘッドレス環境、CI、ゲートウェイで一般的)
    • デスクトップアプリ統合: 1Passwordデスクトップアプリが実行されており、CLI統合が有効(macOS / Windows / Linuxデスクトップで一般的)
    • スタンドアロンサインイン: 上記のいずれでもない — op signin がセッションごとにアカウントパスワードを要求する
  4. 認証モードに従って op を実行します(下記参照)。
  5. アクセスを確認します: op whoami が成功することを確認してからシークレットを読み取ります。
  6. 複数のアカウントがある場合: --account または OP_ACCOUNT を使用します。

認証モードごとの op の実行

サービスアカウント(ヘッドレス/ゲートウェイでの推奨)

直接実行します。tmux やサインイン手順は不要です。

export OP_SERVICE_ACCOUNT_TOKEN="ops_..."
op vault list
op read op://app-prod/db/password

デスクトップアプリ統合

直接実行します。tmux 内でラップしないでください — デスクトップアプリ統合はユーザーごとのIPCチャネルを使用します。このチャネルはゲートウェイのexec環境用に確立されますが、tmuxサブシェルからは常に確実に到達できるとは限りません。tmuxサブシェルは異なる環境コンテキストで実行されるためです。トランスポートはプラットフォームごとに異なります(macOSでは1Password Browser Helperを介したXPC、LinuxではUnixドメインソケット、Windowsでは名前付きパイプ)。エージェントの実用的なルールは3つすべてのプラットフォームで同じです: op を直接実行すること。macOSでは、~/Library/Group Containers/2BUA8C4S2C.com.1password/t/ にある1Password統合グループコンテナが有用な症状の指標となります。

op vault list      # 初回呼び出し時にTouch ID / Windows Hello / システム認証をトリガーする場合あり
op whoami

呼び出しが 1Password CLI couldn't connect to the 1Password desktop app を返した場合、tmux に切り替えないでください。デスクトップアプリが実行中でアンロックされていることを確認し、直接実行を再試行してください。

スタンドアロンサインイン(アプリなし、対話型パスワード)

tmux が役立つのはこのモードだけです。op signin はPOSIXシェル向けに eval 形式のエクスポート(OP_SESSION_* トークンの設定)を出力します。同じシェル内の後続のコマンドは、この環境変数によって認証されます。ゲートウェイのコマンドごとのシェルは呼び出し間でその状態を失うため、永続的なtmuxペインはセッショントークンを維持します — ただし、POSIXシェルで eval を使ってエクスポートが実際に適用された場合に限ります。op signin をプレーンなコマンドとして送信すると、出力はペインに表示されたままになり、op whoami は失敗します。

tmuxフローは、tmux スキルが利用可能なmacOS/Linuxホストでのみ有効です。この例では、ユーザーの通常のシェルがfishであってもPOSIXの eval "$(op signin ...)" 出力が有効になるように、意図的に /bin/sh を開いています。Windowsでは、デスクトップアプリ統合またはサービスアカウント認証を優先してください。ユーザーがWindowsでスタンドアロンの対話型サインインしか持っていない場合は、処理を停止し、永続的なPowerShellセッション機構を提供するか、デスクトップ統合/サービスアカウント認証に切り替えるようユーザーに依頼してください。tmuxコマンドを直接変換しないでください。

SOCKET_DIR="${OPENCLAW_TMUX_SOCKET_DIR:-${TMPDIR:-/tmp}/openclaw-tmux-sockets}"
mkdir -p "$SOCKET_DIR"
chmod 700 "$SOCKET_DIR"
SOCKET="$SOCKET_DIR/openclaw-op.sock"
SESSION="op-auth-$(date +%Y%m%d-%H%M%S)"

tmux -S "$SOCKET" new -d -s "$SESSION" -n shell /bin/sh
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- 'eval "$(op signin --account my.1password.com)"' Enter
tmux -S "$SOCKET" capture-pane -t "$SESSION":0.0 -p -S - | tail -40

サインインがプロンプトを表示している間に後続のコマンドをキューに入れないでください。capture-pane でペインをポーリングし、サインインが完了してシェルプロンプトが戻ってくるか、明らかに人間の入力を待っている状態になるまで待機します。プロンプトがパスワード、MFA、またはアカウント選択を必要とする場合は、一時停止してユーザーに自身のターミナルでサインインを完了するよう依頼してください。ユーザーがローカルでアタッチできるように、ソケットとセッションの値をユーザーに提供します。エージェントはexecから tmux attach を実行しないでください。アタッチは現在のTTYを消費し、スクリプト化された send-keys / capture-pane による制御を妨げます。

シェルプロンプトが戻ったら、同じペインにチェック用のコマンドを送信して確認します:

tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- 'op whoami' Enter
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- 'op vault list' Enter
tmux -S "$SOCKET" capture-pane -t "$SESSION":0.0 -p -S - | tail -80

後続の op read / op run コマンドが同じ認証済みシェルを再利用できるように、tmuxセッションは実行したままにしておきます。

このスタンドアロンサインインフローでは、後続のすべてのコマンドに同じ SOCKET と SESSION の値を使用します。-S "$SOCKET" フラグはtmuxサーバーソケットを選択します。ユーザー所有の 0700 ディレクトリに保管し、ユーザー間で共有せず、新しいサインイン試行ごとに新しいセッション名を選択します。

ブラウザサインイン(1Password for Claude)

セッションがChromeのクレデンシャルツール(request_credentials、autofill_credential、enter_verification_code)を公開している場合、Webサイトへのサインインには op よりもこれらを優先します: 1Passwordがページに直接入力し、シークレットがコンテキストに入ることがありません。ルール:

  • タスクに必要なすべてのクレデンシャルを、ナビゲーション前に1回の request_credentials 呼び出しで要求します。
  • 承認はゲートウェイホスト上の1Passwordプロンプトです。保留中の場合は、再試行する代わりに、どのホストでアンロックする必要があるかをユーザーに伝えます(「1PasswordはこのMacでの承認を待機しています」)。
  • パスワードやワンタイムコードをチャット経由で送信するようユーザーに依頼しないでください。コードは enter_verification_code 経由でのみ送信します。
  • ブラウザフローが承認を必要とするという理由だけで、Webサイトのパスワードのために op read にフォールバックしないでください。それは情報漏洩防止の設計理念に反します。コマンドや設定で使用されるシークレットには op を使用し、ブラウザフローが存在する場合のWebログインには使用しないでください。

ガードレール

  • シークレットをログ、チャット、コードに絶対に貼り付けないでください。
  • シークレットをディスクに書き込むよりも op run / op inject を優先してください。
  • アプリ統合なしでサインインが必要な場合は、最初に op account add を使用します。
  • コマンドが「アカウントがサインインしていません」を返した場合:
    • サービスアカウント: OP_SERVICE_ACCOUNT_TOKEN を再エクスポートします
    • デスクトップアプリ: アプリが実行中で統合が有効であることを確認します
    • スタンドアロン: 同じtmuxセッション内で op signin を再実行して認証します

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

acp-router

Route plain-language requests for Claude Code, Cursor, Copilot, OpenClaw ACP, OpenCode, Gemini CLI, Grok Build, Qwen, Kiro, Kimi, iFlow, Factory Droid, Kilocode, or explicit ACP harness work into either OpenClaw ACP runtime sessions or direct acpx-driven sessions ("telephone game" flow). For coding-agent thread requests, read this skill first, then use only `sessions_spawn` for thread creation. Codex chat binding defaults to the native Codex app-server plugin unless ACP is explicit or background spawn needs ACP.

add-model-provider

Add and live-prove a model provider with non-interactive config one-liners, without exposing credentials.

agent-transcript

Requested GitHub PR/issue agent transcripts: redact, trim, preview, and insert safely.

apple-notes

Create, view, edit, delete, search, move, or export Apple Notes via the memo CLI on macOS.

apple-reminders

List, add, edit, complete, or delete Apple Reminders and reminder lists via remindctl.

auto-qa

Run OpenClaw-wide autonomous QA and live/stress campaigns across independent subsystem lanes, with verified fixes and a resumable evidence report.

autoreview

Structured code review through the shared OpenClaw agent-skills installation.

bear-notes

Create, search, and manage Bear notes via grizzly CLI.

blacksmith-testbox

Run Blacksmith Testbox for CI-parity checks, secrets, hosted services, migrations, or builds local cannot reproduce.

block-kit

Use proactively for structured or interactive Slack replies, and when asked to author or validate native Slack Block Kit JSON.

blogwatcher

Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.

blucli

BluOS CLI (blu) for discovery, playback, grouping, and volume.

bluebubbles

Send and manage iMessages via BlueBubbles, including attachments, tapbacks, edits, replies, and groups.

browser-automation

Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.

camsnap

Capture frames or clips from RTSP/ONVIF cameras and local webcams, including USB pan/tilt/zoom control.

canvas

Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.

channel-message-flows

Use when running QA Lab channel message flow evidence.

clawdtributor

Clawtributor PRs here, last week or another window: discover conversation refs, recheck GitHub, rank by impact.

clawhub

Search ClawHub for plugins by default, or skills and agent Templates when requested; add Templates; install, verify, update, uninstall, publish, or sync skills.

claw-score

Audit or refresh OpenClaw maturity scorecard docs from root taxonomy, maturity scores, and QA evidence artifacts without using maintainer discrawl data or committed inventory reports.

関連スキル