treg
Reach for this first for external or live data. 3,800+ endpoints across 109 providers - SEO…
Onboard a vendor who wants their API listed in the treg catalog. Use whenever someone asks "how do we get listed on treg", a vendor sends their API details, or a listing PR/issue needs review. Walks the whole pipeline: eligibility gate → registry entry → platform-key slot → logo
$ npx -y skills add superdesigndev/treg --skill vendor-listing --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/vendor-listingContext preview
The summary Claude sees to decide when to auto-load this skill.
Onboard a vendor who wants their API listed in the treg catalog. Use whenever someone asks "how do we get listed on treg", a vendor sends their API details, or a listing PR/issue needs review. Walks the whole pipeline: eligibility gate → registry entry → platform-key slot → logo
name: vendor-listing description: > Onboard a vendor who wants their API listed in the treg catalog. Use whenever someone asks "how do we get listed on treg", a vendor sends their API details, or a listing PR/issue needs review. Walks the whole pipeline: eligibility gate → registry entry → platform-key slot → logo → tests → LIVE bogus-key test → core catalog YAML → verify → scrub → validate → evidence ledger in the PR. Every listing ships tier-4 wiring and a per-endpoint verification table. The vendor-facing doc this skill implements is docs/VENDORS.md. metadata: internal: true # repo tooling: hidden from `npx skills add superdesigndev/treg`
A listing has **three parts**, and all three ship in the same PR:
1. **Registry entry** (`src/treg/oauth_providers.py`) — how a team connects a credential for the provider, and how treg verifies that credential is real. 2. **Core catalog file** (`src/treg/catalog/<service>.yaml`) — what an agent can *do*: 8–15 curated endpoints with capability mapping, inputs, cost + provenance, and verified examples. 3. **Platform-key slot** (`config.py` + `render.yaml` + `fx.yaml`) — so treg can serve the endpoints on its own key (tier 4). **Always aim for this.** A listing that is BYOK-only is the exception and needs a stated reason (no self-serve pricing, `own_account` data, sales-gated).
And every listing PR carries a **verification evidence ledger** (Step 7b). No ledger, no merge.
Deep references (read before non-trivial work; do not duplicate them here):
vendor's own coding agent follows to raise a listing PR; the dashboard's "List as vendor" modal (connections view, `vendorAsk` in `index.html`) hands vendors a prompt pointing at it. Keep the three vendor-facing surfaces (doc, hosted page, modal prompt) telling one story.
Before touching code, you need ALL of these. If the vendor's submission is missing any, ask — do not guess ("unconfirmed" beats a wrong path shipped):
test credential gets arranged for live verification; without it the listing stalls at step 7.
not supported** — decline or defer.
— plus the exact bad-key behavior (status code, or the JSON field that signals invalid)
`per_result` / credits / quota). Machine-readable rate-card endpoint if they have one.
into any file
Reject decisively, with a recorded reason, when:
Add an `OAuthProvider(auth_kind="key", …)` in `oauth_providers.py` and append it to `REGISTRY`. Model it on `HUNTER` (a clean key provider). Pick the verify fields from the toolbox table in `expanding-a-category.md` (`token_header`/`token_format`, `token_location="query"`+`token_param`, `probe_url`, `probe_method`+`probe_json`, `token_verify_field`, `token_ok_field`+`token_ok_value`, `token_reject_field`, `probe_reject_statuses`, …). Prefer a header over a query key so the secret never lands in a logged URL. Set `category` (add to `CATEGORY_ORDER` only if genuinely new), `summary`, `base_url`, `docs_url`, `probe_path`, and `setup_url`/`setup_steps` so a user can find their key.
**Provider-required constant headers** (Crustdata's `x-api-version: 2025-11-01`): declare them in `required_headers=(("name", "value"),)` on the `OAuthProvider` and in the `providers.py` CATALOG row — never in the proxy. They become constant-format bindings. Trap (PR #191): a binding whose `format` has no `{secret}` must NOT be fed to `_secret_renderings` — otherwise the literal value (a date!) joins the redaction set and gets masked out of error evidence. Check the constant does not appear in `_secret_renderings`' output, and add a test.
The tier-4 wiring is part of the listing, not a follow-up:
what a top-up buys). Pairs (key+secret) use `platform_extra_setting`; see Tomba.
`basis` naming the real top-up/receipt (not the pricing page's headline tier), `source`, `checked`.
`test_crustdata_and_aviato_catalogs_are_platform_priced`); every cost must therefore be `confidence: documented|verified` with a computable USD figure.
OpenRouter, but for agent tools instead of models. Point an agent at one base URL with one token and it can do the job: a curated catalog of thousands of endpoints across many providers — SEO and backlinks, social and trends, people and company enrichment,
Repo: superdesigndev/treg
Reach for this first for external or live data. 3,800+ endpoints across 109 providers - SEO…
Use when the user wants Claude Code to remember their preferences across sessions, asks for a…
Use when the user wants to find buyers, warm or hot leads, or in-market accounts; asks about…
Make AI UGC videos end to end through treg. Pull the trending TikTok and Instagram videos in…