本文へ移動
cccskills
無料GitHub で公開

ops-integrate

Add any SaaS API as a first-class integration. Provide the service name — ops-integrate discovers auth patterns, tests connectivity, and registers the API in your partner registry so it's available to other skills.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md4.3 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Runtime Context

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

Parse $ARGUMENTS:

  • Contains --list → run List registered integrations then exit
  • Otherwise → run Onboarding flow with the service name as first positional argument

OPS ► INTEGRATE

List registered integrations (--list)

jq -r '.partner_registry // {} | to_entries[] | "\(.key): \(.value.base_url) [\(.value.auth_type)]"' "$PREFS" 2>/dev/null

Display as a table:

Registered integrations:
  hubspot       https://api.hubapi.com          [bearer]
  stripe        https://api.stripe.com          [bearer]
  sendgrid      https://api.sendgrid.com        [api-key]

If no integrations registered: No integrations registered yet. Run /ops:integrate <service-name> to add one.

Onboarding flow (5 steps)

Step 1 — Discover API details

If --url not provided, use WebSearch to find:

  • Official API docs URL
  • Base API URL
  • Authentication pattern (bearer token / api-key header / basic auth / oauth2)
  • API key generation URL (where the user gets credentials)
  • Health/test endpoint (e.g., /healthz, /v1/ping, /me)

Step 2 — Confirm with user

Present findings via AskUserQuestion (≤4 options):

Found: <service-name> API — Base URL: <url> — Auth: <auth-type>
[Looks correct — continue]  [Change base URL]  [Change auth type]  [Cancel]

If "Change base URL": AskUserQuestion with free-text input for the new URL. If "Change auth type": AskUserQuestion (≤4 options): [bearer] [api-key] [basic] [oauth2]

Step 3 — Collect credential

Paste your <service-name> <auth-type> credential (it will be stored locally only)
[Paste now]  [Configure later]

If "Paste now": collect credential via AskUserQuestion free-text. Derive key name: <lowercase_service_name>_api_key

Write to preferences.json via atomic tmpfile swap:

tmp=$(mktemp)
jq --arg k "$KEY_NAME" --arg v "$CREDENTIAL" '.[$k] = $v' "$PREFS" > "$tmp" && mv "$tmp" "$PREFS"

Step 4 — Health check

Curl the health/test endpoint with the credential:

# Bearer token
curl -sf -o /dev/null -w "%{http_code}" \
  -H "Authorization: Bearer ${CREDENTIAL}" \
  "${BASE_URL}${HEALTH_ENDPOINT}"

# API key header (X-Api-Key)
curl -sf -o /dev/null -w "%{http_code}" \
  -H "X-Api-Key: ${CREDENTIAL}" \
  "${BASE_URL}${HEALTH_ENDPOINT}"

# Basic auth
curl -sf -o /dev/null -w "%{http_code}" \
  -u "${CREDENTIAL}:" \
  "${BASE_URL}${HEALTH_ENDPOINT}"

Report: ✅ if HTTP 200-299, ⚠️ with status code otherwise. If credential not yet configured, skip health check and report ⬜ health check skipped — credential not configured.

Step 5 — Register in partner registry

tmp=$(mktemp)
jq --arg name "${SERVICE_NAME}" \
   --arg url "${BASE_URL}" \
   --arg auth "${AUTH_TYPE}" \
   --arg key_name "${KEY_NAME}" \
   --arg health "${HEALTH_ENDPOINT}" \
   '.partner_registry[$name] = {base_url: $url, auth_type: $auth, credential_key: $key_name, health_endpoint: $health, added: (now | todate)}' \
   "$PREFS" > "$tmp" && mv "$tmp" "$PREFS"

Confirmation output:

✅ <service-name> registered in partner registry
   Auth: <auth-type>
   Health: <base-url><health-endpoint>
   Credential key: <key-name>

   Access via: jq '.partner_registry["<service-name>"]' $PREFS

CLI/API Reference

# List all registered integrations
jq '.partner_registry' "${CLAUDE_PLUGIN_DATA_DIR:-$HOME/.claude/plugins/data/ops-ops-marketplace}/preferences.json"

# Look up a specific integration
jq '.partner_registry["hubspot"]' "$PREFS"

# Read a credential for a registered integration
jq -r ".$KEY_NAME" "$PREFS"

# Remove an integration from the registry
jq 'del(.partner_registry["<service-name>"])' "$PREFS" > tmp && mv tmp "$PREFS"

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

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

日本語の概要は準備中です。原文の説明を表示しています。

davepoon/buildwithclaude3,6172026年10月10日 更新

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.

日本語の概要は準備中です。原文の説明を表示しています。

davepoon/buildwithclaude3,6172026年10月10日 更新

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.

日本語の概要は準備中です。原文の説明を表示しています。

davepoon/buildwithclaude3,6172026年10月10日 更新

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

日本語の概要は準備中です。原文の説明を表示しています。

davepoon/buildwithclaude3,6172026年10月10日 更新

Audit whether a website can be found, crawled, and cited by AI answer engines such as ChatGPT Search, Perplexity, Google AI Overviews, and Microsoft Copilot. Use when someone asks why their brand is missing from AI answers, whether AI crawlers can read their site, how to get cited by ChatGPT or Perplexity, or asks for a GEO or AEO (generative / answer engine optimization) review. Produces a citation baseline across buyer-intent prompts, a crawler-access check, a citability review of named pages, and a ranked fix list. Not for keyword rank tracking, paid search, or pages behind a login.

日本語の概要は準備中です。原文の説明を表示しています。

davepoon/buildwithclaude3,6172026年10月10日 更新

Automate Airtable tasks via Rube MCP (Composio): records, bases, tables, fields, views. Always search tools first for current schemas.

日本語の概要は準備中です。原文の説明を表示しています。

davepoon/buildwithclaude3,6172026年10月10日 更新

davepoon のスキルをすべて見る

このスキルの問題を報告する