Agent Skillsdavepoon/buildwithclaude › ops-settings

ops-settings

GitHub

用于管理插件集成凭据和配置。支持查看各服务状态、探测有效性、更新密钥及清理配置,并提供冒烟测试验证变更结果。

plugins/claude-ops/skills/ops-settings/SKILL.md davepoon/buildwithclaude

Trigger Scenarios

用户需要检查已配置集成的状态或过期情况 用户需要更新特定集成的API密钥或凭据

Install

npx skills add davepoon/buildwithclaude --skill ops-settings -g -y
More Options

Non-standard path

npx skills add https://github.com/davepoon/buildwithclaude/tree/main/plugins/claude-ops/skills/ops-settings -g -y

Use without installing

npx skills use davepoon/buildwithclaude@ops-settings

指定 Agent (Claude Code)

npx skills add davepoon/buildwithclaude --skill ops-settings -a claude-code -g -y

安装 repo 全部 skill

npx skills add davepoon/buildwithclaude --all -g -y

预览 repo 内 skill

npx skills add davepoon/buildwithclaude --list

SKILL.md

Frontmatter
{
    "name": "ops-settings",
    "effort": "low",
    "maxTurns": 20,
    "description": "Post-setup credential manager. Shows current integration status (configured\/missing\/expired) and lets you update individual credentials without re-running the full setup wizard. Runs a smoke test after each update.",
    "allowed-tools": [
        "Bash",
        "Read",
        "Write",
        "Edit",
        "AskUserQuestion"
    ],
    "argument-hint": "[integration-name] [--status]"
}

Runtime Context

PREFS="${CLAUDE_PLUGIN_DATA_DIR:-$HOME/.claude/plugins/data/ops-ops-marketplace}/preferences.json"
cat "$PREFS" 2>/dev/null || echo '{}'

OPS ► SETTINGS

Manage credentials and integration config after initial setup.

Parse arguments

  • --status or empty → show full credential status dashboard
  • <integration-name> → jump directly to updating that integration (e.g. /ops:settings stripe)
  • --status <integration-name> → show status of one integration only

Credential Status Dashboard

Read preferences.json. For each known integration, check whether the key exists and is non-empty. Also probe liveness where possible.

Display as a table:

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 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
──────────────────────────────────────────────────────

Probe liveness

For integrations with a cheap health check, run it to distinguish "configured but expired" from "configured and active":

Integration Probe Active signal
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 exits 0
Linear `cat "$PREFS" jq -r .linear_team`
Doppler MCP Check if DOPPLER_TOKEN is set and valid Token present and MCP server responds

Show 🔴 expired if probe fails for a previously-configured key.

Update an integration

When a specific integration is selected (via argument or user pick from dashboard):

  1. Show current value (masked): sk_live_•••••••••••••••• (last 4 chars visible)
  2. Use AskUserQuestion to confirm the update action:
    [Enter new value]  [Test current value]  [Clear this credential]  [Back to dashboard]
    
  3. For "Enter new value": prompt with AskUserQuestion text input
  4. Write new value to preferences.json via jq update:
    tmp=$(mktemp)
    jq --arg v "$NEW_VALUE" --arg k "$KEY_NAME" '.[$k] = $v' "$PREFS" > "$tmp" && mv "$tmp" "$PREFS"
    
  5. Run smoke test immediately after update (see Smoke Tests section)
  6. Report: ✅ Stripe key updated — smoke test passed or ⚠️ Key saved but smoke test failed: <reason>

Smoke Tests

Integration Smoke test command
Stripe curl -s -u "${new_key}:" https://api.stripe.com/v1/balance | jq .object → must be "balance"
RevenueCat curl -s -H "Authorization: Bearer ${new_key}" "https://api.revenuecat.com/v2/projects" | jq '.items | length' → non-zero
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 → non-null
Klaviyo curl -s -H "Authorization: Klaviyo-API-Key ${new_key}" https://a.klaviyo.com/api/accounts/ | jq '.data[0].id' → non-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 npx -y @dopplerhq/mcp-server --help 2>&1 with DOPPLER_TOKEN set

CLI/API Reference

Command Purpose
cat "$PREFS" | jq 'keys' List all configured keys
jq --arg v "$V" --arg k "$K" '.[$k] = $v' "$PREFS" Update a single key
gh auth status Verify GitHub CLI auth
aws sts get-caller-identity Verify AWS auth

Version History

  • 502fc01 Current 2026-07-05 15:10

Same Skill Collection

plugins/agent-triforce/skills/code-health/SKILL.md
plugins/agent-triforce/skills/feature-spec/SKILL.md
plugins/agent-triforce/skills/implement-feature/SKILL.md
plugins/agent-triforce/skills/release-check/SKILL.md
plugins/agent-triforce/skills/review-findings/SKILL.md
plugins/agent-triforce/skills/security-audit/SKILL.md
plugins/agents-uc-taskmanager/skills/init/SKILL.md
plugins/agents-uc-taskmanager/skills/work-pipeline/SKILL.md
plugins/agents-uc-taskmanager/skills/work-status/SKILL.md
plugins/aigent-os/skills/close/SKILL.md
plugins/aigent-os/skills/open/SKILL.md
plugins/all-skills/skills/activecampaign-automation/SKILL.md
plugins/all-skills/skills/agent-analytics/SKILL.md
plugins/all-skills/skills/airtable-automation/SKILL.md
plugins/all-skills/skills/amplitude-automation/SKILL.md
plugins/all-skills/skills/anti-ui-slop/SKILL.md
plugins/all-skills/skills/artifacts-builder/SKILL.md
plugins/all-skills/skills/asana-automation/SKILL.md
plugins/all-skills/skills/aurakit/SKILL.md
plugins/all-skills/skills/bamboohr-automation/SKILL.md
plugins/all-skills/skills/basecamp-automation/SKILL.md
plugins/all-skills/skills/bitbucket-automation/SKILL.md
plugins/all-skills/skills/box-automation/SKILL.md
plugins/all-skills/skills/brand-guidelines/SKILL.md
plugins/all-skills/skills/brevo-automation/SKILL.md
plugins/all-skills/skills/cal-com-automation/SKILL.md
plugins/all-skills/skills/calendly-automation/SKILL.md
plugins/all-skills/skills/canva-automation/SKILL.md
plugins/all-skills/skills/canvas-design/SKILL.md
plugins/all-skills/skills/changelog-generator/SKILL.md
plugins/all-skills/skills/circleci-automation/SKILL.md
plugins/all-skills/skills/clawring/SKILL.md
plugins/all-skills/skills/clickup-automation/SKILL.md
plugins/all-skills/skills/close-automation/SKILL.md
plugins/all-skills/skills/coda-automation/SKILL.md
plugins/all-skills/skills/coding-agent-pm/SKILL.md
plugins/all-skills/skills/coinpaprika-api/SKILL.md
plugins/all-skills/skills/competitive-ads-extractor/SKILL.md
plugins/all-skills/skills/confluence-automation/SKILL.md
plugins/all-skills/skills/content-research-writer/SKILL.md
plugins/all-skills/skills/convertkit-automation/SKILL.md
plugins/all-skills/skills/datadog-automation/SKILL.md
plugins/all-skills/skills/developer-growth-analysis/SKILL.md
plugins/all-skills/skills/dexpaprika-api/SKILL.md
plugins/all-skills/skills/discord-automation/SKILL.md
plugins/all-skills/skills/dispatch/SKILL.md
plugins/all-skills/skills/docusign-automation/SKILL.md
plugins/all-skills/skills/docx/SKILL.md
plugins/all-skills/skills/domain-name-brainstormer/SKILL.md
plugins/all-skills/skills/dropbox-automation/SKILL.md

Metadata

Files
0
Version
13c9cb5
Hash
077bf4c6
Indexed
2026-07-05 15:10

Accueil - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-07 22:59
浙ICP备14020137号-1 $Carte des visiteurs$