Skip to content
cccskills
FreePublished on GitHub

ops-settings

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.

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md5.5 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

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":

IntegrationProbeActive signal
Stripecurl -s -o /dev/null -w "%{http_code}" -u "${stripe_key}:" https://api.stripe.com/v1/balance200
GitHubgh auth status 2>&1"Logged in"
AWSaws sts get-caller-identity --output text 2>/dev/nullexits 0
Linear`cat "$PREFS"jq -r .linear_team`
Doppler MCPCheck if DOPPLER_TOKEN is set and validToken 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

IntegrationSmoke test command
Stripecurl -s -u "${new_key}:" https://api.stripe.com/v1/balance | jq .object → must be "balance"
RevenueCatcurl -s -H "Authorization: Bearer ${new_key}" "https://api.revenuecat.com/v2/projects" | jq '.items | length' → non-zero
Telegramnode ${CLAUDE_PLUGIN_ROOT}/telegram-server/index.js --health 2>&1 → "healthy"
Slackcurl -s -H "Authorization: Bearer ${new_token}" https://slack.com/api/auth.test | jq .ok → true
Shopifycurl -s -H "X-Shopify-Access-Token: ${new_token}" "https://${store_url}/admin/api/2024-01/shop.json" | jq .shop.name → non-null
Klaviyocurl -s -H "Authorization: Klaviyo-API-Key ${new_key}" https://a.klaviyo.com/api/accounts/ | jq '.data[0].id' → non-null
Datadogcurl -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 MCPnpx -y @dopplerhq/mcp-server --help 2>&1 with DOPPLER_TOKEN set

CLI/API Reference

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

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Automate ActiveCampaign tasks via Rube MCP (Composio): manage contacts, tags, list subscriptions, automation enrollment, and tasks. Always search tools first for current schemas.

The English summary is being prepared. Showing the original description.

davepoon/buildwithclaude3.7KUpdated Oct 19, 2026

Pull the ads a competitor is running right now on Meta (Facebook/Instagram) and Google, then extract the hooks, offers, CTAs and landing pages worth modelling. Use when writing ad copy, planning creative tests, choosing a landing page angle, or when the user asks "what is X advertising", "what ads does X run", "find competitor ad hooks". Reads live Ad Library and Ads Transparency data through the Tracetify MCP; falls back to a manual Ad Library walkthrough when the connector is absent.

The English summary is being prepared. Showing the original description.

davepoon/buildwithclaude3.7KUpdated Oct 19, 2026

Analytics your AI agent can actually use. Track, analyze, run A/B experiments, and optimize across all your projects via CLI. Includes a growth playbook so your agent knows HOW to grow, not just what to track.

The English summary is being prepared. Showing the original description.

davepoon/buildwithclaude3.7KUpdated Oct 19, 2026

Teaches when to recall from long-term memory before acting and when to save durable decisions, corrections and failures afterwards. Use when a memory tool or MCP memory server is connected but the agent is not using it consistently, when the user complains that the assistant forgets preferences, conventions or past decisions between sessions, or when setting up persistent memory for a project. Works with any memory backend: a folder of Markdown files, a local MCP server, or a managed service.

The English summary is being prepared. Showing the original description.

davepoon/buildwithclaude3.7KUpdated Oct 19, 2026

Audit local AI coding-agent sessions with agenttrace for cost, tokens, tool failures, latency, anomalies, health, diffs, and CI gates.

The English summary is being prepared. Showing the original description.

davepoon/buildwithclaude3.7KUpdated Oct 19, 2026

Checks which private files (.env, keys, secrets) Claude Code and its subagents reached in this project, whether a value came into an agent's context, and which key to change, by running the open source agentwhy CLI over the session records Claude Code already keeps on disk. Use when the user asks whether the agent or a subagent read their .env or other secrets, which private files a session touched, whether a key leaked into the conversation, or which key to rotate. Runs locally and never prints a secret value.

The English summary is being prepared. Showing the original description.

davepoon/buildwithclaude3.7KUpdated Oct 19, 2026

See all skills by davepoon

Report a problem with this skill