mcpField
1
1password

1password

github.com/letta-aiセキュリティ152111 回インストール4 週間前に更新
リポジトリ

1password について

1Password CLIのセットアップ、サインイン、アカウント確認を案内するスキルです。新しいtmuxセッション内でのコマンド実行を必須とし、ログやファイルへの秘密情報の記録を避けます。

主な機能

  1. 01CLIのインストールとバージョン確認
  2. 02アプリ連携によるサインイン
  3. 03新しいtmuxセッション内でコマンド実行
  4. 04秘密情報の読み取り前にアクセス確認
  5. 05ログやファイルへの秘密情報記録を回避

活用シーン

  1. 011Password CLIのアクセス設定
  2. 02tmux内でのアカウント再認証
  3. 03秘密情報取得前の本人確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/letta-ai/skills --skill 1password

インストール後、Claude Code で/1passwordを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

LICENSE
assets/
1password-small.svg
references/
cli-examples.md
get-started.md

詳細

1Password CLI

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

前提条件

  • 信頼性の高い op コマンドの実行には tmux が必要です(シェルツールはコマンドごとに新しい TTY を使用するため、tmux がないと再認証の問題が発生します)
    • macOS:brew install tmux
    • Linux(Debian/Ubuntu):sudo apt install tmux
    • Linux(RHEL/Fedora):sudo dnf install tmux

参考資料

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

ワークフロー

  1. OS とシェルを確認します。
  2. CLI が存在することを確認します:op --version
  3. デスクトップアプリとの統合が有効になっていること(スタートガイドを参照)と、アプリがロック解除されていることを確認します。
  4. 必須:すべての op コマンド用に新しい tmux セッションを作成します(tmux の外部から op を直接呼び出さないでください)。
  5. tmux 内でサインイン/認証します:op signin(アプリのプロンプトが表示されます)
  6. tmux 内でアクセスを確認します:op whoami(シークレットを読み取る前に、必ず成功する必要があります)
  7. 複数のアカウントがある場合は、--account または OP_ACCOUNT を使用します。

必須の tmux セッション

シェルツールはコマンドごとに新しい TTY を使用します。再度のプロンプト表示や失敗を防ぐため、必ず専用の tmux セッションを作成し、新しいソケットとセッション名を使って、その中で op を実行してください。

ソケットの規則:

  • ソケットは ${LETTA_TMUX_SOCKET_DIR:-${TMPDIR:-/tmp}/letta-tmux-sockets} の下に配置してください。これにより、ソケットを分離でき、簡単にクリーンアップできます。
  • タイムスタンプ付きのセッション名(例:op-auth-$(date +%Y%m%d-%H%M%S))を使用してください。古いセッションを再利用しないようにします。以前の認証状態が古くなっていたり、壊れていたりする可能性があります。
  • 長時間実行される tmux プロセスが残らないよう、作業が終わったらセッションを終了してください(tmux -S "$SOCKET" kill-session -t "$SESSION")。

完全な例:

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

tmux -S "$SOCKET" new -d -s "$SESSION" -n shell
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- "op signin --account my.1password.com" Enter
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 -p -J -t "$SESSION":0.0 -S -200
tmux -S "$SOCKET" kill-session -t "$SESSION"

ガードレール

  • シークレットをログ、チャット、コードに貼り付けないでください。
  • シークレットをディスクに書き込むより、op run/op inject を優先してください。
  • アプリ統合なしでサインインする必要がある場合は、op account add を使用してください。
  • コマンドが「account is not signed in」を返した場合は、tmux 内で op signin を再実行し、アプリで認証してください。
  • tmux の外部で op を実行しないでください。tmux を利用できない場合は、作業を中断して確認してください。

コメント