From cc-security
dotenvx + macOS Keychain で secret 管理をセットアップする。dotenvx の暗号化、Keychain への秘密鍵保存、.env の管理について聞かれた時に使う。
How this skill is triggered — by the user, by Claude, or both
Slash command
/cc-security:setup-secretsThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
dotenvx で .env を暗号化し、秘密鍵を macOS Keychain に保存します。
dotenvx で .env を暗号化し、秘密鍵を macOS Keychain に保存します。
.env.example をコピーして .env を作成:
cp .env.example .env
参加者に .env の値を編集してもらってください。
dotenvx encrypt
これにより:
.env の値が暗号化されるDOTENV_PUBLIC_KEY が .env 内に追加されるDOTENV_PRIVATE_KEY が .env.keys に書き出される.env.keys から DOTENV_PRIVATE_KEY の値を取得して Keychain に保存:
# .env.keys から秘密鍵を取得
PRIVATE_KEY=$(grep DOTENV_PRIVATE_KEY .env.keys | cut -d'=' -f2 | tr -d '"')
# Keychain に保存
security add-generic-password -a "$USER" -s "cc-handson" -w "$PRIVATE_KEY"
.env.keys は平文の秘密鍵ファイルです:
cat .env.keys で読めてしまう」→「Keychain に逃がせば平文がディスクに残らない」.envrc が Keychain から秘密鍵を取得して復号できることを確認:
# direnv reload で .envrc を再読み込み
direnv reload
# 復号が正しく動くか確認(値は表示しない)
dotenvx run -- echo "secrets loaded successfully"
# 保存した秘密鍵を確認
security find-generic-password -a "$USER" -s "cc-handson"
# 削除する場合
security delete-generic-password -a "$USER" -s "cc-handson"
Layer 1: allowed-tools(構造的制御)
→ このスキルだけが security add-generic-password を実行可能
→ dotenvx スキルは dotenvx run / dotenvx get のみ
Layer 2: rules/secrets-policy.md(LLM ソフト制御)
→ 通常会話でも secret を平文出力しない
Layer 3: direnv + Keychain(インフラ層)
→ .envrc が Keychain から自動取得 → 平文ファイルなし
Provides CDSS development patterns for drug interaction checking, dose validation, clinical scoring (NEWS2, qSOFA), and alert classification integrated into EMR workflows.
npx claudepluginhub gigun-dev/cc-handson --plugin cc-security