← ClaudeAtlas

providesolid

Turn the owner's existing API, model, or dataset into a paid service on the platform's services catalog, build the thin wrapper endpoint, self-test it against the admission probe's three checks, and hand the owner the exact values the listing form needs. Use when the owner wants to sell, list, or offer something they already run as a metered service agents can pay for.
intentic/intentic · ★ 46 · Code & Development · score 82
Install: claude install-skill intentic/intentic
# Offer a paid service The platform's services catalog (the one `services list` reads) is open admission: anyone who proves a publisher name and connects payouts can list an endpoint, and it goes live the second it passes the published gates, no human review. A service is **not** an extension: no manifest, no bundle, no repo. It is ONE public https endpoint that (1) verifies the platform's signature on every call and (2) answers an NDJSON stream: `status` lines while it works, exactly one `result` that ends the run. The owner usually already runs the thing worth selling. Your job is the thin wrapper around it, the self-test, and a clean hand-off; the listing itself is filed by the owner in **Settings → Services** (prerequisites: a claimed publisher name and payouts, both under Settings too, the agent cannot and must not do those steps). A publisher name is proved from a registry-listed repository OR by claiming a **domain**: the claim screen hands the owner one line to serve at `https://<domain>/.well-known/intentic-claim`, which is the natural lane for a business with no extension: note that a domain publisher's endpoints must then live on that domain or its subdomains. ## 1. Build the wrapper Write a small standalone service (own repo or a directory in theirs) that fronts the owner's existing API. The whole contract, verbatim: **Verify every POST.** The platform sends `x-intentic-timestamp` and `x-intentic-signature = HMAC-SHA256(secret, "{timestamp}.{body}")`: the Str