agentsclimarketplace

Connect

Skill sdhilip200/api-warehouse/skills/connect

Point a coding agent at any API's docs → client-ready assessment, sample data, and raw data landed in your warehouse (BigQuery/Snowflake/Postgres/Azure/files). A Claude Code plugin. Raw-landing only, security-first, validated.

Install
npx -y skills add sdhilip200/api-warehouse --skill connect

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Use whenever the user wants to connect to an API, authenticate against an API, set up an API key safely, test or verify credentials, check whether an API is reachable, or prove connectivity before building a pipeline — even if they don't use the word "connect". Trigger contexts include: "set up auth", "configure my API key", "does my token work", "test my credentials", "can I reach this endpoint", or any request to confirm reachability before landing data.

SKILL.md

5.5 KB, as published. Nobody here has run it

connect — Secure Auth Setup and Smoke Test

This skill establishes a working, env-var-based credential for an API and confirms the connection with a single minimal authenticated request. Later skills (assess, land, validate) assume this step is complete.


Step 1 — Read the Security Policy

Before touching any credentials, read references/security.md and follow every rule in it. The key constraints are:

  • Never paste a real secret into the chat or into source code.
  • Never print, log, or store secret values.
  • Reference secrets by env-var name only (e.g. "token_env": "MY_API_TOKEN").
  • Scrub any example API responses before sharing them.

Step 2 — Determine the Auth Type

Check the API's documentation (or inspect an existing endpoint spec if one exists) to identify which auth pattern applies. The canonical list of patterns is in references/auth-patterns.md. Also check MEMORY.md in this directory for any quirks already recorded for this API. Common types:

PatternWhen to use
nonePublic API, no credentials required
bearerAuthorization: Bearer <token> header
api_key (header)Custom header such as X-API-Key
api_key (query)Token appended as a query parameter
bearer (base64)HTTP Basic Auth encoded as Bearer token

Record the auth type and the exact header/parameter name the API expects.


Step 3 — Store the Credential Securely

Do not ask the user to paste their secret into the chat. Instead, direct them to one of the two approved storage methods:

Option A — Environment variable (recommended for CI/CD)

export MY_API_TOKEN="<your-token-value>"

Replace MY_API_TOKEN with the env-var name that matches the token_env field you will use in the spec (e.g. GITHUB_TOKEN, STRIPE_API_KEY). Run any pipeline commands in the same shell session.

Option B — .dlt/secrets.toml (recommended for local development)

Create or edit .dlt/secrets.toml in the project root (already in .gitignore):

[sources.my_source]
MY_API_TOKEN = "<your-token-value>"

Replace my_source with the dlt source name and MY_API_TOKEN with the correct env-var name. Never commit this file.

See references/security.md for the full policy on scoping keys in secrets.toml and how to extract them before passing to build_rest_api_config.


Step 4 — Run the Smoke Test

With the credential set, make a single minimal authenticated request to confirm reachability and auth validity. Use curl (or Python requests) so no pipeline code is needed at this stage.

# Bearer token example
curl -s -D - -o /dev/null -w "%{http_code}" \
  -H "Authorization: Bearer $MY_API_TOKEN" \
  "https://api.example.com/v1/me"
# API-key header example
curl -s -D - -o /dev/null -w "%{http_code}" \
  -H "X-API-Key: $MY_API_KEY" \
  "https://api.example.com/v1/ping"

Replace the URL with the lightest endpoint the API offers (/me, /ping, /status, or the first item in a small collection). Capture both the HTTP status code and the response headers.


Step 5 — Report the Result

When writing the outcome summary, follow ../../references/anti-slop.md: use concrete values (status codes, header names, env-var names), not filler.

OutcomeWhat to say
HTTP 200 (or 2xx)"Reachable — auth valid. Rate-limit headers: X-RateLimit-Remaining: N."
HTTP 401"Auth failed (401). Check that MY_API_TOKEN is exported in the current shell and matches the token from the API dashboard."
HTTP 403"Authenticated but forbidden (403). The token may lack the required scope/permission. Check API dashboard permissions."
HTTP 429"Rate-limited (429). Wait and retry, or use a different endpoint for the smoke test."
Connection error"Cannot reach api.example.com. Check the base URL in the docs, your network/VPN, and whether the API is in a private region."

Always include:

  • Reachable? (yes / no / error)
  • Auth valid? (yes / no / unclear)
  • Rate-limit headers (print names and values seen; replace any token values with <REDACTED> before sharing)

On failure, give one specific next step, not a list of everything that could be wrong.


Step 6 — Self-Check via Eval Loop

After reporting the result, run the self-grading loop described in ../../references/running-evals.md using the checklist in EVALS.md. Spin up a separate grader agent with a clean context, pass it EVALS.md and the smoke-test output, and iterate until every check is pass or skipped (cap at 5 rounds). On platforms without subagents (e.g. Codex), run the same checklist inline in a fresh reasoning pass instead — see ../../references/running-evals.md.


Step 7 — Record API-Specific Quirks

If the smoke test revealed any auth behavior not covered by the standard patterns (unusual header name, token prefix, encoding requirement, scope syntax), append a one-line entry to MEMORY.md. Read MEMORY.md at the start of Step 2 so previously learned quirks are applied automatically.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.