bitwarden-personal-profile について
Bitwarden Personal Profileは、ローカルの非公開プロフィールやBitwarden Secrets Managerから個人情報を安全に読み込むスキルです。他のスキルが必要な項目だけを使い、実データをリポジトリやログに残さないようにします。
主な機能
- 01正規化されたプロフィールデータの読み込み
- 02プロフィール構造の検証
- 03Bitwardenシークレットのインポートとエクスポート
- 04出力言語に応じた値の選択
- 05実データをローカルの非公開状態に保持
活用シーン
- 01保存済みの個人情報を使ったフォーム入力
- 02出力言語に合わせたプロフィール項目の提供
- 03ローカル保存とBitwarden間でのプロフィール移行
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ arthurzakirov/ agentdesk --skill bitwarden-personal-profileインストール後、Claude Code で/bitwarden-personal-profileを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlreferences/bitwarden-secrets-manager-schema.mdlanguage-policy.mdpersonal-profile.example.yamlpersonal-profile.schema.jsonscripts/bitwarden_to_profile.pyinit-private-profile.shload_profile.pymaterialize_profile.pyprofile_lib.pyprofile_to_bitwarden_import.pyprofile_to_bws_secret.pyvalidate_profile.py詳細
Bitwarden 個人プロフィール
契約
プライベートな値をコミットせずに、Bitwarden から安定した個人情報にアクセスするには、このスキルを使用します。
- スキーマと架空のサンプルは、このスキルに同梱されています。
- 実際のプロフィール値は、リポジトリの外部に保存する必要があります。
$ADC_PERSONAL_PROFILE_PATHを優先して使用します。設定されていない場合は、~/.config/AgentDesk/personal-profile.yamlを使用します。- ユーザーから明示的に求められない限り、このスキルのフォルダー、公開リポジトリ、ログ、スクリーンショット、最終回答に実際のプロフィール値を書き込まないでください。
ワークフロー
-
プライベートプロフィールの場所を特定します。
$ADC_PERSONAL_PROFILE_PATHが設定されている場合は、それを使用します。- それ以外の場合は、
~/.config/AgentDesk/personal-profile.yamlを使用します。 - ファイルが存在せず、ユーザーが Bitwarden Secrets Manager を使用している場合は、
scripts/bitwarden_to_profile.pyを実行します。 - Bitwarden を利用できない場合は、
scripts/init-private-profile.shを実行し、生成されたローカルファイルに情報を入力するようユーザーに依頼します。
-
使用前に検証します。
scripts/validate_profile.py "$ADC_PERSONAL_PROFILE_PATH"または既定のパスを実行します。- 検証に失敗した場合は処理を中止します。
-
出力言語を対象フォームに合わせます。
references/language-policy.mdを読みます。- 英語のフォームでは、
enの値を優先します。 - ドイツ語のフォームでは、
deの値を優先します。 - プロフィールに翻訳が明示されていない限り、固有名詞と正式名称は変更しないでください。
-
タスクに必要なフィールドだけを読み込みます。
- 正規化された JSON には、
scripts/load_profile.py --jsonを使用します。 - 必要なフィールドが数個だけの場合は、プロフィール全体を会話に貼り付けないでください。
- 正規化された JSON には、
コマンド
架空のサンプルからプライベートなローカルプロフィールを初期化します:
skills/bitwarden-personal-profile/scripts/init-private-profile.sh
ローカルのプライベートプロフィールから Bitwarden Secrets Manager のインポート用 JSON を作成します:
skills/bitwarden-personal-profile/scripts/profile_to_bitwarden_import.py \
"$HOME/.config/AgentDesk/personal-profile.yaml" \
--project-name "AgentDesk" \
--output "$HOME/.config/AgentDesk/bitwarden-personal-profile-import.json"
プロジェクトがすでに存在する場合は、bws を使ってシークレットを直接作成または更新します:
skills/bitwarden-personal-profile/scripts/profile_to_bws_secret.py \
"$HOME/.config/AgentDesk/personal-profile.yaml" \
--project-id "$BWS_PERSONAL_PROFILE_PROJECT_ID"
Bitwarden Secrets Manager のエクスポート JSON、bws のシークレット ID、またはプロジェクトスキャンからプロフィールを生成します:
skills/bitwarden-personal-profile/scripts/bitwarden_to_profile.py \
--from-bws-project-id "$BWS_PERSONAL_PROFILE_PROJECT_ID" \
--output "$HOME/.config/AgentDesk/personal-profile.yaml"
検証します:
skills/bitwarden-personal-profile/scripts/validate_profile.py "$HOME/.config/AgentDesk/personal-profile.yaml"
正規化された JSON を読み込みます:
skills/bitwarden-personal-profile/scripts/load_profile.py --json
Bitwarden に関する注意事項
プライベートな情報の信頼できる情報源として、Bitwarden Secrets Manager を使用します。プロフィール YAML は、キー ADC_PERSONAL_PROFILE_YAML を使用して、1 つのシークレット値として保存します。
直接 CLI 操作を行う前に、Bitwarden Secrets Manager CLI をインストールし、認証する必要があります:
export BWS_ACCESS_TOKEN="..."
生成されたファイルはローカルのプライベート状態です。Git の成果物ではありません。
リソース
references/personal-profile.schema.json:コミット済みのスキーマ。references/personal-profile.example.yaml:コミット済みの架空のサンプル。references/language-policy.md:言語選択のルール。references/bitwarden-secrets-manager-schema.md:Bitwarden Secrets Manager のマッピング。scripts/init-private-profile.sh:架空のサンプルからローカルのプライベートプロフィールのパスを作成します。scripts/profile_to_bitwarden_import.py:個人プロフィール YAML を Bitwarden のインポート用 JSON に変換します。scripts/profile_to_bws_secret.py:bwsを通じてプロフィールのシークレットを作成または更新します。scripts/bitwarden_to_profile.py:Bitwarden のインポート/エクスポート JSON またはbwsからプロフィールを生成します。scripts/materialize_profile.py:従来の Password Manager セキュアノートへのフォールバックです。scripts/validate_profile.py:構造と言語マップを検証します。scripts/load_profile.py:他のスキル向けにプライベートプロフィールを読み込みます。