providesolid
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