agent-vault について
agent-vaultは、秘密値を露出させずに機密を含む設定ファイルを扱うスキルです。エージェントによる設定の確認・読み取り・書き込みを支援し、秘密の登録や表示はユーザーに委ねます。
主な機能
- 01秘密値を伏せて設定を読み書き
- 02秘密鍵の有無を確認
- 03保存済みの鍵名を一覧表示
- 04秘密の登録と表示はユーザーが実行
活用シーン
- 01認証情報を露出させずにサービス設定を更新
- 02必要な鍵が保存済みか確認
- 03不足している秘密の登録をユーザーに案内
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ botiverse/ agent-vault --skill agent-vaultインストール後、Claude Code で/agent-vaultを入力して読み込まれたか確認します。
詳細
agent-vault
シークレットの値を見ることなく、設定ファイルの読み書きができます。シークレットは暗号化されたローカルの保管庫に保存されます。<agent-vault:key-name> というプレースホルダーが表示され、実際の値は透過的にディスクへ書き込まれます。
安全なコマンド(実行してかまいません)
agent-vault read <file> Read file, secrets → <agent-vault:key>
agent-vault write <file> --content '...' Write file, <agent-vault:key> → real values
agent-vault has <key> [keys...] Check if keys exist (exit 0/1)
agent-vault list List stored key names
機密コマンド(絶対に実行しないでください。ユーザーに実行するよう伝えてください)
agent-vault set <key> Prompt user to enter a secret
agent-vault import <file> Bulk import from .env
agent-vault rm <key> Remove a secret
agent-vault get <key> --reveal Show secret value (user only)
これらのコマンドは TTY が必要であり、実行しようとすると失敗します。
ルール
- シークレットを含むファイルに対して、Read/Write/Edit ツールを絶対に使用しないでください。 代わりに
agent-vault readとagent-vault writeを使用してください。 - 機密コマンドを絶対に実行しないでください。 ユーザーにターミナルで実行するよう伝えてください。
- 必ず最初に確認してください。 ユーザーにキーの設定を求める前に
agent-vault has <key>を実行し、すでに設定されている可能性を確認してください。 - 書き込むすべてのファイル内容に、
<agent-vault:key-name>プレースホルダーを使用してください。 - ユーザーを案内してください。 シークレットがない場合は、実行する正確なコマンドと値の入手先を伝えてください。
ワークフロー
1. agent-vault has <key> ← check what's available
2. (if missing) tell user: ← "Please run: agent-vault set <key>"
3. (wait for user confirmation)
4. agent-vault read <file> ← read config with redacted secrets
5. agent-vault write <file> ... ← write config, secrets auto-restored
プレースホルダー形式
<agent-vault:key-name> — キー名には小文字の英数字とハイフンを使用します。
例:<agent-vault:telegram-bot-token>、<agent-vault:openai-key>、<agent-vault:db-password>
読み取り時に、保管庫に登録されていないエントロピーの高い文字列は <agent-vault:UNVAULTED:sha256:XXXXXXXX> として表示されます。ユーザーに保管庫へ登録するよう伝えてください。
例:新しいサービスを設定する
# Check what exists
agent-vault has api-key db-password --json
# → {"api-key": true, "db-password": false}
ユーザーに次のように伝えてください(テキストとして伝え、実行しないでください)。
次を実行してください:
agent-vault set db-password
ユーザーの確認後:
agent-vault write config.yaml --content 'api_key: <agent-vault:api-key>
db_password: <agent-vault:db-password>
host: 0.0.0.0
port: 8080'
例:既存の設定を変更する
# Read current state
agent-vault read config.yaml
# 1 api_key: <agent-vault:api-key>
# 2 db_password: <agent-vault:db-password>
# 3 port: 3000
# Write updated version
agent-vault write config.yaml --content 'api_key: <agent-vault:api-key>
db_password: <agent-vault:db-password>
port: 9090'
例:ヒアドキュメントで書き込む(長い内容の場合)
agent-vault write docker-compose.yaml <<'EOF'
services:
app:
environment:
API_KEY: <agent-vault:api-key>
DB_PASSWORD: <agent-vault:db-password>
ports:
- "8080:8080"
EOF
コメント
Markdown 対応