ops-settings について
ops-settings は preferences ファイル内の認証情報と連携設定を管理する Claude スキルです。連携状態の表示や認証情報の更新・削除に加え、変更後に記載されたスモークテストを実行します。
主な機能
- 01連携の認証情報ステータス表示
- 02選択した連携の稼働確認
- 03保存済み認証情報の更新または削除
- 04更新後のスモークテスト
活用シーン
- 01設定済みの連携を確認
- 02連携の認証情報を差し替え
- 03認証情報の変更後にテスト
MCP 対応
Doppler MCP が設定されている場合、その設定を確認し、Doppler MCP サーバーを使ってシークレットを解決できます。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ davepoon/ buildwithclaude --skill ops-settingsインストール後、Claude Code で/ops-settingsを入力して読み込まれたか確認します。
詳細
実行時コンテキスト
PREFS="${CLAUDE_PLUGIN_DATA_DIR:-$HOME/.claude/plugins/data/ops-ops-marketplace}/preferences.json"
cat "$PREFS" 2>/dev/null || echo '{}'
OPS ► SETTINGS
初期設定後に認証情報と連携設定を管理します。
引数の解析
--statusまたは空欄 → 認証情報のステータスダッシュボード全体を表示します<integration-name>→ 指定した連携の更新画面に直接移動します(例:/ops:settings stripe)--status <integration-name>→ 指定した連携のみのステータスを表示します
認証情報ステータスダッシュボード
preferences.json を読み込みます。既知の連携ごとに、キーが存在し、空でないことを確認します。可能な場合は、稼働状況も確認します。
次の表を表示します。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
OPS ► SETTINGS — Integration Status
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Integration Status Last Updated
─────────────────── ──────────── ─────────────
GitHub (gh cli) ✅ active (always active if gh auth status)
Stripe ✅ configured 2026-04-14
RevenueCat ✅ configured 2026-04-14
Telegram ✅ configured 2026-04-13
Slack ⚠️ missing —
Linear ✅ configured 2026-04-11
Sentry ⚠️ missing —
AWS ✅ active (always active if aws sts works)
Shopify ⚠️ missing —
Klaviyo ⚠️ missing —
Meta Ads ⚠️ missing —
GA4 ⚠️ missing —
ElevenLabs ⚠️ missing —
Datadog ⚠️ missing —
New Relic ⚠️ missing —
...
✅ N configured ⚠️ N missing
──────────────────────────────────────────────────────
稼働状況の確認
低コストでヘルスチェックできる連携については、実行して「設定済みだが期限切れ」と「設定済みでアクティブ」を区別します。
| 連携 | 確認方法 | アクティブを示す状態 |
|---|---|---|
| Stripe | curl -s -o /dev/null -w "%{http_code}" -u "${stripe_key}:" https://api.stripe.com/v1/balance | 200 |
| GitHub | gh auth status 2>&1 | "Logged in" |
| AWS | aws sts get-caller-identity --output text 2>/dev/null | 終了コード 0 |
| Linear | `cat "$PREFS" | jq -r .linear_team` |
| Doppler MCP | DOPPLER_TOKEN が設定され、有効かどうかを確認します | トークンが存在し、MCP サーバーが応答する |
以前に設定されたキーの確認に失敗した場合は、🔴 expired と表示します。
連携の更新
引数またはダッシュボードからユーザーが特定の連携を選択した場合:
- 現在の値をマスクして表示します:
sk_live_••••••••••••••••(末尾 4 文字は表示) - AskUserQuestion を使用して、更新するかどうかを確認します。
[Enter new value] [Test current value] [Clear this credential] [Back to dashboard] - 「新しい値を入力」を選択した場合は、
AskUserQuestionのテキスト入力を促します。 jqによる更新で、新しい値をpreferences.jsonに書き込みます。tmp=$(mktemp) jq --arg v "$NEW_VALUE" --arg k "$KEY_NAME" '.[$k] = $v' "$PREFS" > "$tmp" && mv "$tmp" "$PREFS"- 更新直後にスモークテストを実行します(「スモークテスト」セクションを参照)。
- 次のように報告します:
✅ Stripe key updated — smoke test passedまたは⚠️ Key saved but smoke test failed: <reason>
スモークテスト
| 連携 | スモークテストコマンド |
|---|---|
| Stripe | curl -s -u "${new_key}:" https://api.stripe.com/v1/balance | jq .object → "balance" である必要があります |
| RevenueCat | curl -s -H "Authorization: Bearer ${new_key}" "https://api.revenuecat.com/v2/projects" | jq '.items | length' → 0 以外 |
| Telegram | node ${CLAUDE_PLUGIN_ROOT}/telegram-server/index.js --health 2>&1 → "healthy" |
| Slack | curl -s -H "Authorization: Bearer ${new_token}" https://slack.com/api/auth.test | jq .ok → true |
| Shopify | curl -s -H "X-Shopify-Access-Token: ${new_token}" "https://${store_url}/admin/api/2024-01/shop.json" | jq .shop.name → null 以外 |
| Klaviyo | curl -s -H "Authorization: Klaviyo-API-Key ${new_key}" https://a.klaviyo.com/api/accounts/ | jq '.data[0].id' → null 以外 |
| Datadog | curl -s -H "DD-API-KEY: ${new_key}" https://api.datadoghq.com/api/v1/validate | jq .valid → true |
| New Relic | `curl -s -H "Api-Key: ${new_key}" https://api.newrelic.com/v2/applications.json | jq '.applications |
| Doppler MCP | DOPPLER_TOKEN を設定した状態で npx -y @dopplerhq/mcp-server --help 2>&1 を実行します |
CLI/API リファレンス
| コマンド | 用途 |
|---|---|
cat "$PREFS" | jq 'keys' | 設定済みのキーをすべて一覧表示します |
jq --arg v "$V" --arg k "$K" '.[$k] = $v' "$PREFS" | 単一のキーを更新します |
gh auth status | GitHub CLI の認証を確認します |
aws sts get-caller-identity | AWS の認証を確認します |
コメント
Markdown 対応